@evalops/sdk-ts 0.1.67 → 0.1.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1918,6 +1918,612 @@ export type ListScenarioRunsResponse = Message<"fermata.v1.ListScenarioRunsRespo
1918
1918
  * Use `create(ListScenarioRunsResponseSchema)` to create a new message.
1919
1919
  */
1920
1920
  export declare const ListScenarioRunsResponseSchema: GenMessage<ListScenarioRunsResponse>;
1921
+ /**
1922
+ * @generated from message fermata.v1.GetEvaluationObservabilityDashboardRequest
1923
+ */
1924
+ export type GetEvaluationObservabilityDashboardRequest = Message<"fermata.v1.GetEvaluationObservabilityDashboardRequest"> & {
1925
+ /**
1926
+ * @generated from field: string organization_id = 1;
1927
+ */
1928
+ organizationId: string;
1929
+ /**
1930
+ * @generated from field: string workspace_id = 2;
1931
+ */
1932
+ workspaceId: string;
1933
+ /**
1934
+ * @generated from field: int32 days = 3;
1935
+ */
1936
+ days: number;
1937
+ /**
1938
+ * @generated from field: int32 limit = 4;
1939
+ */
1940
+ limit: number;
1941
+ };
1942
+ /**
1943
+ * Describes the message fermata.v1.GetEvaluationObservabilityDashboardRequest.
1944
+ * Use `create(GetEvaluationObservabilityDashboardRequestSchema)` to create a new message.
1945
+ */
1946
+ export declare const GetEvaluationObservabilityDashboardRequestSchema: GenMessage<GetEvaluationObservabilityDashboardRequest>;
1947
+ /**
1948
+ * @generated from message fermata.v1.EvaluationObservabilitySummary
1949
+ */
1950
+ export type EvaluationObservabilitySummary = Message<"fermata.v1.EvaluationObservabilitySummary"> & {
1951
+ /**
1952
+ * @generated from field: int32 total_runs = 1;
1953
+ */
1954
+ totalRuns: number;
1955
+ /**
1956
+ * @generated from field: int32 total_results = 2;
1957
+ */
1958
+ totalResults: number;
1959
+ /**
1960
+ * @generated from field: int32 failed_results = 3;
1961
+ */
1962
+ failedResults: number;
1963
+ /**
1964
+ * @generated from field: double average_score = 4;
1965
+ */
1966
+ averageScore: number;
1967
+ /**
1968
+ * @generated from field: double pass_rate = 5;
1969
+ */
1970
+ passRate: number;
1971
+ /**
1972
+ * @generated from field: common.v1.Money total_cost = 6;
1973
+ */
1974
+ totalCost?: Money | undefined;
1975
+ /**
1976
+ * @generated from field: double average_latency_ms = 7;
1977
+ */
1978
+ averageLatencyMs: number;
1979
+ /**
1980
+ * @generated from field: int64 total_tokens = 8;
1981
+ */
1982
+ totalTokens: bigint;
1983
+ /**
1984
+ * @generated from field: int32 regression_alert_count = 9;
1985
+ */
1986
+ regressionAlertCount: number;
1987
+ /**
1988
+ * @generated from field: repeated common.v1.Money total_costs_by_currency = 10;
1989
+ */
1990
+ totalCostsByCurrency: Money[];
1991
+ };
1992
+ /**
1993
+ * Describes the message fermata.v1.EvaluationObservabilitySummary.
1994
+ * Use `create(EvaluationObservabilitySummarySchema)` to create a new message.
1995
+ */
1996
+ export declare const EvaluationObservabilitySummarySchema: GenMessage<EvaluationObservabilitySummary>;
1997
+ /**
1998
+ * @generated from message fermata.v1.EvaluationRecentRunSummary
1999
+ */
2000
+ export type EvaluationRecentRunSummary = Message<"fermata.v1.EvaluationRecentRunSummary"> & {
2001
+ /**
2002
+ * @generated from field: string scenario_run_id = 1;
2003
+ */
2004
+ scenarioRunId: string;
2005
+ /**
2006
+ * @generated from field: string scenario_id = 2;
2007
+ */
2008
+ scenarioId: string;
2009
+ /**
2010
+ * @generated from field: int32 total_results = 3;
2011
+ */
2012
+ totalResults: number;
2013
+ /**
2014
+ * @generated from field: int32 completed_results = 4;
2015
+ */
2016
+ completedResults: number;
2017
+ /**
2018
+ * @generated from field: int32 failed_results = 5;
2019
+ */
2020
+ failedResults: number;
2021
+ /**
2022
+ * @generated from field: double average_score = 6;
2023
+ */
2024
+ averageScore: number;
2025
+ /**
2026
+ * @generated from field: common.v1.Money total_cost = 7;
2027
+ */
2028
+ totalCost?: Money | undefined;
2029
+ /**
2030
+ * @generated from field: common.v1.Money average_cost = 8;
2031
+ */
2032
+ averageCost?: Money | undefined;
2033
+ /**
2034
+ * @generated from field: double average_latency_ms = 9;
2035
+ */
2036
+ averageLatencyMs: number;
2037
+ /**
2038
+ * @generated from field: int64 total_tokens = 10;
2039
+ */
2040
+ totalTokens: bigint;
2041
+ /**
2042
+ * @generated from field: google.protobuf.Timestamp started_at = 11;
2043
+ */
2044
+ startedAt?: Timestamp | undefined;
2045
+ /**
2046
+ * @generated from field: google.protobuf.Timestamp completed_at = 12;
2047
+ */
2048
+ completedAt?: Timestamp | undefined;
2049
+ /**
2050
+ * @generated from field: string trace_id = 13;
2051
+ */
2052
+ traceId: string;
2053
+ /**
2054
+ * @generated from field: bool objective_achieved = 14;
2055
+ */
2056
+ objectiveAchieved: boolean;
2057
+ };
2058
+ /**
2059
+ * Describes the message fermata.v1.EvaluationRecentRunSummary.
2060
+ * Use `create(EvaluationRecentRunSummarySchema)` to create a new message.
2061
+ */
2062
+ export declare const EvaluationRecentRunSummarySchema: GenMessage<EvaluationRecentRunSummary>;
2063
+ /**
2064
+ * @generated from message fermata.v1.EvaluationRegressionAlert
2065
+ */
2066
+ export type EvaluationRegressionAlert = Message<"fermata.v1.EvaluationRegressionAlert"> & {
2067
+ /**
2068
+ * @generated from field: string id = 1;
2069
+ */
2070
+ id: string;
2071
+ /**
2072
+ * @generated from field: string scenario_id = 2;
2073
+ */
2074
+ scenarioId: string;
2075
+ /**
2076
+ * @generated from field: string scenario_run_id = 3;
2077
+ */
2078
+ scenarioRunId: string;
2079
+ /**
2080
+ * @generated from field: string severity = 4;
2081
+ */
2082
+ severity: string;
2083
+ /**
2084
+ * @generated from field: string message = 5;
2085
+ */
2086
+ message: string;
2087
+ /**
2088
+ * @generated from field: double regression_percentage = 6;
2089
+ */
2090
+ regressionPercentage: number;
2091
+ /**
2092
+ * @generated from field: string baseline_scenario_run_id = 7;
2093
+ */
2094
+ baselineScenarioRunId: string;
2095
+ /**
2096
+ * @generated from field: double average_latency_ms = 8;
2097
+ */
2098
+ averageLatencyMs: number;
2099
+ /**
2100
+ * @generated from field: common.v1.Money total_cost = 9;
2101
+ */
2102
+ totalCost?: Money | undefined;
2103
+ /**
2104
+ * @generated from field: string environment = 10;
2105
+ */
2106
+ environment: string;
2107
+ /**
2108
+ * @generated from field: bool statistically_significant = 11;
2109
+ */
2110
+ statisticallySignificant: boolean;
2111
+ /**
2112
+ * @generated from field: double p_value = 12;
2113
+ */
2114
+ pValue: number;
2115
+ /**
2116
+ * @generated from field: repeated string degraded_metrics = 13;
2117
+ */
2118
+ degradedMetrics: string[];
2119
+ /**
2120
+ * @generated from field: google.protobuf.Timestamp recorded_at = 14;
2121
+ */
2122
+ recordedAt?: Timestamp | undefined;
2123
+ };
2124
+ /**
2125
+ * Describes the message fermata.v1.EvaluationRegressionAlert.
2126
+ * Use `create(EvaluationRegressionAlertSchema)` to create a new message.
2127
+ */
2128
+ export declare const EvaluationRegressionAlertSchema: GenMessage<EvaluationRegressionAlert>;
2129
+ /**
2130
+ * @generated from message fermata.v1.GetEvaluationObservabilityDashboardResponse
2131
+ */
2132
+ export type GetEvaluationObservabilityDashboardResponse = Message<"fermata.v1.GetEvaluationObservabilityDashboardResponse"> & {
2133
+ /**
2134
+ * @generated from field: fermata.v1.EvaluationObservabilitySummary summary = 1;
2135
+ */
2136
+ summary?: EvaluationObservabilitySummary | undefined;
2137
+ /**
2138
+ * @generated from field: repeated fermata.v1.EvaluationRecentRunSummary recent_runs = 2;
2139
+ */
2140
+ recentRuns: EvaluationRecentRunSummary[];
2141
+ /**
2142
+ * @generated from field: repeated fermata.v1.EvaluationRegressionAlert regression_alerts = 3;
2143
+ */
2144
+ regressionAlerts: EvaluationRegressionAlert[];
2145
+ };
2146
+ /**
2147
+ * Describes the message fermata.v1.GetEvaluationObservabilityDashboardResponse.
2148
+ * Use `create(GetEvaluationObservabilityDashboardResponseSchema)` to create a new message.
2149
+ */
2150
+ export declare const GetEvaluationObservabilityDashboardResponseSchema: GenMessage<GetEvaluationObservabilityDashboardResponse>;
2151
+ /**
2152
+ * @generated from message fermata.v1.GetEvaluationRunMetricsRequest
2153
+ */
2154
+ export type GetEvaluationRunMetricsRequest = Message<"fermata.v1.GetEvaluationRunMetricsRequest"> & {
2155
+ /**
2156
+ * @generated from field: string organization_id = 1;
2157
+ */
2158
+ organizationId: string;
2159
+ /**
2160
+ * @generated from field: string workspace_id = 2;
2161
+ */
2162
+ workspaceId: string;
2163
+ /**
2164
+ * @generated from field: string run_id = 3;
2165
+ */
2166
+ runId: string;
2167
+ };
2168
+ /**
2169
+ * Describes the message fermata.v1.GetEvaluationRunMetricsRequest.
2170
+ * Use `create(GetEvaluationRunMetricsRequestSchema)` to create a new message.
2171
+ */
2172
+ export declare const GetEvaluationRunMetricsRequestSchema: GenMessage<GetEvaluationRunMetricsRequest>;
2173
+ /**
2174
+ * @generated from message fermata.v1.EvaluationRunMetricsSummary
2175
+ */
2176
+ export type EvaluationRunMetricsSummary = Message<"fermata.v1.EvaluationRunMetricsSummary"> & {
2177
+ /**
2178
+ * @generated from field: int32 result_count = 1;
2179
+ */
2180
+ resultCount: number;
2181
+ /**
2182
+ * @generated from field: int32 failed_results = 2;
2183
+ */
2184
+ failedResults: number;
2185
+ /**
2186
+ * @generated from field: double average_score = 3;
2187
+ */
2188
+ averageScore: number;
2189
+ /**
2190
+ * @generated from field: common.v1.Money total_cost = 4;
2191
+ */
2192
+ totalCost?: Money | undefined;
2193
+ /**
2194
+ * @generated from field: common.v1.Money average_cost = 5;
2195
+ */
2196
+ averageCost?: Money | undefined;
2197
+ /**
2198
+ * @generated from field: double average_latency_ms = 6;
2199
+ */
2200
+ averageLatencyMs: number;
2201
+ /**
2202
+ * @generated from field: int64 p95_latency_ms = 7;
2203
+ */
2204
+ p95LatencyMs: bigint;
2205
+ /**
2206
+ * @generated from field: int64 total_tokens = 8;
2207
+ */
2208
+ totalTokens: bigint;
2209
+ };
2210
+ /**
2211
+ * Describes the message fermata.v1.EvaluationRunMetricsSummary.
2212
+ * Use `create(EvaluationRunMetricsSummarySchema)` to create a new message.
2213
+ */
2214
+ export declare const EvaluationRunMetricsSummarySchema: GenMessage<EvaluationRunMetricsSummary>;
2215
+ /**
2216
+ * @generated from message fermata.v1.EvaluationRunResultMetrics
2217
+ */
2218
+ export type EvaluationRunResultMetrics = Message<"fermata.v1.EvaluationRunResultMetrics"> & {
2219
+ /**
2220
+ * @generated from field: string assertion_id = 1;
2221
+ */
2222
+ assertionId: string;
2223
+ /**
2224
+ * @generated from field: bool passed = 2;
2225
+ */
2226
+ passed: boolean;
2227
+ /**
2228
+ * @generated from field: double score = 3;
2229
+ */
2230
+ score: number;
2231
+ /**
2232
+ * @generated from field: string actual = 4;
2233
+ */
2234
+ actual: string;
2235
+ /**
2236
+ * @generated from field: string message = 5;
2237
+ */
2238
+ message: string;
2239
+ /**
2240
+ * @generated from field: google.protobuf.Struct metadata = 6;
2241
+ */
2242
+ metadata?: JsonObject | undefined;
2243
+ /**
2244
+ * @generated from field: google.protobuf.Timestamp created_at = 7;
2245
+ */
2246
+ createdAt?: Timestamp | undefined;
2247
+ };
2248
+ /**
2249
+ * Describes the message fermata.v1.EvaluationRunResultMetrics.
2250
+ * Use `create(EvaluationRunResultMetricsSchema)` to create a new message.
2251
+ */
2252
+ export declare const EvaluationRunResultMetricsSchema: GenMessage<EvaluationRunResultMetrics>;
2253
+ /**
2254
+ * @generated from message fermata.v1.GetEvaluationRunMetricsResponse
2255
+ */
2256
+ export type GetEvaluationRunMetricsResponse = Message<"fermata.v1.GetEvaluationRunMetricsResponse"> & {
2257
+ /**
2258
+ * @generated from field: string scenario_run_id = 1;
2259
+ */
2260
+ scenarioRunId: string;
2261
+ /**
2262
+ * @generated from field: fermata.v1.EvaluationRunMetricsSummary summary = 2;
2263
+ */
2264
+ summary?: EvaluationRunMetricsSummary | undefined;
2265
+ /**
2266
+ * @generated from field: repeated fermata.v1.EvaluationRunResultMetrics results = 3;
2267
+ */
2268
+ results: EvaluationRunResultMetrics[];
2269
+ };
2270
+ /**
2271
+ * Describes the message fermata.v1.GetEvaluationRunMetricsResponse.
2272
+ * Use `create(GetEvaluationRunMetricsResponseSchema)` to create a new message.
2273
+ */
2274
+ export declare const GetEvaluationRunMetricsResponseSchema: GenMessage<GetEvaluationRunMetricsResponse>;
2275
+ /**
2276
+ * @generated from message fermata.v1.GetEvaluationGovernanceReportRequest
2277
+ */
2278
+ export type GetEvaluationGovernanceReportRequest = Message<"fermata.v1.GetEvaluationGovernanceReportRequest"> & {
2279
+ /**
2280
+ * @generated from field: string organization_id = 1;
2281
+ */
2282
+ organizationId: string;
2283
+ /**
2284
+ * @generated from field: string workspace_id = 2;
2285
+ */
2286
+ workspaceId: string;
2287
+ /**
2288
+ * @generated from field: string scenario_id = 3;
2289
+ */
2290
+ scenarioId: string;
2291
+ /**
2292
+ * @generated from field: int32 days = 4;
2293
+ */
2294
+ days: number;
2295
+ /**
2296
+ * @generated from field: int32 limit = 5;
2297
+ */
2298
+ limit: number;
2299
+ };
2300
+ /**
2301
+ * Describes the message fermata.v1.GetEvaluationGovernanceReportRequest.
2302
+ * Use `create(GetEvaluationGovernanceReportRequestSchema)` to create a new message.
2303
+ */
2304
+ export declare const GetEvaluationGovernanceReportRequestSchema: GenMessage<GetEvaluationGovernanceReportRequest>;
2305
+ /**
2306
+ * @generated from message fermata.v1.GovernanceAssertionAggregate
2307
+ */
2308
+ export type GovernanceAssertionAggregate = Message<"fermata.v1.GovernanceAssertionAggregate"> & {
2309
+ /**
2310
+ * @generated from field: string assertion_id = 1;
2311
+ */
2312
+ assertionId: string;
2313
+ /**
2314
+ * @generated from field: int32 total = 2;
2315
+ */
2316
+ total: number;
2317
+ /**
2318
+ * @generated from field: int32 passed = 3;
2319
+ */
2320
+ passed: number;
2321
+ /**
2322
+ * @generated from field: int32 failed = 4;
2323
+ */
2324
+ failed: number;
2325
+ /**
2326
+ * @generated from field: double pass_rate = 5;
2327
+ */
2328
+ passRate: number;
2329
+ /**
2330
+ * @generated from field: double average_score = 6;
2331
+ */
2332
+ averageScore: number;
2333
+ };
2334
+ /**
2335
+ * Describes the message fermata.v1.GovernanceAssertionAggregate.
2336
+ * Use `create(GovernanceAssertionAggregateSchema)` to create a new message.
2337
+ */
2338
+ export declare const GovernanceAssertionAggregateSchema: GenMessage<GovernanceAssertionAggregate>;
2339
+ /**
2340
+ * @generated from message fermata.v1.GovernanceReportSummary
2341
+ */
2342
+ export type GovernanceReportSummary = Message<"fermata.v1.GovernanceReportSummary"> & {
2343
+ /**
2344
+ * @generated from field: int32 total_runs = 1;
2345
+ */
2346
+ totalRuns: number;
2347
+ /**
2348
+ * @generated from field: int32 governed_runs = 2;
2349
+ */
2350
+ governedRuns: number;
2351
+ /**
2352
+ * @generated from field: int32 passed_governance_runs = 3;
2353
+ */
2354
+ passedGovernanceRuns: number;
2355
+ /**
2356
+ * @generated from field: int32 failed_governance_runs = 4;
2357
+ */
2358
+ failedGovernanceRuns: number;
2359
+ /**
2360
+ * @generated from field: double average_composite_score = 5;
2361
+ */
2362
+ averageCompositeScore: number;
2363
+ /**
2364
+ * @generated from field: double policy_compliance_rate = 6;
2365
+ */
2366
+ policyComplianceRate: number;
2367
+ /**
2368
+ * @generated from field: double escalation_precision = 7;
2369
+ */
2370
+ escalationPrecision: number;
2371
+ /**
2372
+ * @generated from field: double escalation_recall = 8;
2373
+ */
2374
+ escalationRecall: number;
2375
+ /**
2376
+ * @generated from field: double approval_efficiency = 9;
2377
+ */
2378
+ approvalEfficiency: number;
2379
+ /**
2380
+ * @generated from field: int32 total_approval_requests = 10;
2381
+ */
2382
+ totalApprovalRequests: number;
2383
+ /**
2384
+ * @generated from field: double average_approval_requests = 11;
2385
+ */
2386
+ averageApprovalRequests: number;
2387
+ /**
2388
+ * @generated from field: int32 risk_signal_count = 12;
2389
+ */
2390
+ riskSignalCount: number;
2391
+ /**
2392
+ * @generated from field: repeated fermata.v1.GovernanceAssertionAggregate assertions = 13;
2393
+ */
2394
+ assertions: GovernanceAssertionAggregate[];
2395
+ };
2396
+ /**
2397
+ * Describes the message fermata.v1.GovernanceReportSummary.
2398
+ * Use `create(GovernanceReportSummarySchema)` to create a new message.
2399
+ */
2400
+ export declare const GovernanceReportSummarySchema: GenMessage<GovernanceReportSummary>;
2401
+ /**
2402
+ * @generated from message fermata.v1.GovernanceRunSummary
2403
+ */
2404
+ export type GovernanceRunSummary = Message<"fermata.v1.GovernanceRunSummary"> & {
2405
+ /**
2406
+ * @generated from field: string scenario_run_id = 1;
2407
+ */
2408
+ scenarioRunId: string;
2409
+ /**
2410
+ * @generated from field: string scenario_id = 2;
2411
+ */
2412
+ scenarioId: string;
2413
+ /**
2414
+ * @generated from field: fermata.v1.ScenarioRunStatus status = 3;
2415
+ */
2416
+ status: ScenarioRunStatus;
2417
+ /**
2418
+ * @generated from field: double composite_score = 4;
2419
+ */
2420
+ compositeScore: number;
2421
+ /**
2422
+ * @generated from field: double policy_compliance = 5;
2423
+ */
2424
+ policyCompliance: number;
2425
+ /**
2426
+ * @generated from field: double escalation_precision = 6;
2427
+ */
2428
+ escalationPrecision: number;
2429
+ /**
2430
+ * @generated from field: double escalation_recall = 7;
2431
+ */
2432
+ escalationRecall: number;
2433
+ /**
2434
+ * @generated from field: double approval_efficiency = 8;
2435
+ */
2436
+ approvalEfficiency: number;
2437
+ /**
2438
+ * @generated from field: int32 approval_requests = 9;
2439
+ */
2440
+ approvalRequests: number;
2441
+ /**
2442
+ * @generated from field: repeated string failed_assertion_ids = 10;
2443
+ */
2444
+ failedAssertionIds: string[];
2445
+ /**
2446
+ * @generated from field: string trace_id = 11;
2447
+ */
2448
+ traceId: string;
2449
+ /**
2450
+ * @generated from field: google.protobuf.Timestamp completed_at = 12;
2451
+ */
2452
+ completedAt?: Timestamp | undefined;
2453
+ };
2454
+ /**
2455
+ * Describes the message fermata.v1.GovernanceRunSummary.
2456
+ * Use `create(GovernanceRunSummarySchema)` to create a new message.
2457
+ */
2458
+ export declare const GovernanceRunSummarySchema: GenMessage<GovernanceRunSummary>;
2459
+ /**
2460
+ * @generated from message fermata.v1.GovernanceRiskSignal
2461
+ */
2462
+ export type GovernanceRiskSignal = Message<"fermata.v1.GovernanceRiskSignal"> & {
2463
+ /**
2464
+ * @generated from field: string id = 1;
2465
+ */
2466
+ id: string;
2467
+ /**
2468
+ * @generated from field: string scenario_run_id = 2;
2469
+ */
2470
+ scenarioRunId: string;
2471
+ /**
2472
+ * @generated from field: string scenario_id = 3;
2473
+ */
2474
+ scenarioId: string;
2475
+ /**
2476
+ * @generated from field: string severity = 4;
2477
+ */
2478
+ severity: string;
2479
+ /**
2480
+ * @generated from field: string message = 5;
2481
+ */
2482
+ message: string;
2483
+ /**
2484
+ * @generated from field: repeated string degraded_metrics = 6;
2485
+ */
2486
+ degradedMetrics: string[];
2487
+ /**
2488
+ * @generated from field: repeated common.v1.EvidenceRef evidence = 7;
2489
+ */
2490
+ evidence: EvidenceRef[];
2491
+ /**
2492
+ * @generated from field: string trace_id = 8;
2493
+ */
2494
+ traceId: string;
2495
+ /**
2496
+ * @generated from field: google.protobuf.Timestamp recorded_at = 9;
2497
+ */
2498
+ recordedAt?: Timestamp | undefined;
2499
+ };
2500
+ /**
2501
+ * Describes the message fermata.v1.GovernanceRiskSignal.
2502
+ * Use `create(GovernanceRiskSignalSchema)` to create a new message.
2503
+ */
2504
+ export declare const GovernanceRiskSignalSchema: GenMessage<GovernanceRiskSignal>;
2505
+ /**
2506
+ * @generated from message fermata.v1.GetEvaluationGovernanceReportResponse
2507
+ */
2508
+ export type GetEvaluationGovernanceReportResponse = Message<"fermata.v1.GetEvaluationGovernanceReportResponse"> & {
2509
+ /**
2510
+ * @generated from field: fermata.v1.GovernanceReportSummary summary = 1;
2511
+ */
2512
+ summary?: GovernanceReportSummary | undefined;
2513
+ /**
2514
+ * @generated from field: repeated fermata.v1.GovernanceRunSummary recent_runs = 2;
2515
+ */
2516
+ recentRuns: GovernanceRunSummary[];
2517
+ /**
2518
+ * @generated from field: repeated fermata.v1.GovernanceRiskSignal risk_signals = 3;
2519
+ */
2520
+ riskSignals: GovernanceRiskSignal[];
2521
+ };
2522
+ /**
2523
+ * Describes the message fermata.v1.GetEvaluationGovernanceReportResponse.
2524
+ * Use `create(GetEvaluationGovernanceReportResponseSchema)` to create a new message.
2525
+ */
2526
+ export declare const GetEvaluationGovernanceReportResponseSchema: GenMessage<GetEvaluationGovernanceReportResponse>;
1921
2527
  /**
1922
2528
  * @generated from message fermata.v1.DiagnosticFinding
1923
2529
  */
