{"version":3,"file":"test_run_service-BRgR1aLX.cjs","names":["MessageType","UnknownFieldHandler","WireType","Span","MatchLevel","key: keyof TraceTestCoverageData[\"coveredLinesByFile\"] | undefined","val: TraceTestCoverageData[\"coveredLinesByFile\"][any] | undefined","key: keyof CoverageBaseline[\"coverableLinesByFile\"] | undefined","val: CoverageBaseline[\"coverableLinesByFile\"][any] | undefined","key: keyof CoverageBaseline[\"startupCoveredLinesByFile\"] | undefined","val: CoverageBaseline[\"startupCoveredLinesByFile\"][any] | undefined","ServiceType"],"sources":["../generated/ts/backend/test_run_service.ts"],"sourcesContent":["// @generated by protobuf-ts 2.11.1 with parameter generate_dependencies\n// @generated from protobuf file \"backend/test_run_service.proto\" (package \"tusk.drift.backend.v1\", syntax proto3)\n// tslint:disable\nimport { ServiceType } from \"@protobuf-ts/runtime-rpc\";\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\nimport { MatchLevel } from \"../core/span\";\nimport { Span } from \"../core/span\";\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetGlobalSpansRequest\n */\nexport interface GetGlobalSpansRequest {\n    /**\n     * @generated from protobuf field: string observable_service_id = 1\n     */\n    observableServiceId: string;\n    /**\n     * Optional since first page will have no cursor\n     *\n     * @generated from protobuf field: optional string pagination_cursor = 2\n     */\n    paginationCursor?: string;\n    /**\n     * Server should provide next cursor based on this page size\n     *\n     * @generated from protobuf field: int32 page_size = 3\n     */\n    pageSize: number;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetGlobalSpansResponseSuccess\n */\nexport interface GetGlobalSpansResponseSuccess {\n    /**\n     * @generated from protobuf field: repeated tusk.drift.core.v1.Span spans = 1\n     */\n    spans: Span[];\n    /**\n     * @generated from protobuf field: optional string next_cursor = 2\n     */\n    nextCursor?: string;\n    /**\n     * @generated from protobuf field: int32 total_count = 3\n     */\n    totalCount: number;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetGlobalSpansResponseError\n */\nexport interface GetGlobalSpansResponseError {\n    /**\n     * @generated from protobuf field: string code = 1\n     */\n    code: string;\n    /**\n     * @generated from protobuf field: string message = 2\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetGlobalSpansResponse\n */\nexport interface GetGlobalSpansResponse {\n    /**\n     * @generated from protobuf oneof: response\n     */\n    response: {\n        oneofKind: \"success\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetGlobalSpansResponseSuccess success = 1\n         */\n        success: GetGlobalSpansResponseSuccess;\n    } | {\n        oneofKind: \"error\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetGlobalSpansResponseError error = 2\n         */\n        error: GetGlobalSpansResponseError;\n    } | {\n        oneofKind: undefined;\n    };\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetPreAppStartSpansRequest\n */\nexport interface GetPreAppStartSpansRequest {\n    /**\n     * @generated from protobuf field: string observable_service_id = 1\n     */\n    observableServiceId: string;\n    /**\n     * @generated from protobuf field: optional string pagination_cursor = 2\n     */\n    paginationCursor?: string;\n    /**\n     * @generated from protobuf field: int32 page_size = 3\n     */\n    pageSize: number;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetPreAppStartSpansResponseSuccess\n */\nexport interface GetPreAppStartSpansResponseSuccess {\n    /**\n     * @generated from protobuf field: repeated tusk.drift.core.v1.Span spans = 1\n     */\n    spans: Span[];\n    /**\n     * @generated from protobuf field: optional string next_cursor = 2\n     */\n    nextCursor?: string;\n    /**\n     * @generated from protobuf field: int32 total_count = 3\n     */\n    totalCount: number;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetPreAppStartSpansResponseError\n */\nexport interface GetPreAppStartSpansResponseError {\n    /**\n     * @generated from protobuf field: string code = 1\n     */\n    code: string;\n    /**\n     * @generated from protobuf field: string message = 2\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetPreAppStartSpansResponse\n */\nexport interface GetPreAppStartSpansResponse {\n    /**\n     * @generated from protobuf oneof: response\n     */\n    response: {\n        oneofKind: \"success\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetPreAppStartSpansResponseSuccess success = 1\n         */\n        success: GetPreAppStartSpansResponseSuccess;\n    } | {\n        oneofKind: \"error\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetPreAppStartSpansResponseError error = 2\n         */\n        error: GetPreAppStartSpansResponseError;\n    } | {\n        oneofKind: undefined;\n    };\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.CreateDriftRunRequest\n */\nexport interface CreateDriftRunRequest {\n    /**\n     * @generated from protobuf field: string observable_service_id = 1\n     */\n    observableServiceId: string;\n    /**\n     * @generated from protobuf field: string cli_version = 2\n     */\n    cliVersion: string;\n    /**\n     * These fields are optional for validation runs\n     *\n     * @generated from protobuf field: optional string commit_sha = 3\n     */\n    commitSha?: string;\n    /**\n     * @generated from protobuf field: optional string pr_number = 4\n     */\n    prNumber?: string;\n    /**\n     * @generated from protobuf field: optional string branch_name = 5\n     */\n    branchName?: string;\n    /**\n     * @generated from protobuf field: optional string external_check_run_id = 6\n     */\n    externalCheckRunId?: string;\n    /**\n     * Indicates this is a validation run on the default branch\n     *\n     * @generated from protobuf field: bool is_validation_run = 7\n     */\n    isValidationRun: boolean;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.CreateDriftRunResponseSuccess\n */\nexport interface CreateDriftRunResponseSuccess {\n    /**\n     * @generated from protobuf field: string drift_run_id = 1\n     */\n    driftRunId: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.CreateDriftRunResponseError\n */\nexport interface CreateDriftRunResponseError {\n    /**\n     * Machine-readable error code, could be an enum\n     *\n     * @generated from protobuf field: string code = 1\n     */\n    code: string;\n    /**\n     * Human-readable error message\n     *\n     * @generated from protobuf field: string message = 2\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.CreateDriftRunResponse\n */\nexport interface CreateDriftRunResponse {\n    /**\n     * @generated from protobuf oneof: response\n     */\n    response: {\n        oneofKind: \"success\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.CreateDriftRunResponseSuccess success = 1\n         */\n        success: CreateDriftRunResponseSuccess;\n    } | {\n        oneofKind: \"error\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.CreateDriftRunResponseError error = 2\n         */\n        error: CreateDriftRunResponseError;\n    } | {\n        oneofKind: undefined;\n    };\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetDriftRunTraceTestsRequest\n */\nexport interface GetDriftRunTraceTestsRequest {\n    /**\n     * @generated from protobuf field: string drift_run_id = 1\n     */\n    driftRunId: string;\n    /**\n     * @generated from protobuf field: optional string pagination_cursor = 2\n     */\n    paginationCursor?: string;\n    /**\n     * Server should provide next cursor based on this page size\n     *\n     * @generated from protobuf field: int32 page_size = 3\n     */\n    pageSize: number;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.TraceTest\n */\nexport interface TraceTest {\n    /**\n     * @generated from protobuf field: string id = 1\n     */\n    id: string; // DB id\n    /**\n     * @generated from protobuf field: string trace_id = 2\n     */\n    traceId: string;\n    /**\n     * @generated from protobuf field: string server_span_recording_id = 3\n     */\n    serverSpanRecordingId: string;\n    /**\n     * @generated from protobuf field: repeated tusk.drift.core.v1.Span spans = 4\n     */\n    spans: Span[];\n    /**\n     * Status of the trace test (DRAFT, IN_SUITE, REMOVED)\n     *\n     * @generated from protobuf field: tusk.drift.backend.v1.TraceTestStatus status = 5\n     */\n    status: TraceTestStatus;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetDriftRunTraceTestsResponseSuccess\n */\nexport interface GetDriftRunTraceTestsResponseSuccess {\n    /**\n     * @generated from protobuf field: repeated tusk.drift.backend.v1.TraceTest trace_tests = 1\n     */\n    traceTests: TraceTest[];\n    /**\n     * @generated from protobuf field: optional string next_cursor = 2\n     */\n    nextCursor?: string;\n    /**\n     * @generated from protobuf field: int32 total_count = 3\n     */\n    totalCount: number;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetDriftRunTraceTestsResponseError\n */\nexport interface GetDriftRunTraceTestsResponseError {\n    /**\n     * Machine-readable error code, could be an enum\n     *\n     * @generated from protobuf field: string code = 1\n     */\n    code: string;\n    /**\n     * Human-readable error message\n     *\n     * @generated from protobuf field: string message = 2\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetDriftRunTraceTestsResponse\n */\nexport interface GetDriftRunTraceTestsResponse {\n    /**\n     * @generated from protobuf oneof: response\n     */\n    response: {\n        oneofKind: \"success\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetDriftRunTraceTestsResponseSuccess success = 1\n         */\n        success: GetDriftRunTraceTestsResponseSuccess;\n    } | {\n        oneofKind: \"error\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetDriftRunTraceTestsResponseError error = 2\n         */\n        error: GetDriftRunTraceTestsResponseError;\n    } | {\n        oneofKind: undefined;\n    };\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetTraceTestRequest\n */\nexport interface GetTraceTestRequest {\n    /**\n     * @generated from protobuf field: string observable_service_id = 1\n     */\n    observableServiceId: string;\n    /**\n     * @generated from protobuf field: string trace_test_id = 2\n     */\n    traceTestId: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetTraceTestResponse\n */\nexport interface GetTraceTestResponse {\n    /**\n     * @generated from protobuf oneof: response\n     */\n    response: {\n        oneofKind: \"success\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetTraceTestResponseSuccess success = 1\n         */\n        success: GetTraceTestResponseSuccess;\n    } | {\n        oneofKind: \"error\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetTraceTestResponseError error = 2\n         */\n        error: GetTraceTestResponseError;\n    } | {\n        oneofKind: undefined;\n    };\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetTraceTestResponseSuccess\n */\nexport interface GetTraceTestResponseSuccess {\n    /**\n     * @generated from protobuf field: tusk.drift.backend.v1.TraceTest trace_test = 1\n     */\n    traceTest?: TraceTest;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetTraceTestResponseError\n */\nexport interface GetTraceTestResponseError {\n    /**\n     * @generated from protobuf field: string code = 1\n     */\n    code: string;\n    /**\n     * @generated from protobuf field: string message = 2\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetAllTraceTestsRequest\n */\nexport interface GetAllTraceTestsRequest {\n    /**\n     * @generated from protobuf field: string observable_service_id = 1\n     */\n    observableServiceId: string;\n    /**\n     * @generated from protobuf field: optional string pagination_cursor = 2\n     */\n    paginationCursor?: string;\n    /**\n     * Server should provide next cursor based on this page size\n     *\n     * @generated from protobuf field: int32 page_size = 3\n     */\n    pageSize: number;\n    /**\n     * Optional filter by trace test status (e.g., DRAFT, IN_SUITE).\n     * If not set, the server defaults to IN_SUITE.\n     *\n     * @generated from protobuf field: optional tusk.drift.backend.v1.TraceTestStatus status_filter = 4\n     */\n    statusFilter?: TraceTestStatus;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetAllTraceTestsResponseSuccess\n */\nexport interface GetAllTraceTestsResponseSuccess {\n    /**\n     * @generated from protobuf field: repeated tusk.drift.backend.v1.TraceTest trace_tests = 1\n     */\n    traceTests: TraceTest[];\n    /**\n     * @generated from protobuf field: optional string next_cursor = 2\n     */\n    nextCursor?: string;\n    /**\n     * @generated from protobuf field: int32 total_count = 3\n     */\n    totalCount: number;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetAllTraceTestsResponseError\n */\nexport interface GetAllTraceTestsResponseError {\n    /**\n     * @generated from protobuf field: string code = 1\n     */\n    code: string;\n    /**\n     * @generated from protobuf field: string message = 2\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetAllTraceTestsResponse\n */\nexport interface GetAllTraceTestsResponse {\n    /**\n     * @generated from protobuf oneof: response\n     */\n    response: {\n        oneofKind: \"success\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetAllTraceTestsResponseSuccess success = 1\n         */\n        success: GetAllTraceTestsResponseSuccess;\n    } | {\n        oneofKind: \"error\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetAllTraceTestsResponseError error = 2\n         */\n        error: GetAllTraceTestsResponseError;\n    } | {\n        oneofKind: undefined;\n    };\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.Deviation\n */\nexport interface Deviation {\n    /**\n     * @generated from protobuf field: string field = 1\n     */\n    field: string; // what field in replay span had a deviation\n    /**\n     * @generated from protobuf field: string description = 2\n     */\n    description: string; // description of the deviation, primarily useful for comparing SUT\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.TraceTestSpanResult\n */\nexport interface TraceTestSpanResult {\n    /**\n     * Create a separate table in backend for span_result_recording, but very\n     * similar schema to\n     *\n     * @generated from protobuf field: tusk.drift.core.v1.Span replay_span = 1\n     */\n    replaySpan?: Span;\n    /**\n     * All nullable since we want to allow for no matching span_recordings\n     * This should be the DB id of the matched span_recording\n     *\n     * @generated from protobuf field: optional string matched_span_recording_id = 2\n     */\n    matchedSpanRecordingId?: string;\n    /**\n     * @generated from protobuf field: optional tusk.drift.core.v1.MatchLevel match_level = 3\n     */\n    matchLevel?: MatchLevel;\n    /**\n     * @generated from protobuf field: optional string stack_trace = 4\n     */\n    stackTrace?: string;\n    /**\n     * @generated from protobuf field: repeated tusk.drift.backend.v1.Deviation deviations = 5\n     */\n    deviations: Deviation[];\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.TraceTestResult\n */\nexport interface TraceTestResult {\n    /**\n     * @generated from protobuf field: string trace_test_id = 1\n     */\n    traceTestId: string; // DB id\n    /**\n     * @generated from protobuf field: bool test_success = 2\n     */\n    testSuccess: boolean;\n    /**\n     * @generated from protobuf field: optional tusk.drift.backend.v1.TraceTestFailureReason test_failure_reason = 3\n     */\n    testFailureReason?: TraceTestFailureReason;\n    /**\n     * @generated from protobuf field: optional string test_failure_message = 4\n     */\n    testFailureMessage?: string;\n    /**\n     * @generated from protobuf field: optional string replay_trace_id = 5\n     */\n    replayTraceId?: string;\n    /**\n     * @generated from protobuf field: optional string replay_server_span_id = 6\n     */\n    replayServerSpanId?: string;\n    /**\n     * @generated from protobuf field: repeated tusk.drift.backend.v1.TraceTestSpanResult span_results = 7\n     */\n    spanResults: TraceTestSpanResult[];\n    /**\n     * Per-test coverage data (only set when coverage is enabled)\n     *\n     * @generated from protobuf field: optional tusk.drift.backend.v1.TraceTestCoverageData coverage_data = 8\n     */\n    coverageData?: TraceTestCoverageData;\n}\n/**\n * Per-test coverage: lines covered by a single trace test\n *\n * @generated from protobuf message tusk.drift.backend.v1.TraceTestCoverageData\n */\nexport interface TraceTestCoverageData {\n    /**\n     * @generated from protobuf field: int32 total_covered_lines = 1\n     */\n    totalCoveredLines: number;\n    /**\n     * @generated from protobuf field: map<string, tusk.drift.backend.v1.FileLineRanges> covered_lines_by_file = 2\n     */\n    coveredLinesByFile: {\n        [key: string]: FileLineRanges;\n    };\n}\n/**\n * Compressed line ranges: [[1,50],[60,200]] stored as repeated LineRange\n *\n * @generated from protobuf message tusk.drift.backend.v1.FileLineRanges\n */\nexport interface FileLineRanges {\n    /**\n     * @generated from protobuf field: repeated tusk.drift.backend.v1.LineRange ranges = 1\n     */\n    ranges: LineRange[];\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.LineRange\n */\nexport interface LineRange {\n    /**\n     * @generated from protobuf field: int32 start = 1\n     */\n    start: number;\n    /**\n     * @generated from protobuf field: int32 end = 2\n     */\n    end: number; // inclusive\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.UploadTraceTestResultsRequest\n */\nexport interface UploadTraceTestResultsRequest {\n    /**\n     * @generated from protobuf field: string drift_run_id = 1\n     */\n    driftRunId: string;\n    /**\n     * @generated from protobuf field: string cli_version = 2\n     */\n    cliVersion: string;\n    /**\n     * @generated from protobuf field: string sdk_version = 3\n     */\n    sdkVersion: string;\n    /**\n     * @generated from protobuf field: repeated tusk.drift.backend.v1.TraceTestResult trace_test_results = 4\n     */\n    traceTestResults: TraceTestResult[];\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.UploadTraceTestResultsResponseSuccess\n */\nexport interface UploadTraceTestResultsResponseSuccess {\n    /**\n     * @generated from protobuf field: string message = 1\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.UploadTraceTestResultsResponseError\n */\nexport interface UploadTraceTestResultsResponseError {\n    /**\n     * @generated from protobuf field: string code = 1\n     */\n    code: string;\n    /**\n     * @generated from protobuf field: string message = 2\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.UploadTraceTestResultsResponse\n */\nexport interface UploadTraceTestResultsResponse {\n    /**\n     * @generated from protobuf oneof: response\n     */\n    response: {\n        oneofKind: \"success\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.UploadTraceTestResultsResponseSuccess success = 1\n         */\n        success: UploadTraceTestResultsResponseSuccess;\n    } | {\n        oneofKind: \"error\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.UploadTraceTestResultsResponseError error = 2\n         */\n        error: UploadTraceTestResultsResponseError;\n    } | {\n        oneofKind: undefined;\n    };\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.UpdateDriftRunCIStatusRequest\n */\nexport interface UpdateDriftRunCIStatusRequest {\n    /**\n     * @generated from protobuf field: string drift_run_id = 1\n     */\n    driftRunId: string;\n    /**\n     * @generated from protobuf field: tusk.drift.backend.v1.DriftRunCIStatus ci_status = 2\n     */\n    ciStatus: DriftRunCIStatus;\n    /**\n     * @generated from protobuf field: optional string ci_status_message = 3\n     */\n    ciStatusMessage?: string;\n    /**\n     * Coverage baseline (only set when coverage was enabled for this run)\n     *\n     * @generated from protobuf field: optional tusk.drift.backend.v1.CoverageBaseline coverage_baseline = 4\n     */\n    coverageBaseline?: CoverageBaseline;\n}\n/**\n * Coverage baseline: all coverable lines in the codebase (denominator for coverage %)\n *\n * @generated from protobuf message tusk.drift.backend.v1.CoverageBaseline\n */\nexport interface CoverageBaseline {\n    /**\n     * @generated from protobuf field: string commit_sha = 1\n     */\n    commitSha: string;\n    /**\n     * @generated from protobuf field: int32 total_coverable_lines = 2\n     */\n    totalCoverableLines: number;\n    /**\n     * All coverable lines per file (denominator)\n     *\n     * @generated from protobuf field: map<string, tusk.drift.backend.v1.FileLineRanges> coverable_lines_by_file = 3\n     */\n    coverableLinesByFile: {\n        [key: string]: FileLineRanges;\n    };\n    /**\n     * Lines covered at startup (module loading, decorators, DI registration).\n     * Included in the aggregate numerator to match industry standard (Istanbul, NYC, etc.).\n     *\n     * @generated from protobuf field: map<string, tusk.drift.backend.v1.FileLineRanges> startup_covered_lines_by_file = 4\n     */\n    startupCoveredLinesByFile: {\n        [key: string]: FileLineRanges;\n    };\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.UpdateDriftRunCIStatusResponseSuccess\n */\nexport interface UpdateDriftRunCIStatusResponseSuccess {\n    /**\n     * @generated from protobuf field: string message = 1\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.UpdateDriftRunCIStatusResponseError\n */\nexport interface UpdateDriftRunCIStatusResponseError {\n    /**\n     * @generated from protobuf field: string code = 1\n     */\n    code: string;\n    /**\n     * @generated from protobuf field: string message = 2\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.UpdateDriftRunCIStatusResponse\n */\nexport interface UpdateDriftRunCIStatusResponse {\n    /**\n     * @generated from protobuf oneof: response\n     */\n    response: {\n        oneofKind: \"success\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.UpdateDriftRunCIStatusResponseSuccess success = 1\n         */\n        success: UpdateDriftRunCIStatusResponseSuccess;\n    } | {\n        oneofKind: \"error\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.UpdateDriftRunCIStatusResponseError error = 2\n         */\n        error: UpdateDriftRunCIStatusResponseError;\n    } | {\n        oneofKind: undefined;\n    };\n}\n// =============================================================================\n// Suite Validation Messages\n// =============================================================================\n\n/**\n * GetValidationTraceTests - Get all traces for validation (DRAFT and IN_SUITE)\n *\n * @generated from protobuf message tusk.drift.backend.v1.GetValidationTraceTestsRequest\n */\nexport interface GetValidationTraceTestsRequest {\n    /**\n     * @generated from protobuf field: string observable_service_id = 1\n     */\n    observableServiceId: string;\n    /**\n     * @generated from protobuf field: optional string pagination_cursor = 2\n     */\n    paginationCursor?: string;\n    /**\n     * @generated from protobuf field: int32 page_size = 3\n     */\n    pageSize: number;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetValidationTraceTestsResponseSuccess\n */\nexport interface GetValidationTraceTestsResponseSuccess {\n    /**\n     * @generated from protobuf field: repeated tusk.drift.backend.v1.TraceTest trace_tests = 1\n     */\n    traceTests: TraceTest[];\n    /**\n     * @generated from protobuf field: optional string next_cursor = 2\n     */\n    nextCursor?: string;\n    /**\n     * @generated from protobuf field: int32 total_count = 3\n     */\n    totalCount: number;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetValidationTraceTestsResponseError\n */\nexport interface GetValidationTraceTestsResponseError {\n    /**\n     * @generated from protobuf field: string code = 1\n     */\n    code: string;\n    /**\n     * @generated from protobuf field: string message = 2\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetValidationTraceTestsResponse\n */\nexport interface GetValidationTraceTestsResponse {\n    /**\n     * @generated from protobuf oneof: response\n     */\n    response: {\n        oneofKind: \"success\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetValidationTraceTestsResponseSuccess success = 1\n         */\n        success: GetValidationTraceTestsResponseSuccess;\n    } | {\n        oneofKind: \"error\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetValidationTraceTestsResponseError error = 2\n         */\n        error: GetValidationTraceTestsResponseError;\n    } | {\n        oneofKind: undefined;\n    };\n}\n// =============================================================================\n// Cache-friendly APIs for efficient trace syncing\n// =============================================================================\n\n/**\n * GetAllTraceTestIds - Get all trace test IDs (lightweight, for cache diffing)\n *\n * @generated from protobuf message tusk.drift.backend.v1.GetAllTraceTestIdsRequest\n */\nexport interface GetAllTraceTestIdsRequest {\n    /**\n     * @generated from protobuf field: string observable_service_id = 1\n     */\n    observableServiceId: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetAllTraceTestIdsResponseSuccess\n */\nexport interface GetAllTraceTestIdsResponseSuccess {\n    /**\n     * @generated from protobuf field: repeated string trace_test_ids = 1\n     */\n    traceTestIds: string[];\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetAllTraceTestIdsResponseError\n */\nexport interface GetAllTraceTestIdsResponseError {\n    /**\n     * @generated from protobuf field: string code = 1\n     */\n    code: string;\n    /**\n     * @generated from protobuf field: string message = 2\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetAllTraceTestIdsResponse\n */\nexport interface GetAllTraceTestIdsResponse {\n    /**\n     * @generated from protobuf oneof: response\n     */\n    response: {\n        oneofKind: \"success\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetAllTraceTestIdsResponseSuccess success = 1\n         */\n        success: GetAllTraceTestIdsResponseSuccess;\n    } | {\n        oneofKind: \"error\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetAllTraceTestIdsResponseError error = 2\n         */\n        error: GetAllTraceTestIdsResponseError;\n    } | {\n        oneofKind: undefined;\n    };\n}\n/**\n * GetTraceTestsByIds - Batch fetch trace tests by IDs\n *\n * @generated from protobuf message tusk.drift.backend.v1.GetTraceTestsByIdsRequest\n */\nexport interface GetTraceTestsByIdsRequest {\n    /**\n     * @generated from protobuf field: string observable_service_id = 1\n     */\n    observableServiceId: string;\n    /**\n     * @generated from protobuf field: repeated string trace_test_ids = 2\n     */\n    traceTestIds: string[];\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetTraceTestsByIdsResponseSuccess\n */\nexport interface GetTraceTestsByIdsResponseSuccess {\n    /**\n     * @generated from protobuf field: repeated tusk.drift.backend.v1.TraceTest trace_tests = 1\n     */\n    traceTests: TraceTest[];\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetTraceTestsByIdsResponseError\n */\nexport interface GetTraceTestsByIdsResponseError {\n    /**\n     * @generated from protobuf field: string code = 1\n     */\n    code: string;\n    /**\n     * @generated from protobuf field: string message = 2\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetTraceTestsByIdsResponse\n */\nexport interface GetTraceTestsByIdsResponse {\n    /**\n     * @generated from protobuf oneof: response\n     */\n    response: {\n        oneofKind: \"success\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetTraceTestsByIdsResponseSuccess success = 1\n         */\n        success: GetTraceTestsByIdsResponseSuccess;\n    } | {\n        oneofKind: \"error\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetTraceTestsByIdsResponseError error = 2\n         */\n        error: GetTraceTestsByIdsResponseError;\n    } | {\n        oneofKind: undefined;\n    };\n}\n/**\n * GetAllPreAppStartSpanIds - Get all pre-app-start span IDs (lightweight, for cache diffing)\n *\n * @generated from protobuf message tusk.drift.backend.v1.GetAllPreAppStartSpanIdsRequest\n */\nexport interface GetAllPreAppStartSpanIdsRequest {\n    /**\n     * @generated from protobuf field: string observable_service_id = 1\n     */\n    observableServiceId: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetAllPreAppStartSpanIdsResponseSuccess\n */\nexport interface GetAllPreAppStartSpanIdsResponseSuccess {\n    /**\n     * @generated from protobuf field: repeated string span_ids = 1\n     */\n    spanIds: string[];\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetAllPreAppStartSpanIdsResponseError\n */\nexport interface GetAllPreAppStartSpanIdsResponseError {\n    /**\n     * @generated from protobuf field: string code = 1\n     */\n    code: string;\n    /**\n     * @generated from protobuf field: string message = 2\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetAllPreAppStartSpanIdsResponse\n */\nexport interface GetAllPreAppStartSpanIdsResponse {\n    /**\n     * @generated from protobuf oneof: response\n     */\n    response: {\n        oneofKind: \"success\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetAllPreAppStartSpanIdsResponseSuccess success = 1\n         */\n        success: GetAllPreAppStartSpanIdsResponseSuccess;\n    } | {\n        oneofKind: \"error\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetAllPreAppStartSpanIdsResponseError error = 2\n         */\n        error: GetAllPreAppStartSpanIdsResponseError;\n    } | {\n        oneofKind: undefined;\n    };\n}\n/**\n * GetPreAppStartSpansByIds - Batch fetch pre-app-start spans by IDs\n *\n * @generated from protobuf message tusk.drift.backend.v1.GetPreAppStartSpansByIdsRequest\n */\nexport interface GetPreAppStartSpansByIdsRequest {\n    /**\n     * @generated from protobuf field: string observable_service_id = 1\n     */\n    observableServiceId: string;\n    /**\n     * @generated from protobuf field: repeated string span_ids = 2\n     */\n    spanIds: string[];\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetPreAppStartSpansByIdsResponseSuccess\n */\nexport interface GetPreAppStartSpansByIdsResponseSuccess {\n    /**\n     * @generated from protobuf field: repeated tusk.drift.core.v1.Span spans = 1\n     */\n    spans: Span[];\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetPreAppStartSpansByIdsResponseError\n */\nexport interface GetPreAppStartSpansByIdsResponseError {\n    /**\n     * @generated from protobuf field: string code = 1\n     */\n    code: string;\n    /**\n     * @generated from protobuf field: string message = 2\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetPreAppStartSpansByIdsResponse\n */\nexport interface GetPreAppStartSpansByIdsResponse {\n    /**\n     * @generated from protobuf oneof: response\n     */\n    response: {\n        oneofKind: \"success\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetPreAppStartSpansByIdsResponseSuccess success = 1\n         */\n        success: GetPreAppStartSpansByIdsResponseSuccess;\n    } | {\n        oneofKind: \"error\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetPreAppStartSpansByIdsResponseError error = 2\n         */\n        error: GetPreAppStartSpansByIdsResponseError;\n    } | {\n        oneofKind: undefined;\n    };\n}\n/**\n * GetAllGlobalSpanIds - Get all global span IDs (lightweight, for cache diffing)\n *\n * @generated from protobuf message tusk.drift.backend.v1.GetAllGlobalSpanIdsRequest\n */\nexport interface GetAllGlobalSpanIdsRequest {\n    /**\n     * @generated from protobuf field: string observable_service_id = 1\n     */\n    observableServiceId: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetAllGlobalSpanIdsResponseSuccess\n */\nexport interface GetAllGlobalSpanIdsResponseSuccess {\n    /**\n     * @generated from protobuf field: repeated string span_ids = 1\n     */\n    spanIds: string[];\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetAllGlobalSpanIdsResponseError\n */\nexport interface GetAllGlobalSpanIdsResponseError {\n    /**\n     * @generated from protobuf field: string code = 1\n     */\n    code: string;\n    /**\n     * @generated from protobuf field: string message = 2\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetAllGlobalSpanIdsResponse\n */\nexport interface GetAllGlobalSpanIdsResponse {\n    /**\n     * @generated from protobuf oneof: response\n     */\n    response: {\n        oneofKind: \"success\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetAllGlobalSpanIdsResponseSuccess success = 1\n         */\n        success: GetAllGlobalSpanIdsResponseSuccess;\n    } | {\n        oneofKind: \"error\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetAllGlobalSpanIdsResponseError error = 2\n         */\n        error: GetAllGlobalSpanIdsResponseError;\n    } | {\n        oneofKind: undefined;\n    };\n}\n/**\n * GetGlobalSpansByIds - Batch fetch global spans by IDs\n *\n * @generated from protobuf message tusk.drift.backend.v1.GetGlobalSpansByIdsRequest\n */\nexport interface GetGlobalSpansByIdsRequest {\n    /**\n     * @generated from protobuf field: string observable_service_id = 1\n     */\n    observableServiceId: string;\n    /**\n     * @generated from protobuf field: repeated string span_ids = 2\n     */\n    spanIds: string[];\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetGlobalSpansByIdsResponseSuccess\n */\nexport interface GetGlobalSpansByIdsResponseSuccess {\n    /**\n     * @generated from protobuf field: repeated tusk.drift.core.v1.Span spans = 1\n     */\n    spans: Span[];\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetGlobalSpansByIdsResponseError\n */\nexport interface GetGlobalSpansByIdsResponseError {\n    /**\n     * @generated from protobuf field: string code = 1\n     */\n    code: string;\n    /**\n     * @generated from protobuf field: string message = 2\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetGlobalSpansByIdsResponse\n */\nexport interface GetGlobalSpansByIdsResponse {\n    /**\n     * @generated from protobuf oneof: response\n     */\n    response: {\n        oneofKind: \"success\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetGlobalSpansByIdsResponseSuccess success = 1\n         */\n        success: GetGlobalSpansByIdsResponseSuccess;\n    } | {\n        oneofKind: \"error\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetGlobalSpansByIdsResponseError error = 2\n         */\n        error: GetGlobalSpansByIdsResponseError;\n    } | {\n        oneofKind: undefined;\n    };\n}\n/**\n * @generated from protobuf enum tusk.drift.backend.v1.TraceTestStatus\n */\nexport enum TraceTestStatus {\n    /**\n     * @generated from protobuf enum value: TRACE_TEST_STATUS_UNSPECIFIED = 0;\n     */\n    UNSPECIFIED = 0,\n    /**\n     * @generated from protobuf enum value: TRACE_TEST_STATUS_DRAFT = 1;\n     */\n    DRAFT = 1,\n    /**\n     * @generated from protobuf enum value: TRACE_TEST_STATUS_IN_SUITE = 2;\n     */\n    IN_SUITE = 2,\n    /**\n     * @generated from protobuf enum value: TRACE_TEST_STATUS_REMOVED = 3;\n     */\n    REMOVED = 3\n}\n/**\n * @generated from protobuf enum tusk.drift.backend.v1.TraceTestFailureReason\n */\nexport enum TraceTestFailureReason {\n    /**\n     * @generated from protobuf enum value: TRACE_TEST_FAILURE_REASON_UNSPECIFIED = 0;\n     */\n    UNSPECIFIED = 0,\n    /**\n     * @generated from protobuf enum value: TRACE_TEST_FAILURE_REASON_MOCK_NOT_FOUND = 1;\n     */\n    MOCK_NOT_FOUND = 1,\n    /**\n     * @generated from protobuf enum value: TRACE_TEST_FAILURE_REASON_RESPONSE_MISMATCH = 2;\n     */\n    RESPONSE_MISMATCH = 2,\n    /**\n     * @generated from protobuf enum value: TRACE_TEST_FAILURE_REASON_NO_RESPONSE = 3;\n     */\n    NO_RESPONSE = 3\n}\n/**\n * @generated from protobuf enum tusk.drift.backend.v1.DriftRunCIStatus\n */\nexport enum DriftRunCIStatus {\n    /**\n     * @generated from protobuf enum value: DRIFT_RUN_CI_STATUS_UNSPECIFIED = 0;\n     */\n    DRIFT_RUN_CI_STATUS_UNSPECIFIED = 0,\n    /**\n     * @generated from protobuf enum value: DRIFT_RUN_CI_STATUS_RUNNING = 1;\n     */\n    DRIFT_RUN_CI_STATUS_RUNNING = 1,\n    /**\n     * @generated from protobuf enum value: DRIFT_RUN_CI_STATUS_SUCCESS = 2;\n     */\n    DRIFT_RUN_CI_STATUS_SUCCESS = 2,\n    /**\n     * @generated from protobuf enum value: DRIFT_RUN_CI_STATUS_FAILURE = 3;\n     */\n    DRIFT_RUN_CI_STATUS_FAILURE = 3\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetGlobalSpansRequest$Type extends MessageType<GetGlobalSpansRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetGlobalSpansRequest\", [\n            { no: 1, name: \"observable_service_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"pagination_cursor\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"page_size\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetGlobalSpansRequest>): GetGlobalSpansRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.observableServiceId = \"\";\n        message.pageSize = 0;\n        if (value !== undefined)\n            reflectionMergePartial<GetGlobalSpansRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetGlobalSpansRequest): GetGlobalSpansRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string observable_service_id */ 1:\n                    message.observableServiceId = reader.string();\n                    break;\n                case /* optional string pagination_cursor */ 2:\n                    message.paginationCursor = reader.string();\n                    break;\n                case /* int32 page_size */ 3:\n                    message.pageSize = reader.int32();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetGlobalSpansRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string observable_service_id = 1; */\n        if (message.observableServiceId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.observableServiceId);\n        /* optional string pagination_cursor = 2; */\n        if (message.paginationCursor !== undefined)\n            writer.tag(2, WireType.LengthDelimited).string(message.paginationCursor);\n        /* int32 page_size = 3; */\n        if (message.pageSize !== 0)\n            writer.tag(3, WireType.Varint).int32(message.pageSize);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetGlobalSpansRequest\n */\nexport const GetGlobalSpansRequest = new GetGlobalSpansRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetGlobalSpansResponseSuccess$Type extends MessageType<GetGlobalSpansResponseSuccess> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetGlobalSpansResponseSuccess\", [\n            { no: 1, name: \"spans\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Span },\n            { no: 2, name: \"next_cursor\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"total_count\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetGlobalSpansResponseSuccess>): GetGlobalSpansResponseSuccess {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.spans = [];\n        message.totalCount = 0;\n        if (value !== undefined)\n            reflectionMergePartial<GetGlobalSpansResponseSuccess>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetGlobalSpansResponseSuccess): GetGlobalSpansResponseSuccess {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* repeated tusk.drift.core.v1.Span spans */ 1:\n                    message.spans.push(Span.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                case /* optional string next_cursor */ 2:\n                    message.nextCursor = reader.string();\n                    break;\n                case /* int32 total_count */ 3:\n                    message.totalCount = reader.int32();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetGlobalSpansResponseSuccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* repeated tusk.drift.core.v1.Span spans = 1; */\n        for (let i = 0; i < message.spans.length; i++)\n            Span.internalBinaryWrite(message.spans[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* optional string next_cursor = 2; */\n        if (message.nextCursor !== undefined)\n            writer.tag(2, WireType.LengthDelimited).string(message.nextCursor);\n        /* int32 total_count = 3; */\n        if (message.totalCount !== 0)\n            writer.tag(3, WireType.Varint).int32(message.totalCount);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetGlobalSpansResponseSuccess\n */\nexport const GetGlobalSpansResponseSuccess = new GetGlobalSpansResponseSuccess$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetGlobalSpansResponseError$Type extends MessageType<GetGlobalSpansResponseError> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetGlobalSpansResponseError\", [\n            { no: 1, name: \"code\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetGlobalSpansResponseError>): GetGlobalSpansResponseError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.code = \"\";\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<GetGlobalSpansResponseError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetGlobalSpansResponseError): GetGlobalSpansResponseError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string code */ 1:\n                    message.code = reader.string();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetGlobalSpansResponseError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string code = 1; */\n        if (message.code !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.code);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetGlobalSpansResponseError\n */\nexport const GetGlobalSpansResponseError = new GetGlobalSpansResponseError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetGlobalSpansResponse$Type extends MessageType<GetGlobalSpansResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetGlobalSpansResponse\", [\n            { no: 1, name: \"success\", kind: \"message\", oneof: \"response\", T: () => GetGlobalSpansResponseSuccess },\n            { no: 2, name: \"error\", kind: \"message\", oneof: \"response\", T: () => GetGlobalSpansResponseError }\n        ]);\n    }\n    create(value?: PartialMessage<GetGlobalSpansResponse>): GetGlobalSpansResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.response = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<GetGlobalSpansResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetGlobalSpansResponse): GetGlobalSpansResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.GetGlobalSpansResponseSuccess success */ 1:\n                    message.response = {\n                        oneofKind: \"success\",\n                        success: GetGlobalSpansResponseSuccess.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).success)\n                    };\n                    break;\n                case /* tusk.drift.backend.v1.GetGlobalSpansResponseError error */ 2:\n                    message.response = {\n                        oneofKind: \"error\",\n                        error: GetGlobalSpansResponseError.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).error)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetGlobalSpansResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.GetGlobalSpansResponseSuccess success = 1; */\n        if (message.response.oneofKind === \"success\")\n            GetGlobalSpansResponseSuccess.internalBinaryWrite(message.response.success, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.GetGlobalSpansResponseError error = 2; */\n        if (message.response.oneofKind === \"error\")\n            GetGlobalSpansResponseError.internalBinaryWrite(message.response.error, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetGlobalSpansResponse\n */\nexport const GetGlobalSpansResponse = new GetGlobalSpansResponse$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetPreAppStartSpansRequest$Type extends MessageType<GetPreAppStartSpansRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetPreAppStartSpansRequest\", [\n            { no: 1, name: \"observable_service_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"pagination_cursor\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"page_size\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetPreAppStartSpansRequest>): GetPreAppStartSpansRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.observableServiceId = \"\";\n        message.pageSize = 0;\n        if (value !== undefined)\n            reflectionMergePartial<GetPreAppStartSpansRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetPreAppStartSpansRequest): GetPreAppStartSpansRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string observable_service_id */ 1:\n                    message.observableServiceId = reader.string();\n                    break;\n                case /* optional string pagination_cursor */ 2:\n                    message.paginationCursor = reader.string();\n                    break;\n                case /* int32 page_size */ 3:\n                    message.pageSize = reader.int32();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetPreAppStartSpansRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string observable_service_id = 1; */\n        if (message.observableServiceId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.observableServiceId);\n        /* optional string pagination_cursor = 2; */\n        if (message.paginationCursor !== undefined)\n            writer.tag(2, WireType.LengthDelimited).string(message.paginationCursor);\n        /* int32 page_size = 3; */\n        if (message.pageSize !== 0)\n            writer.tag(3, WireType.Varint).int32(message.pageSize);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetPreAppStartSpansRequest\n */\nexport const GetPreAppStartSpansRequest = new GetPreAppStartSpansRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetPreAppStartSpansResponseSuccess$Type extends MessageType<GetPreAppStartSpansResponseSuccess> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetPreAppStartSpansResponseSuccess\", [\n            { no: 1, name: \"spans\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Span },\n            { no: 2, name: \"next_cursor\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"total_count\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetPreAppStartSpansResponseSuccess>): GetPreAppStartSpansResponseSuccess {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.spans = [];\n        message.totalCount = 0;\n        if (value !== undefined)\n            reflectionMergePartial<GetPreAppStartSpansResponseSuccess>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetPreAppStartSpansResponseSuccess): GetPreAppStartSpansResponseSuccess {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* repeated tusk.drift.core.v1.Span spans */ 1:\n                    message.spans.push(Span.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                case /* optional string next_cursor */ 2:\n                    message.nextCursor = reader.string();\n                    break;\n                case /* int32 total_count */ 3:\n                    message.totalCount = reader.int32();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetPreAppStartSpansResponseSuccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* repeated tusk.drift.core.v1.Span spans = 1; */\n        for (let i = 0; i < message.spans.length; i++)\n            Span.internalBinaryWrite(message.spans[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* optional string next_cursor = 2; */\n        if (message.nextCursor !== undefined)\n            writer.tag(2, WireType.LengthDelimited).string(message.nextCursor);\n        /* int32 total_count = 3; */\n        if (message.totalCount !== 0)\n            writer.tag(3, WireType.Varint).int32(message.totalCount);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetPreAppStartSpansResponseSuccess\n */\nexport const GetPreAppStartSpansResponseSuccess = new GetPreAppStartSpansResponseSuccess$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetPreAppStartSpansResponseError$Type extends MessageType<GetPreAppStartSpansResponseError> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetPreAppStartSpansResponseError\", [\n            { no: 1, name: \"code\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetPreAppStartSpansResponseError>): GetPreAppStartSpansResponseError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.code = \"\";\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<GetPreAppStartSpansResponseError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetPreAppStartSpansResponseError): GetPreAppStartSpansResponseError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string code */ 1:\n                    message.code = reader.string();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetPreAppStartSpansResponseError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string code = 1; */\n        if (message.code !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.code);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetPreAppStartSpansResponseError\n */\nexport const GetPreAppStartSpansResponseError = new GetPreAppStartSpansResponseError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetPreAppStartSpansResponse$Type extends MessageType<GetPreAppStartSpansResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetPreAppStartSpansResponse\", [\n            { no: 1, name: \"success\", kind: \"message\", oneof: \"response\", T: () => GetPreAppStartSpansResponseSuccess },\n            { no: 2, name: \"error\", kind: \"message\", oneof: \"response\", T: () => GetPreAppStartSpansResponseError }\n        ]);\n    }\n    create(value?: PartialMessage<GetPreAppStartSpansResponse>): GetPreAppStartSpansResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.response = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<GetPreAppStartSpansResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetPreAppStartSpansResponse): GetPreAppStartSpansResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.GetPreAppStartSpansResponseSuccess success */ 1:\n                    message.response = {\n                        oneofKind: \"success\",\n                        success: GetPreAppStartSpansResponseSuccess.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).success)\n                    };\n                    break;\n                case /* tusk.drift.backend.v1.GetPreAppStartSpansResponseError error */ 2:\n                    message.response = {\n                        oneofKind: \"error\",\n                        error: GetPreAppStartSpansResponseError.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).error)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetPreAppStartSpansResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.GetPreAppStartSpansResponseSuccess success = 1; */\n        if (message.response.oneofKind === \"success\")\n            GetPreAppStartSpansResponseSuccess.internalBinaryWrite(message.response.success, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.GetPreAppStartSpansResponseError error = 2; */\n        if (message.response.oneofKind === \"error\")\n            GetPreAppStartSpansResponseError.internalBinaryWrite(message.response.error, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetPreAppStartSpansResponse\n */\nexport const GetPreAppStartSpansResponse = new GetPreAppStartSpansResponse$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass CreateDriftRunRequest$Type extends MessageType<CreateDriftRunRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.CreateDriftRunRequest\", [\n            { no: 1, name: \"observable_service_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"cli_version\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"commit_sha\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 4, name: \"pr_number\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 5, name: \"branch_name\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 6, name: \"external_check_run_id\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 7, name: \"is_validation_run\", kind: \"scalar\", T: 8 /*ScalarType.BOOL*/ }\n        ]);\n    }\n    create(value?: PartialMessage<CreateDriftRunRequest>): CreateDriftRunRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.observableServiceId = \"\";\n        message.cliVersion = \"\";\n        message.isValidationRun = false;\n        if (value !== undefined)\n            reflectionMergePartial<CreateDriftRunRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateDriftRunRequest): CreateDriftRunRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string observable_service_id */ 1:\n                    message.observableServiceId = reader.string();\n                    break;\n                case /* string cli_version */ 2:\n                    message.cliVersion = reader.string();\n                    break;\n                case /* optional string commit_sha */ 3:\n                    message.commitSha = reader.string();\n                    break;\n                case /* optional string pr_number */ 4:\n                    message.prNumber = reader.string();\n                    break;\n                case /* optional string branch_name */ 5:\n                    message.branchName = reader.string();\n                    break;\n                case /* optional string external_check_run_id */ 6:\n                    message.externalCheckRunId = reader.string();\n                    break;\n                case /* bool is_validation_run */ 7:\n                    message.isValidationRun = reader.bool();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: CreateDriftRunRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string observable_service_id = 1; */\n        if (message.observableServiceId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.observableServiceId);\n        /* string cli_version = 2; */\n        if (message.cliVersion !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.cliVersion);\n        /* optional string commit_sha = 3; */\n        if (message.commitSha !== undefined)\n            writer.tag(3, WireType.LengthDelimited).string(message.commitSha);\n        /* optional string pr_number = 4; */\n        if (message.prNumber !== undefined)\n            writer.tag(4, WireType.LengthDelimited).string(message.prNumber);\n        /* optional string branch_name = 5; */\n        if (message.branchName !== undefined)\n            writer.tag(5, WireType.LengthDelimited).string(message.branchName);\n        /* optional string external_check_run_id = 6; */\n        if (message.externalCheckRunId !== undefined)\n            writer.tag(6, WireType.LengthDelimited).string(message.externalCheckRunId);\n        /* bool is_validation_run = 7; */\n        if (message.isValidationRun !== false)\n            writer.tag(7, WireType.Varint).bool(message.isValidationRun);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.CreateDriftRunRequest\n */\nexport const CreateDriftRunRequest = new CreateDriftRunRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass CreateDriftRunResponseSuccess$Type extends MessageType<CreateDriftRunResponseSuccess> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.CreateDriftRunResponseSuccess\", [\n            { no: 1, name: \"drift_run_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<CreateDriftRunResponseSuccess>): CreateDriftRunResponseSuccess {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.driftRunId = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<CreateDriftRunResponseSuccess>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateDriftRunResponseSuccess): CreateDriftRunResponseSuccess {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string drift_run_id */ 1:\n                    message.driftRunId = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: CreateDriftRunResponseSuccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string drift_run_id = 1; */\n        if (message.driftRunId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.driftRunId);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.CreateDriftRunResponseSuccess\n */\nexport const CreateDriftRunResponseSuccess = new CreateDriftRunResponseSuccess$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass CreateDriftRunResponseError$Type extends MessageType<CreateDriftRunResponseError> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.CreateDriftRunResponseError\", [\n            { no: 1, name: \"code\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<CreateDriftRunResponseError>): CreateDriftRunResponseError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.code = \"\";\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<CreateDriftRunResponseError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateDriftRunResponseError): CreateDriftRunResponseError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string code */ 1:\n                    message.code = reader.string();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: CreateDriftRunResponseError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string code = 1; */\n        if (message.code !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.code);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.CreateDriftRunResponseError\n */\nexport const CreateDriftRunResponseError = new CreateDriftRunResponseError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass CreateDriftRunResponse$Type extends MessageType<CreateDriftRunResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.CreateDriftRunResponse\", [\n            { no: 1, name: \"success\", kind: \"message\", oneof: \"response\", T: () => CreateDriftRunResponseSuccess },\n            { no: 2, name: \"error\", kind: \"message\", oneof: \"response\", T: () => CreateDriftRunResponseError }\n        ]);\n    }\n    create(value?: PartialMessage<CreateDriftRunResponse>): CreateDriftRunResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.response = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<CreateDriftRunResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateDriftRunResponse): CreateDriftRunResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.CreateDriftRunResponseSuccess success */ 1:\n                    message.response = {\n                        oneofKind: \"success\",\n                        success: CreateDriftRunResponseSuccess.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).success)\n                    };\n                    break;\n                case /* tusk.drift.backend.v1.CreateDriftRunResponseError error */ 2:\n                    message.response = {\n                        oneofKind: \"error\",\n                        error: CreateDriftRunResponseError.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).error)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: CreateDriftRunResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.CreateDriftRunResponseSuccess success = 1; */\n        if (message.response.oneofKind === \"success\")\n            CreateDriftRunResponseSuccess.internalBinaryWrite(message.response.success, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.CreateDriftRunResponseError error = 2; */\n        if (message.response.oneofKind === \"error\")\n            CreateDriftRunResponseError.internalBinaryWrite(message.response.error, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.CreateDriftRunResponse\n */\nexport const CreateDriftRunResponse = new CreateDriftRunResponse$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetDriftRunTraceTestsRequest$Type extends MessageType<GetDriftRunTraceTestsRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetDriftRunTraceTestsRequest\", [\n            { no: 1, name: \"drift_run_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"pagination_cursor\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"page_size\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetDriftRunTraceTestsRequest>): GetDriftRunTraceTestsRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.driftRunId = \"\";\n        message.pageSize = 0;\n        if (value !== undefined)\n            reflectionMergePartial<GetDriftRunTraceTestsRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetDriftRunTraceTestsRequest): GetDriftRunTraceTestsRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string drift_run_id */ 1:\n                    message.driftRunId = reader.string();\n                    break;\n                case /* optional string pagination_cursor */ 2:\n                    message.paginationCursor = reader.string();\n                    break;\n                case /* int32 page_size */ 3:\n                    message.pageSize = reader.int32();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetDriftRunTraceTestsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string drift_run_id = 1; */\n        if (message.driftRunId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.driftRunId);\n        /* optional string pagination_cursor = 2; */\n        if (message.paginationCursor !== undefined)\n            writer.tag(2, WireType.LengthDelimited).string(message.paginationCursor);\n        /* int32 page_size = 3; */\n        if (message.pageSize !== 0)\n            writer.tag(3, WireType.Varint).int32(message.pageSize);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetDriftRunTraceTestsRequest\n */\nexport const GetDriftRunTraceTestsRequest = new GetDriftRunTraceTestsRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass TraceTest$Type extends MessageType<TraceTest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.TraceTest\", [\n            { no: 1, name: \"id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"trace_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"server_span_recording_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 4, name: \"spans\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Span },\n            { no: 5, name: \"status\", kind: \"enum\", T: () => [\"tusk.drift.backend.v1.TraceTestStatus\", TraceTestStatus, \"TRACE_TEST_STATUS_\"] }\n        ]);\n    }\n    create(value?: PartialMessage<TraceTest>): TraceTest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.id = \"\";\n        message.traceId = \"\";\n        message.serverSpanRecordingId = \"\";\n        message.spans = [];\n        message.status = 0;\n        if (value !== undefined)\n            reflectionMergePartial<TraceTest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TraceTest): TraceTest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string id */ 1:\n                    message.id = reader.string();\n                    break;\n                case /* string trace_id */ 2:\n                    message.traceId = reader.string();\n                    break;\n                case /* string server_span_recording_id */ 3:\n                    message.serverSpanRecordingId = reader.string();\n                    break;\n                case /* repeated tusk.drift.core.v1.Span spans */ 4:\n                    message.spans.push(Span.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                case /* tusk.drift.backend.v1.TraceTestStatus status */ 5:\n                    message.status = reader.int32();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: TraceTest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string id = 1; */\n        if (message.id !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.id);\n        /* string trace_id = 2; */\n        if (message.traceId !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.traceId);\n        /* string server_span_recording_id = 3; */\n        if (message.serverSpanRecordingId !== \"\")\n            writer.tag(3, WireType.LengthDelimited).string(message.serverSpanRecordingId);\n        /* repeated tusk.drift.core.v1.Span spans = 4; */\n        for (let i = 0; i < message.spans.length; i++)\n            Span.internalBinaryWrite(message.spans[i], writer.tag(4, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.TraceTestStatus status = 5; */\n        if (message.status !== 0)\n            writer.tag(5, WireType.Varint).int32(message.status);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.TraceTest\n */\nexport const TraceTest = new TraceTest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetDriftRunTraceTestsResponseSuccess$Type extends MessageType<GetDriftRunTraceTestsResponseSuccess> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetDriftRunTraceTestsResponseSuccess\", [\n            { no: 1, name: \"trace_tests\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => TraceTest },\n            { no: 2, name: \"next_cursor\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"total_count\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetDriftRunTraceTestsResponseSuccess>): GetDriftRunTraceTestsResponseSuccess {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.traceTests = [];\n        message.totalCount = 0;\n        if (value !== undefined)\n            reflectionMergePartial<GetDriftRunTraceTestsResponseSuccess>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetDriftRunTraceTestsResponseSuccess): GetDriftRunTraceTestsResponseSuccess {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* repeated tusk.drift.backend.v1.TraceTest trace_tests */ 1:\n                    message.traceTests.push(TraceTest.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                case /* optional string next_cursor */ 2:\n                    message.nextCursor = reader.string();\n                    break;\n                case /* int32 total_count */ 3:\n                    message.totalCount = reader.int32();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetDriftRunTraceTestsResponseSuccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* repeated tusk.drift.backend.v1.TraceTest trace_tests = 1; */\n        for (let i = 0; i < message.traceTests.length; i++)\n            TraceTest.internalBinaryWrite(message.traceTests[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* optional string next_cursor = 2; */\n        if (message.nextCursor !== undefined)\n            writer.tag(2, WireType.LengthDelimited).string(message.nextCursor);\n        /* int32 total_count = 3; */\n        if (message.totalCount !== 0)\n            writer.tag(3, WireType.Varint).int32(message.totalCount);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetDriftRunTraceTestsResponseSuccess\n */\nexport const GetDriftRunTraceTestsResponseSuccess = new GetDriftRunTraceTestsResponseSuccess$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetDriftRunTraceTestsResponseError$Type extends MessageType<GetDriftRunTraceTestsResponseError> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetDriftRunTraceTestsResponseError\", [\n            { no: 1, name: \"code\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetDriftRunTraceTestsResponseError>): GetDriftRunTraceTestsResponseError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.code = \"\";\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<GetDriftRunTraceTestsResponseError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetDriftRunTraceTestsResponseError): GetDriftRunTraceTestsResponseError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string code */ 1:\n                    message.code = reader.string();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetDriftRunTraceTestsResponseError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string code = 1; */\n        if (message.code !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.code);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetDriftRunTraceTestsResponseError\n */\nexport const GetDriftRunTraceTestsResponseError = new GetDriftRunTraceTestsResponseError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetDriftRunTraceTestsResponse$Type extends MessageType<GetDriftRunTraceTestsResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetDriftRunTraceTestsResponse\", [\n            { no: 1, name: \"success\", kind: \"message\", oneof: \"response\", T: () => GetDriftRunTraceTestsResponseSuccess },\n            { no: 2, name: \"error\", kind: \"message\", oneof: \"response\", T: () => GetDriftRunTraceTestsResponseError }\n        ]);\n    }\n    create(value?: PartialMessage<GetDriftRunTraceTestsResponse>): GetDriftRunTraceTestsResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.response = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<GetDriftRunTraceTestsResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetDriftRunTraceTestsResponse): GetDriftRunTraceTestsResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.GetDriftRunTraceTestsResponseSuccess success */ 1:\n                    message.response = {\n                        oneofKind: \"success\",\n                        success: GetDriftRunTraceTestsResponseSuccess.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).success)\n                    };\n                    break;\n                case /* tusk.drift.backend.v1.GetDriftRunTraceTestsResponseError error */ 2:\n                    message.response = {\n                        oneofKind: \"error\",\n                        error: GetDriftRunTraceTestsResponseError.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).error)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetDriftRunTraceTestsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.GetDriftRunTraceTestsResponseSuccess success = 1; */\n        if (message.response.oneofKind === \"success\")\n            GetDriftRunTraceTestsResponseSuccess.internalBinaryWrite(message.response.success, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.GetDriftRunTraceTestsResponseError error = 2; */\n        if (message.response.oneofKind === \"error\")\n            GetDriftRunTraceTestsResponseError.internalBinaryWrite(message.response.error, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetDriftRunTraceTestsResponse\n */\nexport const GetDriftRunTraceTestsResponse = new GetDriftRunTraceTestsResponse$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetTraceTestRequest$Type extends MessageType<GetTraceTestRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetTraceTestRequest\", [\n            { no: 1, name: \"observable_service_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"trace_test_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetTraceTestRequest>): GetTraceTestRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.observableServiceId = \"\";\n        message.traceTestId = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<GetTraceTestRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetTraceTestRequest): GetTraceTestRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string observable_service_id */ 1:\n                    message.observableServiceId = reader.string();\n                    break;\n                case /* string trace_test_id */ 2:\n                    message.traceTestId = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetTraceTestRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string observable_service_id = 1; */\n        if (message.observableServiceId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.observableServiceId);\n        /* string trace_test_id = 2; */\n        if (message.traceTestId !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.traceTestId);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetTraceTestRequest\n */\nexport const GetTraceTestRequest = new GetTraceTestRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetTraceTestResponse$Type extends MessageType<GetTraceTestResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetTraceTestResponse\", [\n            { no: 1, name: \"success\", kind: \"message\", oneof: \"response\", T: () => GetTraceTestResponseSuccess },\n            { no: 2, name: \"error\", kind: \"message\", oneof: \"response\", T: () => GetTraceTestResponseError }\n        ]);\n    }\n    create(value?: PartialMessage<GetTraceTestResponse>): GetTraceTestResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.response = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<GetTraceTestResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetTraceTestResponse): GetTraceTestResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.GetTraceTestResponseSuccess success */ 1:\n                    message.response = {\n                        oneofKind: \"success\",\n                        success: GetTraceTestResponseSuccess.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).success)\n                    };\n                    break;\n                case /* tusk.drift.backend.v1.GetTraceTestResponseError error */ 2:\n                    message.response = {\n                        oneofKind: \"error\",\n                        error: GetTraceTestResponseError.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).error)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetTraceTestResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.GetTraceTestResponseSuccess success = 1; */\n        if (message.response.oneofKind === \"success\")\n            GetTraceTestResponseSuccess.internalBinaryWrite(message.response.success, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.GetTraceTestResponseError error = 2; */\n        if (message.response.oneofKind === \"error\")\n            GetTraceTestResponseError.internalBinaryWrite(message.response.error, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetTraceTestResponse\n */\nexport const GetTraceTestResponse = new GetTraceTestResponse$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetTraceTestResponseSuccess$Type extends MessageType<GetTraceTestResponseSuccess> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetTraceTestResponseSuccess\", [\n            { no: 1, name: \"trace_test\", kind: \"message\", T: () => TraceTest }\n        ]);\n    }\n    create(value?: PartialMessage<GetTraceTestResponseSuccess>): GetTraceTestResponseSuccess {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        if (value !== undefined)\n            reflectionMergePartial<GetTraceTestResponseSuccess>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetTraceTestResponseSuccess): GetTraceTestResponseSuccess {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.TraceTest trace_test */ 1:\n                    message.traceTest = TraceTest.internalBinaryRead(reader, reader.uint32(), options, message.traceTest);\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetTraceTestResponseSuccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.TraceTest trace_test = 1; */\n        if (message.traceTest)\n            TraceTest.internalBinaryWrite(message.traceTest, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetTraceTestResponseSuccess\n */\nexport const GetTraceTestResponseSuccess = new GetTraceTestResponseSuccess$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetTraceTestResponseError$Type extends MessageType<GetTraceTestResponseError> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetTraceTestResponseError\", [\n            { no: 1, name: \"code\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetTraceTestResponseError>): GetTraceTestResponseError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.code = \"\";\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<GetTraceTestResponseError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetTraceTestResponseError): GetTraceTestResponseError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string code */ 1:\n                    message.code = reader.string();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetTraceTestResponseError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string code = 1; */\n        if (message.code !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.code);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetTraceTestResponseError\n */\nexport const GetTraceTestResponseError = new GetTraceTestResponseError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetAllTraceTestsRequest$Type extends MessageType<GetAllTraceTestsRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetAllTraceTestsRequest\", [\n            { no: 1, name: \"observable_service_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"pagination_cursor\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"page_size\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ },\n            { no: 4, name: \"status_filter\", kind: \"enum\", opt: true, T: () => [\"tusk.drift.backend.v1.TraceTestStatus\", TraceTestStatus, \"TRACE_TEST_STATUS_\"] }\n        ]);\n    }\n    create(value?: PartialMessage<GetAllTraceTestsRequest>): GetAllTraceTestsRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.observableServiceId = \"\";\n        message.pageSize = 0;\n        if (value !== undefined)\n            reflectionMergePartial<GetAllTraceTestsRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAllTraceTestsRequest): GetAllTraceTestsRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string observable_service_id */ 1:\n                    message.observableServiceId = reader.string();\n                    break;\n                case /* optional string pagination_cursor */ 2:\n                    message.paginationCursor = reader.string();\n                    break;\n                case /* int32 page_size */ 3:\n                    message.pageSize = reader.int32();\n                    break;\n                case /* optional tusk.drift.backend.v1.TraceTestStatus status_filter */ 4:\n                    message.statusFilter = reader.int32();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetAllTraceTestsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string observable_service_id = 1; */\n        if (message.observableServiceId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.observableServiceId);\n        /* optional string pagination_cursor = 2; */\n        if (message.paginationCursor !== undefined)\n            writer.tag(2, WireType.LengthDelimited).string(message.paginationCursor);\n        /* int32 page_size = 3; */\n        if (message.pageSize !== 0)\n            writer.tag(3, WireType.Varint).int32(message.pageSize);\n        /* optional tusk.drift.backend.v1.TraceTestStatus status_filter = 4; */\n        if (message.statusFilter !== undefined)\n            writer.tag(4, WireType.Varint).int32(message.statusFilter);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetAllTraceTestsRequest\n */\nexport const GetAllTraceTestsRequest = new GetAllTraceTestsRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetAllTraceTestsResponseSuccess$Type extends MessageType<GetAllTraceTestsResponseSuccess> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetAllTraceTestsResponseSuccess\", [\n            { no: 1, name: \"trace_tests\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => TraceTest },\n            { no: 2, name: \"next_cursor\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"total_count\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetAllTraceTestsResponseSuccess>): GetAllTraceTestsResponseSuccess {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.traceTests = [];\n        message.totalCount = 0;\n        if (value !== undefined)\n            reflectionMergePartial<GetAllTraceTestsResponseSuccess>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAllTraceTestsResponseSuccess): GetAllTraceTestsResponseSuccess {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* repeated tusk.drift.backend.v1.TraceTest trace_tests */ 1:\n                    message.traceTests.push(TraceTest.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                case /* optional string next_cursor */ 2:\n                    message.nextCursor = reader.string();\n                    break;\n                case /* int32 total_count */ 3:\n                    message.totalCount = reader.int32();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetAllTraceTestsResponseSuccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* repeated tusk.drift.backend.v1.TraceTest trace_tests = 1; */\n        for (let i = 0; i < message.traceTests.length; i++)\n            TraceTest.internalBinaryWrite(message.traceTests[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* optional string next_cursor = 2; */\n        if (message.nextCursor !== undefined)\n            writer.tag(2, WireType.LengthDelimited).string(message.nextCursor);\n        /* int32 total_count = 3; */\n        if (message.totalCount !== 0)\n            writer.tag(3, WireType.Varint).int32(message.totalCount);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetAllTraceTestsResponseSuccess\n */\nexport const GetAllTraceTestsResponseSuccess = new GetAllTraceTestsResponseSuccess$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetAllTraceTestsResponseError$Type extends MessageType<GetAllTraceTestsResponseError> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetAllTraceTestsResponseError\", [\n            { no: 1, name: \"code\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetAllTraceTestsResponseError>): GetAllTraceTestsResponseError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.code = \"\";\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<GetAllTraceTestsResponseError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAllTraceTestsResponseError): GetAllTraceTestsResponseError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string code */ 1:\n                    message.code = reader.string();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetAllTraceTestsResponseError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string code = 1; */\n        if (message.code !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.code);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetAllTraceTestsResponseError\n */\nexport const GetAllTraceTestsResponseError = new GetAllTraceTestsResponseError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetAllTraceTestsResponse$Type extends MessageType<GetAllTraceTestsResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetAllTraceTestsResponse\", [\n            { no: 1, name: \"success\", kind: \"message\", oneof: \"response\", T: () => GetAllTraceTestsResponseSuccess },\n            { no: 2, name: \"error\", kind: \"message\", oneof: \"response\", T: () => GetAllTraceTestsResponseError }\n        ]);\n    }\n    create(value?: PartialMessage<GetAllTraceTestsResponse>): GetAllTraceTestsResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.response = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<GetAllTraceTestsResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAllTraceTestsResponse): GetAllTraceTestsResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.GetAllTraceTestsResponseSuccess success */ 1:\n                    message.response = {\n                        oneofKind: \"success\",\n                        success: GetAllTraceTestsResponseSuccess.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).success)\n                    };\n                    break;\n                case /* tusk.drift.backend.v1.GetAllTraceTestsResponseError error */ 2:\n                    message.response = {\n                        oneofKind: \"error\",\n                        error: GetAllTraceTestsResponseError.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).error)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetAllTraceTestsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.GetAllTraceTestsResponseSuccess success = 1; */\n        if (message.response.oneofKind === \"success\")\n            GetAllTraceTestsResponseSuccess.internalBinaryWrite(message.response.success, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.GetAllTraceTestsResponseError error = 2; */\n        if (message.response.oneofKind === \"error\")\n            GetAllTraceTestsResponseError.internalBinaryWrite(message.response.error, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetAllTraceTestsResponse\n */\nexport const GetAllTraceTestsResponse = new GetAllTraceTestsResponse$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass Deviation$Type extends MessageType<Deviation> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.Deviation\", [\n            { no: 1, name: \"field\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"description\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<Deviation>): Deviation {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.field = \"\";\n        message.description = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<Deviation>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Deviation): Deviation {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string field */ 1:\n                    message.field = reader.string();\n                    break;\n                case /* string description */ 2:\n                    message.description = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: Deviation, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string field = 1; */\n        if (message.field !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.field);\n        /* string description = 2; */\n        if (message.description !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.description);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.Deviation\n */\nexport const Deviation = new Deviation$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass TraceTestSpanResult$Type extends MessageType<TraceTestSpanResult> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.TraceTestSpanResult\", [\n            { no: 1, name: \"replay_span\", kind: \"message\", T: () => Span },\n            { no: 2, name: \"matched_span_recording_id\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"match_level\", kind: \"message\", T: () => MatchLevel },\n            { no: 4, name: \"stack_trace\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 5, name: \"deviations\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Deviation }\n        ]);\n    }\n    create(value?: PartialMessage<TraceTestSpanResult>): TraceTestSpanResult {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.deviations = [];\n        if (value !== undefined)\n            reflectionMergePartial<TraceTestSpanResult>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TraceTestSpanResult): TraceTestSpanResult {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.core.v1.Span replay_span */ 1:\n                    message.replaySpan = Span.internalBinaryRead(reader, reader.uint32(), options, message.replaySpan);\n                    break;\n                case /* optional string matched_span_recording_id */ 2:\n                    message.matchedSpanRecordingId = reader.string();\n                    break;\n                case /* optional tusk.drift.core.v1.MatchLevel match_level */ 3:\n                    message.matchLevel = MatchLevel.internalBinaryRead(reader, reader.uint32(), options, message.matchLevel);\n                    break;\n                case /* optional string stack_trace */ 4:\n                    message.stackTrace = reader.string();\n                    break;\n                case /* repeated tusk.drift.backend.v1.Deviation deviations */ 5:\n                    message.deviations.push(Deviation.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: TraceTestSpanResult, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.core.v1.Span replay_span = 1; */\n        if (message.replaySpan)\n            Span.internalBinaryWrite(message.replaySpan, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* optional string matched_span_recording_id = 2; */\n        if (message.matchedSpanRecordingId !== undefined)\n            writer.tag(2, WireType.LengthDelimited).string(message.matchedSpanRecordingId);\n        /* optional tusk.drift.core.v1.MatchLevel match_level = 3; */\n        if (message.matchLevel)\n            MatchLevel.internalBinaryWrite(message.matchLevel, writer.tag(3, WireType.LengthDelimited).fork(), options).join();\n        /* optional string stack_trace = 4; */\n        if (message.stackTrace !== undefined)\n            writer.tag(4, WireType.LengthDelimited).string(message.stackTrace);\n        /* repeated tusk.drift.backend.v1.Deviation deviations = 5; */\n        for (let i = 0; i < message.deviations.length; i++)\n            Deviation.internalBinaryWrite(message.deviations[i], writer.tag(5, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.TraceTestSpanResult\n */\nexport const TraceTestSpanResult = new TraceTestSpanResult$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass TraceTestResult$Type extends MessageType<TraceTestResult> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.TraceTestResult\", [\n            { no: 1, name: \"trace_test_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"test_success\", kind: \"scalar\", T: 8 /*ScalarType.BOOL*/ },\n            { no: 3, name: \"test_failure_reason\", kind: \"enum\", opt: true, T: () => [\"tusk.drift.backend.v1.TraceTestFailureReason\", TraceTestFailureReason, \"TRACE_TEST_FAILURE_REASON_\"] },\n            { no: 4, name: \"test_failure_message\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 5, name: \"replay_trace_id\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 6, name: \"replay_server_span_id\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 7, name: \"span_results\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => TraceTestSpanResult },\n            { no: 8, name: \"coverage_data\", kind: \"message\", T: () => TraceTestCoverageData }\n        ]);\n    }\n    create(value?: PartialMessage<TraceTestResult>): TraceTestResult {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.traceTestId = \"\";\n        message.testSuccess = false;\n        message.spanResults = [];\n        if (value !== undefined)\n            reflectionMergePartial<TraceTestResult>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TraceTestResult): TraceTestResult {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string trace_test_id */ 1:\n                    message.traceTestId = reader.string();\n                    break;\n                case /* bool test_success */ 2:\n                    message.testSuccess = reader.bool();\n                    break;\n                case /* optional tusk.drift.backend.v1.TraceTestFailureReason test_failure_reason */ 3:\n                    message.testFailureReason = reader.int32();\n                    break;\n                case /* optional string test_failure_message */ 4:\n                    message.testFailureMessage = reader.string();\n                    break;\n                case /* optional string replay_trace_id */ 5:\n                    message.replayTraceId = reader.string();\n                    break;\n                case /* optional string replay_server_span_id */ 6:\n                    message.replayServerSpanId = reader.string();\n                    break;\n                case /* repeated tusk.drift.backend.v1.TraceTestSpanResult span_results */ 7:\n                    message.spanResults.push(TraceTestSpanResult.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                case /* optional tusk.drift.backend.v1.TraceTestCoverageData coverage_data */ 8:\n                    message.coverageData = TraceTestCoverageData.internalBinaryRead(reader, reader.uint32(), options, message.coverageData);\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: TraceTestResult, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string trace_test_id = 1; */\n        if (message.traceTestId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.traceTestId);\n        /* bool test_success = 2; */\n        if (message.testSuccess !== false)\n            writer.tag(2, WireType.Varint).bool(message.testSuccess);\n        /* optional tusk.drift.backend.v1.TraceTestFailureReason test_failure_reason = 3; */\n        if (message.testFailureReason !== undefined)\n            writer.tag(3, WireType.Varint).int32(message.testFailureReason);\n        /* optional string test_failure_message = 4; */\n        if (message.testFailureMessage !== undefined)\n            writer.tag(4, WireType.LengthDelimited).string(message.testFailureMessage);\n        /* optional string replay_trace_id = 5; */\n        if (message.replayTraceId !== undefined)\n            writer.tag(5, WireType.LengthDelimited).string(message.replayTraceId);\n        /* optional string replay_server_span_id = 6; */\n        if (message.replayServerSpanId !== undefined)\n            writer.tag(6, WireType.LengthDelimited).string(message.replayServerSpanId);\n        /* repeated tusk.drift.backend.v1.TraceTestSpanResult span_results = 7; */\n        for (let i = 0; i < message.spanResults.length; i++)\n            TraceTestSpanResult.internalBinaryWrite(message.spanResults[i], writer.tag(7, WireType.LengthDelimited).fork(), options).join();\n        /* optional tusk.drift.backend.v1.TraceTestCoverageData coverage_data = 8; */\n        if (message.coverageData)\n            TraceTestCoverageData.internalBinaryWrite(message.coverageData, writer.tag(8, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.TraceTestResult\n */\nexport const TraceTestResult = new TraceTestResult$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass TraceTestCoverageData$Type extends MessageType<TraceTestCoverageData> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.TraceTestCoverageData\", [\n            { no: 1, name: \"total_covered_lines\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ },\n            { no: 2, name: \"covered_lines_by_file\", kind: \"map\", K: 9 /*ScalarType.STRING*/, V: { kind: \"message\", T: () => FileLineRanges } }\n        ]);\n    }\n    create(value?: PartialMessage<TraceTestCoverageData>): TraceTestCoverageData {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.totalCoveredLines = 0;\n        message.coveredLinesByFile = {};\n        if (value !== undefined)\n            reflectionMergePartial<TraceTestCoverageData>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TraceTestCoverageData): TraceTestCoverageData {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* int32 total_covered_lines */ 1:\n                    message.totalCoveredLines = reader.int32();\n                    break;\n                case /* map<string, tusk.drift.backend.v1.FileLineRanges> covered_lines_by_file */ 2:\n                    this.binaryReadMap2(message.coveredLinesByFile, reader, options);\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    private binaryReadMap2(map: TraceTestCoverageData[\"coveredLinesByFile\"], reader: IBinaryReader, options: BinaryReadOptions): void {\n        let len = reader.uint32(), end = reader.pos + len, key: keyof TraceTestCoverageData[\"coveredLinesByFile\"] | undefined, val: TraceTestCoverageData[\"coveredLinesByFile\"][any] | undefined;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case 1:\n                    key = reader.string();\n                    break;\n                case 2:\n                    val = FileLineRanges.internalBinaryRead(reader, reader.uint32(), options);\n                    break;\n                default: throw new globalThis.Error(\"unknown map entry field for tusk.drift.backend.v1.TraceTestCoverageData.covered_lines_by_file\");\n            }\n        }\n        map[key ?? \"\"] = val ?? FileLineRanges.create();\n    }\n    internalBinaryWrite(message: TraceTestCoverageData, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* int32 total_covered_lines = 1; */\n        if (message.totalCoveredLines !== 0)\n            writer.tag(1, WireType.Varint).int32(message.totalCoveredLines);\n        /* map<string, tusk.drift.backend.v1.FileLineRanges> covered_lines_by_file = 2; */\n        for (let k of globalThis.Object.keys(message.coveredLinesByFile)) {\n            writer.tag(2, WireType.LengthDelimited).fork().tag(1, WireType.LengthDelimited).string(k);\n            writer.tag(2, WireType.LengthDelimited).fork();\n            FileLineRanges.internalBinaryWrite(message.coveredLinesByFile[k], writer, options);\n            writer.join().join();\n        }\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.TraceTestCoverageData\n */\nexport const TraceTestCoverageData = new TraceTestCoverageData$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass FileLineRanges$Type extends MessageType<FileLineRanges> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.FileLineRanges\", [\n            { no: 1, name: \"ranges\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => LineRange }\n        ]);\n    }\n    create(value?: PartialMessage<FileLineRanges>): FileLineRanges {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.ranges = [];\n        if (value !== undefined)\n            reflectionMergePartial<FileLineRanges>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: FileLineRanges): FileLineRanges {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* repeated tusk.drift.backend.v1.LineRange ranges */ 1:\n                    message.ranges.push(LineRange.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: FileLineRanges, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* repeated tusk.drift.backend.v1.LineRange ranges = 1; */\n        for (let i = 0; i < message.ranges.length; i++)\n            LineRange.internalBinaryWrite(message.ranges[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.FileLineRanges\n */\nexport const FileLineRanges = new FileLineRanges$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass LineRange$Type extends MessageType<LineRange> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.LineRange\", [\n            { no: 1, name: \"start\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ },\n            { no: 2, name: \"end\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ }\n        ]);\n    }\n    create(value?: PartialMessage<LineRange>): LineRange {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.start = 0;\n        message.end = 0;\n        if (value !== undefined)\n            reflectionMergePartial<LineRange>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LineRange): LineRange {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* int32 start */ 1:\n                    message.start = reader.int32();\n                    break;\n                case /* int32 end */ 2:\n                    message.end = reader.int32();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: LineRange, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* int32 start = 1; */\n        if (message.start !== 0)\n            writer.tag(1, WireType.Varint).int32(message.start);\n        /* int32 end = 2; */\n        if (message.end !== 0)\n            writer.tag(2, WireType.Varint).int32(message.end);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.LineRange\n */\nexport const LineRange = new LineRange$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadTraceTestResultsRequest$Type extends MessageType<UploadTraceTestResultsRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.UploadTraceTestResultsRequest\", [\n            { no: 1, name: \"drift_run_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"cli_version\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"sdk_version\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 4, name: \"trace_test_results\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => TraceTestResult }\n        ]);\n    }\n    create(value?: PartialMessage<UploadTraceTestResultsRequest>): UploadTraceTestResultsRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.driftRunId = \"\";\n        message.cliVersion = \"\";\n        message.sdkVersion = \"\";\n        message.traceTestResults = [];\n        if (value !== undefined)\n            reflectionMergePartial<UploadTraceTestResultsRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadTraceTestResultsRequest): UploadTraceTestResultsRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string drift_run_id */ 1:\n                    message.driftRunId = reader.string();\n                    break;\n                case /* string cli_version */ 2:\n                    message.cliVersion = reader.string();\n                    break;\n                case /* string sdk_version */ 3:\n                    message.sdkVersion = reader.string();\n                    break;\n                case /* repeated tusk.drift.backend.v1.TraceTestResult trace_test_results */ 4:\n                    message.traceTestResults.push(TraceTestResult.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: UploadTraceTestResultsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string drift_run_id = 1; */\n        if (message.driftRunId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.driftRunId);\n        /* string cli_version = 2; */\n        if (message.cliVersion !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.cliVersion);\n        /* string sdk_version = 3; */\n        if (message.sdkVersion !== \"\")\n            writer.tag(3, WireType.LengthDelimited).string(message.sdkVersion);\n        /* repeated tusk.drift.backend.v1.TraceTestResult trace_test_results = 4; */\n        for (let i = 0; i < message.traceTestResults.length; i++)\n            TraceTestResult.internalBinaryWrite(message.traceTestResults[i], writer.tag(4, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.UploadTraceTestResultsRequest\n */\nexport const UploadTraceTestResultsRequest = new UploadTraceTestResultsRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadTraceTestResultsResponseSuccess$Type extends MessageType<UploadTraceTestResultsResponseSuccess> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.UploadTraceTestResultsResponseSuccess\", [\n            { no: 1, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<UploadTraceTestResultsResponseSuccess>): UploadTraceTestResultsResponseSuccess {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<UploadTraceTestResultsResponseSuccess>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadTraceTestResultsResponseSuccess): UploadTraceTestResultsResponseSuccess {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string message */ 1:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: UploadTraceTestResultsResponseSuccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string message = 1; */\n        if (message.message !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.UploadTraceTestResultsResponseSuccess\n */\nexport const UploadTraceTestResultsResponseSuccess = new UploadTraceTestResultsResponseSuccess$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadTraceTestResultsResponseError$Type extends MessageType<UploadTraceTestResultsResponseError> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.UploadTraceTestResultsResponseError\", [\n            { no: 1, name: \"code\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<UploadTraceTestResultsResponseError>): UploadTraceTestResultsResponseError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.code = \"\";\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<UploadTraceTestResultsResponseError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadTraceTestResultsResponseError): UploadTraceTestResultsResponseError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string code */ 1:\n                    message.code = reader.string();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: UploadTraceTestResultsResponseError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string code = 1; */\n        if (message.code !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.code);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.UploadTraceTestResultsResponseError\n */\nexport const UploadTraceTestResultsResponseError = new UploadTraceTestResultsResponseError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UploadTraceTestResultsResponse$Type extends MessageType<UploadTraceTestResultsResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.UploadTraceTestResultsResponse\", [\n            { no: 1, name: \"success\", kind: \"message\", oneof: \"response\", T: () => UploadTraceTestResultsResponseSuccess },\n            { no: 2, name: \"error\", kind: \"message\", oneof: \"response\", T: () => UploadTraceTestResultsResponseError }\n        ]);\n    }\n    create(value?: PartialMessage<UploadTraceTestResultsResponse>): UploadTraceTestResultsResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.response = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<UploadTraceTestResultsResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadTraceTestResultsResponse): UploadTraceTestResultsResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.UploadTraceTestResultsResponseSuccess success */ 1:\n                    message.response = {\n                        oneofKind: \"success\",\n                        success: UploadTraceTestResultsResponseSuccess.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).success)\n                    };\n                    break;\n                case /* tusk.drift.backend.v1.UploadTraceTestResultsResponseError error */ 2:\n                    message.response = {\n                        oneofKind: \"error\",\n                        error: UploadTraceTestResultsResponseError.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).error)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: UploadTraceTestResultsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.UploadTraceTestResultsResponseSuccess success = 1; */\n        if (message.response.oneofKind === \"success\")\n            UploadTraceTestResultsResponseSuccess.internalBinaryWrite(message.response.success, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.UploadTraceTestResultsResponseError error = 2; */\n        if (message.response.oneofKind === \"error\")\n            UploadTraceTestResultsResponseError.internalBinaryWrite(message.response.error, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.UploadTraceTestResultsResponse\n */\nexport const UploadTraceTestResultsResponse = new UploadTraceTestResultsResponse$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UpdateDriftRunCIStatusRequest$Type extends MessageType<UpdateDriftRunCIStatusRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.UpdateDriftRunCIStatusRequest\", [\n            { no: 1, name: \"drift_run_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"ci_status\", kind: \"enum\", T: () => [\"tusk.drift.backend.v1.DriftRunCIStatus\", DriftRunCIStatus] },\n            { no: 3, name: \"ci_status_message\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 4, name: \"coverage_baseline\", kind: \"message\", T: () => CoverageBaseline }\n        ]);\n    }\n    create(value?: PartialMessage<UpdateDriftRunCIStatusRequest>): UpdateDriftRunCIStatusRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.driftRunId = \"\";\n        message.ciStatus = 0;\n        if (value !== undefined)\n            reflectionMergePartial<UpdateDriftRunCIStatusRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpdateDriftRunCIStatusRequest): UpdateDriftRunCIStatusRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string drift_run_id */ 1:\n                    message.driftRunId = reader.string();\n                    break;\n                case /* tusk.drift.backend.v1.DriftRunCIStatus ci_status */ 2:\n                    message.ciStatus = reader.int32();\n                    break;\n                case /* optional string ci_status_message */ 3:\n                    message.ciStatusMessage = reader.string();\n                    break;\n                case /* optional tusk.drift.backend.v1.CoverageBaseline coverage_baseline */ 4:\n                    message.coverageBaseline = CoverageBaseline.internalBinaryRead(reader, reader.uint32(), options, message.coverageBaseline);\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: UpdateDriftRunCIStatusRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string drift_run_id = 1; */\n        if (message.driftRunId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.driftRunId);\n        /* tusk.drift.backend.v1.DriftRunCIStatus ci_status = 2; */\n        if (message.ciStatus !== 0)\n            writer.tag(2, WireType.Varint).int32(message.ciStatus);\n        /* optional string ci_status_message = 3; */\n        if (message.ciStatusMessage !== undefined)\n            writer.tag(3, WireType.LengthDelimited).string(message.ciStatusMessage);\n        /* optional tusk.drift.backend.v1.CoverageBaseline coverage_baseline = 4; */\n        if (message.coverageBaseline)\n            CoverageBaseline.internalBinaryWrite(message.coverageBaseline, writer.tag(4, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.UpdateDriftRunCIStatusRequest\n */\nexport const UpdateDriftRunCIStatusRequest = new UpdateDriftRunCIStatusRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass CoverageBaseline$Type extends MessageType<CoverageBaseline> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.CoverageBaseline\", [\n            { no: 1, name: \"commit_sha\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"total_coverable_lines\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ },\n            { no: 3, name: \"coverable_lines_by_file\", kind: \"map\", K: 9 /*ScalarType.STRING*/, V: { kind: \"message\", T: () => FileLineRanges } },\n            { no: 4, name: \"startup_covered_lines_by_file\", kind: \"map\", K: 9 /*ScalarType.STRING*/, V: { kind: \"message\", T: () => FileLineRanges } }\n        ]);\n    }\n    create(value?: PartialMessage<CoverageBaseline>): CoverageBaseline {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.commitSha = \"\";\n        message.totalCoverableLines = 0;\n        message.coverableLinesByFile = {};\n        message.startupCoveredLinesByFile = {};\n        if (value !== undefined)\n            reflectionMergePartial<CoverageBaseline>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CoverageBaseline): CoverageBaseline {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string commit_sha */ 1:\n                    message.commitSha = reader.string();\n                    break;\n                case /* int32 total_coverable_lines */ 2:\n                    message.totalCoverableLines = reader.int32();\n                    break;\n                case /* map<string, tusk.drift.backend.v1.FileLineRanges> coverable_lines_by_file */ 3:\n                    this.binaryReadMap3(message.coverableLinesByFile, reader, options);\n                    break;\n                case /* map<string, tusk.drift.backend.v1.FileLineRanges> startup_covered_lines_by_file */ 4:\n                    this.binaryReadMap4(message.startupCoveredLinesByFile, reader, options);\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    private binaryReadMap3(map: CoverageBaseline[\"coverableLinesByFile\"], reader: IBinaryReader, options: BinaryReadOptions): void {\n        let len = reader.uint32(), end = reader.pos + len, key: keyof CoverageBaseline[\"coverableLinesByFile\"] | undefined, val: CoverageBaseline[\"coverableLinesByFile\"][any] | undefined;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case 1:\n                    key = reader.string();\n                    break;\n                case 2:\n                    val = FileLineRanges.internalBinaryRead(reader, reader.uint32(), options);\n                    break;\n                default: throw new globalThis.Error(\"unknown map entry field for tusk.drift.backend.v1.CoverageBaseline.coverable_lines_by_file\");\n            }\n        }\n        map[key ?? \"\"] = val ?? FileLineRanges.create();\n    }\n    private binaryReadMap4(map: CoverageBaseline[\"startupCoveredLinesByFile\"], reader: IBinaryReader, options: BinaryReadOptions): void {\n        let len = reader.uint32(), end = reader.pos + len, key: keyof CoverageBaseline[\"startupCoveredLinesByFile\"] | undefined, val: CoverageBaseline[\"startupCoveredLinesByFile\"][any] | undefined;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case 1:\n                    key = reader.string();\n                    break;\n                case 2:\n                    val = FileLineRanges.internalBinaryRead(reader, reader.uint32(), options);\n                    break;\n                default: throw new globalThis.Error(\"unknown map entry field for tusk.drift.backend.v1.CoverageBaseline.startup_covered_lines_by_file\");\n            }\n        }\n        map[key ?? \"\"] = val ?? FileLineRanges.create();\n    }\n    internalBinaryWrite(message: CoverageBaseline, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string commit_sha = 1; */\n        if (message.commitSha !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.commitSha);\n        /* int32 total_coverable_lines = 2; */\n        if (message.totalCoverableLines !== 0)\n            writer.tag(2, WireType.Varint).int32(message.totalCoverableLines);\n        /* map<string, tusk.drift.backend.v1.FileLineRanges> coverable_lines_by_file = 3; */\n        for (let k of globalThis.Object.keys(message.coverableLinesByFile)) {\n            writer.tag(3, WireType.LengthDelimited).fork().tag(1, WireType.LengthDelimited).string(k);\n            writer.tag(2, WireType.LengthDelimited).fork();\n            FileLineRanges.internalBinaryWrite(message.coverableLinesByFile[k], writer, options);\n            writer.join().join();\n        }\n        /* map<string, tusk.drift.backend.v1.FileLineRanges> startup_covered_lines_by_file = 4; */\n        for (let k of globalThis.Object.keys(message.startupCoveredLinesByFile)) {\n            writer.tag(4, WireType.LengthDelimited).fork().tag(1, WireType.LengthDelimited).string(k);\n            writer.tag(2, WireType.LengthDelimited).fork();\n            FileLineRanges.internalBinaryWrite(message.startupCoveredLinesByFile[k], writer, options);\n            writer.join().join();\n        }\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.CoverageBaseline\n */\nexport const CoverageBaseline = new CoverageBaseline$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UpdateDriftRunCIStatusResponseSuccess$Type extends MessageType<UpdateDriftRunCIStatusResponseSuccess> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.UpdateDriftRunCIStatusResponseSuccess\", [\n            { no: 1, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<UpdateDriftRunCIStatusResponseSuccess>): UpdateDriftRunCIStatusResponseSuccess {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<UpdateDriftRunCIStatusResponseSuccess>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpdateDriftRunCIStatusResponseSuccess): UpdateDriftRunCIStatusResponseSuccess {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string message */ 1:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: UpdateDriftRunCIStatusResponseSuccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string message = 1; */\n        if (message.message !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.UpdateDriftRunCIStatusResponseSuccess\n */\nexport const UpdateDriftRunCIStatusResponseSuccess = new UpdateDriftRunCIStatusResponseSuccess$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UpdateDriftRunCIStatusResponseError$Type extends MessageType<UpdateDriftRunCIStatusResponseError> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.UpdateDriftRunCIStatusResponseError\", [\n            { no: 1, name: \"code\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<UpdateDriftRunCIStatusResponseError>): UpdateDriftRunCIStatusResponseError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.code = \"\";\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<UpdateDriftRunCIStatusResponseError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpdateDriftRunCIStatusResponseError): UpdateDriftRunCIStatusResponseError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string code */ 1:\n                    message.code = reader.string();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: UpdateDriftRunCIStatusResponseError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string code = 1; */\n        if (message.code !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.code);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.UpdateDriftRunCIStatusResponseError\n */\nexport const UpdateDriftRunCIStatusResponseError = new UpdateDriftRunCIStatusResponseError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UpdateDriftRunCIStatusResponse$Type extends MessageType<UpdateDriftRunCIStatusResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.UpdateDriftRunCIStatusResponse\", [\n            { no: 1, name: \"success\", kind: \"message\", oneof: \"response\", T: () => UpdateDriftRunCIStatusResponseSuccess },\n            { no: 2, name: \"error\", kind: \"message\", oneof: \"response\", T: () => UpdateDriftRunCIStatusResponseError }\n        ]);\n    }\n    create(value?: PartialMessage<UpdateDriftRunCIStatusResponse>): UpdateDriftRunCIStatusResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.response = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<UpdateDriftRunCIStatusResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpdateDriftRunCIStatusResponse): UpdateDriftRunCIStatusResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.UpdateDriftRunCIStatusResponseSuccess success */ 1:\n                    message.response = {\n                        oneofKind: \"success\",\n                        success: UpdateDriftRunCIStatusResponseSuccess.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).success)\n                    };\n                    break;\n                case /* tusk.drift.backend.v1.UpdateDriftRunCIStatusResponseError error */ 2:\n                    message.response = {\n                        oneofKind: \"error\",\n                        error: UpdateDriftRunCIStatusResponseError.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).error)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: UpdateDriftRunCIStatusResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.UpdateDriftRunCIStatusResponseSuccess success = 1; */\n        if (message.response.oneofKind === \"success\")\n            UpdateDriftRunCIStatusResponseSuccess.internalBinaryWrite(message.response.success, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.UpdateDriftRunCIStatusResponseError error = 2; */\n        if (message.response.oneofKind === \"error\")\n            UpdateDriftRunCIStatusResponseError.internalBinaryWrite(message.response.error, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.UpdateDriftRunCIStatusResponse\n */\nexport const UpdateDriftRunCIStatusResponse = new UpdateDriftRunCIStatusResponse$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetValidationTraceTestsRequest$Type extends MessageType<GetValidationTraceTestsRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetValidationTraceTestsRequest\", [\n            { no: 1, name: \"observable_service_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"pagination_cursor\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"page_size\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetValidationTraceTestsRequest>): GetValidationTraceTestsRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.observableServiceId = \"\";\n        message.pageSize = 0;\n        if (value !== undefined)\n            reflectionMergePartial<GetValidationTraceTestsRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetValidationTraceTestsRequest): GetValidationTraceTestsRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string observable_service_id */ 1:\n                    message.observableServiceId = reader.string();\n                    break;\n                case /* optional string pagination_cursor */ 2:\n                    message.paginationCursor = reader.string();\n                    break;\n                case /* int32 page_size */ 3:\n                    message.pageSize = reader.int32();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetValidationTraceTestsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string observable_service_id = 1; */\n        if (message.observableServiceId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.observableServiceId);\n        /* optional string pagination_cursor = 2; */\n        if (message.paginationCursor !== undefined)\n            writer.tag(2, WireType.LengthDelimited).string(message.paginationCursor);\n        /* int32 page_size = 3; */\n        if (message.pageSize !== 0)\n            writer.tag(3, WireType.Varint).int32(message.pageSize);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetValidationTraceTestsRequest\n */\nexport const GetValidationTraceTestsRequest = new GetValidationTraceTestsRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetValidationTraceTestsResponseSuccess$Type extends MessageType<GetValidationTraceTestsResponseSuccess> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetValidationTraceTestsResponseSuccess\", [\n            { no: 1, name: \"trace_tests\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => TraceTest },\n            { no: 2, name: \"next_cursor\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"total_count\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetValidationTraceTestsResponseSuccess>): GetValidationTraceTestsResponseSuccess {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.traceTests = [];\n        message.totalCount = 0;\n        if (value !== undefined)\n            reflectionMergePartial<GetValidationTraceTestsResponseSuccess>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetValidationTraceTestsResponseSuccess): GetValidationTraceTestsResponseSuccess {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* repeated tusk.drift.backend.v1.TraceTest trace_tests */ 1:\n                    message.traceTests.push(TraceTest.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                case /* optional string next_cursor */ 2:\n                    message.nextCursor = reader.string();\n                    break;\n                case /* int32 total_count */ 3:\n                    message.totalCount = reader.int32();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetValidationTraceTestsResponseSuccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* repeated tusk.drift.backend.v1.TraceTest trace_tests = 1; */\n        for (let i = 0; i < message.traceTests.length; i++)\n            TraceTest.internalBinaryWrite(message.traceTests[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* optional string next_cursor = 2; */\n        if (message.nextCursor !== undefined)\n            writer.tag(2, WireType.LengthDelimited).string(message.nextCursor);\n        /* int32 total_count = 3; */\n        if (message.totalCount !== 0)\n            writer.tag(3, WireType.Varint).int32(message.totalCount);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetValidationTraceTestsResponseSuccess\n */\nexport const GetValidationTraceTestsResponseSuccess = new GetValidationTraceTestsResponseSuccess$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetValidationTraceTestsResponseError$Type extends MessageType<GetValidationTraceTestsResponseError> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetValidationTraceTestsResponseError\", [\n            { no: 1, name: \"code\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetValidationTraceTestsResponseError>): GetValidationTraceTestsResponseError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.code = \"\";\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<GetValidationTraceTestsResponseError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetValidationTraceTestsResponseError): GetValidationTraceTestsResponseError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string code */ 1:\n                    message.code = reader.string();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetValidationTraceTestsResponseError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string code = 1; */\n        if (message.code !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.code);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetValidationTraceTestsResponseError\n */\nexport const GetValidationTraceTestsResponseError = new GetValidationTraceTestsResponseError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetValidationTraceTestsResponse$Type extends MessageType<GetValidationTraceTestsResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetValidationTraceTestsResponse\", [\n            { no: 1, name: \"success\", kind: \"message\", oneof: \"response\", T: () => GetValidationTraceTestsResponseSuccess },\n            { no: 2, name: \"error\", kind: \"message\", oneof: \"response\", T: () => GetValidationTraceTestsResponseError }\n        ]);\n    }\n    create(value?: PartialMessage<GetValidationTraceTestsResponse>): GetValidationTraceTestsResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.response = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<GetValidationTraceTestsResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetValidationTraceTestsResponse): GetValidationTraceTestsResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.GetValidationTraceTestsResponseSuccess success */ 1:\n                    message.response = {\n                        oneofKind: \"success\",\n                        success: GetValidationTraceTestsResponseSuccess.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).success)\n                    };\n                    break;\n                case /* tusk.drift.backend.v1.GetValidationTraceTestsResponseError error */ 2:\n                    message.response = {\n                        oneofKind: \"error\",\n                        error: GetValidationTraceTestsResponseError.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).error)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetValidationTraceTestsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.GetValidationTraceTestsResponseSuccess success = 1; */\n        if (message.response.oneofKind === \"success\")\n            GetValidationTraceTestsResponseSuccess.internalBinaryWrite(message.response.success, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.GetValidationTraceTestsResponseError error = 2; */\n        if (message.response.oneofKind === \"error\")\n            GetValidationTraceTestsResponseError.internalBinaryWrite(message.response.error, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetValidationTraceTestsResponse\n */\nexport const GetValidationTraceTestsResponse = new GetValidationTraceTestsResponse$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetAllTraceTestIdsRequest$Type extends MessageType<GetAllTraceTestIdsRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetAllTraceTestIdsRequest\", [\n            { no: 1, name: \"observable_service_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetAllTraceTestIdsRequest>): GetAllTraceTestIdsRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.observableServiceId = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<GetAllTraceTestIdsRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAllTraceTestIdsRequest): GetAllTraceTestIdsRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string observable_service_id */ 1:\n                    message.observableServiceId = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetAllTraceTestIdsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string observable_service_id = 1; */\n        if (message.observableServiceId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.observableServiceId);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetAllTraceTestIdsRequest\n */\nexport const GetAllTraceTestIdsRequest = new GetAllTraceTestIdsRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetAllTraceTestIdsResponseSuccess$Type extends MessageType<GetAllTraceTestIdsResponseSuccess> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetAllTraceTestIdsResponseSuccess\", [\n            { no: 1, name: \"trace_test_ids\", kind: \"scalar\", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetAllTraceTestIdsResponseSuccess>): GetAllTraceTestIdsResponseSuccess {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.traceTestIds = [];\n        if (value !== undefined)\n            reflectionMergePartial<GetAllTraceTestIdsResponseSuccess>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAllTraceTestIdsResponseSuccess): GetAllTraceTestIdsResponseSuccess {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* repeated string trace_test_ids */ 1:\n                    message.traceTestIds.push(reader.string());\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetAllTraceTestIdsResponseSuccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* repeated string trace_test_ids = 1; */\n        for (let i = 0; i < message.traceTestIds.length; i++)\n            writer.tag(1, WireType.LengthDelimited).string(message.traceTestIds[i]);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetAllTraceTestIdsResponseSuccess\n */\nexport const GetAllTraceTestIdsResponseSuccess = new GetAllTraceTestIdsResponseSuccess$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetAllTraceTestIdsResponseError$Type extends MessageType<GetAllTraceTestIdsResponseError> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetAllTraceTestIdsResponseError\", [\n            { no: 1, name: \"code\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetAllTraceTestIdsResponseError>): GetAllTraceTestIdsResponseError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.code = \"\";\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<GetAllTraceTestIdsResponseError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAllTraceTestIdsResponseError): GetAllTraceTestIdsResponseError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string code */ 1:\n                    message.code = reader.string();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetAllTraceTestIdsResponseError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string code = 1; */\n        if (message.code !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.code);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetAllTraceTestIdsResponseError\n */\nexport const GetAllTraceTestIdsResponseError = new GetAllTraceTestIdsResponseError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetAllTraceTestIdsResponse$Type extends MessageType<GetAllTraceTestIdsResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetAllTraceTestIdsResponse\", [\n            { no: 1, name: \"success\", kind: \"message\", oneof: \"response\", T: () => GetAllTraceTestIdsResponseSuccess },\n            { no: 2, name: \"error\", kind: \"message\", oneof: \"response\", T: () => GetAllTraceTestIdsResponseError }\n        ]);\n    }\n    create(value?: PartialMessage<GetAllTraceTestIdsResponse>): GetAllTraceTestIdsResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.response = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<GetAllTraceTestIdsResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAllTraceTestIdsResponse): GetAllTraceTestIdsResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.GetAllTraceTestIdsResponseSuccess success */ 1:\n                    message.response = {\n                        oneofKind: \"success\",\n                        success: GetAllTraceTestIdsResponseSuccess.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).success)\n                    };\n                    break;\n                case /* tusk.drift.backend.v1.GetAllTraceTestIdsResponseError error */ 2:\n                    message.response = {\n                        oneofKind: \"error\",\n                        error: GetAllTraceTestIdsResponseError.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).error)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetAllTraceTestIdsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.GetAllTraceTestIdsResponseSuccess success = 1; */\n        if (message.response.oneofKind === \"success\")\n            GetAllTraceTestIdsResponseSuccess.internalBinaryWrite(message.response.success, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.GetAllTraceTestIdsResponseError error = 2; */\n        if (message.response.oneofKind === \"error\")\n            GetAllTraceTestIdsResponseError.internalBinaryWrite(message.response.error, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetAllTraceTestIdsResponse\n */\nexport const GetAllTraceTestIdsResponse = new GetAllTraceTestIdsResponse$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetTraceTestsByIdsRequest$Type extends MessageType<GetTraceTestsByIdsRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetTraceTestsByIdsRequest\", [\n            { no: 1, name: \"observable_service_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"trace_test_ids\", kind: \"scalar\", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetTraceTestsByIdsRequest>): GetTraceTestsByIdsRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.observableServiceId = \"\";\n        message.traceTestIds = [];\n        if (value !== undefined)\n            reflectionMergePartial<GetTraceTestsByIdsRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetTraceTestsByIdsRequest): GetTraceTestsByIdsRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string observable_service_id */ 1:\n                    message.observableServiceId = reader.string();\n                    break;\n                case /* repeated string trace_test_ids */ 2:\n                    message.traceTestIds.push(reader.string());\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetTraceTestsByIdsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string observable_service_id = 1; */\n        if (message.observableServiceId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.observableServiceId);\n        /* repeated string trace_test_ids = 2; */\n        for (let i = 0; i < message.traceTestIds.length; i++)\n            writer.tag(2, WireType.LengthDelimited).string(message.traceTestIds[i]);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetTraceTestsByIdsRequest\n */\nexport const GetTraceTestsByIdsRequest = new GetTraceTestsByIdsRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetTraceTestsByIdsResponseSuccess$Type extends MessageType<GetTraceTestsByIdsResponseSuccess> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetTraceTestsByIdsResponseSuccess\", [\n            { no: 1, name: \"trace_tests\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => TraceTest }\n        ]);\n    }\n    create(value?: PartialMessage<GetTraceTestsByIdsResponseSuccess>): GetTraceTestsByIdsResponseSuccess {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.traceTests = [];\n        if (value !== undefined)\n            reflectionMergePartial<GetTraceTestsByIdsResponseSuccess>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetTraceTestsByIdsResponseSuccess): GetTraceTestsByIdsResponseSuccess {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* repeated tusk.drift.backend.v1.TraceTest trace_tests */ 1:\n                    message.traceTests.push(TraceTest.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetTraceTestsByIdsResponseSuccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* repeated tusk.drift.backend.v1.TraceTest trace_tests = 1; */\n        for (let i = 0; i < message.traceTests.length; i++)\n            TraceTest.internalBinaryWrite(message.traceTests[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetTraceTestsByIdsResponseSuccess\n */\nexport const GetTraceTestsByIdsResponseSuccess = new GetTraceTestsByIdsResponseSuccess$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetTraceTestsByIdsResponseError$Type extends MessageType<GetTraceTestsByIdsResponseError> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetTraceTestsByIdsResponseError\", [\n            { no: 1, name: \"code\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetTraceTestsByIdsResponseError>): GetTraceTestsByIdsResponseError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.code = \"\";\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<GetTraceTestsByIdsResponseError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetTraceTestsByIdsResponseError): GetTraceTestsByIdsResponseError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string code */ 1:\n                    message.code = reader.string();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetTraceTestsByIdsResponseError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string code = 1; */\n        if (message.code !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.code);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetTraceTestsByIdsResponseError\n */\nexport const GetTraceTestsByIdsResponseError = new GetTraceTestsByIdsResponseError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetTraceTestsByIdsResponse$Type extends MessageType<GetTraceTestsByIdsResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetTraceTestsByIdsResponse\", [\n            { no: 1, name: \"success\", kind: \"message\", oneof: \"response\", T: () => GetTraceTestsByIdsResponseSuccess },\n            { no: 2, name: \"error\", kind: \"message\", oneof: \"response\", T: () => GetTraceTestsByIdsResponseError }\n        ]);\n    }\n    create(value?: PartialMessage<GetTraceTestsByIdsResponse>): GetTraceTestsByIdsResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.response = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<GetTraceTestsByIdsResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetTraceTestsByIdsResponse): GetTraceTestsByIdsResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.GetTraceTestsByIdsResponseSuccess success */ 1:\n                    message.response = {\n                        oneofKind: \"success\",\n                        success: GetTraceTestsByIdsResponseSuccess.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).success)\n                    };\n                    break;\n                case /* tusk.drift.backend.v1.GetTraceTestsByIdsResponseError error */ 2:\n                    message.response = {\n                        oneofKind: \"error\",\n                        error: GetTraceTestsByIdsResponseError.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).error)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetTraceTestsByIdsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.GetTraceTestsByIdsResponseSuccess success = 1; */\n        if (message.response.oneofKind === \"success\")\n            GetTraceTestsByIdsResponseSuccess.internalBinaryWrite(message.response.success, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.GetTraceTestsByIdsResponseError error = 2; */\n        if (message.response.oneofKind === \"error\")\n            GetTraceTestsByIdsResponseError.internalBinaryWrite(message.response.error, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetTraceTestsByIdsResponse\n */\nexport const GetTraceTestsByIdsResponse = new GetTraceTestsByIdsResponse$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetAllPreAppStartSpanIdsRequest$Type extends MessageType<GetAllPreAppStartSpanIdsRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetAllPreAppStartSpanIdsRequest\", [\n            { no: 1, name: \"observable_service_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetAllPreAppStartSpanIdsRequest>): GetAllPreAppStartSpanIdsRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.observableServiceId = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<GetAllPreAppStartSpanIdsRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAllPreAppStartSpanIdsRequest): GetAllPreAppStartSpanIdsRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string observable_service_id */ 1:\n                    message.observableServiceId = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetAllPreAppStartSpanIdsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string observable_service_id = 1; */\n        if (message.observableServiceId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.observableServiceId);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetAllPreAppStartSpanIdsRequest\n */\nexport const GetAllPreAppStartSpanIdsRequest = new GetAllPreAppStartSpanIdsRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetAllPreAppStartSpanIdsResponseSuccess$Type extends MessageType<GetAllPreAppStartSpanIdsResponseSuccess> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetAllPreAppStartSpanIdsResponseSuccess\", [\n            { no: 1, name: \"span_ids\", kind: \"scalar\", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetAllPreAppStartSpanIdsResponseSuccess>): GetAllPreAppStartSpanIdsResponseSuccess {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.spanIds = [];\n        if (value !== undefined)\n            reflectionMergePartial<GetAllPreAppStartSpanIdsResponseSuccess>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAllPreAppStartSpanIdsResponseSuccess): GetAllPreAppStartSpanIdsResponseSuccess {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* repeated string span_ids */ 1:\n                    message.spanIds.push(reader.string());\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetAllPreAppStartSpanIdsResponseSuccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* repeated string span_ids = 1; */\n        for (let i = 0; i < message.spanIds.length; i++)\n            writer.tag(1, WireType.LengthDelimited).string(message.spanIds[i]);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetAllPreAppStartSpanIdsResponseSuccess\n */\nexport const GetAllPreAppStartSpanIdsResponseSuccess = new GetAllPreAppStartSpanIdsResponseSuccess$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetAllPreAppStartSpanIdsResponseError$Type extends MessageType<GetAllPreAppStartSpanIdsResponseError> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetAllPreAppStartSpanIdsResponseError\", [\n            { no: 1, name: \"code\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetAllPreAppStartSpanIdsResponseError>): GetAllPreAppStartSpanIdsResponseError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.code = \"\";\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<GetAllPreAppStartSpanIdsResponseError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAllPreAppStartSpanIdsResponseError): GetAllPreAppStartSpanIdsResponseError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string code */ 1:\n                    message.code = reader.string();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetAllPreAppStartSpanIdsResponseError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string code = 1; */\n        if (message.code !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.code);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetAllPreAppStartSpanIdsResponseError\n */\nexport const GetAllPreAppStartSpanIdsResponseError = new GetAllPreAppStartSpanIdsResponseError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetAllPreAppStartSpanIdsResponse$Type extends MessageType<GetAllPreAppStartSpanIdsResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetAllPreAppStartSpanIdsResponse\", [\n            { no: 1, name: \"success\", kind: \"message\", oneof: \"response\", T: () => GetAllPreAppStartSpanIdsResponseSuccess },\n            { no: 2, name: \"error\", kind: \"message\", oneof: \"response\", T: () => GetAllPreAppStartSpanIdsResponseError }\n        ]);\n    }\n    create(value?: PartialMessage<GetAllPreAppStartSpanIdsResponse>): GetAllPreAppStartSpanIdsResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.response = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<GetAllPreAppStartSpanIdsResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAllPreAppStartSpanIdsResponse): GetAllPreAppStartSpanIdsResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.GetAllPreAppStartSpanIdsResponseSuccess success */ 1:\n                    message.response = {\n                        oneofKind: \"success\",\n                        success: GetAllPreAppStartSpanIdsResponseSuccess.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).success)\n                    };\n                    break;\n                case /* tusk.drift.backend.v1.GetAllPreAppStartSpanIdsResponseError error */ 2:\n                    message.response = {\n                        oneofKind: \"error\",\n                        error: GetAllPreAppStartSpanIdsResponseError.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).error)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetAllPreAppStartSpanIdsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.GetAllPreAppStartSpanIdsResponseSuccess success = 1; */\n        if (message.response.oneofKind === \"success\")\n            GetAllPreAppStartSpanIdsResponseSuccess.internalBinaryWrite(message.response.success, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.GetAllPreAppStartSpanIdsResponseError error = 2; */\n        if (message.response.oneofKind === \"error\")\n            GetAllPreAppStartSpanIdsResponseError.internalBinaryWrite(message.response.error, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetAllPreAppStartSpanIdsResponse\n */\nexport const GetAllPreAppStartSpanIdsResponse = new GetAllPreAppStartSpanIdsResponse$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetPreAppStartSpansByIdsRequest$Type extends MessageType<GetPreAppStartSpansByIdsRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetPreAppStartSpansByIdsRequest\", [\n            { no: 1, name: \"observable_service_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"span_ids\", kind: \"scalar\", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetPreAppStartSpansByIdsRequest>): GetPreAppStartSpansByIdsRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.observableServiceId = \"\";\n        message.spanIds = [];\n        if (value !== undefined)\n            reflectionMergePartial<GetPreAppStartSpansByIdsRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetPreAppStartSpansByIdsRequest): GetPreAppStartSpansByIdsRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string observable_service_id */ 1:\n                    message.observableServiceId = reader.string();\n                    break;\n                case /* repeated string span_ids */ 2:\n                    message.spanIds.push(reader.string());\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetPreAppStartSpansByIdsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string observable_service_id = 1; */\n        if (message.observableServiceId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.observableServiceId);\n        /* repeated string span_ids = 2; */\n        for (let i = 0; i < message.spanIds.length; i++)\n            writer.tag(2, WireType.LengthDelimited).string(message.spanIds[i]);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetPreAppStartSpansByIdsRequest\n */\nexport const GetPreAppStartSpansByIdsRequest = new GetPreAppStartSpansByIdsRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetPreAppStartSpansByIdsResponseSuccess$Type extends MessageType<GetPreAppStartSpansByIdsResponseSuccess> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetPreAppStartSpansByIdsResponseSuccess\", [\n            { no: 1, name: \"spans\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Span }\n        ]);\n    }\n    create(value?: PartialMessage<GetPreAppStartSpansByIdsResponseSuccess>): GetPreAppStartSpansByIdsResponseSuccess {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.spans = [];\n        if (value !== undefined)\n            reflectionMergePartial<GetPreAppStartSpansByIdsResponseSuccess>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetPreAppStartSpansByIdsResponseSuccess): GetPreAppStartSpansByIdsResponseSuccess {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* repeated tusk.drift.core.v1.Span spans */ 1:\n                    message.spans.push(Span.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetPreAppStartSpansByIdsResponseSuccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* repeated tusk.drift.core.v1.Span spans = 1; */\n        for (let i = 0; i < message.spans.length; i++)\n            Span.internalBinaryWrite(message.spans[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetPreAppStartSpansByIdsResponseSuccess\n */\nexport const GetPreAppStartSpansByIdsResponseSuccess = new GetPreAppStartSpansByIdsResponseSuccess$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetPreAppStartSpansByIdsResponseError$Type extends MessageType<GetPreAppStartSpansByIdsResponseError> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetPreAppStartSpansByIdsResponseError\", [\n            { no: 1, name: \"code\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetPreAppStartSpansByIdsResponseError>): GetPreAppStartSpansByIdsResponseError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.code = \"\";\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<GetPreAppStartSpansByIdsResponseError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetPreAppStartSpansByIdsResponseError): GetPreAppStartSpansByIdsResponseError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string code */ 1:\n                    message.code = reader.string();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetPreAppStartSpansByIdsResponseError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string code = 1; */\n        if (message.code !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.code);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetPreAppStartSpansByIdsResponseError\n */\nexport const GetPreAppStartSpansByIdsResponseError = new GetPreAppStartSpansByIdsResponseError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetPreAppStartSpansByIdsResponse$Type extends MessageType<GetPreAppStartSpansByIdsResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetPreAppStartSpansByIdsResponse\", [\n            { no: 1, name: \"success\", kind: \"message\", oneof: \"response\", T: () => GetPreAppStartSpansByIdsResponseSuccess },\n            { no: 2, name: \"error\", kind: \"message\", oneof: \"response\", T: () => GetPreAppStartSpansByIdsResponseError }\n        ]);\n    }\n    create(value?: PartialMessage<GetPreAppStartSpansByIdsResponse>): GetPreAppStartSpansByIdsResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.response = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<GetPreAppStartSpansByIdsResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetPreAppStartSpansByIdsResponse): GetPreAppStartSpansByIdsResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.GetPreAppStartSpansByIdsResponseSuccess success */ 1:\n                    message.response = {\n                        oneofKind: \"success\",\n                        success: GetPreAppStartSpansByIdsResponseSuccess.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).success)\n                    };\n                    break;\n                case /* tusk.drift.backend.v1.GetPreAppStartSpansByIdsResponseError error */ 2:\n                    message.response = {\n                        oneofKind: \"error\",\n                        error: GetPreAppStartSpansByIdsResponseError.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).error)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetPreAppStartSpansByIdsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.GetPreAppStartSpansByIdsResponseSuccess success = 1; */\n        if (message.response.oneofKind === \"success\")\n            GetPreAppStartSpansByIdsResponseSuccess.internalBinaryWrite(message.response.success, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.GetPreAppStartSpansByIdsResponseError error = 2; */\n        if (message.response.oneofKind === \"error\")\n            GetPreAppStartSpansByIdsResponseError.internalBinaryWrite(message.response.error, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetPreAppStartSpansByIdsResponse\n */\nexport const GetPreAppStartSpansByIdsResponse = new GetPreAppStartSpansByIdsResponse$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetAllGlobalSpanIdsRequest$Type extends MessageType<GetAllGlobalSpanIdsRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetAllGlobalSpanIdsRequest\", [\n            { no: 1, name: \"observable_service_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetAllGlobalSpanIdsRequest>): GetAllGlobalSpanIdsRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.observableServiceId = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<GetAllGlobalSpanIdsRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAllGlobalSpanIdsRequest): GetAllGlobalSpanIdsRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string observable_service_id */ 1:\n                    message.observableServiceId = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetAllGlobalSpanIdsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string observable_service_id = 1; */\n        if (message.observableServiceId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.observableServiceId);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetAllGlobalSpanIdsRequest\n */\nexport const GetAllGlobalSpanIdsRequest = new GetAllGlobalSpanIdsRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetAllGlobalSpanIdsResponseSuccess$Type extends MessageType<GetAllGlobalSpanIdsResponseSuccess> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetAllGlobalSpanIdsResponseSuccess\", [\n            { no: 1, name: \"span_ids\", kind: \"scalar\", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetAllGlobalSpanIdsResponseSuccess>): GetAllGlobalSpanIdsResponseSuccess {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.spanIds = [];\n        if (value !== undefined)\n            reflectionMergePartial<GetAllGlobalSpanIdsResponseSuccess>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAllGlobalSpanIdsResponseSuccess): GetAllGlobalSpanIdsResponseSuccess {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* repeated string span_ids */ 1:\n                    message.spanIds.push(reader.string());\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetAllGlobalSpanIdsResponseSuccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* repeated string span_ids = 1; */\n        for (let i = 0; i < message.spanIds.length; i++)\n            writer.tag(1, WireType.LengthDelimited).string(message.spanIds[i]);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetAllGlobalSpanIdsResponseSuccess\n */\nexport const GetAllGlobalSpanIdsResponseSuccess = new GetAllGlobalSpanIdsResponseSuccess$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetAllGlobalSpanIdsResponseError$Type extends MessageType<GetAllGlobalSpanIdsResponseError> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetAllGlobalSpanIdsResponseError\", [\n            { no: 1, name: \"code\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetAllGlobalSpanIdsResponseError>): GetAllGlobalSpanIdsResponseError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.code = \"\";\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<GetAllGlobalSpanIdsResponseError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAllGlobalSpanIdsResponseError): GetAllGlobalSpanIdsResponseError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string code */ 1:\n                    message.code = reader.string();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetAllGlobalSpanIdsResponseError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string code = 1; */\n        if (message.code !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.code);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetAllGlobalSpanIdsResponseError\n */\nexport const GetAllGlobalSpanIdsResponseError = new GetAllGlobalSpanIdsResponseError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetAllGlobalSpanIdsResponse$Type extends MessageType<GetAllGlobalSpanIdsResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetAllGlobalSpanIdsResponse\", [\n            { no: 1, name: \"success\", kind: \"message\", oneof: \"response\", T: () => GetAllGlobalSpanIdsResponseSuccess },\n            { no: 2, name: \"error\", kind: \"message\", oneof: \"response\", T: () => GetAllGlobalSpanIdsResponseError }\n        ]);\n    }\n    create(value?: PartialMessage<GetAllGlobalSpanIdsResponse>): GetAllGlobalSpanIdsResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.response = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<GetAllGlobalSpanIdsResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAllGlobalSpanIdsResponse): GetAllGlobalSpanIdsResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.GetAllGlobalSpanIdsResponseSuccess success */ 1:\n                    message.response = {\n                        oneofKind: \"success\",\n                        success: GetAllGlobalSpanIdsResponseSuccess.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).success)\n                    };\n                    break;\n                case /* tusk.drift.backend.v1.GetAllGlobalSpanIdsResponseError error */ 2:\n                    message.response = {\n                        oneofKind: \"error\",\n                        error: GetAllGlobalSpanIdsResponseError.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).error)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetAllGlobalSpanIdsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.GetAllGlobalSpanIdsResponseSuccess success = 1; */\n        if (message.response.oneofKind === \"success\")\n            GetAllGlobalSpanIdsResponseSuccess.internalBinaryWrite(message.response.success, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.GetAllGlobalSpanIdsResponseError error = 2; */\n        if (message.response.oneofKind === \"error\")\n            GetAllGlobalSpanIdsResponseError.internalBinaryWrite(message.response.error, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetAllGlobalSpanIdsResponse\n */\nexport const GetAllGlobalSpanIdsResponse = new GetAllGlobalSpanIdsResponse$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetGlobalSpansByIdsRequest$Type extends MessageType<GetGlobalSpansByIdsRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetGlobalSpansByIdsRequest\", [\n            { no: 1, name: \"observable_service_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"span_ids\", kind: \"scalar\", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetGlobalSpansByIdsRequest>): GetGlobalSpansByIdsRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.observableServiceId = \"\";\n        message.spanIds = [];\n        if (value !== undefined)\n            reflectionMergePartial<GetGlobalSpansByIdsRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetGlobalSpansByIdsRequest): GetGlobalSpansByIdsRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string observable_service_id */ 1:\n                    message.observableServiceId = reader.string();\n                    break;\n                case /* repeated string span_ids */ 2:\n                    message.spanIds.push(reader.string());\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetGlobalSpansByIdsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string observable_service_id = 1; */\n        if (message.observableServiceId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.observableServiceId);\n        /* repeated string span_ids = 2; */\n        for (let i = 0; i < message.spanIds.length; i++)\n            writer.tag(2, WireType.LengthDelimited).string(message.spanIds[i]);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetGlobalSpansByIdsRequest\n */\nexport const GetGlobalSpansByIdsRequest = new GetGlobalSpansByIdsRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetGlobalSpansByIdsResponseSuccess$Type extends MessageType<GetGlobalSpansByIdsResponseSuccess> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetGlobalSpansByIdsResponseSuccess\", [\n            { no: 1, name: \"spans\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Span }\n        ]);\n    }\n    create(value?: PartialMessage<GetGlobalSpansByIdsResponseSuccess>): GetGlobalSpansByIdsResponseSuccess {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.spans = [];\n        if (value !== undefined)\n            reflectionMergePartial<GetGlobalSpansByIdsResponseSuccess>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetGlobalSpansByIdsResponseSuccess): GetGlobalSpansByIdsResponseSuccess {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* repeated tusk.drift.core.v1.Span spans */ 1:\n                    message.spans.push(Span.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetGlobalSpansByIdsResponseSuccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* repeated tusk.drift.core.v1.Span spans = 1; */\n        for (let i = 0; i < message.spans.length; i++)\n            Span.internalBinaryWrite(message.spans[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetGlobalSpansByIdsResponseSuccess\n */\nexport const GetGlobalSpansByIdsResponseSuccess = new GetGlobalSpansByIdsResponseSuccess$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetGlobalSpansByIdsResponseError$Type extends MessageType<GetGlobalSpansByIdsResponseError> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetGlobalSpansByIdsResponseError\", [\n            { no: 1, name: \"code\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetGlobalSpansByIdsResponseError>): GetGlobalSpansByIdsResponseError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.code = \"\";\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<GetGlobalSpansByIdsResponseError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetGlobalSpansByIdsResponseError): GetGlobalSpansByIdsResponseError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string code */ 1:\n                    message.code = reader.string();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetGlobalSpansByIdsResponseError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string code = 1; */\n        if (message.code !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.code);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetGlobalSpansByIdsResponseError\n */\nexport const GetGlobalSpansByIdsResponseError = new GetGlobalSpansByIdsResponseError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetGlobalSpansByIdsResponse$Type extends MessageType<GetGlobalSpansByIdsResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetGlobalSpansByIdsResponse\", [\n            { no: 1, name: \"success\", kind: \"message\", oneof: \"response\", T: () => GetGlobalSpansByIdsResponseSuccess },\n            { no: 2, name: \"error\", kind: \"message\", oneof: \"response\", T: () => GetGlobalSpansByIdsResponseError }\n        ]);\n    }\n    create(value?: PartialMessage<GetGlobalSpansByIdsResponse>): GetGlobalSpansByIdsResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.response = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<GetGlobalSpansByIdsResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetGlobalSpansByIdsResponse): GetGlobalSpansByIdsResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.GetGlobalSpansByIdsResponseSuccess success */ 1:\n                    message.response = {\n                        oneofKind: \"success\",\n                        success: GetGlobalSpansByIdsResponseSuccess.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).success)\n                    };\n                    break;\n                case /* tusk.drift.backend.v1.GetGlobalSpansByIdsResponseError error */ 2:\n                    message.response = {\n                        oneofKind: \"error\",\n                        error: GetGlobalSpansByIdsResponseError.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).error)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetGlobalSpansByIdsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.GetGlobalSpansByIdsResponseSuccess success = 1; */\n        if (message.response.oneofKind === \"success\")\n            GetGlobalSpansByIdsResponseSuccess.internalBinaryWrite(message.response.success, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.GetGlobalSpansByIdsResponseError error = 2; */\n        if (message.response.oneofKind === \"error\")\n            GetGlobalSpansByIdsResponseError.internalBinaryWrite(message.response.error, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetGlobalSpansByIdsResponse\n */\nexport const GetGlobalSpansByIdsResponse = new GetGlobalSpansByIdsResponse$Type();\n/**\n * @generated ServiceType for protobuf service tusk.drift.backend.v1.TestRunService\n */\nexport const TestRunService = new ServiceType(\"tusk.drift.backend.v1.TestRunService\", [\n    { name: \"GetGlobalSpans\", options: {}, I: GetGlobalSpansRequest, O: GetGlobalSpansResponse },\n    { name: \"GetPreAppStartSpans\", options: {}, I: GetPreAppStartSpansRequest, O: GetPreAppStartSpansResponse },\n    { name: \"CreateDriftRun\", options: {}, I: CreateDriftRunRequest, O: CreateDriftRunResponse },\n    { name: \"GetDriftRunTraceTests\", options: {}, I: GetDriftRunTraceTestsRequest, O: GetDriftRunTraceTestsResponse },\n    { name: \"GetAllTraceTests\", options: {}, I: GetAllTraceTestsRequest, O: GetAllTraceTestsResponse },\n    { name: \"GetTraceTest\", options: {}, I: GetTraceTestRequest, O: GetTraceTestResponse },\n    { name: \"UploadTraceTestResults\", options: {}, I: UploadTraceTestResultsRequest, O: UploadTraceTestResultsResponse },\n    { name: \"UpdateDriftRunCIStatus\", options: {}, I: UpdateDriftRunCIStatusRequest, O: UpdateDriftRunCIStatusResponse },\n    { name: \"GetValidationTraceTests\", options: {}, I: GetValidationTraceTestsRequest, O: GetValidationTraceTestsResponse },\n    { name: \"GetAllTraceTestIds\", options: {}, I: GetAllTraceTestIdsRequest, O: GetAllTraceTestIdsResponse },\n    { name: \"GetTraceTestsByIds\", options: {}, I: GetTraceTestsByIdsRequest, O: GetTraceTestsByIdsResponse },\n    { name: \"GetAllPreAppStartSpanIds\", options: {}, I: GetAllPreAppStartSpanIdsRequest, O: GetAllPreAppStartSpanIdsResponse },\n    { name: \"GetPreAppStartSpansByIds\", options: {}, I: GetPreAppStartSpansByIdsRequest, O: GetPreAppStartSpansByIdsResponse },\n    { name: \"GetAllGlobalSpanIds\", options: {}, I: GetAllGlobalSpanIdsRequest, O: GetAllGlobalSpanIdsResponse },\n    { name: \"GetGlobalSpansByIds\", options: {}, I: GetGlobalSpansByIdsRequest, O: GetGlobalSpansByIdsResponse }\n]);\n"],"mappings":"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"}