@@ -3187,6 +3793,30 @@ export declare const FermataService: GenService<{
3187
3793
  input: typeof ListScenarioRunsRequestSchema;
3188
3794
  output: typeof ListScenarioRunsResponseSchema;
3189
3795
  };
3796
+ /**
3797
+ * @generated from rpc fermata.v1.FermataService.GetEvaluationObservabilityDashboard
3798
+ */
3799
+ getEvaluationObservabilityDashboard: {
3800
+ methodKind: "unary";
3801
+ input: typeof GetEvaluationObservabilityDashboardRequestSchema;
3802
+ output: typeof GetEvaluationObservabilityDashboardResponseSchema;
3803
+ };
3804
+ /**
3805
+ * @generated from rpc fermata.v1.FermataService.GetEvaluationRunMetrics
3806
+ */
3807
+ getEvaluationRunMetrics: {
3808
+ methodKind: "unary";
3809
+ input: typeof GetEvaluationRunMetricsRequestSchema;
3810
+ output: typeof GetEvaluationRunMetricsResponseSchema;
3811
+ };
3812
+ /**
3813
+ * @generated from rpc fermata.v1.FermataService.GetEvaluationGovernanceReport
3814
+ */
3815
+ getEvaluationGovernanceReport: {
3816
+ methodKind: "unary";
3817
+ input: typeof GetEvaluationGovernanceReportRequestSchema;
3818
+ output: typeof GetEvaluationGovernanceReportResponseSchema;
3819
+ };
3190
3820
  /**
3191
3821
  * @generated from rpc fermata.v1.FermataService.ExplainScenarioRun
3192
3822
  */
@@ -11,7 +11,7 @@ import { file_traces_v1_traces } from "../../traces/v1/traces_pb.js";
11
11
  /**
12
12
  * Describes the file fermata/v1/fermata.proto.
13
13
  */
14
- export const file_fermata_v1_fermata = /*@__PURE__*/ fileDesc("ChhmZXJtYXRhL3YxL2Zlcm1hdGEucHJvdG8SCmZlcm1hdGEudjEiqwIKCVRlc3RTdWl0ZRIKCgJpZBgBIAEoCRIXCg9vcmdhbml6YXRpb25faWQYAiABKAkSHQoMd29ya3NwYWNlX2lkGAMgASgJQge6SARyAhABEhUKBG5hbWUYBCABKAlCB7pIBHICEAESEwoLZGVzY3JpcHRpb24YBSABKAkSIwoFY2FzZXMYBiADKAsyFC5mZXJtYXRhLnYxLlRlc3RDYXNlEikKCG1ldGFkYXRhGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKrAQoIVGVzdENhc2USCgoCaWQYASABKAkSFQoEbmFtZRgCIAEoCUIHukgEcgIQARINCgVpbnB1dBgDIAEoCRIXCg9leHBlY3RlZF9vdXRwdXQYBCABKAkSKQoKYXNzZXJ0aW9ucxgFIAMoCzIVLmZlcm1hdGEudjEuQXNzZXJ0aW9uEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKsAQoJQXNzZXJ0aW9uEgoKAmlkGAEgASgJEjEKBGtpbmQYAiABKA4yGS5mZXJtYXRhLnYxLkFzc2VydGlvbktpbmRCCLpIBYIBAhABEg4KBnRhcmdldBgDIAEoCRIQCghleHBlY3RlZBgEIAEoCRITCgtkZXNjcmlwdGlvbhgFIAEoCRIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi0AEKD0N1c3RvbUV2YWx1YXRvchIVCgRuYW1lGAEgASgJQge6SARyAhABEhcKBnNvdXJjZRgCIAEoCUIHukgEcgIQARIuCgpjcmVhdGVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9vcmdhbml6YXRpb25faWQYBSABKAkSFAoMd29ya3NwYWNlX2lkGAYgASgJIqMDCgVKdWRnZRIVCgRuYW1lGAEgASgJQge6SARyAhABEi0KBGtpbmQYAiABKA4yFS5mZXJtYXRhLnYxLkp1ZGdlS2luZEIIukgFggECEAESDgoGcHJvbXB0GAMgASgJEg0KBW1vZGVsGAQgASgJEiwKC3RlbXBlcmF0dXJlGAUgASgBQhe6SBQSEhkAAAAAAAAAQCkAAAAAAAAAABIbCgptYXhfdG9rZW5zGAYgASgFQge6SAQaAigAEhAKCGNyaXRlcmlhGAcgAygJEh4KBndlaWdodBgIIAEoAUIOukgLEgkpAAAAAAAAAAASKQoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KCmNyZWF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD29yZ2FuaXphdGlvbl9pZBgMIAEoCRIUCgx3b3Jrc3BhY2VfaWQYDSABKAkiugYKCFNjZW5hcmlvEgoKAmlkGAEgASgJEiAKD29yZ2FuaXphdGlvbl9pZBgCIAEoCUIHukgEcgIQARIdCgx3b3Jrc3BhY2VfaWQYAyABKAlCB7pIBHICEAESFQoEbmFtZRgEIAEoCUIHukgEcgIQARITCgtkZXNjcmlwdGlvbhgFIAEoCRIoCglvYmplY3RpdmUYBiABKAsyFS5mZXJtYXRhLnYxLk9iamVjdGl2ZRItCgxhZ2VudF9jb25maWcYByABKAsyFy5mZXJtYXRhLnYxLkFnZW50Q29uZmlnEjQKC2Vudmlyb25tZW50GAggASgLMh8uZmVybWF0YS52MS5TY2VuYXJpb0Vudmlyb25tZW50EjEKDnVzZXJfc2ltdWxhdG9yGAkgASgLMhkuZmVybWF0YS52MS5Vc2VyU2ltdWxhdG9yEiIKCG1heF9jb3N0GAogASgLMhAuY29tbW9uLnYxLk1vbmV5Ei8KDG1heF9kdXJhdGlvbhgLIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIaCgltYXhfc3RlcHMYDCABKAVCB7pIBBoCKAASJgoVbWF4X2FwcHJvdmFsX3JlcXVlc3RzGA0gASgFQge6SAQaAigAEjYKEG91dGNvbWVfY3JpdGVyaWEYDiADKAsyHC5mZXJtYXRhLnYxLk91dGNvbWVDcml0ZXJpb24SPgoVZ292ZXJuYW5jZV9hc3NlcnRpb25zGA8gAygLMh8uZmVybWF0YS52MS5Hb3Zlcm5hbmNlQXNzZXJ0aW9uEj4KFWRlbGVnYXRpb25fYXNzZXJ0aW9ucxgQIAMoCzIfLmZlcm1hdGEudjEuRGVsZWdhdGlvbkFzc2VydGlvbhIXCgZlcG9jaHMYESABKAVCB7pIBBoCKAASKQoIbWV0YWRhdGEYEiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KCmNyZWF0ZWRfYXQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYFCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIu8BCglPYmplY3RpdmUSHAoLZGVzY3JpcHRpb24YASABKAlCB7pIBHICEAESNgoQc3VjY2Vzc19jcml0ZXJpYRgCIAMoCzIcLmZlcm1hdGEudjEuU3VjY2Vzc0NyaXRlcmlvbhJACg5leHBlY3RlZF9zdGF0ZRgDIAMoCzIoLmZlcm1hdGEudjEuT2JqZWN0aXZlLkV4cGVjdGVkU3RhdGVFbnRyeRIUCgxvYmplY3RpdmVfaWQYBCABKAkaNAoSRXhwZWN0ZWRTdGF0ZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEirwEKEFN1Y2Nlc3NDcml0ZXJpb24SCgoCaWQYASABKAkSHAoLZGVzY3JpcHRpb24YAiABKAlCB7pIBHICEAESDgoGbWV0cmljGAMgASgJEhYKDmV4cGVjdGVkX3ZhbHVlGAQgASgJEh4KBndlaWdodBgFIAEoAUIOukgLEgkpAAAAAAAAAAASKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IqUBCgtBZ2VudENvbmZpZxIQCghhZ2VudF9pZBgBIAEoCRINCgVtb2RlbBgCIAEoCRIRCgl0b29sX3JlZnMYAyADKAkSGQoRcGVybWlzc2lvbl9zY29wZXMYBCADKAkSHAoUZ292ZXJuYW5jZV9wb2xpY3lfaWQYBSABKAkSKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IvcBChNTY2VuYXJpb0Vudmlyb25tZW50EjsKBGtpbmQYASABKA4yIy5mZXJtYXRhLnYxLlNjZW5hcmlvRW52aXJvbm1lbnRLaW5kQgi6SAWCAQIQARIjCgV0b29scxgCIAMoCzIULmZlcm1hdGEudjEuTW9ja1Rvb2wSKwoJZW5kcG9pbnRzGAMgAygLMhguZmVybWF0YS52MS5Nb2NrRW5kcG9pbnQSFQoNc2VlZF9kYXRhX3JlZhgEIAEoCRIPCgdzYW5kYm94GAUgASgJEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCK7AQoITW9ja1Rvb2wSFQoEbmFtZRgBIAEoCUIHukgEcgIQARITCgtkZXNjcmlwdGlvbhgCIAEoCRItCgxpbnB1dF9zY2hlbWEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCHJlc3BvbnNlGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIpCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiqQEKDE1vY2tFbmRwb2ludBIOCgZtZXRob2QYASABKAkSFQoEcGF0aBgCIAEoCUIHukgEcgIQARIcCgtzdGF0dXNfY29kZRgDIAEoBUIHukgEGgIoABIpCghyZXNwb25zZRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIbWV0YWRhdGEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IocCCg1Vc2VyU2ltdWxhdG9yEg8KB3BlcnNvbmEYASABKAkSFAoMaW5zdHJ1Y3Rpb25zGAIgASgJEj0KCHN0cmF0ZWd5GAMgASgOMiEuZmVybWF0YS52MS5Vc2VyU2ltdWxhdG9yU3RyYXRlZ3lCCLpIBYIBAhABEg0KBW1vZGVsGAQgASgJEhoKCW1heF90dXJucxgFIAEoBUIHukgEGgIoABIbChN2ZXJpZnlfYWdlbnRfY2xhaW1zGAYgASgIEh0KFXJlcXVlc3RfY2xhcmlmaWNhdGlvbhgHIAEoCBIpCghtZXRhZGF0YRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QixQEKEE91dGNvbWVDcml0ZXJpb24SCgoCaWQYASABKAkSOAoEa2luZBgCIAEoDjIgLmZlcm1hdGEudjEuT3V0Y29tZUNyaXRlcmlvbktpbmRCCLpIBYIBAhABEg4KBnRhcmdldBgDIAEoCRIQCghleHBlY3RlZBgEIAEoCRIeCgZ3ZWlnaHQYBSABKAFCDrpICxIJKQAAAAAAAAAAEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLcAgoTR292ZXJuYW5jZUFzc2VydGlvbhIKCgJpZBgBIAEoCRI7CgR0eXBlGAIgASgOMiMuZmVybWF0YS52MS5Hb3Zlcm5hbmNlQXNzZXJ0aW9uVHlwZUIIukgFggECEAESOwoTZXhwZWN0ZWRfcmlza19sZXZlbBgDIAEoDjIULmNvbW1vbi52MS5SaXNrTGV2ZWxCCLpIBYIBAhABEhcKD3Nob3VsZF9lc2NhbGF0ZRgEIAEoCBIhChlleHBlY3RlZF9hcHByb3ZhbF9vdXRjb21lGAUgASgJEhsKE2FsbG93ZWRfZGF0YV9zY29wZXMYBiADKAkSGgoSZGVuaWVkX2RhdGFfc2NvcGVzGAcgAygJEh8KF2V4cGVjdGVkX3BpaV9jYXRlZ29yaWVzGAggAygJEikKCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLqAQoTRGVsZWdhdGlvbkFzc2VydGlvbhIKCgJpZBgBIAEoCRI7CgR0eXBlGAIgASgOMiMuZmVybWF0YS52MS5EZWxlZ2F0aW9uQXNzZXJ0aW9uVHlwZUIIukgFggECEAESGQoRZXhwZWN0ZWRfYWdlbnRfaWQYAyABKAkSIAoPbWF4X2NoYWluX2RlcHRoGAQgASgFQge6SAQaAigAEiIKCG1heF9jb3N0GAUgASgLMhAuY29tbW9uLnYxLk1vbmV5EikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKIBAoLU2NlbmFyaW9SdW4SCgoCaWQYASABKAkSHAoLc2NlbmFyaW9faWQYAiABKAlCB7pIBHICEAESIAoPb3JnYW5pemF0aW9uX2lkGAMgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgEIAEoCUIHukgEcgIQARIWCgVlcG9jaBgFIAEoBUIHukgEGgIoABI3CgZzdGF0dXMYBiABKA4yHS5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuU3RhdHVzQgi6SAWCAQIQARIqCgZyZXN1bHQYByABKAsyGi5mZXJtYXRhLnYxLlNjZW5hcmlvUmVzdWx0EhAKCHRyYWNlX2lkGAggASgJEikKCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpzdGFydGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmxpbmVhZ2VfaWQYDiABKAkisQYKDlNjZW5hcmlvUmVzdWx0EhoKEm9iamVjdGl2ZV9hY2hpZXZlZBgBIAEoCBIZChFvYmplY3RpdmVfc3VtbWFyeRgCIAEoCRIcCgt0b3RhbF9zdGVwcxgDIAEoBUIHukgEGgIoABIcCgttb2RlbF9jYWxscxgEIAEoBUIHukgEGgIoABIbCgp0b29sX2NhbGxzGAUgASgFQge6SAQaAigAEiIKEWFwcHJvdmFsX3JlcXVlc3RzGAYgASgFQge6SAQaAigAEiIKEWRlbGVnYXRpb25fZXZlbnRzGAcgASgFQge6SAQaAigAEiAKD3JlY292ZXJ5X2V2ZW50cxgIIAEoBUIHukgEGgIoABI+ChFhc3NlcnRpb25fcmVzdWx0cxgJIAMoCzIjLmZlcm1hdGEudjEuU2NlbmFyaW9Bc3NlcnRpb25SZXN1bHQSLwoKZ292ZXJuYW5jZRgKIAEoCzIbLmZlcm1hdGEudjEuR292ZXJuYW5jZVNjb3JlEiwKCWVjb25vbWljcxgLIAEoCzIZLmZlcm1hdGEudjEuRWNvbm9taWNTY29yZRIhCglwYXNzX2F0X2sYDCABKAFCDrpICxIJKQAAAAAAAAAAEi8KCmRlbGVnYXRpb24YDSABKAsyGy5mZXJtYXRhLnYxLkRlbGVnYXRpb25TY29yZRIkCgp0b3RhbF9jb3N0GA4gASgLMhAuY29tbW9uLnYxLk1vbmV5EjEKDnRvdGFsX2R1cmF0aW9uGA8gASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEikKCG1ldGFkYXRhGBAgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIjCgp0cmFqZWN0b3J5GBEgAygLMg8udHJhY2VzLnYxLlNwYW4SJQoNdHJhamVjdG9yeV9mMRgSIAEoAUIOukgLEgkpAAAAAAAAAAASNgoedHJhamVjdG9yeV9lZGl0X2Rpc3RhbmNlX3Njb3JlGBMgASgBQg66SAsSCSkAAAAAAAAAABIqCgVkcmlmdBgUIAEoCzIbLmZlcm1hdGEudjEuRHJpZnRDb21wYXJpc29uIpoBChdTY2VuYXJpb0Fzc2VydGlvblJlc3VsdBIUCgxhc3NlcnRpb25faWQYASABKAkSDgoGcGFzc2VkGAIgASgIEg0KBXNjb3JlGAMgASgBEg4KBmFjdHVhbBgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKPAgoPR292ZXJuYW5jZVNjb3JlEiwKFGVzY2FsYXRpb25fcHJlY2lzaW9uGAEgASgBQg66SAsSCSkAAAAAAAAAABIpChFlc2NhbGF0aW9uX3JlY2FsbBgCIAEoAUIOukgLEgkpAAAAAAAAAAASKQoRcG9saWN5X2NvbXBsaWFuY2UYAyABKAFCDrpICxIJKQAAAAAAAAAAEisKE2FwcHJvdmFsX2VmZmljaWVuY3kYBCABKAFCDrpICxIJKQAAAAAAAAAAEiEKCWNvbXBvc2l0ZRgFIAEoAUIOukgLEgkpAAAAAAAAAAASKAoIZXZpZGVuY2UYBiADKAsyFi5jb21tb24udjEuRXZpZGVuY2VSZWYigAIKDUVjb25vbWljU2NvcmUSMgoYY29zdF9wZXJfc3VjY2Vzc2Z1bF90YXNrGAEgASgLMhAuY29tbW9uLnYxLk1vbmV5EiIKCGxsbV9jb3N0GAIgASgLMhAuY29tbW9uLnYxLk1vbmV5EiMKCXRvb2xfY29zdBgDIAEoCzIQLmNvbW1vbi52MS5Nb25leRIqChBzdXBlcnZpc2lvbl9jb3N0GAQgASgLMhAuY29tbW9uLnYxLk1vbmV5EhoKEm9uX3BhcmV0b19mcm9udGllchgFIAEoCBIqChJxdWFsaXR5X3Blcl9kb2xsYXIYBiABKAFCDrpICxIJKQAAAAAAAAAAIsoBCg9EZWxlZ2F0aW9uU2NvcmUSKwoTZGVsZWdhdGlvbl9hY2N1cmFjeRgBIAEoAUIOukgLEgkpAAAAAAAAAAASKAoQY29udGV4dF9maWRlbGl0eRgCIAEoAUIOukgLEgkpAAAAAAAAAAASFwoPZWZmaWNpZW5jeV9nYWluGAMgASgBEikKEWZhaWx1cmVfaXNvbGF0aW9uGAQgASgBQg66SAsSCSkAAAAAAAAAABIcCgtjaGFpbl9kZXB0aBgFIAEoBUIHukgEGgIoACLeAwoPRHJpZnRDb21wYXJpc29uEhAKCGRldGVjdGVkGAEgASgIEi4KFmJhc2VsaW5lX3F1YWxpdHlfc2NvcmUYAiABKAFCDrpICxIJKQAAAAAAAAAAEi0KFWN1cnJlbnRfcXVhbGl0eV9zY29yZRgDIAEoAUIOukgLEgkpAAAAAAAAAAASFQoNcXVhbGl0eV9kZWx0YRgEIAEoARInCg1iYXNlbGluZV9jb3N0GAUgASgLMhAuY29tbW9uLnYxLk1vbmV5EiYKDGN1cnJlbnRfY29zdBgGIAEoCzIQLmNvbW1vbi52MS5Nb25leRIkCgpjb3N0X2RlbHRhGAcgASgLMhAuY29tbW9uLnYxLk1vbmV5EjAKGGJhc2VsaW5lX2VzY2FsYXRpb25fcmF0ZRgIIAEoAUIOukgLEgkpAAAAAAAAAAASLwoXY3VycmVudF9lc2NhbGF0aW9uX3JhdGUYCSABKAFCDrpICxIJKQAAAAAAAAAAEh0KFWVzY2FsYXRpb25fcmF0ZV9kZWx0YRgKIAEoARIgChhnZW5lcmF0ZWRfc3VpdGVfc3RyYXRlZ3kYCyABKAkSKAoIZXZpZGVuY2UYDCADKAsyFi5jb21tb24udjEuRXZpZGVuY2VSZWYi1QEKFkNyZWF0ZVRlc3RTdWl0ZVJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgCIAEoCUIHukgEcgIQARIVCgRuYW1lGAMgASgJQge6SARyAhABEhMKC2Rlc2NyaXB0aW9uGAQgASgJEiMKBWNhc2VzGAUgAygLMhQuZmVybWF0YS52MS5UZXN0Q2FzZRIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiPwoXQ3JlYXRlVGVzdFN1aXRlUmVzcG9uc2USJAoFc3VpdGUYASABKAsyFS5mZXJtYXRhLnYxLlRlc3RTdWl0ZSJfChNHZXRUZXN0U3VpdGVSZXF1ZXN0EhkKCHN1aXRlX2lkGAEgASgJQge6SARyAhABEhcKD29yZ2FuaXphdGlvbl9pZBgCIAEoCRIUCgx3b3Jrc3BhY2VfaWQYAyABKAkiPAoUR2V0VGVzdFN1aXRlUmVzcG9uc2USJAoFc3VpdGUYASABKAsyFS5mZXJtYXRhLnYxLlRlc3RTdWl0ZSKAAQoVTGlzdFRlc3RTdWl0ZXNSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSFgoFbGltaXQYAyABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAQgASgFQge6SAQaAigAIlEKFkxpc3RUZXN0U3VpdGVzUmVzcG9uc2USJQoGc3VpdGVzGAEgAygLMhUuZmVybWF0YS52MS5UZXN0U3VpdGUSEAoIaGFzX21vcmUYAiABKAgi4wUKFUNyZWF0ZVNjZW5hcmlvUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESHQoMd29ya3NwYWNlX2lkGAIgASgJQge6SARyAhABEhUKBG5hbWUYAyABKAlCB7pIBHICEAESEwoLZGVzY3JpcHRpb24YBCABKAkSMAoJb2JqZWN0aXZlGAUgASgLMhUuZmVybWF0YS52MS5PYmplY3RpdmVCBrpIA8gBARItCgxhZ2VudF9jb25maWcYBiABKAsyFy5mZXJtYXRhLnYxLkFnZW50Q29uZmlnEjQKC2Vudmlyb25tZW50GAcgASgLMh8uZmVybWF0YS52MS5TY2VuYXJpb0Vudmlyb25tZW50EjEKDnVzZXJfc2ltdWxhdG9yGAggASgLMhkuZmVybWF0YS52MS5Vc2VyU2ltdWxhdG9yEiIKCG1heF9jb3N0GAkgASgLMhAuY29tbW9uLnYxLk1vbmV5Ei8KDG1heF9kdXJhdGlvbhgKIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIaCgltYXhfc3RlcHMYCyABKAVCB7pIBBoCKAASJgoVbWF4X2FwcHJvdmFsX3JlcXVlc3RzGAwgASgFQge6SAQaAigAEjYKEG91dGNvbWVfY3JpdGVyaWEYDSADKAsyHC5mZXJtYXRhLnYxLk91dGNvbWVDcml0ZXJpb24SPgoVZ292ZXJuYW5jZV9hc3NlcnRpb25zGA4gAygLMh8uZmVybWF0YS52MS5Hb3Zlcm5hbmNlQXNzZXJ0aW9uEj4KFWRlbGVnYXRpb25fYXNzZXJ0aW9ucxgPIAMoCzIfLmZlcm1hdGEudjEuRGVsZWdhdGlvbkFzc2VydGlvbhIXCgZlcG9jaHMYECABKAVCB7pIBBoCKAASKQoIbWV0YWRhdGEYESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IkAKFkNyZWF0ZVNjZW5hcmlvUmVzcG9uc2USJgoIc2NlbmFyaW8YASABKAsyFC5mZXJtYXRhLnYxLlNjZW5hcmlvImEKEkdldFNjZW5hcmlvUmVxdWVzdBIcCgtzY2VuYXJpb19pZBgBIAEoCUIHukgEcgIQARIXCg9vcmdhbml6YXRpb25faWQYAiABKAkSFAoMd29ya3NwYWNlX2lkGAMgASgJIj0KE0dldFNjZW5hcmlvUmVzcG9uc2USJgoIc2NlbmFyaW8YASABKAsyFC5mZXJtYXRhLnYxLlNjZW5hcmlvIn8KFExpc3RTY2VuYXJpb3NSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSFgoFbGltaXQYAyABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAQgASgFQge6SAQaAigAIlIKFUxpc3RTY2VuYXJpb3NSZXNwb25zZRInCglzY2VuYXJpb3MYASADKAsyFC5mZXJtYXRhLnYxLlNjZW5hcmlvEhAKCGhhc19tb3JlGAIgASgIIn0KHFVwc2VydEN1c3RvbUV2YWx1YXRvclJlcXVlc3QSFQoEbmFtZRgBIAEoCUIHukgEcgIQARIXCgZzb3VyY2UYAiABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAMgASgJEhQKDHdvcmtzcGFjZV9pZBgEIAEoCSJPCh1VcHNlcnRDdXN0b21FdmFsdWF0b3JSZXNwb25zZRIuCglldmFsdWF0b3IYASABKAsyGy5mZXJtYXRhLnYxLkN1c3RvbUV2YWx1YXRvciJhChlHZXRDdXN0b21FdmFsdWF0b3JSZXF1ZXN0EhUKBG5hbWUYASABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSJMChpHZXRDdXN0b21FdmFsdWF0b3JSZXNwb25zZRIuCglldmFsdWF0b3IYASABKAsyGy5mZXJtYXRhLnYxLkN1c3RvbUV2YWx1YXRvciJ9ChtMaXN0Q3VzdG9tRXZhbHVhdG9yc1JlcXVlc3QSFgoFbGltaXQYASABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAIgASgFQge6SAQaAigAEhcKD29yZ2FuaXphdGlvbl9pZBgDIAEoCRIUCgx3b3Jrc3BhY2VfaWQYBCABKAkiYQocTGlzdEN1c3RvbUV2YWx1YXRvcnNSZXNwb25zZRIvCgpldmFsdWF0b3JzGAEgAygLMhsuZmVybWF0YS52MS5DdXN0b21FdmFsdWF0b3ISEAoIaGFzX21vcmUYAiABKAgiZAocRGVsZXRlQ3VzdG9tRXZhbHVhdG9yUmVxdWVzdBIVCgRuYW1lGAEgASgJQge6SARyAhABEhcKD29yZ2FuaXphdGlvbl9pZBgCIAEoCRIUCgx3b3Jrc3BhY2VfaWQYAyABKAkiHwodRGVsZXRlQ3VzdG9tRXZhbHVhdG9yUmVzcG9uc2Ui0AIKElVwc2VydEp1ZGdlUmVxdWVzdBIVCgRuYW1lGAEgASgJQge6SARyAhABEi0KBGtpbmQYAiABKA4yFS5mZXJtYXRhLnYxLkp1ZGdlS2luZEIIukgFggECEAESDgoGcHJvbXB0GAMgASgJEg0KBW1vZGVsGAQgASgJEiwKC3RlbXBlcmF0dXJlGAUgASgBQhe6SBQSEhkAAAAAAAAAQCkAAAAAAAAAABIbCgptYXhfdG9rZW5zGAYgASgFQge6SAQaAigAEhAKCGNyaXRlcmlhGAcgAygJEh4KBndlaWdodBgIIAEoAUIOukgLEgkpAAAAAAAAAAASKQoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhcKD29yZ2FuaXphdGlvbl9pZBgKIAEoCRIUCgx3b3Jrc3BhY2VfaWQYCyABKAkiNwoTVXBzZXJ0SnVkZ2VSZXNwb25zZRIgCgVqdWRnZRgBIAEoCzIRLmZlcm1hdGEudjEuSnVkZ2UiVwoPR2V0SnVkZ2VSZXF1ZXN0EhUKBG5hbWUYASABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSI0ChBHZXRKdWRnZVJlc3BvbnNlEiAKBWp1ZGdlGAEgASgLMhEuZmVybWF0YS52MS5KdWRnZSJzChFMaXN0SnVkZ2VzUmVxdWVzdBIWCgVsaW1pdBgBIAEoBUIHukgEGgIoABIXCgZvZmZzZXQYAiABKAVCB7pIBBoCKAASFwoPb3JnYW5pemF0aW9uX2lkGAMgASgJEhQKDHdvcmtzcGFjZV9pZBgEIAEoCSJJChJMaXN0SnVkZ2VzUmVzcG9uc2USIQoGanVkZ2VzGAEgAygLMhEuZmVybWF0YS52MS5KdWRnZRIQCghoYXNfbW9yZRgCIAEoCCJaChJEZWxldGVKdWRnZVJlcXVlc3QSFQoEbmFtZRgBIAEoCUIHukgEcgIQARIXCg9vcmdhbml6YXRpb25faWQYAiABKAkSFAoMd29ya3NwYWNlX2lkGAMgASgJIhUKE0RlbGV0ZUp1ZGdlUmVzcG9uc2UivgIKFFN0YXJ0U2NlbmFyaW9SZXF1ZXN0EhwKC3NjZW5hcmlvX2lkGAEgASgJQge6SARyAhABEhUKDXJ1bl9pZF9wcmVmaXgYAiABKAkSEAoIdHJhY2VfaWQYAyABKAkSKAoHYWN0dWFscxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoNZXBvY2hfYWN0dWFscxgFIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhcKBmVwb2NocxgHIAEoBUIHukgEGgIoABISCgpsaW5lYWdlX2lkGAggASgJEhcKD29yZ2FuaXphdGlvbl9pZBgJIAEoCRIUCgx3b3Jrc3BhY2VfaWQYCiABKAkiYQoVU3RhcnRTY2VuYXJpb1Jlc3BvbnNlEiUKBHJ1bnMYASADKAsyFy5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuEiEKEHB1Ymxpc2hlZF9ldmVudHMYAiABKAVCB7pIBBoCKAAivQIKHUNyZWF0ZUFuZFN0YXJ0U2NlbmFyaW9SZXF1ZXN0EjsKCHNjZW5hcmlvGAEgASgLMiEuZmVybWF0YS52MS5DcmVhdGVTY2VuYXJpb1JlcXVlc3RCBrpIA8gBARIVCg1ydW5faWRfcHJlZml4GAIgASgJEhAKCHRyYWNlX2lkGAMgASgJEigKB2FjdHVhbHMYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KDWVwb2NoX2FjdHVhbHMYBSADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei8KDnN0YXJ0X21ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIXCgZlcG9jaHMYByABKAVCB7pIBBoCKAASEgoKbGluZWFnZV9pZBgIIAEoCSKSAQoeQ3JlYXRlQW5kU3RhcnRTY2VuYXJpb1Jlc3BvbnNlEiYKCHNjZW5hcmlvGAEgASgLMhQuZmVybWF0YS52MS5TY2VuYXJpbxIlCgRydW5zGAIgAygLMhcuZmVybWF0YS52MS5TY2VuYXJpb1J1bhIhChBwdWJsaXNoZWRfZXZlbnRzGAMgASgFQge6SAQaAigAIrUDChhSZWNvcmRTY2VuYXJpb1J1blJlcXVlc3QSCgoCaWQYASABKAkSHAoLc2NlbmFyaW9faWQYAiABKAlCB7pIBHICEAESIAoPb3JnYW5pemF0aW9uX2lkGAMgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgEIAEoCUIHukgEcgIQARIWCgVlcG9jaBgFIAEoBUIHukgEGgIoABI3CgZzdGF0dXMYBiABKA4yHS5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuU3RhdHVzQgi6SAWCAQIQARIqCgZyZXN1bHQYByABKAsyGi5mZXJtYXRhLnYxLlNjZW5hcmlvUmVzdWx0EhAKCHRyYWNlX2lkGAggASgJEikKCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpzdGFydGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmxpbmVhZ2VfaWQYDCABKAkiQQoZUmVjb3JkU2NlbmFyaW9SdW5SZXNwb25zZRIkCgNydW4YASABKAsyFy5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuIl8KFUdldFNjZW5hcmlvUnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSI+ChZHZXRTY2VuYXJpb1J1blJlc3BvbnNlEiQKA3J1bhgBIAEoCzIXLmZlcm1hdGEudjEuU2NlbmFyaW9SdW4ilwEKF0xpc3RTY2VuYXJpb1J1bnNSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSEwoLc2NlbmFyaW9faWQYAyABKAkSFgoFbGltaXQYBCABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAUgASgFQge6SAQaAigAIlMKGExpc3RTY2VuYXJpb1J1bnNSZXNwb25zZRIlCgRydW5zGAEgAygLMhcuZmVybWF0YS52MS5TY2VuYXJpb1J1bhIQCghoYXNfbW9yZRgCIAEoCCLfAQoRRGlhZ25vc3RpY0ZpbmRpbmcSCgoCaWQYASABKAkSQQoIc2V2ZXJpdHkYAiABKA4yJS5mZXJtYXRhLnYxLkRpYWdub3N0aWNGaW5kaW5nU2V2ZXJpdHlCCLpIBYIBAhABEhYKBXRpdGxlGAMgASgJQge6SARyAhABEg4KBmRldGFpbBgEIAEoCRIoCghldmlkZW5jZRgFIAMoCzIWLmNvbW1vbi52MS5FdmlkZW5jZVJlZhIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi7wQKHEV2YWx1YXRpb25EaWFnbm9zdGljQXJ0aWZhY3QSEwoCaWQYASABKAlCB7pIBHICEAESOgoEa2luZBgCIAEoDjIiLmZlcm1hdGEudjEuRGlhZ25vc3RpY0FydGlmYWN0S2luZEIIukgFggECEAESIAoPb3JnYW5pemF0aW9uX2lkGAMgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgEIAEoCRITCgtzY2VuYXJpb19pZBgFIAEoCRIgCg9zY2VuYXJpb19ydW5faWQYBiABKAlCB7pIBHICEAESEAoIdHJhY2VfaWQYByABKAkSFgoFdGl0bGUYCCABKAlCB7pIBHICEAESDwoHc3VtbWFyeRgJIAEoCRIvCghmaW5kaW5ncxgKIAMoCzIdLmZlcm1hdGEudjEuRGlhZ25vc3RpY0ZpbmRpbmcSKAoIZXZpZGVuY2UYCyADKAsyFi5jb21tb24udjEuRXZpZGVuY2VSZWYSLgoNaW5wdXRfY29udGV4dBgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKAoHcGF5bG9hZBgNIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFAoMYXJ0aWZhY3RfdXJpGA4gASgJEhYKDmNvbnRlbnRfc2hhMjU2GA8gASgJEhEKCXBlcnNpc3RlZBgQIAEoCBIuCgpjcmVhdGVkX2F0GBEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLHAQoZRXhwbGFpblNjZW5hcmlvUnVuUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESFAoMd29ya3NwYWNlX2lkGAIgASgJEhcKBnJ1bl9pZBgDIAEoCUIHukgEcgIQARIVCg1pbmNsdWRlX3RyYWNlGAQgASgIEhgKEHBlcnNpc3RfYXJ0aWZhY3QYBSABKAgSKAoHY29udGV4dBgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiWAoaRXhwbGFpblNjZW5hcmlvUnVuUmVzcG9uc2USOgoIYXJ0aWZhY3QYASABKAsyKC5mZXJtYXRhLnYxLkV2YWx1YXRpb25EaWFnbm9zdGljQXJ0aWZhY3Qi8QEKIkFuYWx5emVTY2VuYXJpb1J1blJvb3RDYXVzZVJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIXCgZydW5faWQYAyABKAlCB7pIBHICEAESHwoXc3VzcGVjdGVkX2ZhaWx1cmVfbW9kZXMYBCADKAkSFQoNaW5jbHVkZV90cmFjZRgFIAEoCBIYChBwZXJzaXN0X2FydGlmYWN0GAYgASgIEigKB2NvbnRleHQYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0ImEKI0FuYWx5emVTY2VuYXJpb1J1blJvb3RDYXVzZVJlc3BvbnNlEjoKCGFydGlmYWN0GAEgASgLMiguZmVybWF0YS52MS5FdmFsdWF0aW9uRGlhZ25vc3RpY0FydGlmYWN0IpECCh5KdWRnZVZhbGlkYXRpb25BY2N1cmFjeU1ldHJpY3MSEQoJcHJlY2lzaW9uGAEgASgBEg4KBnJlY2FsbBgCIAEoARIQCghmMV9zY29yZRgDIAEoARIQCghhY2N1cmFjeRgEIAEoARIiChF0b3RhbF92YWxpZGF0aW9ucxgFIAEoBUIHukgEGgIoABIfCg50cnVlX3Bvc2l0aXZlcxgGIAEoBUIHukgEGgIoABIgCg9mYWxzZV9wb3NpdGl2ZXMYByABKAVCB7pIBBoCKAASHwoOdHJ1ZV9uZWdhdGl2ZXMYCCABKAVCB7pIBBoCKAASIAoPZmFsc2VfbmVnYXRpdmVzGAkgASgFQge6SAQaAigAIsABCh5KdWRnZVZhbGlkYXRpb25Db25mdXNpb25NYXRyaXgSJgoVanVkZ2VfcGFzc19odW1hbl9wYXNzGAEgASgFQge6SAQaAigAEiYKFWp1ZGdlX3Bhc3NfaHVtYW5fZmFpbBgCIAEoBUIHukgEGgIoABImChVqdWRnZV9mYWlsX2h1bWFuX3Bhc3MYAyABKAVCB7pIBBoCKAASJgoVanVkZ2VfZmFpbF9odW1hbl9mYWlsGAQgASgFQge6SAQaAigAItEBChpKdWRnZVZhbGlkYXRpb25CaWFzTWV0cmljcxIUCgxvdmVyX3Njb3JpbmcYASABKAgSFQoNdW5kZXJfc2NvcmluZxgCIAEoCBITCgtzY29yZV9kcmlmdBgDIAEoARIbChNhdmVyYWdlX2p1ZGdlX3Njb3JlGAQgASgBEhsKE2F2ZXJhZ2VfaHVtYW5fc2NvcmUYBSABKAESGQoRc2NvcmVfY29ycmVsYXRpb24YBiABKAESHAoLc2FtcGxlX3NpemUYByABKAVCB7pIBBoCKAAinAEKGkp1ZGdlVmFsaWRhdGlvbkNhbGlicmF0aW9uEhkKCGp1ZGdlX2lkGAEgASgJQge6SARyAhABEhsKE3ZhbGlkYXRpb25fYWNjdXJhY3kYAiABKAESEQoJdmFsaWRhdGVkGAMgASgIEjMKD2xhc3RfdmFsaWRhdGlvbhgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAimQQKGUp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb24SHgoNZXZhbHVhdGlvbl9pZBgBIAEoCUIHukgEcgIQARIgCg9vcmdhbml6YXRpb25faWQYAiABKAlCB7pIBHICEAESFAoMd29ya3NwYWNlX2lkGAMgASgJEhkKCGp1ZGdlX2lkGAQgASgJQge6SARyAhABEhcKD3NjZW5hcmlvX3J1bl9pZBgFIAEoCRIUCgxhc3NlcnRpb25faWQYBiABKAkSLAoLanVkZ2Vfc2NvcmUYByABKAFCF7pIFBISGQAAAAAAAPA/KQAAAAAAAAAAEhQKDGp1ZGdlX3Bhc3NlZBgIIAEoCBIXCg9odW1hbl92YWxpZGF0ZWQYCSABKAgSMQoLaHVtYW5fc2NvcmUYCiABKAFCF7pIFBISGQAAAAAAAFlAKQAAAAAAAAAASACIAQESGAoQdmFsaWRhdGlvbl9ub3RlcxgLIAEoCRIOCgZzb3VyY2UYDCABKAkSMAoMZXZhbHVhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpjcmVhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfaHVtYW5fc2NvcmUiSAoZSnVkZ2VDYWxpYnJhdGlvbkNhbmRpZGF0ZRIZCghqdWRnZV9pZBgBIAEoCUIHukgEcgIQARIQCghhY2N1cmFjeRgCIAEoASJgCiFHZXRKdWRnZVZhbGlkYXRpb25BY2N1cmFjeVJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhkKCGp1ZGdlX2lkGAIgASgJQge6SARyAhABImEKIkdldEp1ZGdlVmFsaWRhdGlvbkFjY3VyYWN5UmVzcG9uc2USOwoHbWV0cmljcxgBIAEoCzIqLmZlcm1hdGEudjEuSnVkZ2VWYWxpZGF0aW9uQWNjdXJhY3lNZXRyaWNzImcKKEdldEp1ZGdlVmFsaWRhdGlvbkNvbmZ1c2lvbk1hdHJpeFJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhkKCGp1ZGdlX2lkGAIgASgJQge6SARyAhABImcKKUdldEp1ZGdlVmFsaWRhdGlvbkNvbmZ1c2lvbk1hdHJpeFJlc3BvbnNlEjoKBm1hdHJpeBgBIAEoCzIqLmZlcm1hdGEudjEuSnVkZ2VWYWxpZGF0aW9uQ29uZnVzaW9uTWF0cml4IlwKHUdldEp1ZGdlVmFsaWRhdGlvbkJpYXNSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIZCghqdWRnZV9pZBgCIAEoCUIHukgEcgIQASJZCh5HZXRKdWRnZVZhbGlkYXRpb25CaWFzUmVzcG9uc2USNwoHbWV0cmljcxgBIAEoCzImLmZlcm1hdGEudjEuSnVkZ2VWYWxpZGF0aW9uQmlhc01ldHJpY3MiYAohUmVjYWxpYnJhdGVKdWRnZVZhbGlkYXRpb25SZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIZCghqdWRnZV9pZBgCIAEoCUIHukgEcgIQASJhCiJSZWNhbGlicmF0ZUp1ZGdlVmFsaWRhdGlvblJlc3BvbnNlEjsKC2NhbGlicmF0aW9uGAEgASgLMiYuZmVybWF0YS52MS5KdWRnZVZhbGlkYXRpb25DYWxpYnJhdGlvbiK9AwomUmVjb3JkSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlcXVlc3QSFQoNZXZhbHVhdGlvbl9pZBgBIAEoCRIgCg9vcmdhbml6YXRpb25faWQYAiABKAlCB7pIBHICEAESFAoMd29ya3NwYWNlX2lkGAMgASgJEhkKCGp1ZGdlX2lkGAQgASgJQge6SARyAhABEhcKD3NjZW5hcmlvX3J1bl9pZBgFIAEoCRIUCgxhc3NlcnRpb25faWQYBiABKAkSLAoLanVkZ2Vfc2NvcmUYByABKAFCF7pIFBISGQAAAAAAAPA/KQAAAAAAAAAAEhQKDGp1ZGdlX3Bhc3NlZBgIIAEoCBIXCg9odW1hbl92YWxpZGF0ZWQYCSABKAgSMQoLaHVtYW5fc2NvcmUYCiABKAFCF7pIFBISGQAAAAAAAFlAKQAAAAAAAAAASACIAQESGAoQdmFsaWRhdGlvbl9ub3RlcxgLIAEoCRIOCgZzb3VyY2UYDCABKAkSMAoMZXZhbHVhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfaHVtYW5fc2NvcmUiZAonUmVjb3JkSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlc3BvbnNlEjkKCmV2YWx1YXRpb24YASABKAsyJS5mZXJtYXRhLnYxLkp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb24iyQEKKFZhbGlkYXRlSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlcXVlc3QSHgoNZXZhbHVhdGlvbl9pZBgBIAEoCUIHukgEcgIQARIgCg9vcmdhbml6YXRpb25faWQYAiABKAlCB7pIBHICEAESMQoLaHVtYW5fc2NvcmUYAyABKAFCF7pIFBISGQAAAAAAAFlAKQAAAAAAAAAASACIAQESGAoQdmFsaWRhdGlvbl9ub3RlcxgEIAEoCUIOCgxfaHVtYW5fc2NvcmUiZgopVmFsaWRhdGVKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uUmVzcG9uc2USOQoKZXZhbHVhdGlvbhgBIAEoCzIlLmZlcm1hdGEudjEuSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvbiKgAQolTGlzdEp1ZGdlQ2FsaWJyYXRpb25DYW5kaWRhdGVzUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESIAoPbWluX3ZhbGlkYXRpb25zGAIgASgFQge6SAQaAigAEjMKEmFjY3VyYWN5X3RocmVzaG9sZBgDIAEoAUIXukgUEhIZAAAAAAAA8D8pAAAAAAAAAAAivwEKJkxpc3RKdWRnZUNhbGlicmF0aW9uQ2FuZGlkYXRlc1Jlc3BvbnNlEjkKCmNhbmRpZGF0ZXMYASADKAsyJS5mZXJtYXRhLnYxLkp1ZGdlQ2FsaWJyYXRpb25DYW5kaWRhdGUSHAoLdG90YWxfY291bnQYAiABKAVCB7pIBBoCKAASIAoPbWluX3ZhbGlkYXRpb25zGAMgASgFQge6SAQaAigAEhoKEmFjY3VyYWN5X3RocmVzaG9sZBgEIAEoASIbChlHZXRNaWdyYXRpb25TdGF0dXNSZXF1ZXN0IlwKFFJvdXRlTWlncmF0aW9uU3RhdHVzEhMKC3BhdGhfcHJlZml4GAEgASgJEhAKCG1pZ3JhdGVkGAIgASgIEh0KFXByb3hpZWRfcmVxdWVzdF9jb3VudBgDIAEoAyJOChpHZXRNaWdyYXRpb25TdGF0dXNSZXNwb25zZRIwCgZyb3V0ZXMYASADKAsyIC5mZXJtYXRhLnYxLlJvdXRlTWlncmF0aW9uU3RhdHVzKucBCg1Bc3NlcnRpb25LaW5kEh4KGkFTU0VSVElPTl9LSU5EX1VOU1BFQ0lGSUVEEAASGwoXQVNTRVJUSU9OX0tJTkRfQ09OVEFJTlMQARIfChtBU1NFUlRJT05fS0lORF9OT1RfQ09OVEFJTlMQAhIYChRBU1NFUlRJT05fS0lORF9SRUdFWBADEh0KGUFTU0VSVElPTl9LSU5EX1NJTUlMQVJJVFkQBBIfChtBU1NFUlRJT05fS0lORF9DVVNUT01fSlVER0UQBRIeChpBU1NFUlRJT05fS0lORF9KU09OX1NDSEVNQRAGKogBCglKdWRnZUtpbmQSGgoWSlVER0VfS0lORF9VTlNQRUNJRklFRBAAEhIKDkpVREdFX0tJTkRfTExNEAESGQoVSlVER0VfS0lORF9SVUxFX0JBU0VEEAISGQoVSlVER0VfS0lORF9TSU1JTEFSSVRZEAMSFQoRSlVER0VfS0lORF9DVVNUT00QBCqTAgoXU2NlbmFyaW9FbnZpcm9ubWVudEtpbmQSKQolU0NFTkFSSU9fRU5WSVJPTk1FTlRfS0lORF9VTlNQRUNJRklFRBAAEiQKIFNDRU5BUklPX0VOVklST05NRU5UX0tJTkRfUkVQTEFZEAESJgoiU0NFTkFSSU9fRU5WSVJPTk1FTlRfS0lORF9TVEFSTEFSSxACEicKI1NDRU5BUklPX0VOVklST05NRU5UX0tJTkRfTU9DS19IVFRQEAMSJQohU0NFTkFSSU9fRU5WSVJPTk1FTlRfS0lORF9TQU5EQk9YEAQSLworU0NFTkFSSU9fRU5WSVJPTk1FTlRfS0lORF9QUk9EVUNUSU9OX1NIQURPVxAFKqcCChVVc2VyU2ltdWxhdG9yU3RyYXRlZ3kSJwojVVNFUl9TSU1VTEFUT1JfU1RSQVRFR1lfVU5TUEVDSUZJRUQQABInCiNVU0VSX1NJTVVMQVRPUl9TVFJBVEVHWV9DT09QRVJBVElWRRABEiEKHVVTRVJfU0lNVUxBVE9SX1NUUkFURUdZX1JFQUNUEAISIgoeVVNFUl9TSU1VTEFUT1JfU1RSQVRFR1lfVkVSSUZZEAMSJgoiVVNFUl9TSU1VTEFUT1JfU1RSQVRFR1lfUkVGTEVDVElPThAEEicKI1VTRVJfU0lNVUxBVE9SX1NUUkFURUdZX0FEVkVSU0FSSUFMEAUSJAogVVNFUl9TSU1VTEFUT1JfU1RSQVRFR1lfQ09ORlVTRUQQBiq2AgoUT3V0Y29tZUNyaXRlcmlvbktpbmQSJgoiT1VUQ09NRV9DUklURVJJT05fS0lORF9VTlNQRUNJRklFRBAAEiYKIk9VVENPTUVfQ1JJVEVSSU9OX0tJTkRfRklOQUxfU1RBVEUQARIqCiZPVVRDT01FX0NSSVRFUklPTl9LSU5EX1RBU0tfQ09NUExFVElPThACEiUKIU9VVENPTUVfQ1JJVEVSSU9OX0tJTkRfVFJBSkVDVE9SWRADEiYKIk9VVENPTUVfQ1JJVEVSSU9OX0tJTkRfQ09TVF9CVURHRVQQBBIpCiVPVVRDT01FX0NSSVRFUklPTl9LSU5EX0xBVEVOQ1lfQlVER0VUEAUSKAokT1VUQ09NRV9DUklURVJJT05fS0lORF9RVUFMSVRZX1NDT1JFEAYqugMKF0dvdmVybmFuY2VBc3NlcnRpb25UeXBlEikKJUdPVkVSTkFOQ0VfQVNTRVJUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABIxCi1HT1ZFUk5BTkNFX0FTU0VSVElPTl9UWVBFX0VTQ0FMQVRJT05fUkVRVUlSRUQQARIzCi9HT1ZFUk5BTkNFX0FTU0VSVElPTl9UWVBFX0FVVE9fUFJPQ0VFRF9FWFBFQ1RFRBACEjEKLUdPVkVSTkFOQ0VfQVNTRVJUSU9OX1RZUEVfUklTS19DTEFTU0lGSUNBVElPThADEjIKLkdPVkVSTkFOQ0VfQVNTRVJUSU9OX1RZUEVfREFUQV9BQ0NFU1NfQk9VTkRBUlkQBBI4CjRHT1ZFUk5BTkNFX0FTU0VSVElPTl9UWVBFX0dPVkVSTkFOQ0VfQkxPQ0tfUkVTUEVDVEVEEAUSMwovR09WRVJOQU5DRV9BU1NFUlRJT05fVFlQRV9TRUxGX0FQUFJPVkFMX0JMT0NLRUQQBhI2CjJHT1ZFUk5BTkNFX0FTU0VSVElPTl9UWVBFX1BJSV9ERVRFQ1RFRF9BTkRfSEFORExFRBAHKoADChdEZWxlZ2F0aW9uQXNzZXJ0aW9uVHlwZRIpCiVERUxFR0FUSU9OX0FTU0VSVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASNwozREVMRUdBVElPTl9BU1NFUlRJT05fVFlQRV9ERUxFR0FUSU9OX1RBUkdFVF9DT1JSRUNUEAESMgouREVMRUdBVElPTl9BU1NFUlRJT05fVFlQRV9DT05URVhUX1BSRVNFUlZBVElPThACEjIKLkRFTEVHQVRJT05fQVNTRVJUSU9OX1RZUEVfREVMRUdBVElPTl9WQUxVRV9BREQQAxI1CjFERUxFR0FUSU9OX0FTU0VSVElPTl9UWVBFX0RFTEVHQVRJT05fQ09TVF9CT1VOREVEEAQSMQotREVMRUdBVElPTl9BU1NFUlRJT05fVFlQRV9DSEFJTl9ERVBUSF9CT1VOREVEEAUSLworREVMRUdBVElPTl9BU1NFUlRJT05fVFlQRV9GQUlMVVJFX0lTT0xBVElPThAGKvwBChFTY2VuYXJpb1J1blN0YXR1cxIjCh9TQ0VOQVJJT19SVU5fU1RBVFVTX1VOU1BFQ0lGSUVEEAASHwobU0NFTkFSSU9fUlVOX1NUQVRVU19QRU5ESU5HEAESHwobU0NFTkFSSU9fUlVOX1NUQVRVU19SVU5OSU5HEAISHgoaU0NFTkFSSU9fUlVOX1NUQVRVU19QQVNTRUQQAxIeChpTQ0VOQVJJT19SVU5fU1RBVFVTX0ZBSUxFRBAEEh0KGVNDRU5BUklPX1JVTl9TVEFUVVNfRVJST1IQBRIhCh1TQ0VOQVJJT19SVU5fU1RBVFVTX0NBTkNFTExFRBAGKpUBChZEaWFnbm9zdGljQXJ0aWZhY3RLaW5kEigKJERJQUdOT1NUSUNfQVJUSUZBQ1RfS0lORF9VTlNQRUNJRklFRBAAEigKJERJQUdOT1NUSUNfQVJUSUZBQ1RfS0lORF9FWFBMQU5BVElPThABEicKI0RJQUdOT1NUSUNfQVJUSUZBQ1RfS0lORF9ST09UX0NBVVNFEAIqvgEKGURpYWdub3N0aWNGaW5kaW5nU2V2ZXJpdHkSKwonRElBR05PU1RJQ19GSU5ESU5HX1NFVkVSSVRZX1VOU1BFQ0lGSUVEEAASJAogRElBR05PU1RJQ19GSU5ESU5HX1NFVkVSSVRZX0lORk8QARInCiNESUFHTk9TVElDX0ZJTkRJTkdfU0VWRVJJVFlfV0FSTklORxACEiUKIURJQUdOT1NUSUNfRklORElOR19TRVZFUklUWV9FUlJPUhADMvUgCg5GZXJtYXRhU2VydmljZRKEAQoPQ3JlYXRlVGVzdFN1aXRlEiIuZmVybWF0YS52MS5DcmVhdGVUZXN0U3VpdGVSZXF1ZXN0GiMuZmVybWF0YS52MS5DcmVhdGVUZXN0U3VpdGVSZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBJ6CgxHZXRUZXN0U3VpdGUSHy5mZXJtYXRhLnYxLkdldFRlc3RTdWl0ZVJlcXVlc3QaIC5mZXJtYXRhLnYxLkdldFRlc3RTdWl0ZVJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSgAEKDkxpc3RUZXN0U3VpdGVzEiEuZmVybWF0YS52MS5MaXN0VGVzdFN1aXRlc1JlcXVlc3QaIi5mZXJtYXRhLnYxLkxpc3RUZXN0U3VpdGVzUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKBAQoOQ3JlYXRlU2NlbmFyaW8SIS5mZXJtYXRhLnYxLkNyZWF0ZVNjZW5hcmlvUmVxdWVzdBoiLmZlcm1hdGEudjEuQ3JlYXRlU2NlbmFyaW9SZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBJ3CgtHZXRTY2VuYXJpbxIeLmZlcm1hdGEudjEuR2V0U2NlbmFyaW9SZXF1ZXN0Gh8uZmVybWF0YS52MS5HZXRTY2VuYXJpb1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSfQoNTGlzdFNjZW5hcmlvcxIgLmZlcm1hdGEudjEuTGlzdFNjZW5hcmlvc1JlcXVlc3QaIS5mZXJtYXRhLnYxLkxpc3RTY2VuYXJpb3NSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEpYBChVVcHNlcnRDdXN0b21FdmFsdWF0b3ISKC5mZXJtYXRhLnYxLlVwc2VydEN1c3RvbUV2YWx1YXRvclJlcXVlc3QaKS5mZXJtYXRhLnYxLlVwc2VydEN1c3RvbUV2YWx1YXRvclJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEowBChJHZXRDdXN0b21FdmFsdWF0b3ISJS5mZXJtYXRhLnYxLkdldEN1c3RvbUV2YWx1YXRvclJlcXVlc3QaJi5mZXJtYXRhLnYxLkdldEN1c3RvbUV2YWx1YXRvclJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSkgEKFExpc3RDdXN0b21FdmFsdWF0b3JzEicuZmVybWF0YS52MS5MaXN0Q3VzdG9tRXZhbHVhdG9yc1JlcXVlc3QaKC5mZXJtYXRhLnYxLkxpc3RDdXN0b21FdmFsdWF0b3JzUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKWAQoVRGVsZXRlQ3VzdG9tRXZhbHVhdG9yEiguZmVybWF0YS52MS5EZWxldGVDdXN0b21FdmFsdWF0b3JSZXF1ZXN0GikuZmVybWF0YS52MS5EZWxldGVDdXN0b21FdmFsdWF0b3JSZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBJ4CgtVcHNlcnRKdWRnZRIeLmZlcm1hdGEudjEuVXBzZXJ0SnVkZ2VSZXF1ZXN0Gh8uZmVybWF0YS52MS5VcHNlcnRKdWRnZVJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEm4KCEdldEp1ZGdlEhsuZmVybWF0YS52MS5HZXRKdWRnZVJlcXVlc3QaHC5mZXJtYXRhLnYxLkdldEp1ZGdlUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBJ0CgpMaXN0SnVkZ2VzEh0uZmVybWF0YS52MS5MaXN0SnVkZ2VzUmVxdWVzdBoeLmZlcm1hdGEudjEuTGlzdEp1ZGdlc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSeAoLRGVsZXRlSnVkZ2USHi5mZXJtYXRhLnYxLkRlbGV0ZUp1ZGdlUmVxdWVzdBofLmZlcm1hdGEudjEuRGVsZXRlSnVkZ2VSZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBJ+Cg1TdGFydFNjZW5hcmlvEiAuZmVybWF0YS52MS5TdGFydFNjZW5hcmlvUmVxdWVzdBohLmZlcm1hdGEudjEuU3RhcnRTY2VuYXJpb1Jlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGAPq8xgPb3JnYW5pemF0aW9uX2lkEqIBChZDcmVhdGVBbmRTdGFydFNjZW5hcmlvEikuZmVybWF0YS52MS5DcmVhdGVBbmRTdGFydFNjZW5hcmlvUmVxdWVzdBoqLmZlcm1hdGEudjEuQ3JlYXRlQW5kU3RhcnRTY2VuYXJpb1Jlc3BvbnNlIjHK8xgNZmVybWF0YTp3cml0ZdjzGAPq8xgYc2NlbmFyaW8ub3JnYW5pemF0aW9uX2lkEooBChFSZWNvcmRTY2VuYXJpb1J1bhIkLmZlcm1hdGEudjEuUmVjb3JkU2NlbmFyaW9SdW5SZXF1ZXN0GiUuZmVybWF0YS52MS5SZWNvcmRTY2VuYXJpb1J1blJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEoABCg5HZXRTY2VuYXJpb1J1bhIhLmZlcm1hdGEudjEuR2V0U2NlbmFyaW9SdW5SZXF1ZXN0GiIuZmVybWF0YS52MS5HZXRTY2VuYXJpb1J1blJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQShgEKEExpc3RTY2VuYXJpb1J1bnMSIy5mZXJtYXRhLnYxLkxpc3RTY2VuYXJpb1J1bnNSZXF1ZXN0GiQuZmVybWF0YS52MS5MaXN0U2NlbmFyaW9SdW5zUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKMAQoSRXhwbGFpblNjZW5hcmlvUnVuEiUuZmVybWF0YS52MS5FeHBsYWluU2NlbmFyaW9SdW5SZXF1ZXN0GiYuZmVybWF0YS52MS5FeHBsYWluU2NlbmFyaW9SdW5SZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGALq8xgPb3JnYW5pemF0aW9uX2lkEqcBChtBbmFseXplU2NlbmFyaW9SdW5Sb290Q2F1c2USLi5mZXJtYXRhLnYxLkFuYWx5emVTY2VuYXJpb1J1blJvb3RDYXVzZVJlcXVlc3QaLy5mZXJtYXRhLnYxLkFuYWx5emVTY2VuYXJpb1J1blJvb3RDYXVzZVJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAurzGA9vcmdhbml6YXRpb25faWQSpAEKGkdldEp1ZGdlVmFsaWRhdGlvbkFjY3VyYWN5Ei0uZmVybWF0YS52MS5HZXRKdWRnZVZhbGlkYXRpb25BY2N1cmFjeVJlcXVlc3QaLi5mZXJtYXRhLnYxLkdldEp1ZGdlVmFsaWRhdGlvbkFjY3VyYWN5UmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBK5AQohR2V0SnVkZ2VWYWxpZGF0aW9uQ29uZnVzaW9uTWF0cml4EjQuZmVybWF0YS52MS5HZXRKdWRnZVZhbGlkYXRpb25Db25mdXNpb25NYXRyaXhSZXF1ZXN0GjUuZmVybWF0YS52MS5HZXRKdWRnZVZhbGlkYXRpb25Db25mdXNpb25NYXRyaXhSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEpgBChZHZXRKdWRnZVZhbGlkYXRpb25CaWFzEikuZmVybWF0YS52MS5HZXRKdWRnZVZhbGlkYXRpb25CaWFzUmVxdWVzdBoqLmZlcm1hdGEudjEuR2V0SnVkZ2VWYWxpZGF0aW9uQmlhc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSpQEKGlJlY2FsaWJyYXRlSnVkZ2VWYWxpZGF0aW9uEi0uZmVybWF0YS52MS5SZWNhbGlicmF0ZUp1ZGdlVmFsaWRhdGlvblJlcXVlc3QaLi5mZXJtYXRhLnYxLlJlY2FsaWJyYXRlSnVkZ2VWYWxpZGF0aW9uUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQStAEKH1JlY29yZEp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb24SMi5mZXJtYXRhLnYxLlJlY29yZEp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb25SZXF1ZXN0GjMuZmVybWF0YS52MS5SZWNvcmRKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSugEKIVZhbGlkYXRlSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvbhI0LmZlcm1hdGEudjEuVmFsaWRhdGVKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uUmVxdWVzdBo1LmZlcm1hdGEudjEuVmFsaWRhdGVKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSsAEKHkxpc3RKdWRnZUNhbGlicmF0aW9uQ2FuZGlkYXRlcxIxLmZlcm1hdGEudjEuTGlzdEp1ZGdlQ2FsaWJyYXRpb25DYW5kaWRhdGVzUmVxdWVzdBoyLmZlcm1hdGEudjEuTGlzdEp1ZGdlQ2FsaWJyYXRpb25DYW5kaWRhdGVzUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBJtChJHZXRNaWdyYXRpb25TdGF0dXMSJS5mZXJtYXRhLnYxLkdldE1pZ3JhdGlvblN0YXR1c1JlcXVlc3QaJi5mZXJtYXRhLnYxLkdldE1pZ3JhdGlvblN0YXR1c1Jlc3BvbnNlIgjY8xgB4PMYAUI5WjdnaXRodWIuY29tL2V2YWxvcHMvcGxhdGZvcm0vZ2VuL2dvL2Zlcm1hdGEvdjE7ZmVybWF0YXYxYgZwcm90bzM", [file_buf_validate_validate, file_common_v1_analytics, file_common_v1_authz, file_common_v1_risk, file_google_protobuf_duration, file_google_protobuf_struct, file_google_protobuf_timestamp, file_traces_v1_traces]);
14
+ export const file_fermata_v1_fermata = /*@__PURE__*/ fileDesc("ChhmZXJtYXRhL3YxL2Zlcm1hdGEucHJvdG8SCmZlcm1hdGEudjEiqwIKCVRlc3RTdWl0ZRIKCgJpZBgBIAEoCRIXCg9vcmdhbml6YXRpb25faWQYAiABKAkSHQoMd29ya3NwYWNlX2lkGAMgASgJQge6SARyAhABEhUKBG5hbWUYBCABKAlCB7pIBHICEAESEwoLZGVzY3JpcHRpb24YBSABKAkSIwoFY2FzZXMYBiADKAsyFC5mZXJtYXRhLnYxLlRlc3RDYXNlEikKCG1ldGFkYXRhGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKrAQoIVGVzdENhc2USCgoCaWQYASABKAkSFQoEbmFtZRgCIAEoCUIHukgEcgIQARINCgVpbnB1dBgDIAEoCRIXCg9leHBlY3RlZF9vdXRwdXQYBCABKAkSKQoKYXNzZXJ0aW9ucxgFIAMoCzIVLmZlcm1hdGEudjEuQXNzZXJ0aW9uEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKsAQoJQXNzZXJ0aW9uEgoKAmlkGAEgASgJEjEKBGtpbmQYAiABKA4yGS5mZXJtYXRhLnYxLkFzc2VydGlvbktpbmRCCLpIBYIBAhABEg4KBnRhcmdldBgDIAEoCRIQCghleHBlY3RlZBgEIAEoCRITCgtkZXNjcmlwdGlvbhgFIAEoCRIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi0AEKD0N1c3RvbUV2YWx1YXRvchIVCgRuYW1lGAEgASgJQge6SARyAhABEhcKBnNvdXJjZRgCIAEoCUIHukgEcgIQARIuCgpjcmVhdGVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9vcmdhbml6YXRpb25faWQYBSABKAkSFAoMd29ya3NwYWNlX2lkGAYgASgJIqMDCgVKdWRnZRIVCgRuYW1lGAEgASgJQge6SARyAhABEi0KBGtpbmQYAiABKA4yFS5mZXJtYXRhLnYxLkp1ZGdlS2luZEIIukgFggECEAESDgoGcHJvbXB0GAMgASgJEg0KBW1vZGVsGAQgASgJEiwKC3RlbXBlcmF0dXJlGAUgASgBQhe6SBQSEhkAAAAAAAAAQCkAAAAAAAAAABIbCgptYXhfdG9rZW5zGAYgASgFQge6SAQaAigAEhAKCGNyaXRlcmlhGAcgAygJEh4KBndlaWdodBgIIAEoAUIOukgLEgkpAAAAAAAAAAASKQoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KCmNyZWF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD29yZ2FuaXphdGlvbl9pZBgMIAEoCRIUCgx3b3Jrc3BhY2VfaWQYDSABKAkiugYKCFNjZW5hcmlvEgoKAmlkGAEgASgJEiAKD29yZ2FuaXphdGlvbl9pZBgCIAEoCUIHukgEcgIQARIdCgx3b3Jrc3BhY2VfaWQYAyABKAlCB7pIBHICEAESFQoEbmFtZRgEIAEoCUIHukgEcgIQARITCgtkZXNjcmlwdGlvbhgFIAEoCRIoCglvYmplY3RpdmUYBiABKAsyFS5mZXJtYXRhLnYxLk9iamVjdGl2ZRItCgxhZ2VudF9jb25maWcYByABKAsyFy5mZXJtYXRhLnYxLkFnZW50Q29uZmlnEjQKC2Vudmlyb25tZW50GAggASgLMh8uZmVybWF0YS52MS5TY2VuYXJpb0Vudmlyb25tZW50EjEKDnVzZXJfc2ltdWxhdG9yGAkgASgLMhkuZmVybWF0YS52MS5Vc2VyU2ltdWxhdG9yEiIKCG1heF9jb3N0GAogASgLMhAuY29tbW9uLnYxLk1vbmV5Ei8KDG1heF9kdXJhdGlvbhgLIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIaCgltYXhfc3RlcHMYDCABKAVCB7pIBBoCKAASJgoVbWF4X2FwcHJvdmFsX3JlcXVlc3RzGA0gASgFQge6SAQaAigAEjYKEG91dGNvbWVfY3JpdGVyaWEYDiADKAsyHC5mZXJtYXRhLnYxLk91dGNvbWVDcml0ZXJpb24SPgoVZ292ZXJuYW5jZV9hc3NlcnRpb25zGA8gAygLMh8uZmVybWF0YS52MS5Hb3Zlcm5hbmNlQXNzZXJ0aW9uEj4KFWRlbGVnYXRpb25fYXNzZXJ0aW9ucxgQIAMoCzIfLmZlcm1hdGEudjEuRGVsZWdhdGlvbkFzc2VydGlvbhIXCgZlcG9jaHMYESABKAVCB7pIBBoCKAASKQoIbWV0YWRhdGEYEiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KCmNyZWF0ZWRfYXQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYFCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIu8BCglPYmplY3RpdmUSHAoLZGVzY3JpcHRpb24YASABKAlCB7pIBHICEAESNgoQc3VjY2Vzc19jcml0ZXJpYRgCIAMoCzIcLmZlcm1hdGEudjEuU3VjY2Vzc0NyaXRlcmlvbhJACg5leHBlY3RlZF9zdGF0ZRgDIAMoCzIoLmZlcm1hdGEudjEuT2JqZWN0aXZlLkV4cGVjdGVkU3RhdGVFbnRyeRIUCgxvYmplY3RpdmVfaWQYBCABKAkaNAoSRXhwZWN0ZWRTdGF0ZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEirwEKEFN1Y2Nlc3NDcml0ZXJpb24SCgoCaWQYASABKAkSHAoLZGVzY3JpcHRpb24YAiABKAlCB7pIBHICEAESDgoGbWV0cmljGAMgASgJEhYKDmV4cGVjdGVkX3ZhbHVlGAQgASgJEh4KBndlaWdodBgFIAEoAUIOukgLEgkpAAAAAAAAAAASKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IqUBCgtBZ2VudENvbmZpZxIQCghhZ2VudF9pZBgBIAEoCRINCgVtb2RlbBgCIAEoCRIRCgl0b29sX3JlZnMYAyADKAkSGQoRcGVybWlzc2lvbl9zY29wZXMYBCADKAkSHAoUZ292ZXJuYW5jZV9wb2xpY3lfaWQYBSABKAkSKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IvcBChNTY2VuYXJpb0Vudmlyb25tZW50EjsKBGtpbmQYASABKA4yIy5mZXJtYXRhLnYxLlNjZW5hcmlvRW52aXJvbm1lbnRLaW5kQgi6SAWCAQIQARIjCgV0b29scxgCIAMoCzIULmZlcm1hdGEudjEuTW9ja1Rvb2wSKwoJZW5kcG9pbnRzGAMgAygLMhguZmVybWF0YS52MS5Nb2NrRW5kcG9pbnQSFQoNc2VlZF9kYXRhX3JlZhgEIAEoCRIPCgdzYW5kYm94GAUgASgJEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCK7AQoITW9ja1Rvb2wSFQoEbmFtZRgBIAEoCUIHukgEcgIQARITCgtkZXNjcmlwdGlvbhgCIAEoCRItCgxpbnB1dF9zY2hlbWEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCHJlc3BvbnNlGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIpCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiqQEKDE1vY2tFbmRwb2ludBIOCgZtZXRob2QYASABKAkSFQoEcGF0aBgCIAEoCUIHukgEcgIQARIcCgtzdGF0dXNfY29kZRgDIAEoBUIHukgEGgIoABIpCghyZXNwb25zZRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIbWV0YWRhdGEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IocCCg1Vc2VyU2ltdWxhdG9yEg8KB3BlcnNvbmEYASABKAkSFAoMaW5zdHJ1Y3Rpb25zGAIgASgJEj0KCHN0cmF0ZWd5GAMgASgOMiEuZmVybWF0YS52MS5Vc2VyU2ltdWxhdG9yU3RyYXRlZ3lCCLpIBYIBAhABEg0KBW1vZGVsGAQgASgJEhoKCW1heF90dXJucxgFIAEoBUIHukgEGgIoABIbChN2ZXJpZnlfYWdlbnRfY2xhaW1zGAYgASgIEh0KFXJlcXVlc3RfY2xhcmlmaWNhdGlvbhgHIAEoCBIpCghtZXRhZGF0YRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QixQEKEE91dGNvbWVDcml0ZXJpb24SCgoCaWQYASABKAkSOAoEa2luZBgCIAEoDjIgLmZlcm1hdGEudjEuT3V0Y29tZUNyaXRlcmlvbktpbmRCCLpIBYIBAhABEg4KBnRhcmdldBgDIAEoCRIQCghleHBlY3RlZBgEIAEoCRIeCgZ3ZWlnaHQYBSABKAFCDrpICxIJKQAAAAAAAAAAEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLcAgoTR292ZXJuYW5jZUFzc2VydGlvbhIKCgJpZBgBIAEoCRI7CgR0eXBlGAIgASgOMiMuZmVybWF0YS52MS5Hb3Zlcm5hbmNlQXNzZXJ0aW9uVHlwZUIIukgFggECEAESOwoTZXhwZWN0ZWRfcmlza19sZXZlbBgDIAEoDjIULmNvbW1vbi52MS5SaXNrTGV2ZWxCCLpIBYIBAhABEhcKD3Nob3VsZF9lc2NhbGF0ZRgEIAEoCBIhChlleHBlY3RlZF9hcHByb3ZhbF9vdXRjb21lGAUgASgJEhsKE2FsbG93ZWRfZGF0YV9zY29wZXMYBiADKAkSGgoSZGVuaWVkX2RhdGFfc2NvcGVzGAcgAygJEh8KF2V4cGVjdGVkX3BpaV9jYXRlZ29yaWVzGAggAygJEikKCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLqAQoTRGVsZWdhdGlvbkFzc2VydGlvbhIKCgJpZBgBIAEoCRI7CgR0eXBlGAIgASgOMiMuZmVybWF0YS52MS5EZWxlZ2F0aW9uQXNzZXJ0aW9uVHlwZUIIukgFggECEAESGQoRZXhwZWN0ZWRfYWdlbnRfaWQYAyABKAkSIAoPbWF4X2NoYWluX2RlcHRoGAQgASgFQge6SAQaAigAEiIKCG1heF9jb3N0GAUgASgLMhAuY29tbW9uLnYxLk1vbmV5EikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKIBAoLU2NlbmFyaW9SdW4SCgoCaWQYASABKAkSHAoLc2NlbmFyaW9faWQYAiABKAlCB7pIBHICEAESIAoPb3JnYW5pemF0aW9uX2lkGAMgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgEIAEoCUIHukgEcgIQARIWCgVlcG9jaBgFIAEoBUIHukgEGgIoABI3CgZzdGF0dXMYBiABKA4yHS5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuU3RhdHVzQgi6SAWCAQIQARIqCgZyZXN1bHQYByABKAsyGi5mZXJtYXRhLnYxLlNjZW5hcmlvUmVzdWx0EhAKCHRyYWNlX2lkGAggASgJEikKCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpzdGFydGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmxpbmVhZ2VfaWQYDiABKAkisQYKDlNjZW5hcmlvUmVzdWx0EhoKEm9iamVjdGl2ZV9hY2hpZXZlZBgBIAEoCBIZChFvYmplY3RpdmVfc3VtbWFyeRgCIAEoCRIcCgt0b3RhbF9zdGVwcxgDIAEoBUIHukgEGgIoABIcCgttb2RlbF9jYWxscxgEIAEoBUIHukgEGgIoABIbCgp0b29sX2NhbGxzGAUgASgFQge6SAQaAigAEiIKEWFwcHJvdmFsX3JlcXVlc3RzGAYgASgFQge6SAQaAigAEiIKEWRlbGVnYXRpb25fZXZlbnRzGAcgASgFQge6SAQaAigAEiAKD3JlY292ZXJ5X2V2ZW50cxgIIAEoBUIHukgEGgIoABI+ChFhc3NlcnRpb25fcmVzdWx0cxgJIAMoCzIjLmZlcm1hdGEudjEuU2NlbmFyaW9Bc3NlcnRpb25SZXN1bHQSLwoKZ292ZXJuYW5jZRgKIAEoCzIbLmZlcm1hdGEudjEuR292ZXJuYW5jZVNjb3JlEiwKCWVjb25vbWljcxgLIAEoCzIZLmZlcm1hdGEudjEuRWNvbm9taWNTY29yZRIhCglwYXNzX2F0X2sYDCABKAFCDrpICxIJKQAAAAAAAAAAEi8KCmRlbGVnYXRpb24YDSABKAsyGy5mZXJtYXRhLnYxLkRlbGVnYXRpb25TY29yZRIkCgp0b3RhbF9jb3N0GA4gASgLMhAuY29tbW9uLnYxLk1vbmV5EjEKDnRvdGFsX2R1cmF0aW9uGA8gASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEikKCG1ldGFkYXRhGBAgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIjCgp0cmFqZWN0b3J5GBEgAygLMg8udHJhY2VzLnYxLlNwYW4SJQoNdHJhamVjdG9yeV9mMRgSIAEoAUIOukgLEgkpAAAAAAAAAAASNgoedHJhamVjdG9yeV9lZGl0X2Rpc3RhbmNlX3Njb3JlGBMgASgBQg66SAsSCSkAAAAAAAAAABIqCgVkcmlmdBgUIAEoCzIbLmZlcm1hdGEudjEuRHJpZnRDb21wYXJpc29uIpoBChdTY2VuYXJpb0Fzc2VydGlvblJlc3VsdBIUCgxhc3NlcnRpb25faWQYASABKAkSDgoGcGFzc2VkGAIgASgIEg0KBXNjb3JlGAMgASgBEg4KBmFjdHVhbBgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKPAgoPR292ZXJuYW5jZVNjb3JlEiwKFGVzY2FsYXRpb25fcHJlY2lzaW9uGAEgASgBQg66SAsSCSkAAAAAAAAAABIpChFlc2NhbGF0aW9uX3JlY2FsbBgCIAEoAUIOukgLEgkpAAAAAAAAAAASKQoRcG9saWN5X2NvbXBsaWFuY2UYAyABKAFCDrpICxIJKQAAAAAAAAAAEisKE2FwcHJvdmFsX2VmZmljaWVuY3kYBCABKAFCDrpICxIJKQAAAAAAAAAAEiEKCWNvbXBvc2l0ZRgFIAEoAUIOukgLEgkpAAAAAAAAAAASKAoIZXZpZGVuY2UYBiADKAsyFi5jb21tb24udjEuRXZpZGVuY2VSZWYigAIKDUVjb25vbWljU2NvcmUSMgoYY29zdF9wZXJfc3VjY2Vzc2Z1bF90YXNrGAEgASgLMhAuY29tbW9uLnYxLk1vbmV5EiIKCGxsbV9jb3N0GAIgASgLMhAuY29tbW9uLnYxLk1vbmV5EiMKCXRvb2xfY29zdBgDIAEoCzIQLmNvbW1vbi52MS5Nb25leRIqChBzdXBlcnZpc2lvbl9jb3N0GAQgASgLMhAuY29tbW9uLnYxLk1vbmV5EhoKEm9uX3BhcmV0b19mcm9udGllchgFIAEoCBIqChJxdWFsaXR5X3Blcl9kb2xsYXIYBiABKAFCDrpICxIJKQAAAAAAAAAAIsoBCg9EZWxlZ2F0aW9uU2NvcmUSKwoTZGVsZWdhdGlvbl9hY2N1cmFjeRgBIAEoAUIOukgLEgkpAAAAAAAAAAASKAoQY29udGV4dF9maWRlbGl0eRgCIAEoAUIOukgLEgkpAAAAAAAAAAASFwoPZWZmaWNpZW5jeV9nYWluGAMgASgBEikKEWZhaWx1cmVfaXNvbGF0aW9uGAQgASgBQg66SAsSCSkAAAAAAAAAABIcCgtjaGFpbl9kZXB0aBgFIAEoBUIHukgEGgIoACLeAwoPRHJpZnRDb21wYXJpc29uEhAKCGRldGVjdGVkGAEgASgIEi4KFmJhc2VsaW5lX3F1YWxpdHlfc2NvcmUYAiABKAFCDrpICxIJKQAAAAAAAAAAEi0KFWN1cnJlbnRfcXVhbGl0eV9zY29yZRgDIAEoAUIOukgLEgkpAAAAAAAAAAASFQoNcXVhbGl0eV9kZWx0YRgEIAEoARInCg1iYXNlbGluZV9jb3N0GAUgASgLMhAuY29tbW9uLnYxLk1vbmV5EiYKDGN1cnJlbnRfY29zdBgGIAEoCzIQLmNvbW1vbi52MS5Nb25leRIkCgpjb3N0X2RlbHRhGAcgASgLMhAuY29tbW9uLnYxLk1vbmV5EjAKGGJhc2VsaW5lX2VzY2FsYXRpb25fcmF0ZRgIIAEoAUIOukgLEgkpAAAAAAAAAAASLwoXY3VycmVudF9lc2NhbGF0aW9uX3JhdGUYCSABKAFCDrpICxIJKQAAAAAAAAAAEh0KFWVzY2FsYXRpb25fcmF0ZV9kZWx0YRgKIAEoARIgChhnZW5lcmF0ZWRfc3VpdGVfc3RyYXRlZ3kYCyABKAkSKAoIZXZpZGVuY2UYDCADKAsyFi5jb21tb24udjEuRXZpZGVuY2VSZWYi1QEKFkNyZWF0ZVRlc3RTdWl0ZVJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgCIAEoCUIHukgEcgIQARIVCgRuYW1lGAMgASgJQge6SARyAhABEhMKC2Rlc2NyaXB0aW9uGAQgASgJEiMKBWNhc2VzGAUgAygLMhQuZmVybWF0YS52MS5UZXN0Q2FzZRIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiPwoXQ3JlYXRlVGVzdFN1aXRlUmVzcG9uc2USJAoFc3VpdGUYASABKAsyFS5mZXJtYXRhLnYxLlRlc3RTdWl0ZSJfChNHZXRUZXN0U3VpdGVSZXF1ZXN0EhkKCHN1aXRlX2lkGAEgASgJQge6SARyAhABEhcKD29yZ2FuaXphdGlvbl9pZBgCIAEoCRIUCgx3b3Jrc3BhY2VfaWQYAyABKAkiPAoUR2V0VGVzdFN1aXRlUmVzcG9uc2USJAoFc3VpdGUYASABKAsyFS5mZXJtYXRhLnYxLlRlc3RTdWl0ZSKAAQoVTGlzdFRlc3RTdWl0ZXNSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSFgoFbGltaXQYAyABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAQgASgFQge6SAQaAigAIlEKFkxpc3RUZXN0U3VpdGVzUmVzcG9uc2USJQoGc3VpdGVzGAEgAygLMhUuZmVybWF0YS52MS5UZXN0U3VpdGUSEAoIaGFzX21vcmUYAiABKAgi4wUKFUNyZWF0ZVNjZW5hcmlvUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESHQoMd29ya3NwYWNlX2lkGAIgASgJQge6SARyAhABEhUKBG5hbWUYAyABKAlCB7pIBHICEAESEwoLZGVzY3JpcHRpb24YBCABKAkSMAoJb2JqZWN0aXZlGAUgASgLMhUuZmVybWF0YS52MS5PYmplY3RpdmVCBrpIA8gBARItCgxhZ2VudF9jb25maWcYBiABKAsyFy5mZXJtYXRhLnYxLkFnZW50Q29uZmlnEjQKC2Vudmlyb25tZW50GAcgASgLMh8uZmVybWF0YS52MS5TY2VuYXJpb0Vudmlyb25tZW50EjEKDnVzZXJfc2ltdWxhdG9yGAggASgLMhkuZmVybWF0YS52MS5Vc2VyU2ltdWxhdG9yEiIKCG1heF9jb3N0GAkgASgLMhAuY29tbW9uLnYxLk1vbmV5Ei8KDG1heF9kdXJhdGlvbhgKIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIaCgltYXhfc3RlcHMYCyABKAVCB7pIBBoCKAASJgoVbWF4X2FwcHJvdmFsX3JlcXVlc3RzGAwgASgFQge6SAQaAigAEjYKEG91dGNvbWVfY3JpdGVyaWEYDSADKAsyHC5mZXJtYXRhLnYxLk91dGNvbWVDcml0ZXJpb24SPgoVZ292ZXJuYW5jZV9hc3NlcnRpb25zGA4gAygLMh8uZmVybWF0YS52MS5Hb3Zlcm5hbmNlQXNzZXJ0aW9uEj4KFWRlbGVnYXRpb25fYXNzZXJ0aW9ucxgPIAMoCzIfLmZlcm1hdGEudjEuRGVsZWdhdGlvbkFzc2VydGlvbhIXCgZlcG9jaHMYECABKAVCB7pIBBoCKAASKQoIbWV0YWRhdGEYESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IkAKFkNyZWF0ZVNjZW5hcmlvUmVzcG9uc2USJgoIc2NlbmFyaW8YASABKAsyFC5mZXJtYXRhLnYxLlNjZW5hcmlvImEKEkdldFNjZW5hcmlvUmVxdWVzdBIcCgtzY2VuYXJpb19pZBgBIAEoCUIHukgEcgIQARIXCg9vcmdhbml6YXRpb25faWQYAiABKAkSFAoMd29ya3NwYWNlX2lkGAMgASgJIj0KE0dldFNjZW5hcmlvUmVzcG9uc2USJgoIc2NlbmFyaW8YASABKAsyFC5mZXJtYXRhLnYxLlNjZW5hcmlvIn8KFExpc3RTY2VuYXJpb3NSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSFgoFbGltaXQYAyABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAQgASgFQge6SAQaAigAIlIKFUxpc3RTY2VuYXJpb3NSZXNwb25zZRInCglzY2VuYXJpb3MYASADKAsyFC5mZXJtYXRhLnYxLlNjZW5hcmlvEhAKCGhhc19tb3JlGAIgASgIIn0KHFVwc2VydEN1c3RvbUV2YWx1YXRvclJlcXVlc3QSFQoEbmFtZRgBIAEoCUIHukgEcgIQARIXCgZzb3VyY2UYAiABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAMgASgJEhQKDHdvcmtzcGFjZV9pZBgEIAEoCSJPCh1VcHNlcnRDdXN0b21FdmFsdWF0b3JSZXNwb25zZRIuCglldmFsdWF0b3IYASABKAsyGy5mZXJtYXRhLnYxLkN1c3RvbUV2YWx1YXRvciJhChlHZXRDdXN0b21FdmFsdWF0b3JSZXF1ZXN0EhUKBG5hbWUYASABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSJMChpHZXRDdXN0b21FdmFsdWF0b3JSZXNwb25zZRIuCglldmFsdWF0b3IYASABKAsyGy5mZXJtYXRhLnYxLkN1c3RvbUV2YWx1YXRvciJ9ChtMaXN0Q3VzdG9tRXZhbHVhdG9yc1JlcXVlc3QSFgoFbGltaXQYASABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAIgASgFQge6SAQaAigAEhcKD29yZ2FuaXphdGlvbl9pZBgDIAEoCRIUCgx3b3Jrc3BhY2VfaWQYBCABKAkiYQocTGlzdEN1c3RvbUV2YWx1YXRvcnNSZXNwb25zZRIvCgpldmFsdWF0b3JzGAEgAygLMhsuZmVybWF0YS52MS5DdXN0b21FdmFsdWF0b3ISEAoIaGFzX21vcmUYAiABKAgiZAocRGVsZXRlQ3VzdG9tRXZhbHVhdG9yUmVxdWVzdBIVCgRuYW1lGAEgASgJQge6SARyAhABEhcKD29yZ2FuaXphdGlvbl9pZBgCIAEoCRIUCgx3b3Jrc3BhY2VfaWQYAyABKAkiHwodRGVsZXRlQ3VzdG9tRXZhbHVhdG9yUmVzcG9uc2Ui0AIKElVwc2VydEp1ZGdlUmVxdWVzdBIVCgRuYW1lGAEgASgJQge6SARyAhABEi0KBGtpbmQYAiABKA4yFS5mZXJtYXRhLnYxLkp1ZGdlS2luZEIIukgFggECEAESDgoGcHJvbXB0GAMgASgJEg0KBW1vZGVsGAQgASgJEiwKC3RlbXBlcmF0dXJlGAUgASgBQhe6SBQSEhkAAAAAAAAAQCkAAAAAAAAAABIbCgptYXhfdG9rZW5zGAYgASgFQge6SAQaAigAEhAKCGNyaXRlcmlhGAcgAygJEh4KBndlaWdodBgIIAEoAUIOukgLEgkpAAAAAAAAAAASKQoIbWV0YWRhdGEYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhcKD29yZ2FuaXphdGlvbl9pZBgKIAEoCRIUCgx3b3Jrc3BhY2VfaWQYCyABKAkiNwoTVXBzZXJ0SnVkZ2VSZXNwb25zZRIgCgVqdWRnZRgBIAEoCzIRLmZlcm1hdGEudjEuSnVkZ2UiVwoPR2V0SnVkZ2VSZXF1ZXN0EhUKBG5hbWUYASABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSI0ChBHZXRKdWRnZVJlc3BvbnNlEiAKBWp1ZGdlGAEgASgLMhEuZmVybWF0YS52MS5KdWRnZSJzChFMaXN0SnVkZ2VzUmVxdWVzdBIWCgVsaW1pdBgBIAEoBUIHukgEGgIoABIXCgZvZmZzZXQYAiABKAVCB7pIBBoCKAASFwoPb3JnYW5pemF0aW9uX2lkGAMgASgJEhQKDHdvcmtzcGFjZV9pZBgEIAEoCSJJChJMaXN0SnVkZ2VzUmVzcG9uc2USIQoGanVkZ2VzGAEgAygLMhEuZmVybWF0YS52MS5KdWRnZRIQCghoYXNfbW9yZRgCIAEoCCJaChJEZWxldGVKdWRnZVJlcXVlc3QSFQoEbmFtZRgBIAEoCUIHukgEcgIQARIXCg9vcmdhbml6YXRpb25faWQYAiABKAkSFAoMd29ya3NwYWNlX2lkGAMgASgJIhUKE0RlbGV0ZUp1ZGdlUmVzcG9uc2UivgIKFFN0YXJ0U2NlbmFyaW9SZXF1ZXN0EhwKC3NjZW5hcmlvX2lkGAEgASgJQge6SARyAhABEhUKDXJ1bl9pZF9wcmVmaXgYAiABKAkSEAoIdHJhY2VfaWQYAyABKAkSKAoHYWN0dWFscxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoNZXBvY2hfYWN0dWFscxgFIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhcKBmVwb2NocxgHIAEoBUIHukgEGgIoABISCgpsaW5lYWdlX2lkGAggASgJEhcKD29yZ2FuaXphdGlvbl9pZBgJIAEoCRIUCgx3b3Jrc3BhY2VfaWQYCiABKAkiYQoVU3RhcnRTY2VuYXJpb1Jlc3BvbnNlEiUKBHJ1bnMYASADKAsyFy5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuEiEKEHB1Ymxpc2hlZF9ldmVudHMYAiABKAVCB7pIBBoCKAAivQIKHUNyZWF0ZUFuZFN0YXJ0U2NlbmFyaW9SZXF1ZXN0EjsKCHNjZW5hcmlvGAEgASgLMiEuZmVybWF0YS52MS5DcmVhdGVTY2VuYXJpb1JlcXVlc3RCBrpIA8gBARIVCg1ydW5faWRfcHJlZml4GAIgASgJEhAKCHRyYWNlX2lkGAMgASgJEigKB2FjdHVhbHMYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KDWVwb2NoX2FjdHVhbHMYBSADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei8KDnN0YXJ0X21ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIXCgZlcG9jaHMYByABKAVCB7pIBBoCKAASEgoKbGluZWFnZV9pZBgIIAEoCSKSAQoeQ3JlYXRlQW5kU3RhcnRTY2VuYXJpb1Jlc3BvbnNlEiYKCHNjZW5hcmlvGAEgASgLMhQuZmVybWF0YS52MS5TY2VuYXJpbxIlCgRydW5zGAIgAygLMhcuZmVybWF0YS52MS5TY2VuYXJpb1J1bhIhChBwdWJsaXNoZWRfZXZlbnRzGAMgASgFQge6SAQaAigAIrUDChhSZWNvcmRTY2VuYXJpb1J1blJlcXVlc3QSCgoCaWQYASABKAkSHAoLc2NlbmFyaW9faWQYAiABKAlCB7pIBHICEAESIAoPb3JnYW5pemF0aW9uX2lkGAMgASgJQge6SARyAhABEh0KDHdvcmtzcGFjZV9pZBgEIAEoCUIHukgEcgIQARIWCgVlcG9jaBgFIAEoBUIHukgEGgIoABI3CgZzdGF0dXMYBiABKA4yHS5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuU3RhdHVzQgi6SAWCAQIQARIqCgZyZXN1bHQYByABKAsyGi5mZXJtYXRhLnYxLlNjZW5hcmlvUmVzdWx0EhAKCHRyYWNlX2lkGAggASgJEikKCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpzdGFydGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmxpbmVhZ2VfaWQYDCABKAkiQQoZUmVjb3JkU2NlbmFyaW9SdW5SZXNwb25zZRIkCgNydW4YASABKAsyFy5mZXJtYXRhLnYxLlNjZW5hcmlvUnVuIl8KFUdldFNjZW5hcmlvUnVuUmVxdWVzdBIXCgZydW5faWQYASABKAlCB7pIBHICEAESFwoPb3JnYW5pemF0aW9uX2lkGAIgASgJEhQKDHdvcmtzcGFjZV9pZBgDIAEoCSI+ChZHZXRTY2VuYXJpb1J1blJlc3BvbnNlEiQKA3J1bhgBIAEoCzIXLmZlcm1hdGEudjEuU2NlbmFyaW9SdW4ilwEKF0xpc3RTY2VuYXJpb1J1bnNSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSEwoLc2NlbmFyaW9faWQYAyABKAkSFgoFbGltaXQYBCABKAVCB7pIBBoCKAASFwoGb2Zmc2V0GAUgASgFQge6SAQaAigAIlMKGExpc3RTY2VuYXJpb1J1bnNSZXNwb25zZRIlCgRydW5zGAEgAygLMhcuZmVybWF0YS52MS5TY2VuYXJpb1J1bhIQCghoYXNfbW9yZRgCIAEoCCKZAQoqR2V0RXZhbHVhdGlvbk9ic2VydmFiaWxpdHlEYXNoYm9hcmRSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSGAoEZGF5cxgDIAEoBUIKukgHGgUY7QIoABIZCgVsaW1pdBgEIAEoBUIKukgHGgUY9AMoACKVAwoeRXZhbHVhdGlvbk9ic2VydmFiaWxpdHlTdW1tYXJ5EhsKCnRvdGFsX3J1bnMYASABKAVCB7pIBBoCKAASHgoNdG90YWxfcmVzdWx0cxgCIAEoBUIHukgEGgIoABIfCg5mYWlsZWRfcmVzdWx0cxgDIAEoBUIHukgEGgIoABIlCg1hdmVyYWdlX3Njb3JlGAQgASgBQg66SAsSCSkAAAAAAAAAABIhCglwYXNzX3JhdGUYBSABKAFCDrpICxIJKQAAAAAAAAAAEiQKCnRvdGFsX2Nvc3QYBiABKAsyEC5jb21tb24udjEuTW9uZXkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAcgASgBQg66SAsSCSkAAAAAAAAAABIdCgx0b3RhbF90b2tlbnMYCCABKANCB7pIBCICKAASJwoWcmVncmVzc2lvbl9hbGVydF9jb3VudBgJIAEoBUIHukgEGgIoABIxChd0b3RhbF9jb3N0c19ieV9jdXJyZW5jeRgKIAMoCzIQLmNvbW1vbi52MS5Nb25leSKIBAoaRXZhbHVhdGlvblJlY2VudFJ1blN1bW1hcnkSIAoPc2NlbmFyaW9fcnVuX2lkGAEgASgJQge6SARyAhABEhMKC3NjZW5hcmlvX2lkGAIgASgJEh4KDXRvdGFsX3Jlc3VsdHMYAyABKAVCB7pIBBoCKAASIgoRY29tcGxldGVkX3Jlc3VsdHMYBCABKAVCB7pIBBoCKAASHwoOZmFpbGVkX3Jlc3VsdHMYBSABKAVCB7pIBBoCKAASJQoNYXZlcmFnZV9zY29yZRgGIAEoAUIOukgLEgkpAAAAAAAAAAASJAoKdG90YWxfY29zdBgHIAEoCzIQLmNvbW1vbi52MS5Nb25leRImCgxhdmVyYWdlX2Nvc3QYCCABKAsyEC5jb21tb24udjEuTW9uZXkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAkgASgBQg66SAsSCSkAAAAAAAAAABIdCgx0b3RhbF90b2tlbnMYCiABKANCB7pIBCICKAASLgoKc3RhcnRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMY29tcGxldGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIQCgh0cmFjZV9pZBgNIAEoCRIaChJvYmplY3RpdmVfYWNoaWV2ZWQYDiABKAgi0QMKGUV2YWx1YXRpb25SZWdyZXNzaW9uQWxlcnQSEwoCaWQYASABKAlCB7pIBHICEAESEwoLc2NlbmFyaW9faWQYAiABKAkSIAoPc2NlbmFyaW9fcnVuX2lkGAMgASgJQge6SARyAhABEhAKCHNldmVyaXR5GAQgASgJEg8KB21lc3NhZ2UYBSABKAkSLQoVcmVncmVzc2lvbl9wZXJjZW50YWdlGAYgASgBQg66SAsSCSkAAAAAAAAAABIgChhiYXNlbGluZV9zY2VuYXJpb19ydW5faWQYByABKAkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAggASgBQg66SAsSCSkAAAAAAAAAABIkCgp0b3RhbF9jb3N0GAkgASgLMhAuY29tbW9uLnYxLk1vbmV5EhMKC2Vudmlyb25tZW50GAogASgJEiEKGXN0YXRpc3RpY2FsbHlfc2lnbmlmaWNhbnQYCyABKAgSHwoHcF92YWx1ZRgMIAEoAUIOukgLEgkpAAAAAAAAAAASGAoQZGVncmFkZWRfbWV0cmljcxgNIAMoCRIvCgtyZWNvcmRlZF9hdBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi6QEKK0dldEV2YWx1YXRpb25PYnNlcnZhYmlsaXR5RGFzaGJvYXJkUmVzcG9uc2USOwoHc3VtbWFyeRgBIAEoCzIqLmZlcm1hdGEudjEuRXZhbHVhdGlvbk9ic2VydmFiaWxpdHlTdW1tYXJ5EjsKC3JlY2VudF9ydW5zGAIgAygLMiYuZmVybWF0YS52MS5FdmFsdWF0aW9uUmVjZW50UnVuU3VtbWFyeRJAChFyZWdyZXNzaW9uX2FsZXJ0cxgDIAMoCzIlLmZlcm1hdGEudjEuRXZhbHVhdGlvblJlZ3Jlc3Npb25BbGVydCJxCh5HZXRFdmFsdWF0aW9uUnVuTWV0cmljc1JlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIXCgZydW5faWQYAyABKAlCB7pIBHICEAEivgIKG0V2YWx1YXRpb25SdW5NZXRyaWNzU3VtbWFyeRIdCgxyZXN1bHRfY291bnQYASABKAVCB7pIBBoCKAASHwoOZmFpbGVkX3Jlc3VsdHMYAiABKAVCB7pIBBoCKAASJQoNYXZlcmFnZV9zY29yZRgDIAEoAUIOukgLEgkpAAAAAAAAAAASJAoKdG90YWxfY29zdBgEIAEoCzIQLmNvbW1vbi52MS5Nb25leRImCgxhdmVyYWdlX2Nvc3QYBSABKAsyEC5jb21tb24udjEuTW9uZXkSKgoSYXZlcmFnZV9sYXRlbmN5X21zGAYgASgBQg66SAsSCSkAAAAAAAAAABIfCg5wOTVfbGF0ZW5jeV9tcxgHIAEoA0IHukgEIgIoABIdCgx0b3RhbF90b2tlbnMYCCABKANCB7pIBCICKAAi3QEKGkV2YWx1YXRpb25SdW5SZXN1bHRNZXRyaWNzEhQKDGFzc2VydGlvbl9pZBgBIAEoCRIOCgZwYXNzZWQYAiABKAgSHQoFc2NvcmUYAyABKAFCDrpICxIJKQAAAAAAAAAAEg4KBmFjdHVhbBgEIAEoCRIPCgdtZXNzYWdlGAUgASgJEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCK2AQofR2V0RXZhbHVhdGlvblJ1bk1ldHJpY3NSZXNwb25zZRIgCg9zY2VuYXJpb19ydW5faWQYASABKAlCB7pIBHICEAESOAoHc3VtbWFyeRgCIAEoCzInLmZlcm1hdGEudjEuRXZhbHVhdGlvblJ1bk1ldHJpY3NTdW1tYXJ5EjcKB3Jlc3VsdHMYAyADKAsyJi5mZXJtYXRhLnYxLkV2YWx1YXRpb25SdW5SZXN1bHRNZXRyaWNzIqgBCiRHZXRFdmFsdWF0aW9uR292ZXJuYW5jZVJlcG9ydFJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRITCgtzY2VuYXJpb19pZBgDIAEoCRIYCgRkYXlzGAQgASgFQgq6SAcaBRjtAigAEhkKBWxpbWl0GAUgASgFQgq6SAcaBRj0AygAItEBChxHb3Zlcm5hbmNlQXNzZXJ0aW9uQWdncmVnYXRlEh0KDGFzc2VydGlvbl9pZBgBIAEoCUIHukgEcgIQARIWCgV0b3RhbBgCIAEoBUIHukgEGgIoABIXCgZwYXNzZWQYAyABKAVCB7pIBBoCKAASFwoGZmFpbGVkGAQgASgFQge6SAQaAigAEiEKCXBhc3NfcmF0ZRgFIAEoAUIOukgLEgkpAAAAAAAAAAASJQoNYXZlcmFnZV9zY29yZRgGIAEoAUIOukgLEgkpAAAAAAAAAAAizgQKF0dvdmVybmFuY2VSZXBvcnRTdW1tYXJ5EhsKCnRvdGFsX3J1bnMYASABKAVCB7pIBBoCKAASHgoNZ292ZXJuZWRfcnVucxgCIAEoBUIHukgEGgIoABInChZwYXNzZWRfZ292ZXJuYW5jZV9ydW5zGAMgASgFQge6SAQaAigAEicKFmZhaWxlZF9nb3Zlcm5hbmNlX3J1bnMYBCABKAVCB7pIBBoCKAASLwoXYXZlcmFnZV9jb21wb3NpdGVfc2NvcmUYBSABKAFCDrpICxIJKQAAAAAAAAAAEi4KFnBvbGljeV9jb21wbGlhbmNlX3JhdGUYBiABKAFCDrpICxIJKQAAAAAAAAAAEiwKFGVzY2FsYXRpb25fcHJlY2lzaW9uGAcgASgBQg66SAsSCSkAAAAAAAAAABIpChFlc2NhbGF0aW9uX3JlY2FsbBgIIAEoAUIOukgLEgkpAAAAAAAAAAASKwoTYXBwcm92YWxfZWZmaWNpZW5jeRgJIAEoAUIOukgLEgkpAAAAAAAAAAASKAoXdG90YWxfYXBwcm92YWxfcmVxdWVzdHMYCiABKAVCB7pIBBoCKAASMQoZYXZlcmFnZV9hcHByb3ZhbF9yZXF1ZXN0cxgLIAEoAUIOukgLEgkpAAAAAAAAAAASIgoRcmlza19zaWduYWxfY291bnQYDCABKAVCB7pIBBoCKAASPAoKYXNzZXJ0aW9ucxgNIAMoCzIoLmZlcm1hdGEudjEuR292ZXJuYW5jZUFzc2VydGlvbkFnZ3JlZ2F0ZSLmAwoUR292ZXJuYW5jZVJ1blN1bW1hcnkSIAoPc2NlbmFyaW9fcnVuX2lkGAEgASgJQge6SARyAhABEhMKC3NjZW5hcmlvX2lkGAIgASgJEjcKBnN0YXR1cxgDIAEoDjIdLmZlcm1hdGEudjEuU2NlbmFyaW9SdW5TdGF0dXNCCLpIBYIBAhABEicKD2NvbXBvc2l0ZV9zY29yZRgEIAEoAUIOukgLEgkpAAAAAAAAAAASKQoRcG9saWN5X2NvbXBsaWFuY2UYBSABKAFCDrpICxIJKQAAAAAAAAAAEiwKFGVzY2FsYXRpb25fcHJlY2lzaW9uGAYgASgBQg66SAsSCSkAAAAAAAAAABIpChFlc2NhbGF0aW9uX3JlY2FsbBgHIAEoAUIOukgLEgkpAAAAAAAAAAASKwoTYXBwcm92YWxfZWZmaWNpZW5jeRgIIAEoAUIOukgLEgkpAAAAAAAAAAASIgoRYXBwcm92YWxfcmVxdWVzdHMYCSABKAVCB7pIBBoCKAASHAoUZmFpbGVkX2Fzc2VydGlvbl9pZHMYCiADKAkSEAoIdHJhY2VfaWQYCyABKAkSMAoMY29tcGxldGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKMAgoUR292ZXJuYW5jZVJpc2tTaWduYWwSEwoCaWQYASABKAlCB7pIBHICEAESIAoPc2NlbmFyaW9fcnVuX2lkGAIgASgJQge6SARyAhABEhMKC3NjZW5hcmlvX2lkGAMgASgJEhAKCHNldmVyaXR5GAQgASgJEg8KB21lc3NhZ2UYBSABKAkSGAoQZGVncmFkZWRfbWV0cmljcxgGIAMoCRIoCghldmlkZW5jZRgHIAMoCzIWLmNvbW1vbi52MS5FdmlkZW5jZVJlZhIQCgh0cmFjZV9pZBgIIAEoCRIvCgtyZWNvcmRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAizAEKJUdldEV2YWx1YXRpb25Hb3Zlcm5hbmNlUmVwb3J0UmVzcG9uc2USNAoHc3VtbWFyeRgBIAEoCzIjLmZlcm1hdGEudjEuR292ZXJuYW5jZVJlcG9ydFN1bW1hcnkSNQoLcmVjZW50X3J1bnMYAiADKAsyIC5mZXJtYXRhLnYxLkdvdmVybmFuY2VSdW5TdW1tYXJ5EjYKDHJpc2tfc2lnbmFscxgDIAMoCzIgLmZlcm1hdGEudjEuR292ZXJuYW5jZVJpc2tTaWduYWwi3wEKEURpYWdub3N0aWNGaW5kaW5nEgoKAmlkGAEgASgJEkEKCHNldmVyaXR5GAIgASgOMiUuZmVybWF0YS52MS5EaWFnbm9zdGljRmluZGluZ1NldmVyaXR5Qgi6SAWCAQIQARIWCgV0aXRsZRgDIAEoCUIHukgEcgIQARIOCgZkZXRhaWwYBCABKAkSKAoIZXZpZGVuY2UYBSADKAsyFi5jb21tb24udjEuRXZpZGVuY2VSZWYSKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Iu8EChxFdmFsdWF0aW9uRGlhZ25vc3RpY0FydGlmYWN0EhMKAmlkGAEgASgJQge6SARyAhABEjoKBGtpbmQYAiABKA4yIi5mZXJtYXRhLnYxLkRpYWdub3N0aWNBcnRpZmFjdEtpbmRCCLpIBYIBAhABEiAKD29yZ2FuaXphdGlvbl9pZBgDIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYBCABKAkSEwoLc2NlbmFyaW9faWQYBSABKAkSIAoPc2NlbmFyaW9fcnVuX2lkGAYgASgJQge6SARyAhABEhAKCHRyYWNlX2lkGAcgASgJEhYKBXRpdGxlGAggASgJQge6SARyAhABEg8KB3N1bW1hcnkYCSABKAkSLwoIZmluZGluZ3MYCiADKAsyHS5mZXJtYXRhLnYxLkRpYWdub3N0aWNGaW5kaW5nEigKCGV2aWRlbmNlGAsgAygLMhYuY29tbW9uLnYxLkV2aWRlbmNlUmVmEi4KDWlucHV0X2NvbnRleHQYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EigKB3BheWxvYWQYDSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhQKDGFydGlmYWN0X3VyaRgOIAEoCRIWCg5jb250ZW50X3NoYTI1NhgPIAEoCRIRCglwZXJzaXN0ZWQYECABKAgSLgoKY3JlYXRlZF9hdBgRIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgSIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAixwEKGUV4cGxhaW5TY2VuYXJpb1J1blJlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgCIAEoCRIXCgZydW5faWQYAyABKAlCB7pIBHICEAESFQoNaW5jbHVkZV90cmFjZRgEIAEoCBIYChBwZXJzaXN0X2FydGlmYWN0GAUgASgIEigKB2NvbnRleHQYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IlgKGkV4cGxhaW5TY2VuYXJpb1J1blJlc3BvbnNlEjoKCGFydGlmYWN0GAEgASgLMiguZmVybWF0YS52MS5FdmFsdWF0aW9uRGlhZ25vc3RpY0FydGlmYWN0IvEBCiJBbmFseXplU2NlbmFyaW9SdW5Sb290Q2F1c2VSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIUCgx3b3Jrc3BhY2VfaWQYAiABKAkSFwoGcnVuX2lkGAMgASgJQge6SARyAhABEh8KF3N1c3BlY3RlZF9mYWlsdXJlX21vZGVzGAQgAygJEhUKDWluY2x1ZGVfdHJhY2UYBSABKAgSGAoQcGVyc2lzdF9hcnRpZmFjdBgGIAEoCBIoCgdjb250ZXh0GAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJhCiNBbmFseXplU2NlbmFyaW9SdW5Sb290Q2F1c2VSZXNwb25zZRI6CghhcnRpZmFjdBgBIAEoCzIoLmZlcm1hdGEudjEuRXZhbHVhdGlvbkRpYWdub3N0aWNBcnRpZmFjdCKRAgoeSnVkZ2VWYWxpZGF0aW9uQWNjdXJhY3lNZXRyaWNzEhEKCXByZWNpc2lvbhgBIAEoARIOCgZyZWNhbGwYAiABKAESEAoIZjFfc2NvcmUYAyABKAESEAoIYWNjdXJhY3kYBCABKAESIgoRdG90YWxfdmFsaWRhdGlvbnMYBSABKAVCB7pIBBoCKAASHwoOdHJ1ZV9wb3NpdGl2ZXMYBiABKAVCB7pIBBoCKAASIAoPZmFsc2VfcG9zaXRpdmVzGAcgASgFQge6SAQaAigAEh8KDnRydWVfbmVnYXRpdmVzGAggASgFQge6SAQaAigAEiAKD2ZhbHNlX25lZ2F0aXZlcxgJIAEoBUIHukgEGgIoACLAAQoeSnVkZ2VWYWxpZGF0aW9uQ29uZnVzaW9uTWF0cml4EiYKFWp1ZGdlX3Bhc3NfaHVtYW5fcGFzcxgBIAEoBUIHukgEGgIoABImChVqdWRnZV9wYXNzX2h1bWFuX2ZhaWwYAiABKAVCB7pIBBoCKAASJgoVanVkZ2VfZmFpbF9odW1hbl9wYXNzGAMgASgFQge6SAQaAigAEiYKFWp1ZGdlX2ZhaWxfaHVtYW5fZmFpbBgEIAEoBUIHukgEGgIoACLRAQoaSnVkZ2VWYWxpZGF0aW9uQmlhc01ldHJpY3MSFAoMb3Zlcl9zY29yaW5nGAEgASgIEhUKDXVuZGVyX3Njb3JpbmcYAiABKAgSEwoLc2NvcmVfZHJpZnQYAyABKAESGwoTYXZlcmFnZV9qdWRnZV9zY29yZRgEIAEoARIbChNhdmVyYWdlX2h1bWFuX3Njb3JlGAUgASgBEhkKEXNjb3JlX2NvcnJlbGF0aW9uGAYgASgBEhwKC3NhbXBsZV9zaXplGAcgASgFQge6SAQaAigAIpwBChpKdWRnZVZhbGlkYXRpb25DYWxpYnJhdGlvbhIZCghqdWRnZV9pZBgBIAEoCUIHukgEcgIQARIbChN2YWxpZGF0aW9uX2FjY3VyYWN5GAIgASgBEhEKCXZhbGlkYXRlZBgDIAEoCBIzCg9sYXN0X3ZhbGlkYXRpb24YBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIpkEChlKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uEh4KDWV2YWx1YXRpb25faWQYASABKAlCB7pIBHICEAESIAoPb3JnYW5pemF0aW9uX2lkGAIgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgDIAEoCRIZCghqdWRnZV9pZBgEIAEoCUIHukgEcgIQARIXCg9zY2VuYXJpb19ydW5faWQYBSABKAkSFAoMYXNzZXJ0aW9uX2lkGAYgASgJEiwKC2p1ZGdlX3Njb3JlGAcgASgBQhe6SBQSEhkAAAAAAADwPykAAAAAAAAAABIUCgxqdWRnZV9wYXNzZWQYCCABKAgSFwoPaHVtYW5fdmFsaWRhdGVkGAkgASgIEjEKC2h1bWFuX3Njb3JlGAogASgBQhe6SBQSEhkAAAAAAABZQCkAAAAAAAAAAEgAiAEBEhgKEHZhbGlkYXRpb25fbm90ZXMYCyABKAkSDgoGc291cmNlGAwgASgJEjAKDGV2YWx1YXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKY3JlYXRlZF9hdBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX2h1bWFuX3Njb3JlIkgKGUp1ZGdlQ2FsaWJyYXRpb25DYW5kaWRhdGUSGQoIanVkZ2VfaWQYASABKAlCB7pIBHICEAESEAoIYWNjdXJhY3kYAiABKAEiYAohR2V0SnVkZ2VWYWxpZGF0aW9uQWNjdXJhY3lSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIZCghqdWRnZV9pZBgCIAEoCUIHukgEcgIQASJhCiJHZXRKdWRnZVZhbGlkYXRpb25BY2N1cmFjeVJlc3BvbnNlEjsKB21ldHJpY3MYASABKAsyKi5mZXJtYXRhLnYxLkp1ZGdlVmFsaWRhdGlvbkFjY3VyYWN5TWV0cmljcyJnCihHZXRKdWRnZVZhbGlkYXRpb25Db25mdXNpb25NYXRyaXhSZXF1ZXN0EiAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUIHukgEcgIQARIZCghqdWRnZV9pZBgCIAEoCUIHukgEcgIQASJnCilHZXRKdWRnZVZhbGlkYXRpb25Db25mdXNpb25NYXRyaXhSZXNwb25zZRI6CgZtYXRyaXgYASABKAsyKi5mZXJtYXRhLnYxLkp1ZGdlVmFsaWRhdGlvbkNvbmZ1c2lvbk1hdHJpeCJcCh1HZXRKdWRnZVZhbGlkYXRpb25CaWFzUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESGQoIanVkZ2VfaWQYAiABKAlCB7pIBHICEAEiWQoeR2V0SnVkZ2VWYWxpZGF0aW9uQmlhc1Jlc3BvbnNlEjcKB21ldHJpY3MYASABKAsyJi5mZXJtYXRhLnYxLkp1ZGdlVmFsaWRhdGlvbkJpYXNNZXRyaWNzImAKIVJlY2FsaWJyYXRlSnVkZ2VWYWxpZGF0aW9uUmVxdWVzdBIgCg9vcmdhbml6YXRpb25faWQYASABKAlCB7pIBHICEAESGQoIanVkZ2VfaWQYAiABKAlCB7pIBHICEAEiYQoiUmVjYWxpYnJhdGVKdWRnZVZhbGlkYXRpb25SZXNwb25zZRI7CgtjYWxpYnJhdGlvbhgBIAEoCzImLmZlcm1hdGEudjEuSnVkZ2VWYWxpZGF0aW9uQ2FsaWJyYXRpb24ivQMKJlJlY29yZEp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb25SZXF1ZXN0EhUKDWV2YWx1YXRpb25faWQYASABKAkSIAoPb3JnYW5pemF0aW9uX2lkGAIgASgJQge6SARyAhABEhQKDHdvcmtzcGFjZV9pZBgDIAEoCRIZCghqdWRnZV9pZBgEIAEoCUIHukgEcgIQARIXCg9zY2VuYXJpb19ydW5faWQYBSABKAkSFAoMYXNzZXJ0aW9uX2lkGAYgASgJEiwKC2p1ZGdlX3Njb3JlGAcgASgBQhe6SBQSEhkAAAAAAADwPykAAAAAAAAAABIUCgxqdWRnZV9wYXNzZWQYCCABKAgSFwoPaHVtYW5fdmFsaWRhdGVkGAkgASgIEjEKC2h1bWFuX3Njb3JlGAogASgBQhe6SBQSEhkAAAAAAABZQCkAAAAAAAAAAEgAiAEBEhgKEHZhbGlkYXRpb25fbm90ZXMYCyABKAkSDgoGc291cmNlGAwgASgJEjAKDGV2YWx1YXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX2h1bWFuX3Njb3JlImQKJ1JlY29yZEp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb25SZXNwb25zZRI5CgpldmFsdWF0aW9uGAEgASgLMiUuZmVybWF0YS52MS5KdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uIskBCihWYWxpZGF0ZUp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb25SZXF1ZXN0Eh4KDWV2YWx1YXRpb25faWQYASABKAlCB7pIBHICEAESIAoPb3JnYW5pemF0aW9uX2lkGAIgASgJQge6SARyAhABEjEKC2h1bWFuX3Njb3JlGAMgASgBQhe6SBQSEhkAAAAAAABZQCkAAAAAAAAAAEgAiAEBEhgKEHZhbGlkYXRpb25fbm90ZXMYBCABKAlCDgoMX2h1bWFuX3Njb3JlImYKKVZhbGlkYXRlSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlc3BvbnNlEjkKCmV2YWx1YXRpb24YASABKAsyJS5mZXJtYXRhLnYxLkp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb24ioAEKJUxpc3RKdWRnZUNhbGlicmF0aW9uQ2FuZGlkYXRlc1JlcXVlc3QSIAoPb3JnYW5pemF0aW9uX2lkGAEgASgJQge6SARyAhABEiAKD21pbl92YWxpZGF0aW9ucxgCIAEoBUIHukgEGgIoABIzChJhY2N1cmFjeV90aHJlc2hvbGQYAyABKAFCF7pIFBISGQAAAAAAAPA/KQAAAAAAAAAAIr8BCiZMaXN0SnVkZ2VDYWxpYnJhdGlvbkNhbmRpZGF0ZXNSZXNwb25zZRI5CgpjYW5kaWRhdGVzGAEgAygLMiUuZmVybWF0YS52MS5KdWRnZUNhbGlicmF0aW9uQ2FuZGlkYXRlEhwKC3RvdGFsX2NvdW50GAIgASgFQge6SAQaAigAEiAKD21pbl92YWxpZGF0aW9ucxgDIAEoBUIHukgEGgIoABIaChJhY2N1cmFjeV90aHJlc2hvbGQYBCABKAEiGwoZR2V0TWlncmF0aW9uU3RhdHVzUmVxdWVzdCJcChRSb3V0ZU1pZ3JhdGlvblN0YXR1cxITCgtwYXRoX3ByZWZpeBgBIAEoCRIQCghtaWdyYXRlZBgCIAEoCBIdChVwcm94aWVkX3JlcXVlc3RfY291bnQYAyABKAMiTgoaR2V0TWlncmF0aW9uU3RhdHVzUmVzcG9uc2USMAoGcm91dGVzGAEgAygLMiAuZmVybWF0YS52MS5Sb3V0ZU1pZ3JhdGlvblN0YXR1cyrnAQoNQXNzZXJ0aW9uS2luZBIeChpBU1NFUlRJT05fS0lORF9VTlNQRUNJRklFRBAAEhsKF0FTU0VSVElPTl9LSU5EX0NPTlRBSU5TEAESHwobQVNTRVJUSU9OX0tJTkRfTk9UX0NPTlRBSU5TEAISGAoUQVNTRVJUSU9OX0tJTkRfUkVHRVgQAxIdChlBU1NFUlRJT05fS0lORF9TSU1JTEFSSVRZEAQSHwobQVNTRVJUSU9OX0tJTkRfQ1VTVE9NX0pVREdFEAUSHgoaQVNTRVJUSU9OX0tJTkRfSlNPTl9TQ0hFTUEQBiqIAQoJSnVkZ2VLaW5kEhoKFkpVREdFX0tJTkRfVU5TUEVDSUZJRUQQABISCg5KVURHRV9LSU5EX0xMTRABEhkKFUpVREdFX0tJTkRfUlVMRV9CQVNFRBACEhkKFUpVREdFX0tJTkRfU0lNSUxBUklUWRADEhUKEUpVREdFX0tJTkRfQ1VTVE9NEAQqkwIKF1NjZW5hcmlvRW52aXJvbm1lbnRLaW5kEikKJVNDRU5BUklPX0VOVklST05NRU5UX0tJTkRfVU5TUEVDSUZJRUQQABIkCiBTQ0VOQVJJT19FTlZJUk9OTUVOVF9LSU5EX1JFUExBWRABEiYKIlNDRU5BUklPX0VOVklST05NRU5UX0tJTkRfU1RBUkxBUksQAhInCiNTQ0VOQVJJT19FTlZJUk9OTUVOVF9LSU5EX01PQ0tfSFRUUBADEiUKIVNDRU5BUklPX0VOVklST05NRU5UX0tJTkRfU0FOREJPWBAEEi8KK1NDRU5BUklPX0VOVklST05NRU5UX0tJTkRfUFJPRFVDVElPTl9TSEFET1cQBSqnAgoVVXNlclNpbXVsYXRvclN0cmF0ZWd5EicKI1VTRVJfU0lNVUxBVE9SX1NUUkFURUdZX1VOU1BFQ0lGSUVEEAASJwojVVNFUl9TSU1VTEFUT1JfU1RSQVRFR1lfQ09PUEVSQVRJVkUQARIhCh1VU0VSX1NJTVVMQVRPUl9TVFJBVEVHWV9SRUFDVBACEiIKHlVTRVJfU0lNVUxBVE9SX1NUUkFURUdZX1ZFUklGWRADEiYKIlVTRVJfU0lNVUxBVE9SX1NUUkFURUdZX1JFRkxFQ1RJT04QBBInCiNVU0VSX1NJTVVMQVRPUl9TVFJBVEVHWV9BRFZFUlNBUklBTBAFEiQKIFVTRVJfU0lNVUxBVE9SX1NUUkFURUdZX0NPTkZVU0VEEAYqtgIKFE91dGNvbWVDcml0ZXJpb25LaW5kEiYKIk9VVENPTUVfQ1JJVEVSSU9OX0tJTkRfVU5TUEVDSUZJRUQQABImCiJPVVRDT01FX0NSSVRFUklPTl9LSU5EX0ZJTkFMX1NUQVRFEAESKgomT1VUQ09NRV9DUklURVJJT05fS0lORF9UQVNLX0NPTVBMRVRJT04QAhIlCiFPVVRDT01FX0NSSVRFUklPTl9LSU5EX1RSQUpFQ1RPUlkQAxImCiJPVVRDT01FX0NSSVRFUklPTl9LSU5EX0NPU1RfQlVER0VUEAQSKQolT1VUQ09NRV9DUklURVJJT05fS0lORF9MQVRFTkNZX0JVREdFVBAFEigKJE9VVENPTUVfQ1JJVEVSSU9OX0tJTkRfUVVBTElUWV9TQ09SRRAGKroDChdHb3Zlcm5hbmNlQXNzZXJ0aW9uVHlwZRIpCiVHT1ZFUk5BTkNFX0FTU0VSVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASMQotR09WRVJOQU5DRV9BU1NFUlRJT05fVFlQRV9FU0NBTEFUSU9OX1JFUVVJUkVEEAESMwovR09WRVJOQU5DRV9BU1NFUlRJT05fVFlQRV9BVVRPX1BST0NFRURfRVhQRUNURUQQAhIxCi1HT1ZFUk5BTkNFX0FTU0VSVElPTl9UWVBFX1JJU0tfQ0xBU1NJRklDQVRJT04QAxIyCi5HT1ZFUk5BTkNFX0FTU0VSVElPTl9UWVBFX0RBVEFfQUNDRVNTX0JPVU5EQVJZEAQSOAo0R09WRVJOQU5DRV9BU1NFUlRJT05fVFlQRV9HT1ZFUk5BTkNFX0JMT0NLX1JFU1BFQ1RFRBAFEjMKL0dPVkVSTkFOQ0VfQVNTRVJUSU9OX1RZUEVfU0VMRl9BUFBST1ZBTF9CTE9DS0VEEAYSNgoyR09WRVJOQU5DRV9BU1NFUlRJT05fVFlQRV9QSUlfREVURUNURURfQU5EX0hBTkRMRUQQByqAAwoXRGVsZWdhdGlvbkFzc2VydGlvblR5cGUSKQolREVMRUdBVElPTl9BU1NFUlRJT05fVFlQRV9VTlNQRUNJRklFRBAAEjcKM0RFTEVHQVRJT05fQVNTRVJUSU9OX1RZUEVfREVMRUdBVElPTl9UQVJHRVRfQ09SUkVDVBABEjIKLkRFTEVHQVRJT05fQVNTRVJUSU9OX1RZUEVfQ09OVEVYVF9QUkVTRVJWQVRJT04QAhIyCi5ERUxFR0FUSU9OX0FTU0VSVElPTl9UWVBFX0RFTEVHQVRJT05fVkFMVUVfQUREEAMSNQoxREVMRUdBVElPTl9BU1NFUlRJT05fVFlQRV9ERUxFR0FUSU9OX0NPU1RfQk9VTkRFRBAEEjEKLURFTEVHQVRJT05fQVNTRVJUSU9OX1RZUEVfQ0hBSU5fREVQVEhfQk9VTkRFRBAFEi8KK0RFTEVHQVRJT05fQVNTRVJUSU9OX1RZUEVfRkFJTFVSRV9JU09MQVRJT04QBir8AQoRU2NlbmFyaW9SdW5TdGF0dXMSIwofU0NFTkFSSU9fUlVOX1NUQVRVU19VTlNQRUNJRklFRBAAEh8KG1NDRU5BUklPX1JVTl9TVEFUVVNfUEVORElORxABEh8KG1NDRU5BUklPX1JVTl9TVEFUVVNfUlVOTklORxACEh4KGlNDRU5BUklPX1JVTl9TVEFUVVNfUEFTU0VEEAMSHgoaU0NFTkFSSU9fUlVOX1NUQVRVU19GQUlMRUQQBBIdChlTQ0VOQVJJT19SVU5fU1RBVFVTX0VSUk9SEAUSIQodU0NFTkFSSU9fUlVOX1NUQVRVU19DQU5DRUxMRUQQBiqVAQoWRGlhZ25vc3RpY0FydGlmYWN0S2luZBIoCiRESUFHTk9TVElDX0FSVElGQUNUX0tJTkRfVU5TUEVDSUZJRUQQABIoCiRESUFHTk9TVElDX0FSVElGQUNUX0tJTkRfRVhQTEFOQVRJT04QARInCiNESUFHTk9TVElDX0FSVElGQUNUX0tJTkRfUk9PVF9DQVVTRRACKr4BChlEaWFnbm9zdGljRmluZGluZ1NldmVyaXR5EisKJ0RJQUdOT1NUSUNfRklORElOR19TRVZFUklUWV9VTlNQRUNJRklFRBAAEiQKIERJQUdOT1NUSUNfRklORElOR19TRVZFUklUWV9JTkZPEAESJwojRElBR05PU1RJQ19GSU5ESU5HX1NFVkVSSVRZX1dBUk5JTkcQAhIlCiFESUFHTk9TVElDX0ZJTkRJTkdfU0VWRVJJVFlfRVJST1IQAzKFJQoORmVybWF0YVNlcnZpY2UShAEKD0NyZWF0ZVRlc3RTdWl0ZRIiLmZlcm1hdGEudjEuQ3JlYXRlVGVzdFN1aXRlUmVxdWVzdBojLmZlcm1hdGEudjEuQ3JlYXRlVGVzdFN1aXRlUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSegoMR2V0VGVzdFN1aXRlEh8uZmVybWF0YS52MS5HZXRUZXN0U3VpdGVSZXF1ZXN0GiAuZmVybWF0YS52MS5HZXRUZXN0U3VpdGVSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEoABCg5MaXN0VGVzdFN1aXRlcxIhLmZlcm1hdGEudjEuTGlzdFRlc3RTdWl0ZXNSZXF1ZXN0GiIuZmVybWF0YS52MS5MaXN0VGVzdFN1aXRlc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSgQEKDkNyZWF0ZVNjZW5hcmlvEiEuZmVybWF0YS52MS5DcmVhdGVTY2VuYXJpb1JlcXVlc3QaIi5mZXJtYXRhLnYxLkNyZWF0ZVNjZW5hcmlvUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSdwoLR2V0U2NlbmFyaW8SHi5mZXJtYXRhLnYxLkdldFNjZW5hcmlvUmVxdWVzdBofLmZlcm1hdGEudjEuR2V0U2NlbmFyaW9SZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEn0KDUxpc3RTY2VuYXJpb3MSIC5mZXJtYXRhLnYxLkxpc3RTY2VuYXJpb3NSZXF1ZXN0GiEuZmVybWF0YS52MS5MaXN0U2NlbmFyaW9zUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKWAQoVVXBzZXJ0Q3VzdG9tRXZhbHVhdG9yEiguZmVybWF0YS52MS5VcHNlcnRDdXN0b21FdmFsdWF0b3JSZXF1ZXN0GikuZmVybWF0YS52MS5VcHNlcnRDdXN0b21FdmFsdWF0b3JSZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBKMAQoSR2V0Q3VzdG9tRXZhbHVhdG9yEiUuZmVybWF0YS52MS5HZXRDdXN0b21FdmFsdWF0b3JSZXF1ZXN0GiYuZmVybWF0YS52MS5HZXRDdXN0b21FdmFsdWF0b3JSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEpIBChRMaXN0Q3VzdG9tRXZhbHVhdG9ycxInLmZlcm1hdGEudjEuTGlzdEN1c3RvbUV2YWx1YXRvcnNSZXF1ZXN0GiguZmVybWF0YS52MS5MaXN0Q3VzdG9tRXZhbHVhdG9yc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSlgEKFURlbGV0ZUN1c3RvbUV2YWx1YXRvchIoLmZlcm1hdGEudjEuRGVsZXRlQ3VzdG9tRXZhbHVhdG9yUmVxdWVzdBopLmZlcm1hdGEudjEuRGVsZXRlQ3VzdG9tRXZhbHVhdG9yUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSeAoLVXBzZXJ0SnVkZ2USHi5mZXJtYXRhLnYxLlVwc2VydEp1ZGdlUmVxdWVzdBofLmZlcm1hdGEudjEuVXBzZXJ0SnVkZ2VSZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBJuCghHZXRKdWRnZRIbLmZlcm1hdGEudjEuR2V0SnVkZ2VSZXF1ZXN0GhwuZmVybWF0YS52MS5HZXRKdWRnZVJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSdAoKTGlzdEp1ZGdlcxIdLmZlcm1hdGEudjEuTGlzdEp1ZGdlc1JlcXVlc3QaHi5mZXJtYXRhLnYxLkxpc3RKdWRnZXNSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEngKC0RlbGV0ZUp1ZGdlEh4uZmVybWF0YS52MS5EZWxldGVKdWRnZVJlcXVlc3QaHy5mZXJtYXRhLnYxLkRlbGV0ZUp1ZGdlUmVzcG9uc2UiKMrzGA1mZXJtYXRhOndyaXRl2PMYAurzGA9vcmdhbml6YXRpb25faWQSfgoNU3RhcnRTY2VuYXJpbxIgLmZlcm1hdGEudjEuU3RhcnRTY2VuYXJpb1JlcXVlc3QaIS5mZXJtYXRhLnYxLlN0YXJ0U2NlbmFyaW9SZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgD6vMYD29yZ2FuaXphdGlvbl9pZBKiAQoWQ3JlYXRlQW5kU3RhcnRTY2VuYXJpbxIpLmZlcm1hdGEudjEuQ3JlYXRlQW5kU3RhcnRTY2VuYXJpb1JlcXVlc3QaKi5mZXJtYXRhLnYxLkNyZWF0ZUFuZFN0YXJ0U2NlbmFyaW9SZXNwb25zZSIxyvMYDWZlcm1hdGE6d3JpdGXY8xgD6vMYGHNjZW5hcmlvLm9yZ2FuaXphdGlvbl9pZBKKAQoRUmVjb3JkU2NlbmFyaW9SdW4SJC5mZXJtYXRhLnYxLlJlY29yZFNjZW5hcmlvUnVuUmVxdWVzdBolLmZlcm1hdGEudjEuUmVjb3JkU2NlbmFyaW9SdW5SZXNwb25zZSIoyvMYDWZlcm1hdGE6d3JpdGXY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBKAAQoOR2V0U2NlbmFyaW9SdW4SIS5mZXJtYXRhLnYxLkdldFNjZW5hcmlvUnVuUmVxdWVzdBoiLmZlcm1hdGEudjEuR2V0U2NlbmFyaW9SdW5SZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEoYBChBMaXN0U2NlbmFyaW9SdW5zEiMuZmVybWF0YS52MS5MaXN0U2NlbmFyaW9SdW5zUmVxdWVzdBokLmZlcm1hdGEudjEuTGlzdFNjZW5hcmlvUnVuc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSvwEKI0dldEV2YWx1YXRpb25PYnNlcnZhYmlsaXR5RGFzaGJvYXJkEjYuZmVybWF0YS52MS5HZXRFdmFsdWF0aW9uT2JzZXJ2YWJpbGl0eURhc2hib2FyZFJlcXVlc3QaNy5mZXJtYXRhLnYxLkdldEV2YWx1YXRpb25PYnNlcnZhYmlsaXR5RGFzaGJvYXJkUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKbAQoXR2V0RXZhbHVhdGlvblJ1bk1ldHJpY3MSKi5mZXJtYXRhLnYxLkdldEV2YWx1YXRpb25SdW5NZXRyaWNzUmVxdWVzdBorLmZlcm1hdGEudjEuR2V0RXZhbHVhdGlvblJ1bk1ldHJpY3NSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEq0BCh1HZXRFdmFsdWF0aW9uR292ZXJuYW5jZVJlcG9ydBIwLmZlcm1hdGEudjEuR2V0RXZhbHVhdGlvbkdvdmVybmFuY2VSZXBvcnRSZXF1ZXN0GjEuZmVybWF0YS52MS5HZXRFdmFsdWF0aW9uR292ZXJuYW5jZVJlcG9ydFJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSjAEKEkV4cGxhaW5TY2VuYXJpb1J1bhIlLmZlcm1hdGEudjEuRXhwbGFpblNjZW5hcmlvUnVuUmVxdWVzdBomLmZlcm1hdGEudjEuRXhwbGFpblNjZW5hcmlvUnVuUmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgC6vMYD29yZ2FuaXphdGlvbl9pZBKnAQobQW5hbHl6ZVNjZW5hcmlvUnVuUm9vdENhdXNlEi4uZmVybWF0YS52MS5BbmFseXplU2NlbmFyaW9SdW5Sb290Q2F1c2VSZXF1ZXN0Gi8uZmVybWF0YS52MS5BbmFseXplU2NlbmFyaW9SdW5Sb290Q2F1c2VSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGALq8xgPb3JnYW5pemF0aW9uX2lkEqQBChpHZXRKdWRnZVZhbGlkYXRpb25BY2N1cmFjeRItLmZlcm1hdGEudjEuR2V0SnVkZ2VWYWxpZGF0aW9uQWNjdXJhY3lSZXF1ZXN0Gi4uZmVybWF0YS52MS5HZXRKdWRnZVZhbGlkYXRpb25BY2N1cmFjeVJlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSuQEKIUdldEp1ZGdlVmFsaWRhdGlvbkNvbmZ1c2lvbk1hdHJpeBI0LmZlcm1hdGEudjEuR2V0SnVkZ2VWYWxpZGF0aW9uQ29uZnVzaW9uTWF0cml4UmVxdWVzdBo1LmZlcm1hdGEudjEuR2V0SnVkZ2VWYWxpZGF0aW9uQ29uZnVzaW9uTWF0cml4UmVzcG9uc2UiJ8rzGAxmZXJtYXRhOnJlYWTY8xgB6vMYD29yZ2FuaXphdGlvbl9pZBKYAQoWR2V0SnVkZ2VWYWxpZGF0aW9uQmlhcxIpLmZlcm1hdGEudjEuR2V0SnVkZ2VWYWxpZGF0aW9uQmlhc1JlcXVlc3QaKi5mZXJtYXRhLnYxLkdldEp1ZGdlVmFsaWRhdGlvbkJpYXNSZXNwb25zZSInyvMYDGZlcm1hdGE6cmVhZNjzGAHq8xgPb3JnYW5pemF0aW9uX2lkEqUBChpSZWNhbGlicmF0ZUp1ZGdlVmFsaWRhdGlvbhItLmZlcm1hdGEudjEuUmVjYWxpYnJhdGVKdWRnZVZhbGlkYXRpb25SZXF1ZXN0Gi4uZmVybWF0YS52MS5SZWNhbGlicmF0ZUp1ZGdlVmFsaWRhdGlvblJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkErQBCh9SZWNvcmRKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uEjIuZmVybWF0YS52MS5SZWNvcmRKdWRnZVZhbGlkYXRpb25FdmFsdWF0aW9uUmVxdWVzdBozLmZlcm1hdGEudjEuUmVjb3JkSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkEroBCiFWYWxpZGF0ZUp1ZGdlVmFsaWRhdGlvbkV2YWx1YXRpb24SNC5mZXJtYXRhLnYxLlZhbGlkYXRlSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlcXVlc3QaNS5mZXJtYXRhLnYxLlZhbGlkYXRlSnVkZ2VWYWxpZGF0aW9uRXZhbHVhdGlvblJlc3BvbnNlIijK8xgNZmVybWF0YTp3cml0ZdjzGALq8xgPb3JnYW5pemF0aW9uX2lkErABCh5MaXN0SnVkZ2VDYWxpYnJhdGlvbkNhbmRpZGF0ZXMSMS5mZXJtYXRhLnYxLkxpc3RKdWRnZUNhbGlicmF0aW9uQ2FuZGlkYXRlc1JlcXVlc3QaMi5mZXJtYXRhLnYxLkxpc3RKdWRnZUNhbGlicmF0aW9uQ2FuZGlkYXRlc1Jlc3BvbnNlIifK8xgMZmVybWF0YTpyZWFk2PMYAerzGA9vcmdhbml6YXRpb25faWQSbQoSR2V0TWlncmF0aW9uU3RhdHVzEiUuZmVybWF0YS52MS5HZXRNaWdyYXRpb25TdGF0dXNSZXF1ZXN0GiYuZmVybWF0YS52MS5HZXRNaWdyYXRpb25TdGF0dXNSZXNwb25zZSII2PMYAeDzGAFCOVo3Z2l0aHViLmNvbS9ldmFsb3BzL3BsYXRmb3JtL2dlbi9nby9mZXJtYXRhL3YxO2Zlcm1hdGF2MWIGcHJvdG8z", [file_buf_validate_validate, file_common_v1_analytics, file_common_v1_authz, file_common_v1_risk, file_google_protobuf_duration, file_google_protobuf_struct, file_google_protobuf_timestamp, file_traces_v1_traces]);
15
15
  /**
16
16
  * Describes the message fermata.v1.TestSuite.
17
17
  * Use `create(TestSuiteSchema)` to create a new message.
@@ -317,151 +317,226 @@ export const ListScenarioRunsRequestSchema = /*@__PURE__*/ messageDesc(file_ferm
317
317
  * Use `create(ListScenarioRunsResponseSchema)` to create a new message.
318
318
  */
319
319
  export const ListScenarioRunsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 60);
320
+ /**
321
+ * Describes the message fermata.v1.GetEvaluationObservabilityDashboardRequest.
322
+ * Use `create(GetEvaluationObservabilityDashboardRequestSchema)` to create a new message.
323
+ */
324
+ export const GetEvaluationObservabilityDashboardRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 61);
325
+ /**
326
+ * Describes the message fermata.v1.EvaluationObservabilitySummary.
327
+ * Use `create(EvaluationObservabilitySummarySchema)` to create a new message.
328
+ */
329
+ export const EvaluationObservabilitySummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 62);
330
+ /**
331
+ * Describes the message fermata.v1.EvaluationRecentRunSummary.
332
+ * Use `create(EvaluationRecentRunSummarySchema)` to create a new message.
333
+ */
334
+ export const EvaluationRecentRunSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 63);
335
+ /**
336
+ * Describes the message fermata.v1.EvaluationRegressionAlert.
337
+ * Use `create(EvaluationRegressionAlertSchema)` to create a new message.
338
+ */
339
+ export const EvaluationRegressionAlertSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 64);
340
+ /**
341
+ * Describes the message fermata.v1.GetEvaluationObservabilityDashboardResponse.
342
+ * Use `create(GetEvaluationObservabilityDashboardResponseSchema)` to create a new message.
343
+ */
344
+ export const GetEvaluationObservabilityDashboardResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 65);
345
+ /**
346
+ * Describes the message fermata.v1.GetEvaluationRunMetricsRequest.
347
+ * Use `create(GetEvaluationRunMetricsRequestSchema)` to create a new message.
348
+ */
349
+ export const GetEvaluationRunMetricsRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 66);
350
+ /**
351
+ * Describes the message fermata.v1.EvaluationRunMetricsSummary.
352
+ * Use `create(EvaluationRunMetricsSummarySchema)` to create a new message.
353
+ */
354
+ export const EvaluationRunMetricsSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 67);
355
+ /**
356
+ * Describes the message fermata.v1.EvaluationRunResultMetrics.
357
+ * Use `create(EvaluationRunResultMetricsSchema)` to create a new message.
358
+ */
359
+ export const EvaluationRunResultMetricsSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 68);
360
+ /**
361
+ * Describes the message fermata.v1.GetEvaluationRunMetricsResponse.
362
+ * Use `create(GetEvaluationRunMetricsResponseSchema)` to create a new message.
363
+ */
364
+ export const GetEvaluationRunMetricsResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 69);
365
+ /**
366
+ * Describes the message fermata.v1.GetEvaluationGovernanceReportRequest.
367
+ * Use `create(GetEvaluationGovernanceReportRequestSchema)` to create a new message.
368
+ */
369
+ export const GetEvaluationGovernanceReportRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 70);
370
+ /**
371
+ * Describes the message fermata.v1.GovernanceAssertionAggregate.
372
+ * Use `create(GovernanceAssertionAggregateSchema)` to create a new message.
373
+ */
374
+ export const GovernanceAssertionAggregateSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 71);
375
+ /**
376
+ * Describes the message fermata.v1.GovernanceReportSummary.
377
+ * Use `create(GovernanceReportSummarySchema)` to create a new message.
378
+ */
379
+ export const GovernanceReportSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 72);
380
+ /**
381
+ * Describes the message fermata.v1.GovernanceRunSummary.
382
+ * Use `create(GovernanceRunSummarySchema)` to create a new message.
383
+ */
384
+ export const GovernanceRunSummarySchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 73);
385
+ /**
386
+ * Describes the message fermata.v1.GovernanceRiskSignal.
387
+ * Use `create(GovernanceRiskSignalSchema)` to create a new message.
388
+ */
389
+ export const GovernanceRiskSignalSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 74);
390
+ /**
391
+ * Describes the message fermata.v1.GetEvaluationGovernanceReportResponse.
392
+ * Use `create(GetEvaluationGovernanceReportResponseSchema)` to create a new message.
393
+ */
394
+ export const GetEvaluationGovernanceReportResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 75);
320
395
  /**
321
396
  * Describes the message fermata.v1.DiagnosticFinding.
322
397
  * Use `create(DiagnosticFindingSchema)` to create a new message.
323
398
  */
324
- export const DiagnosticFindingSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 61);
399
+ export const DiagnosticFindingSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 76);
325
400
  /**
326
401
  * Describes the message fermata.v1.EvaluationDiagnosticArtifact.
327
402
  * Use `create(EvaluationDiagnosticArtifactSchema)` to create a new message.
328
403
  */
329
- export const EvaluationDiagnosticArtifactSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 62);
404
+ export const EvaluationDiagnosticArtifactSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 77);
330
405
  /**
331
406
  * Describes the message fermata.v1.ExplainScenarioRunRequest.
332
407
  * Use `create(ExplainScenarioRunRequestSchema)` to create a new message.
333
408
  */
334
- export const ExplainScenarioRunRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 63);
409
+ export const ExplainScenarioRunRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 78);
335
410
  /**
336
411
  * Describes the message fermata.v1.ExplainScenarioRunResponse.
337
412
  * Use `create(ExplainScenarioRunResponseSchema)` to create a new message.
338
413
  */
339
- export const ExplainScenarioRunResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 64);
414
+ export const ExplainScenarioRunResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 79);
340
415
  /**
341
416
  * Describes the message fermata.v1.AnalyzeScenarioRunRootCauseRequest.
342
417
  * Use `create(AnalyzeScenarioRunRootCauseRequestSchema)` to create a new message.
343
418
  */
344
- export const AnalyzeScenarioRunRootCauseRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 65);
419
+ export const AnalyzeScenarioRunRootCauseRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 80);
345
420
  /**
346
421
  * Describes the message fermata.v1.AnalyzeScenarioRunRootCauseResponse.
347
422
  * Use `create(AnalyzeScenarioRunRootCauseResponseSchema)` to create a new message.
348
423
  */
349
- export const AnalyzeScenarioRunRootCauseResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 66);
424
+ export const AnalyzeScenarioRunRootCauseResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 81);
350
425
  /**
351
426
  * Describes the message fermata.v1.JudgeValidationAccuracyMetrics.
352
427
  * Use `create(JudgeValidationAccuracyMetricsSchema)` to create a new message.
353
428
  */
354
- export const JudgeValidationAccuracyMetricsSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 67);
429
+ export const JudgeValidationAccuracyMetricsSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 82);
355
430
  /**
356
431
  * Describes the message fermata.v1.JudgeValidationConfusionMatrix.
357
432
  * Use `create(JudgeValidationConfusionMatrixSchema)` to create a new message.
358
433
  */
359
- export const JudgeValidationConfusionMatrixSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 68);
434
+ export const JudgeValidationConfusionMatrixSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 83);
360
435
  /**
361
436
  * Describes the message fermata.v1.JudgeValidationBiasMetrics.
362
437
  * Use `create(JudgeValidationBiasMetricsSchema)` to create a new message.
363
438
  */
364
- export const JudgeValidationBiasMetricsSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 69);
439
+ export const JudgeValidationBiasMetricsSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 84);
365
440
  /**
366
441
  * Describes the message fermata.v1.JudgeValidationCalibration.
367
442
  * Use `create(JudgeValidationCalibrationSchema)` to create a new message.
368
443
  */
369
- export const JudgeValidationCalibrationSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 70);
444
+ export const JudgeValidationCalibrationSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 85);
370
445
  /**
371
446
  * Describes the message fermata.v1.JudgeValidationEvaluation.
372
447
  * Use `create(JudgeValidationEvaluationSchema)` to create a new message.
373
448
  */
374
- export const JudgeValidationEvaluationSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 71);
449
+ export const JudgeValidationEvaluationSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 86);
375
450
  /**
376
451
  * Describes the message fermata.v1.JudgeCalibrationCandidate.
377
452
  * Use `create(JudgeCalibrationCandidateSchema)` to create a new message.
378
453
  */
379
- export const JudgeCalibrationCandidateSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 72);
454
+ export const JudgeCalibrationCandidateSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 87);
380
455
  /**
381
456
  * Describes the message fermata.v1.GetJudgeValidationAccuracyRequest.
382
457
  * Use `create(GetJudgeValidationAccuracyRequestSchema)` to create a new message.
383
458
  */
384
- export const GetJudgeValidationAccuracyRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 73);
459
+ export const GetJudgeValidationAccuracyRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 88);
385
460
  /**
386
461
  * Describes the message fermata.v1.GetJudgeValidationAccuracyResponse.
387
462
  * Use `create(GetJudgeValidationAccuracyResponseSchema)` to create a new message.
388
463
  */
389
- export const GetJudgeValidationAccuracyResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 74);
464
+ export const GetJudgeValidationAccuracyResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 89);
390
465
  /**
391
466
  * Describes the message fermata.v1.GetJudgeValidationConfusionMatrixRequest.
392
467
  * Use `create(GetJudgeValidationConfusionMatrixRequestSchema)` to create a new message.
393
468
  */
394
- export const GetJudgeValidationConfusionMatrixRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 75);
469
+ export const GetJudgeValidationConfusionMatrixRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 90);
395
470
  /**
396
471
  * Describes the message fermata.v1.GetJudgeValidationConfusionMatrixResponse.
397
472
  * Use `create(GetJudgeValidationConfusionMatrixResponseSchema)` to create a new message.
398
473
  */
399
- export const GetJudgeValidationConfusionMatrixResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 76);
474
+ export const GetJudgeValidationConfusionMatrixResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 91);
400
475
  /**
401
476
  * Describes the message fermata.v1.GetJudgeValidationBiasRequest.
402
477
  * Use `create(GetJudgeValidationBiasRequestSchema)` to create a new message.
403
478
  */
404
- export const GetJudgeValidationBiasRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 77);
479
+ export const GetJudgeValidationBiasRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 92);
405
480
  /**
406
481
  * Describes the message fermata.v1.GetJudgeValidationBiasResponse.
407
482
  * Use `create(GetJudgeValidationBiasResponseSchema)` to create a new message.
408
483
  */
409
- export const GetJudgeValidationBiasResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 78);
484
+ export const GetJudgeValidationBiasResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 93);
410
485
  /**
411
486
  * Describes the message fermata.v1.RecalibrateJudgeValidationRequest.
412
487
  * Use `create(RecalibrateJudgeValidationRequestSchema)` to create a new message.
413
488
  */
414
- export const RecalibrateJudgeValidationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 79);
489
+ export const RecalibrateJudgeValidationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 94);
415
490
  /**
416
491
  * Describes the message fermata.v1.RecalibrateJudgeValidationResponse.
417
492
  * Use `create(RecalibrateJudgeValidationResponseSchema)` to create a new message.
418
493
  */
419
- export const RecalibrateJudgeValidationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 80);
494
+ export const RecalibrateJudgeValidationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 95);
420
495
  /**
421
496
  * Describes the message fermata.v1.RecordJudgeValidationEvaluationRequest.
422
497
  * Use `create(RecordJudgeValidationEvaluationRequestSchema)` to create a new message.
423
498
  */
424
- export const RecordJudgeValidationEvaluationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 81);
499
+ export const RecordJudgeValidationEvaluationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 96);
425
500
  /**
426
501
  * Describes the message fermata.v1.RecordJudgeValidationEvaluationResponse.
427
502
  * Use `create(RecordJudgeValidationEvaluationResponseSchema)` to create a new message.
428
503
  */
429
- export const RecordJudgeValidationEvaluationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 82);
504
+ export const RecordJudgeValidationEvaluationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 97);
430
505
  /**
431
506
  * Describes the message fermata.v1.ValidateJudgeValidationEvaluationRequest.
432
507
  * Use `create(ValidateJudgeValidationEvaluationRequestSchema)` to create a new message.
433
508
  */
434
- export const ValidateJudgeValidationEvaluationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 83);
509
+ export const ValidateJudgeValidationEvaluationRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 98);
435
510
  /**
436
511
  * Describes the message fermata.v1.ValidateJudgeValidationEvaluationResponse.
437
512
  * Use `create(ValidateJudgeValidationEvaluationResponseSchema)` to create a new message.
438
513
  */
439
- export const ValidateJudgeValidationEvaluationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 84);
514
+ export const ValidateJudgeValidationEvaluationResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 99);
440
515
  /**
441
516
  * Describes the message fermata.v1.ListJudgeCalibrationCandidatesRequest.
442
517
  * Use `create(ListJudgeCalibrationCandidatesRequestSchema)` to create a new message.
443
518
  */
444
- export const ListJudgeCalibrationCandidatesRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 85);
519
+ export const ListJudgeCalibrationCandidatesRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 100);
445
520
  /**
446
521
  * Describes the message fermata.v1.ListJudgeCalibrationCandidatesResponse.
447
522
  * Use `create(ListJudgeCalibrationCandidatesResponseSchema)` to create a new message.
448
523
  */
449
- export const ListJudgeCalibrationCandidatesResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 86);
524
+ export const ListJudgeCalibrationCandidatesResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 101);
450
525
  /**
451
526
  * Describes the message fermata.v1.GetMigrationStatusRequest.
452
527
  * Use `create(GetMigrationStatusRequestSchema)` to create a new message.
453
528
  */
454
- export const GetMigrationStatusRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 87);
529
+ export const GetMigrationStatusRequestSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 102);
455
530
  /**
456
531
  * Describes the message fermata.v1.RouteMigrationStatus.
457
532
  * Use `create(RouteMigrationStatusSchema)` to create a new message.
458
533
  */
459
- export const RouteMigrationStatusSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 88);
534
+ export const RouteMigrationStatusSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 103);
460
535
  /**
461
536
  * Describes the message fermata.v1.GetMigrationStatusResponse.
462
537
  * Use `create(GetMigrationStatusResponseSchema)` to create a new message.
463
538
  */
464
- export const GetMigrationStatusResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 89);
539
+ export const GetMigrationStatusResponseSchema = /*@__PURE__*/ messageDesc(file_fermata_v1_fermata, 104);
465
540
  /**
466
541
  * @generated from enum fermata.v1.AssertionKind
467
542
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evalops/sdk-ts",
3
- "version": "0.1.67",
3
+ "version": "0.1.69",
4
4
  "description": "Generated TypeScript SDK protobuf types for EvalOps public APIs",
5
5
  "type": "module",
6
6
  "sideEffects": false,