wrc-ts 0.1.0 → 0.2.0
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.
- package/dist/browser.d.ts +2 -2
- package/dist/client.d.ts +23 -2
- package/dist/client.js +37 -1
- package/dist/gen/wrc_pb.d.ts +77 -0
- package/dist/gen/wrc_pb.js +13 -3
- package/dist/index.d.ts +2 -2
- package/dist/options.d.ts +7 -0
- package/dist/types.d.ts +10 -0
- package/dist/wrc.browser.js +37 -2
- package/package.json +1 -1
package/dist/browser.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ export { BrowserConfig } from "./config.ts";
|
|
|
5
5
|
export { Locator, css, js, node, at, AllFrames } from "./locator.ts";
|
|
6
6
|
export { DefaultWaitTimeoutMs, DefaultVisible, DefaultSteadyMs, } from "./defaults.ts";
|
|
7
7
|
export { WRCError } from "./errors.ts";
|
|
8
|
-
export type { Rect, FrameInfo, PageInfo, Header, InterceptedRequest, InterceptedResponse, WaitResult, NavigateResult, EvaluateResult, ElementResult, DragResult, SelectOptionResult, ObservationResult, DOMResult, InspectResult, RentResponse, } from "./types.ts";
|
|
9
|
-
export type { Button, ClickAction, ClickOpts, FillOpts, SelectOpts, WaitOpts, WaitUntil, NavigateOpts, LoadHTMLOpts, GetDOMOpts, GetObservationOpts, } from "./options.ts";
|
|
8
|
+
export type { Rect, FrameInfo, PageInfo, Header, InterceptedRequest, InterceptedResponse, WaitResult, NavigateResult, EvaluateResult, ElementResult, DragResult, SelectOptionResult, ObservationResult, ScreenshotResult, DOMResult, InspectResult, RentResponse, } from "./types.ts";
|
|
9
|
+
export type { Button, ClickAction, ClickOpts, FillOpts, SelectOpts, WaitOpts, WaitUntil, NavigateOpts, LoadHTMLOpts, GetDOMOpts, GetObservationOpts, ScreenshotOpts, } from "./options.ts";
|
|
10
10
|
export { type RequestPattern, type HeaderModification, type HeaderModificationAction, } from "./network.ts";
|
|
11
11
|
export type { CookieParam } from "./cookies.ts";
|
|
12
12
|
export type { StorageItem, StorageOriginEntry } from "./storage.ts";
|
package/dist/client.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Transport } from "@connectrpc/connect";
|
|
2
2
|
import type { Locator } from "./locator.ts";
|
|
3
|
-
import type { DOMResult, DragResult, ElementResult, EvaluateResult, InterceptedRequest, InterceptedResponse, InspectResult, NavigateResult, ObservationResult, PageInfo, SelectOptionResult, WaitResult } from "./types.ts";
|
|
4
|
-
import type { ClickOpts, FillOpts, GetDOMOpts, GetObservationOpts, LoadHTMLOpts, NavigateOpts, SelectOpts, WaitOpts } from "./options.ts";
|
|
3
|
+
import type { DOMResult, DragResult, ElementResult, EvaluateResult, InterceptedRequest, InterceptedResponse, InspectResult, NavigateResult, ObservationResult, PageInfo, ScreenshotResult, SelectOptionResult, WaitResult } from "./types.ts";
|
|
4
|
+
import type { ClickOpts, FillOpts, GetDOMOpts, GetObservationOpts, LoadHTMLOpts, NavigateOpts, ScreenshotOpts, SelectOpts, WaitOpts } from "./options.ts";
|
|
5
5
|
import type { HeaderModification, RequestPattern } from "./network.ts";
|
|
6
6
|
import type { CookieParam } from "./cookies.ts";
|
|
7
7
|
import type { StorageOriginEntry } from "./storage.ts";
|
|
@@ -474,6 +474,27 @@ export declare class CloudBrowser {
|
|
|
474
474
|
* console.log(obs.text);
|
|
475
475
|
*/
|
|
476
476
|
getObservation(opts?: GetObservationOpts): Promise<ObservationResult>;
|
|
477
|
+
/**
|
|
478
|
+
* Captures a single image of the page's current frame and returns it as
|
|
479
|
+
* base64-encoded image bytes.
|
|
480
|
+
*
|
|
481
|
+
* The capture uses a one-shot surface copy (the same mechanism as CDP
|
|
482
|
+
* Page.captureScreenshot), so it is independent of any active live stream
|
|
483
|
+
* and works with both GPU (hardware) and software compositing.
|
|
484
|
+
*
|
|
485
|
+
* @param opts - optional `format` ("png" default, "jpeg", "webp") and
|
|
486
|
+
* `quality` (0-100, for jpeg/webp only); omit to use the server defaults
|
|
487
|
+
*
|
|
488
|
+
* @returns ScreenshotResult with the base64 image in `dataBase64` and the
|
|
489
|
+
* physical pixel `width`/`height`
|
|
490
|
+
*
|
|
491
|
+
* @throws UNKNOWN_ERROR - the screenshot could not be captured
|
|
492
|
+
*
|
|
493
|
+
* @example
|
|
494
|
+
* const shot = await browser.screenshot({ format: "png" });
|
|
495
|
+
* await fs.writeFile("page.png", Buffer.from(shot.dataBase64, "base64"));
|
|
496
|
+
*/
|
|
497
|
+
screenshot(opts?: ScreenshotOpts): Promise<ScreenshotResult>;
|
|
477
498
|
/**
|
|
478
499
|
* Replaces the session's URL blocklist.
|
|
479
500
|
*
|
package/dist/client.js
CHANGED
|
@@ -2,7 +2,7 @@ import { createClient } from "@connectrpc/connect";
|
|
|
2
2
|
import { create } from "@bufbuild/protobuf";
|
|
3
3
|
import { WRC,
|
|
4
4
|
// request / response schemas
|
|
5
|
-
SetProxyRequestSchema, GetPagesRequestSchema, NavigateRequestSchema, LoadHTMLRequestSchema, EvaluateRequestSchema, WaitForAnyParamsSchema, WaitConditionSchema, ClickRequestSchema, FillRequestSchema, MoveToRequestSchema, ScrollToRequestSchema, DragRequestSchema, SelectOptionRequestSchema, GetDOMRequestSchema, GetDOMHashRequestSchema, GetObservationRequestSchema, SetBlockListRequestSchema, SetStaticPathsRequestSchema, WaitForAnyRequestRequestSchema, WaitForAnyResponseRequestSchema, ModifyRequestRequestSchema, GetCookiesRequestSchema, SetCookiesRequestSchema, ClearCookiesRequestSchema, GetStorageRequestSchema, SetStorageRequestSchema, ClearStorageRequestSchema, InspectAtPositionRequestSchema, HighlightNodeRequestSchema, InsertTextRequestSchema, PressKeyRequestSchema, ReleaseKeyRequestSchema, GetSelectionRequestSchema, SolveCaptchaRequestSchema, } from "./gen/wrc_pb.js";
|
|
5
|
+
SetProxyRequestSchema, GetPagesRequestSchema, NavigateRequestSchema, LoadHTMLRequestSchema, EvaluateRequestSchema, WaitForAnyParamsSchema, WaitConditionSchema, ClickRequestSchema, FillRequestSchema, MoveToRequestSchema, ScrollToRequestSchema, DragRequestSchema, SelectOptionRequestSchema, GetDOMRequestSchema, GetDOMHashRequestSchema, GetObservationRequestSchema, ScreenshotRequestSchema, SetBlockListRequestSchema, SetStaticPathsRequestSchema, WaitForAnyRequestRequestSchema, WaitForAnyResponseRequestSchema, ModifyRequestRequestSchema, GetCookiesRequestSchema, SetCookiesRequestSchema, ClearCookiesRequestSchema, GetStorageRequestSchema, SetStorageRequestSchema, ClearStorageRequestSchema, InspectAtPositionRequestSchema, HighlightNodeRequestSchema, InsertTextRequestSchema, PressKeyRequestSchema, ReleaseKeyRequestSchema, GetSelectionRequestSchema, SolveCaptchaRequestSchema, } from "./gen/wrc_pb.js";
|
|
6
6
|
import { DefaultWaitTimeoutMs } from "./defaults.js";
|
|
7
7
|
import { WRCError } from "./errors.js";
|
|
8
8
|
import { cookieParamFromProto, cookieParamsToProto, dragResultFromProto, elementFields, elementResultFromProto, headerModsToProto, headersToProto, interceptedRequestFromProto, interceptedResponseFromProto, pageInfoFromProto, rectFromProto, splitRequestPatterns, storageEntriesToProto, storageEntryFromProto, waitResultFromProto, } from "./internal/convert.js";
|
|
@@ -736,6 +736,42 @@ export class CloudBrowser {
|
|
|
736
736
|
const resp = await this.client.getObservation(req);
|
|
737
737
|
return { text: resp.observationText, json: resp.observationJson };
|
|
738
738
|
}
|
|
739
|
+
/**
|
|
740
|
+
* Captures a single image of the page's current frame and returns it as
|
|
741
|
+
* base64-encoded image bytes.
|
|
742
|
+
*
|
|
743
|
+
* The capture uses a one-shot surface copy (the same mechanism as CDP
|
|
744
|
+
* Page.captureScreenshot), so it is independent of any active live stream
|
|
745
|
+
* and works with both GPU (hardware) and software compositing.
|
|
746
|
+
*
|
|
747
|
+
* @param opts - optional `format` ("png" default, "jpeg", "webp") and
|
|
748
|
+
* `quality` (0-100, for jpeg/webp only); omit to use the server defaults
|
|
749
|
+
*
|
|
750
|
+
* @returns ScreenshotResult with the base64 image in `dataBase64` and the
|
|
751
|
+
* physical pixel `width`/`height`
|
|
752
|
+
*
|
|
753
|
+
* @throws UNKNOWN_ERROR - the screenshot could not be captured
|
|
754
|
+
*
|
|
755
|
+
* @example
|
|
756
|
+
* const shot = await browser.screenshot({ format: "png" });
|
|
757
|
+
* await fs.writeFile("page.png", Buffer.from(shot.dataBase64, "base64"));
|
|
758
|
+
*/
|
|
759
|
+
async screenshot(opts) {
|
|
760
|
+
const req = create(ScreenshotRequestSchema, {
|
|
761
|
+
sessionId: this.sessionId,
|
|
762
|
+
apiKey: this.apiKey,
|
|
763
|
+
});
|
|
764
|
+
if (opts?.format !== undefined)
|
|
765
|
+
req.format = opts.format;
|
|
766
|
+
if (opts?.quality !== undefined)
|
|
767
|
+
req.quality = opts.quality;
|
|
768
|
+
const resp = await this.client.screenshot(req);
|
|
769
|
+
return {
|
|
770
|
+
dataBase64: resp.dataBase64,
|
|
771
|
+
width: resp.width,
|
|
772
|
+
height: resp.height,
|
|
773
|
+
};
|
|
774
|
+
}
|
|
739
775
|
// ──────────────────────────────────────────────────────────────────
|
|
740
776
|
// Network interception
|
|
741
777
|
// ──────────────────────────────────────────────────────────────────
|
package/dist/gen/wrc_pb.d.ts
CHANGED
|
@@ -1848,6 +1848,73 @@ export type GetSelectionResponse = Message<"wrc.v2.GetSelectionResponse"> & {
|
|
|
1848
1848
|
* Use `create(GetSelectionResponseSchema)` to create a new message.
|
|
1849
1849
|
*/
|
|
1850
1850
|
export declare const GetSelectionResponseSchema: GenMessage<GetSelectionResponse>;
|
|
1851
|
+
/**
|
|
1852
|
+
* Screenshot captures a single image of the page's current frame. The server
|
|
1853
|
+
* uses a one-shot surface copy (the same mechanism as CDP
|
|
1854
|
+
* Page.captureScreenshot), independent of any active WRC.startStream video
|
|
1855
|
+
* stream, and works with both GPU (hardware) and software compositing.
|
|
1856
|
+
*
|
|
1857
|
+
* @generated from message wrc.v2.ScreenshotRequest
|
|
1858
|
+
*/
|
|
1859
|
+
export type ScreenshotRequest = Message<"wrc.v2.ScreenshotRequest"> & {
|
|
1860
|
+
/**
|
|
1861
|
+
* @generated from field: string session_id = 1;
|
|
1862
|
+
*/
|
|
1863
|
+
sessionId: string;
|
|
1864
|
+
/**
|
|
1865
|
+
* @generated from field: string api_key = 2;
|
|
1866
|
+
*/
|
|
1867
|
+
apiKey: string;
|
|
1868
|
+
/**
|
|
1869
|
+
* @generated from field: string page_id = 3;
|
|
1870
|
+
*/
|
|
1871
|
+
pageId: string;
|
|
1872
|
+
/**
|
|
1873
|
+
* Image format: "png" (default), "jpeg", or "webp".
|
|
1874
|
+
*
|
|
1875
|
+
* @generated from field: optional string format = 4;
|
|
1876
|
+
*/
|
|
1877
|
+
format?: string;
|
|
1878
|
+
/**
|
|
1879
|
+
* Encode quality 0-100 for "jpeg"/"webp" (ignored for "png"). Default 90.
|
|
1880
|
+
*
|
|
1881
|
+
* @generated from field: optional int32 quality = 5;
|
|
1882
|
+
*/
|
|
1883
|
+
quality?: number;
|
|
1884
|
+
};
|
|
1885
|
+
/**
|
|
1886
|
+
* Describes the message wrc.v2.ScreenshotRequest.
|
|
1887
|
+
* Use `create(ScreenshotRequestSchema)` to create a new message.
|
|
1888
|
+
*/
|
|
1889
|
+
export declare const ScreenshotRequestSchema: GenMessage<ScreenshotRequest>;
|
|
1890
|
+
/**
|
|
1891
|
+
* @generated from message wrc.v2.ScreenshotResponse
|
|
1892
|
+
*/
|
|
1893
|
+
export type ScreenshotResponse = Message<"wrc.v2.ScreenshotResponse"> & {
|
|
1894
|
+
/**
|
|
1895
|
+
* Encoded image bytes as base64 (PNG by default).
|
|
1896
|
+
*
|
|
1897
|
+
* @generated from field: string data_base64 = 1;
|
|
1898
|
+
*/
|
|
1899
|
+
dataBase64: string;
|
|
1900
|
+
/**
|
|
1901
|
+
* Image width in physical pixels.
|
|
1902
|
+
*
|
|
1903
|
+
* @generated from field: int32 width = 2;
|
|
1904
|
+
*/
|
|
1905
|
+
width: number;
|
|
1906
|
+
/**
|
|
1907
|
+
* Image height in physical pixels.
|
|
1908
|
+
*
|
|
1909
|
+
* @generated from field: int32 height = 3;
|
|
1910
|
+
*/
|
|
1911
|
+
height: number;
|
|
1912
|
+
};
|
|
1913
|
+
/**
|
|
1914
|
+
* Describes the message wrc.v2.ScreenshotResponse.
|
|
1915
|
+
* Use `create(ScreenshotResponseSchema)` to create a new message.
|
|
1916
|
+
*/
|
|
1917
|
+
export declare const ScreenshotResponseSchema: GenMessage<ScreenshotResponse>;
|
|
1851
1918
|
/**
|
|
1852
1919
|
* @generated from message wrc.v2.SolveCaptchaRequest
|
|
1853
1920
|
*/
|
|
@@ -2142,6 +2209,16 @@ export declare const WRC: GenService<{
|
|
|
2142
2209
|
input: typeof HighlightNodeRequestSchema;
|
|
2143
2210
|
output: typeof EmptySchema;
|
|
2144
2211
|
};
|
|
2212
|
+
/**
|
|
2213
|
+
* Screenshot / capture
|
|
2214
|
+
*
|
|
2215
|
+
* @generated from rpc wrc.v2.WRC.Screenshot
|
|
2216
|
+
*/
|
|
2217
|
+
screenshot: {
|
|
2218
|
+
methodKind: "unary";
|
|
2219
|
+
input: typeof ScreenshotRequestSchema;
|
|
2220
|
+
output: typeof ScreenshotResponseSchema;
|
|
2221
|
+
};
|
|
2145
2222
|
/**
|
|
2146
2223
|
* Keyboard / IME (used by the live browser UI on top of the WebRTC stream)
|
|
2147
2224
|
*
|
package/dist/gen/wrc_pb.js
CHANGED
|
@@ -6,7 +6,7 @@ import { file_google_protobuf_empty } from "@bufbuild/protobuf/wkt";
|
|
|
6
6
|
/**
|
|
7
7
|
* Describes the file wrc.proto.
|
|
8
8
|
*/
|
|
9
|
-
export const file_wrc = /*@__PURE__*/ fileDesc("Cgl3cmMucHJvdG8SBndyYy52MiI7CgRSZWN0EgkKAXgYASABKAESCQoBeRgCIAEoARINCgV3aWR0aBgDIAEoARIOCgZoZWlnaHQYBCABKAEi6wEKCUZyYW1lSW5mbxIQCghmcmFtZV9pZBgBIAEoCRILCgN1cmwYAiABKAkSEAoIaXNfb29waWYYAyABKAgSFgoOaGFzX2pzX2NvbnRleHQYBCABKAgSEgoKaXNfbG9hZGluZxgFIAEoCBISCgppc192aXNpYmxlGAYgASgIEiMKDWFic29sdXRlX3JlY3QYByABKAsyDC53cmMudjIuUmVjdBIjCg1yZWxhdGl2ZV9yZWN0GAggASgLMgwud3JjLnYyLlJlY3QSIwoIY2hpbGRyZW4YCSADKAsyES53cmMudjIuRnJhbWVJbmZvIpoBCghQYWdlSW5mbxIPCgdwYWdlX2lkGAEgASgJEhoKEmJyb3dzZXJfY29udGV4dF9pZBgCIAEoCRILCgN1cmwYAyABKAkSDQoFdGl0bGUYBCABKAkSHgoIdmlld3BvcnQYBSABKAsyDC53cmMudjIuUmVjdBIlCgpmcmFtZV90cmVlGAYgASgLMhEud3JjLnYyLkZyYW1lSW5mbyIlCgZIZWFkZXISDAoEbmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoCSJ3ChJJbnRlcmNlcHRlZFJlcXVlc3QSDgoGbWV0aG9kGAEgASgJEgsKA3VybBgCIAEoCRIfCgdoZWFkZXJzGAMgAygLMg4ud3JjLnYyLkhlYWRlchIMCgRib2R5GAQgASgJEhUKDXJlc291cmNlX3R5cGUYBSABKAkiZgoTSW50ZXJjZXB0ZWRSZXNwb25zZRILCgN1cmwYASABKAkSEwoLc3RhdHVzX2NvZGUYAiABKAUSHwoHaGVhZGVycxgDIAMoCzIOLndyYy52Mi5IZWFkZXISDAoEYm9keRgEIAEoCSKOAQoSSGVhZGVyTW9kaWZpY2F0aW9uEgwKBG5hbWUYASABKAkSEgoFdmFsdWUYAiABKAlIAIgBARIOCgZhY3Rpb24YAyABKAkSEwoGYmVmb3JlGAQgASgJSAGIAQESEgoFYWZ0ZXIYBSABKAlIAogBAUIICgZfdmFsdWVCCQoHX2JlZm9yZUIICgZfYWZ0ZXIiTQoSQ29va2llUGFydGl0aW9uS2V5EhYKDnRvcF9sZXZlbF9zaXRlGAEgASgJEh8KF2hhc19jcm9zc19zaXRlX2FuY2VzdG9yGAIgASgIIrYDCgtDb29raWVQYXJhbRIMCgRuYW1lGAEgASgJEg0KBXZhbHVlGAIgASgJEhAKA3VybBgDIAEoCUgAiAEBEg4KBmRvbWFpbhgEIAEoCRIMCgRwYXRoGAUgASgJEhMKBnNlY3VyZRgGIAEoCEgBiAEBEhYKCWh0dHBfb25seRgHIAEoCEgCiAEBEhYKCXNhbWVfc2l0ZRgIIAEoCUgDiAEBEhQKB2V4cGlyZXMYCSABKAFIBIgBARIVCghwcmlvcml0eRgKIAEoCUgFiAEBEhoKDXNvdXJjZV9zY2hlbWUYCyABKAlIBogBARIYCgtzb3VyY2VfcG9ydBgMIAEoBUgHiAEBEjYKDXBhcnRpdGlvbl9rZXkYDSABKAsyGi53cmMudjIuQ29va2llUGFydGl0aW9uS2V5SAiIAQFCBgoEX3VybEIJCgdfc2VjdXJlQgwKCl9odHRwX29ubHlCDAoKX3NhbWVfc2l0ZUIKCghfZXhwaXJlc0ILCglfcHJpb3JpdHlCEAoOX3NvdXJjZV9zY2hlbWVCDgoMX3NvdXJjZV9wb3J0QhAKDl9wYXJ0aXRpb25fa2V5Iq0BCg1XYWl0Q29uZGl0aW9uEhUKCHNlbGVjdG9yGAEgASgJSACIAQESGgoNanNfZXhwcmVzc2lvbhgCIAEoCUgBiAEBEhQKB3Zpc2libGUYAyABKAhIAogBARIYCgtzdGVhZHlfdGltZRgEIAEoAUgDiAEBQgsKCV9zZWxlY3RvckIQCg5fanNfZXhwcmVzc2lvbkIKCghfdmlzaWJsZUIOCgxfc3RlYWR5X3RpbWUieAoKV2FpdFJlc3VsdBINCgVpbmRleBgBIAEoBRIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSEgoKaXNfdmlzaWJsZRgEIAEoCBIcCgZib3VuZHMYBSABKAsyDC53cmMudjIuUmVjdCKdAQoNRWxlbWVudFJlc3VsdBIPCgdzdWNjZXNzGAEgASgIEhAKCGZyYW1lX2lkGAIgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgDIAEoBRISCgppc192aXNpYmxlGAQgASgIEhwKBmJvdW5kcxgFIAEoCzIMLndyYy52Mi5SZWN0Eg4KBnJvb3RfeBgGIAEoARIOCgZyb290X3kYByABKAEiiAEKCkRyYWdSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSDwoHc3RhcnRfeBgEIAEoARIPCgdzdGFydF95GAUgASgBEg0KBWVuZF94GAYgASgBEg0KBWVuZF95GAcgASgBIlsKElNlbGVjdE9wdGlvblJlc3VsdBIWCg5zZWxlY3RlZF9pbmRleBgBIAEoBRIWCg5zZWxlY3RlZF92YWx1ZRgCIAEoCRIVCg1zZWxlY3RlZF90ZXh0GAMgASgJIuYBCg9TZXRQcm94eVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhcKCnByb3h5X2hvc3QYAyABKAlIAIgBARIXCgpwcm94eV9wb3J0GAQgASgFSAGIAQESGwoOcHJveHlfdXNlcm5hbWUYBSABKAlIAogBARIbCg5wcm94eV9wYXNzd29yZBgGIAEoCUgDiAEBQg0KC19wcm94eV9ob3N0Qg0KC19wcm94eV9wb3J0QhEKD19wcm94eV91c2VybmFtZUIRCg9fcHJveHlfcGFzc3dvcmQiNgoPR2V0UGFnZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSIzChBHZXRQYWdlc1Jlc3BvbnNlEh8KBXBhZ2VzGAEgAygLMhAud3JjLnYyLlBhZ2VJbmZvIpoBCg9OYXZpZ2F0ZVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSCwoDdXJsGAQgASgJEhUKCHJlZmVycmVyGAUgASgJSACIAQESFAoHdGltZW91dBgGIAEoAUgBiAEBQgsKCV9yZWZlcnJlckIKCghfdGltZW91dCIxChBOYXZpZ2F0ZVJlc3BvbnNlEhAKCGZyYW1lX2lkGAEgASgJEgsKA3VybBgCIAEoCSKtAQoPTG9hZEhUTUxSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEgsKA3VybBgEIAEoCRIMCgRodG1sGAUgASgJEh8KB2hlYWRlcnMYBiADKAsyDi53cmMudjIuSGVhZGVyEhgKC3N0YXR1c19jb2RlGAcgASgFSACIAQFCDgoMX3N0YXR1c19jb2RlIn8KD0V2YWx1YXRlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRISCgpleHByZXNzaW9uGAQgASgJEhUKCGZyYW1lX2lkGAUgASgJSACIAQFCCwoJX2ZyYW1lX2lkIm0KEEV2YWx1YXRlUmVzcG9uc2USDgoGcmVzdWx0GAEgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgCIAEoBRISCgppc192aXNpYmxlGAMgASgIEhwKBmJvdW5kcxgEIAEoCzIMLndyYy52Mi5SZWN0IrkBChBXYWl0Rm9yQW55UGFyYW1zEhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEikKCmNvbmRpdGlvbnMYBCADKAsyFS53cmMudjIuV2FpdENvbmRpdGlvbhIVCghmcmFtZV9pZBgFIAEoCUgAiAEBEhQKB3RpbWVvdXQYBiABKAFIAYgBAUILCglfZnJhbWVfaWRCCgoIX3RpbWVvdXQi9QIKE1NlbGVjdE9wdGlvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSHAoPYmFja2VuZF9ub2RlX2lkGAQgASgFSACIAQESFQoIc2VsZWN0b3IYBSABKAlIAYgBARIaCg1qc19leHByZXNzaW9uGAYgASgJSAKIAQESFQoIZnJhbWVfaWQYByABKAlIA4gBARISCgVpbmRleBgIIAEoBUgEiAEBEhIKBXZhbHVlGAkgASgJSAWIAQESEQoEdGV4dBgKIAEoCUgGiAEBEhgKC2ZpcmVfZXZlbnRzGAsgASgISAeIAQFCEgoQX2JhY2tlbmRfbm9kZV9pZEILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQggKBl9pbmRleEIICgZfdmFsdWVCBwoFX3RleHRCDgoMX2ZpcmVfZXZlbnRzIu8BCg9TY3JvbGxUb1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSHAoPYmFja2VuZF9ub2RlX2lkGAQgASgFSACIAQESFQoIc2VsZWN0b3IYBSABKAlIAYgBARIaCg1qc19leHByZXNzaW9uGAYgASgJSAKIAQESFQoIZnJhbWVfaWQYByABKAlIA4gBAUISChBfYmFja2VuZF9ub2RlX2lkQgsKCV9zZWxlY3RvckIQCg5fanNfZXhwcmVzc2lvbkILCglfZnJhbWVfaWQimQIKDU1vdmVUb1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSHAoPYmFja2VuZF9ub2RlX2lkGAQgASgFSACIAQESFQoIc2VsZWN0b3IYBSABKAlIAYgBARIaCg1qc19leHByZXNzaW9uGAYgASgJSAKIAQESFQoIZnJhbWVfaWQYByABKAlIA4gBARIOCgF4GAggASgBSASIAQESDgoBeRgJIAEoAUgFiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEIECgJfeEIECgJfeSKCAwoMQ2xpY2tSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhwKD2JhY2tlbmRfbm9kZV9pZBgEIAEoBUgAiAEBEhUKCHNlbGVjdG9yGAUgASgJSAGIAQESGgoNanNfZXhwcmVzc2lvbhgGIAEoCUgCiAEBEhUKCGZyYW1lX2lkGAcgASgJSAOIAQESEwoGYnV0dG9uGAggASgJSASIAQESGAoLY2xpY2tfY291bnQYCSABKAVIBYgBARIOCgF4GAogASgBSAaIAQESDgoBeRgLIAEoAUgHiAEBEhMKBmFjdGlvbhgMIAEoCUgIiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEIJCgdfYnV0dG9uQg4KDF9jbGlja19jb3VudEIECgJfeEIECgJfeUIJCgdfYWN0aW9uIoMDCgtEcmFnUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEhUKCG9mZnNldF94GAggASgBSASIAQESFQoIb2Zmc2V0X3kYCSABKAFIBYgBARIXCgphYnNvbHV0ZV94GAogASgBSAaIAQESFwoKYWJzb2x1dGVfeRgLIAEoAUgHiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEILCglfb2Zmc2V0X3hCCwoJX29mZnNldF95Qg0KC19hYnNvbHV0ZV94Qg0KC19hYnNvbHV0ZV95IqMCCgtGaWxsUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEgwKBHRleHQYCCABKAkSGAoLY2xlYXJfZmlyc3QYCSABKAhIBIgBAUISChBfYmFja2VuZF9ub2RlX2lkQgsKCV9zZWxlY3RvckIQCg5fanNfZXhwcmVzc2lvbkILCglfZnJhbWVfaWRCDgoMX2NsZWFyX2ZpcnN0IkwKE1NldEJsb2NrTGlzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhAKCHBhdHRlcm5zGAMgAygJImEKFVNldFN0YXRpY1BhdGhzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEAoIcGF0dGVybnMYAyADKAkSEQoJYmxvYl9uYW1lGAQgASgJIogBChhXYWl0Rm9yQW55UmVxdWVzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhAKCHBhdHRlcm5zGAMgAygJEhMKC2Fib3J0X2ZsYWdzGAQgAygFEhQKB3RpbWVvdXQYBSABKAFIAIgBAUIKCghfdGltZW91dCJXChlXYWl0Rm9yQW55UmVxdWVzdFJlc3BvbnNlEg0KBWluZGV4GAEgASgFEisKB3JlcXVlc3QYAiABKAsyGi53cmMudjIuSW50ZXJjZXB0ZWRSZXF1ZXN0IokBChlXYWl0Rm9yQW55UmVzcG9uc2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIQCghwYXR0ZXJucxgDIAMoCRITCgthYm9ydF9mbGFncxgEIAMoBRIUCgd0aW1lb3V0GAUgASgBSACIAQFCCgoIX3RpbWVvdXQiWgoaV2FpdEZvckFueVJlc3BvbnNlUmVzcG9uc2USDQoFaW5kZXgYASABKAUSLQoIcmVzcG9uc2UYAiABKAsyGy53cmMudjIuSW50ZXJjZXB0ZWRSZXNwb25zZSLBAQoUTW9kaWZ5UmVxdWVzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhMKC3VybF9wYXR0ZXJuGAMgASgJEjEKDW1vZGlmaWNhdGlvbnMYBCADKAsyGi53cmMudjIuSGVhZGVyTW9kaWZpY2F0aW9uEhEKBGJvZHkYBSABKAlIAIgBARIUCgd0aW1lb3V0GAYgASgBSAGIAQFCBwoFX2JvZHlCCgoIX3RpbWVvdXQiRAoVTW9kaWZ5UmVxdWVzdFJlc3BvbnNlEisKB3JlcXVlc3QYASABKAsyGi53cmMudjIuSW50ZXJjZXB0ZWRSZXF1ZXN0IjgKEUdldENvb2tpZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSI6ChJHZXRDb29raWVzUmVzcG9uc2USJAoHY29va2llcxgBIAMoCzITLndyYy52Mi5Db29raWVQYXJhbSJeChFTZXRDb29raWVzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSJAoHY29va2llcxgDIAMoCzITLndyYy52Mi5Db29raWVQYXJhbSI6ChNDbGVhckNvb2tpZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSIpCgtTdG9yYWdlSXRlbRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkiSAoSU3RvcmFnZU9yaWdpbkVudHJ5Eg4KBm9yaWdpbhgBIAEoCRIiCgVpdGVtcxgCIAMoCzITLndyYy52Mi5TdG9yYWdlSXRlbSJYChFHZXRTdG9yYWdlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEwoGb3JpZ2luGAMgASgJSACIAQFCCQoHX29yaWdpbiJBChJHZXRTdG9yYWdlUmVzcG9uc2USKwoHc3RvcmFnZRgBIAMoCzIaLndyYy52Mi5TdG9yYWdlT3JpZ2luRW50cnkijwEKEVNldFN0b3JhZ2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIrCgdzdG9yYWdlGAMgAygLMhoud3JjLnYyLlN0b3JhZ2VPcmlnaW5FbnRyeRIYCgtjbGVhcl9maXJzdBgEIAEoCEgAiAEBQg4KDF9jbGVhcl9maXJzdCJaChNDbGVhclN0b3JhZ2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRITCgZvcmlnaW4YAyABKAlIAIgBAUIJCgdfb3JpZ2luIocBCg1HZXRET01SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhUKCGZyYW1lX2lkGAQgASgJSACIAQESEgoFZGVwdGgYBSABKAVIAYgBAUILCglfZnJhbWVfaWRCCAoGX2RlcHRoIh0KDkdldERPTVJlc3BvbnNlEgsKA2RvbRgBIAEoCSK/AQoVR2V0T2JzZXJ2YXRpb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEiMKFm1heF9lbGVtZW50c19wZXJfZnJhbWUYBCABKAVIAIgBARIcCg9tYXhfdGV4dF9sZW5ndGgYBSABKAVIAYgBAUIZChdfbWF4X2VsZW1lbnRzX3Blcl9mcmFtZUISChBfbWF4X3RleHRfbGVuZ3RoIkwKFkdldE9ic2VydmF0aW9uUmVzcG9uc2USGAoQb2JzZXJ2YXRpb25fdGV4dBgBIAEoCRIYChBvYnNlcnZhdGlvbl9qc29uGAIgASgJIm0KEUdldERPTUhhc2hSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhUKCGZyYW1lX2lkGAQgASgJSACIAQFCCwoJX2ZyYW1lX2lkIiIKEkdldERPTUhhc2hSZXNwb25zZRIMCgRoYXNoGAEgASgJImYKGEluc3BlY3RBdFBvc2l0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIJCgF4GAQgASgBEgkKAXkYBSABKAEioAEKGUluc3BlY3RBdFBvc2l0aW9uUmVzcG9uc2USFwoPYmFja2VuZF9ub2RlX2lkGAEgASgFEhAKCGZyYW1lX2lkGAIgASgJEhAKCHRhZ19uYW1lGAMgASgJEhQKDHRleHRfY29udGVudBgEIAEoCRISCgppc192aXNpYmxlGAUgASgIEhwKBmJvdW5kcxgGIAEoCzIMLndyYy52Mi5SZWN0IokBChRIaWdobGlnaHROb2RlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYBCABKAUSFQoIZnJhbWVfaWQYBSABKAlIAIgBAUILCglfZnJhbWVfaWQiVwoRSW5zZXJ0VGV4dFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSDAoEdGV4dBgEIAEoCSK6AQoPUHJlc3NLZXlSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEgsKA2tleRgEIAEoCRIRCgRjb2RlGAUgASgJSACIAQESFgoJbW9kaWZpZXJzGAYgASgFSAGIAQESFQoIbG9jYXRpb24YByABKAVIAogBAUIHCgVfY29kZUIMCgpfbW9kaWZpZXJzQgsKCV9sb2NhdGlvbiK8AQoRUmVsZWFzZUtleVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSCwoDa2V5GAQgASgJEhEKBGNvZGUYBSABKAlIAIgBARIWCgltb2RpZmllcnMYBiABKAVIAYgBARIVCghsb2NhdGlvbhgHIAEoBUgCiAEBQgcKBV9jb2RlQgwKCl9tb2RpZmllcnNCCwoJX2xvY2F0aW9uIksKE0dldFNlbGVjdGlvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkiJAoUR2V0U2VsZWN0aW9uUmVzcG9uc2USDAoEdGV4dBgBIAEoCSJkChNTb2x2ZUNhcHRjaGFSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRISCgp0aW1lb3V0X21zGAMgASgFEhQKDHJldHJ5X2Ftb3VudBgEIAEoBSImChRTb2x2ZUNhcHRjaGFSZXNwb25zZRIOCgZyZXN1bHQYASABKAkyvhEKA1dSQxI7CghTZXRQcm94eRIXLndyYy52Mi5TZXRQcm94eVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSPQoIR2V0UGFnZXMSFy53cmMudjIuR2V0UGFnZXNSZXF1ZXN0Ghgud3JjLnYyLkdldFBhZ2VzUmVzcG9uc2USPQoITmF2aWdhdGUSFy53cmMudjIuTmF2aWdhdGVSZXF1ZXN0Ghgud3JjLnYyLk5hdmlnYXRlUmVzcG9uc2USOwoITG9hZEhUTUwSFy53cmMudjIuTG9hZEhUTUxSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ej0KCEV2YWx1YXRlEhcud3JjLnYyLkV2YWx1YXRlUmVxdWVzdBoYLndyYy52Mi5FdmFsdWF0ZVJlc3BvbnNlEjoKCldhaXRGb3JBbnkSGC53cmMudjIuV2FpdEZvckFueVBhcmFtcxoSLndyYy52Mi5XYWl0UmVzdWx0EkcKDFNlbGVjdE9wdGlvbhIbLndyYy52Mi5TZWxlY3RPcHRpb25SZXF1ZXN0Ghoud3JjLnYyLlNlbGVjdE9wdGlvblJlc3VsdBI6CghTY3JvbGxUbxIXLndyYy52Mi5TY3JvbGxUb1JlcXVlc3QaFS53cmMudjIuRWxlbWVudFJlc3VsdBI2CgZNb3ZlVG8SFS53cmMudjIuTW92ZVRvUmVxdWVzdBoVLndyYy52Mi5FbGVtZW50UmVzdWx0EjQKBUNsaWNrEhQud3JjLnYyLkNsaWNrUmVxdWVzdBoVLndyYy52Mi5FbGVtZW50UmVzdWx0Ei8KBERyYWcSEy53cmMudjIuRHJhZ1JlcXVlc3QaEi53cmMudjIuRHJhZ1Jlc3VsdBIyCgRGaWxsEhMud3JjLnYyLkZpbGxSZXF1ZXN0GhUud3JjLnYyLkVsZW1lbnRSZXN1bHQSQwoMU2V0QmxvY2tMaXN0Ehsud3JjLnYyLlNldEJsb2NrTGlzdFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSRwoOU2V0U3RhdGljUGF0aHMSHS53cmMudjIuU2V0U3RhdGljUGF0aHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElgKEVdhaXRGb3JBbnlSZXF1ZXN0EiAud3JjLnYyLldhaXRGb3JBbnlSZXF1ZXN0UmVxdWVzdBohLndyYy52Mi5XYWl0Rm9yQW55UmVxdWVzdFJlc3BvbnNlElsKEldhaXRGb3JBbnlSZXNwb25zZRIhLndyYy52Mi5XYWl0Rm9yQW55UmVzcG9uc2VSZXF1ZXN0GiIud3JjLnYyLldhaXRGb3JBbnlSZXNwb25zZVJlc3BvbnNlEkwKDU1vZGlmeVJlcXVlc3QSHC53cmMudjIuTW9kaWZ5UmVxdWVzdFJlcXVlc3QaHS53cmMudjIuTW9kaWZ5UmVxdWVzdFJlc3BvbnNlEkMKCkdldENvb2tpZXMSGS53cmMudjIuR2V0Q29va2llc1JlcXVlc3QaGi53cmMudjIuR2V0Q29va2llc1Jlc3BvbnNlEj8KClNldENvb2tpZXMSGS53cmMudjIuU2V0Q29va2llc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSQwoMQ2xlYXJDb29raWVzEhsud3JjLnYyLkNsZWFyQ29va2llc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSQwoKR2V0U3RvcmFnZRIZLndyYy52Mi5HZXRTdG9yYWdlUmVxdWVzdBoaLndyYy52Mi5HZXRTdG9yYWdlUmVzcG9uc2USPwoKU2V0U3RvcmFnZRIZLndyYy52Mi5TZXRTdG9yYWdlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJDCgxDbGVhclN0b3JhZ2USGy53cmMudjIuQ2xlYXJTdG9yYWdlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI3CgZHZXRET00SFS53cmMudjIuR2V0RE9NUmVxdWVzdBoWLndyYy52Mi5HZXRET01SZXNwb25zZRJDCgpHZXRET01IYXNoEhkud3JjLnYyLkdldERPTUhhc2hSZXF1ZXN0Ghoud3JjLnYyLkdldERPTUhhc2hSZXNwb25zZRJPCg5HZXRPYnNlcnZhdGlvbhIdLndyYy52Mi5HZXRPYnNlcnZhdGlvblJlcXVlc3QaHi53cmMudjIuR2V0T2JzZXJ2YXRpb25SZXNwb25zZRJYChFJbnNwZWN0QXRQb3NpdGlvbhIgLndyYy52Mi5JbnNwZWN0QXRQb3NpdGlvblJlcXVlc3QaIS53cmMudjIuSW5zcGVjdEF0UG9zaXRpb25SZXNwb25zZRJFCg1IaWdobGlnaHROb2RlEhwud3JjLnYyLkhpZ2hsaWdodE5vZGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ej8KCkluc2VydFRleHQSGS53cmMudjIuSW5zZXJ0VGV4dFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSOwoIUHJlc3NLZXkSFy53cmMudjIuUHJlc3NLZXlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ej8KClJlbGVhc2VLZXkSGS53cmMudjIuUmVsZWFzZUtleVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSSQoMR2V0U2VsZWN0aW9uEhsud3JjLnYyLkdldFNlbGVjdGlvblJlcXVlc3QaHC53cmMudjIuR2V0U2VsZWN0aW9uUmVzcG9uc2USSQoMU29sdmVDYXB0Y2hhEhsud3JjLnYyLlNvbHZlQ2FwdGNoYVJlcXVlc3QaHC53cmMudjIuU29sdmVDYXB0Y2hhUmVzcG9uc2VCKlooZ2l0aHViLmNvbS93ZWJyb2JvdC1kZXYvd3JjX2dvL2dlbmVyYXRlZGIGcHJvdG8z", [file_google_protobuf_empty]);
|
|
9
|
+
export const file_wrc = /*@__PURE__*/ fileDesc("Cgl3cmMucHJvdG8SBndyYy52MiI7CgRSZWN0EgkKAXgYASABKAESCQoBeRgCIAEoARINCgV3aWR0aBgDIAEoARIOCgZoZWlnaHQYBCABKAEi6wEKCUZyYW1lSW5mbxIQCghmcmFtZV9pZBgBIAEoCRILCgN1cmwYAiABKAkSEAoIaXNfb29waWYYAyABKAgSFgoOaGFzX2pzX2NvbnRleHQYBCABKAgSEgoKaXNfbG9hZGluZxgFIAEoCBISCgppc192aXNpYmxlGAYgASgIEiMKDWFic29sdXRlX3JlY3QYByABKAsyDC53cmMudjIuUmVjdBIjCg1yZWxhdGl2ZV9yZWN0GAggASgLMgwud3JjLnYyLlJlY3QSIwoIY2hpbGRyZW4YCSADKAsyES53cmMudjIuRnJhbWVJbmZvIpoBCghQYWdlSW5mbxIPCgdwYWdlX2lkGAEgASgJEhoKEmJyb3dzZXJfY29udGV4dF9pZBgCIAEoCRILCgN1cmwYAyABKAkSDQoFdGl0bGUYBCABKAkSHgoIdmlld3BvcnQYBSABKAsyDC53cmMudjIuUmVjdBIlCgpmcmFtZV90cmVlGAYgASgLMhEud3JjLnYyLkZyYW1lSW5mbyIlCgZIZWFkZXISDAoEbmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoCSJ3ChJJbnRlcmNlcHRlZFJlcXVlc3QSDgoGbWV0aG9kGAEgASgJEgsKA3VybBgCIAEoCRIfCgdoZWFkZXJzGAMgAygLMg4ud3JjLnYyLkhlYWRlchIMCgRib2R5GAQgASgJEhUKDXJlc291cmNlX3R5cGUYBSABKAkiZgoTSW50ZXJjZXB0ZWRSZXNwb25zZRILCgN1cmwYASABKAkSEwoLc3RhdHVzX2NvZGUYAiABKAUSHwoHaGVhZGVycxgDIAMoCzIOLndyYy52Mi5IZWFkZXISDAoEYm9keRgEIAEoCSKOAQoSSGVhZGVyTW9kaWZpY2F0aW9uEgwKBG5hbWUYASABKAkSEgoFdmFsdWUYAiABKAlIAIgBARIOCgZhY3Rpb24YAyABKAkSEwoGYmVmb3JlGAQgASgJSAGIAQESEgoFYWZ0ZXIYBSABKAlIAogBAUIICgZfdmFsdWVCCQoHX2JlZm9yZUIICgZfYWZ0ZXIiTQoSQ29va2llUGFydGl0aW9uS2V5EhYKDnRvcF9sZXZlbF9zaXRlGAEgASgJEh8KF2hhc19jcm9zc19zaXRlX2FuY2VzdG9yGAIgASgIIrYDCgtDb29raWVQYXJhbRIMCgRuYW1lGAEgASgJEg0KBXZhbHVlGAIgASgJEhAKA3VybBgDIAEoCUgAiAEBEg4KBmRvbWFpbhgEIAEoCRIMCgRwYXRoGAUgASgJEhMKBnNlY3VyZRgGIAEoCEgBiAEBEhYKCWh0dHBfb25seRgHIAEoCEgCiAEBEhYKCXNhbWVfc2l0ZRgIIAEoCUgDiAEBEhQKB2V4cGlyZXMYCSABKAFIBIgBARIVCghwcmlvcml0eRgKIAEoCUgFiAEBEhoKDXNvdXJjZV9zY2hlbWUYCyABKAlIBogBARIYCgtzb3VyY2VfcG9ydBgMIAEoBUgHiAEBEjYKDXBhcnRpdGlvbl9rZXkYDSABKAsyGi53cmMudjIuQ29va2llUGFydGl0aW9uS2V5SAiIAQFCBgoEX3VybEIJCgdfc2VjdXJlQgwKCl9odHRwX29ubHlCDAoKX3NhbWVfc2l0ZUIKCghfZXhwaXJlc0ILCglfcHJpb3JpdHlCEAoOX3NvdXJjZV9zY2hlbWVCDgoMX3NvdXJjZV9wb3J0QhAKDl9wYXJ0aXRpb25fa2V5Iq0BCg1XYWl0Q29uZGl0aW9uEhUKCHNlbGVjdG9yGAEgASgJSACIAQESGgoNanNfZXhwcmVzc2lvbhgCIAEoCUgBiAEBEhQKB3Zpc2libGUYAyABKAhIAogBARIYCgtzdGVhZHlfdGltZRgEIAEoAUgDiAEBQgsKCV9zZWxlY3RvckIQCg5fanNfZXhwcmVzc2lvbkIKCghfdmlzaWJsZUIOCgxfc3RlYWR5X3RpbWUieAoKV2FpdFJlc3VsdBINCgVpbmRleBgBIAEoBRIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSEgoKaXNfdmlzaWJsZRgEIAEoCBIcCgZib3VuZHMYBSABKAsyDC53cmMudjIuUmVjdCKdAQoNRWxlbWVudFJlc3VsdBIPCgdzdWNjZXNzGAEgASgIEhAKCGZyYW1lX2lkGAIgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgDIAEoBRISCgppc192aXNpYmxlGAQgASgIEhwKBmJvdW5kcxgFIAEoCzIMLndyYy52Mi5SZWN0Eg4KBnJvb3RfeBgGIAEoARIOCgZyb290X3kYByABKAEiiAEKCkRyYWdSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSDwoHc3RhcnRfeBgEIAEoARIPCgdzdGFydF95GAUgASgBEg0KBWVuZF94GAYgASgBEg0KBWVuZF95GAcgASgBIlsKElNlbGVjdE9wdGlvblJlc3VsdBIWCg5zZWxlY3RlZF9pbmRleBgBIAEoBRIWCg5zZWxlY3RlZF92YWx1ZRgCIAEoCRIVCg1zZWxlY3RlZF90ZXh0GAMgASgJIuYBCg9TZXRQcm94eVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhcKCnByb3h5X2hvc3QYAyABKAlIAIgBARIXCgpwcm94eV9wb3J0GAQgASgFSAGIAQESGwoOcHJveHlfdXNlcm5hbWUYBSABKAlIAogBARIbCg5wcm94eV9wYXNzd29yZBgGIAEoCUgDiAEBQg0KC19wcm94eV9ob3N0Qg0KC19wcm94eV9wb3J0QhEKD19wcm94eV91c2VybmFtZUIRCg9fcHJveHlfcGFzc3dvcmQiNgoPR2V0UGFnZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSIzChBHZXRQYWdlc1Jlc3BvbnNlEh8KBXBhZ2VzGAEgAygLMhAud3JjLnYyLlBhZ2VJbmZvIpoBCg9OYXZpZ2F0ZVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSCwoDdXJsGAQgASgJEhUKCHJlZmVycmVyGAUgASgJSACIAQESFAoHdGltZW91dBgGIAEoAUgBiAEBQgsKCV9yZWZlcnJlckIKCghfdGltZW91dCIxChBOYXZpZ2F0ZVJlc3BvbnNlEhAKCGZyYW1lX2lkGAEgASgJEgsKA3VybBgCIAEoCSKtAQoPTG9hZEhUTUxSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEgsKA3VybBgEIAEoCRIMCgRodG1sGAUgASgJEh8KB2hlYWRlcnMYBiADKAsyDi53cmMudjIuSGVhZGVyEhgKC3N0YXR1c19jb2RlGAcgASgFSACIAQFCDgoMX3N0YXR1c19jb2RlIn8KD0V2YWx1YXRlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRISCgpleHByZXNzaW9uGAQgASgJEhUKCGZyYW1lX2lkGAUgASgJSACIAQFCCwoJX2ZyYW1lX2lkIm0KEEV2YWx1YXRlUmVzcG9uc2USDgoGcmVzdWx0GAEgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgCIAEoBRISCgppc192aXNpYmxlGAMgASgIEhwKBmJvdW5kcxgEIAEoCzIMLndyYy52Mi5SZWN0IrkBChBXYWl0Rm9yQW55UGFyYW1zEhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEikKCmNvbmRpdGlvbnMYBCADKAsyFS53cmMudjIuV2FpdENvbmRpdGlvbhIVCghmcmFtZV9pZBgFIAEoCUgAiAEBEhQKB3RpbWVvdXQYBiABKAFIAYgBAUILCglfZnJhbWVfaWRCCgoIX3RpbWVvdXQi9QIKE1NlbGVjdE9wdGlvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSHAoPYmFja2VuZF9ub2RlX2lkGAQgASgFSACIAQESFQoIc2VsZWN0b3IYBSABKAlIAYgBARIaCg1qc19leHByZXNzaW9uGAYgASgJSAKIAQESFQoIZnJhbWVfaWQYByABKAlIA4gBARISCgVpbmRleBgIIAEoBUgEiAEBEhIKBXZhbHVlGAkgASgJSAWIAQESEQoEdGV4dBgKIAEoCUgGiAEBEhgKC2ZpcmVfZXZlbnRzGAsgASgISAeIAQFCEgoQX2JhY2tlbmRfbm9kZV9pZEILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQggKBl9pbmRleEIICgZfdmFsdWVCBwoFX3RleHRCDgoMX2ZpcmVfZXZlbnRzIu8BCg9TY3JvbGxUb1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSHAoPYmFja2VuZF9ub2RlX2lkGAQgASgFSACIAQESFQoIc2VsZWN0b3IYBSABKAlIAYgBARIaCg1qc19leHByZXNzaW9uGAYgASgJSAKIAQESFQoIZnJhbWVfaWQYByABKAlIA4gBAUISChBfYmFja2VuZF9ub2RlX2lkQgsKCV9zZWxlY3RvckIQCg5fanNfZXhwcmVzc2lvbkILCglfZnJhbWVfaWQimQIKDU1vdmVUb1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSHAoPYmFja2VuZF9ub2RlX2lkGAQgASgFSACIAQESFQoIc2VsZWN0b3IYBSABKAlIAYgBARIaCg1qc19leHByZXNzaW9uGAYgASgJSAKIAQESFQoIZnJhbWVfaWQYByABKAlIA4gBARIOCgF4GAggASgBSASIAQESDgoBeRgJIAEoAUgFiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEIECgJfeEIECgJfeSKCAwoMQ2xpY2tSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhwKD2JhY2tlbmRfbm9kZV9pZBgEIAEoBUgAiAEBEhUKCHNlbGVjdG9yGAUgASgJSAGIAQESGgoNanNfZXhwcmVzc2lvbhgGIAEoCUgCiAEBEhUKCGZyYW1lX2lkGAcgASgJSAOIAQESEwoGYnV0dG9uGAggASgJSASIAQESGAoLY2xpY2tfY291bnQYCSABKAVIBYgBARIOCgF4GAogASgBSAaIAQESDgoBeRgLIAEoAUgHiAEBEhMKBmFjdGlvbhgMIAEoCUgIiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEIJCgdfYnV0dG9uQg4KDF9jbGlja19jb3VudEIECgJfeEIECgJfeUIJCgdfYWN0aW9uIoMDCgtEcmFnUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEhUKCG9mZnNldF94GAggASgBSASIAQESFQoIb2Zmc2V0X3kYCSABKAFIBYgBARIXCgphYnNvbHV0ZV94GAogASgBSAaIAQESFwoKYWJzb2x1dGVfeRgLIAEoAUgHiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEILCglfb2Zmc2V0X3hCCwoJX29mZnNldF95Qg0KC19hYnNvbHV0ZV94Qg0KC19hYnNvbHV0ZV95IqMCCgtGaWxsUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEgwKBHRleHQYCCABKAkSGAoLY2xlYXJfZmlyc3QYCSABKAhIBIgBAUISChBfYmFja2VuZF9ub2RlX2lkQgsKCV9zZWxlY3RvckIQCg5fanNfZXhwcmVzc2lvbkILCglfZnJhbWVfaWRCDgoMX2NsZWFyX2ZpcnN0IkwKE1NldEJsb2NrTGlzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhAKCHBhdHRlcm5zGAMgAygJImEKFVNldFN0YXRpY1BhdGhzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEAoIcGF0dGVybnMYAyADKAkSEQoJYmxvYl9uYW1lGAQgASgJIogBChhXYWl0Rm9yQW55UmVxdWVzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhAKCHBhdHRlcm5zGAMgAygJEhMKC2Fib3J0X2ZsYWdzGAQgAygFEhQKB3RpbWVvdXQYBSABKAFIAIgBAUIKCghfdGltZW91dCJXChlXYWl0Rm9yQW55UmVxdWVzdFJlc3BvbnNlEg0KBWluZGV4GAEgASgFEisKB3JlcXVlc3QYAiABKAsyGi53cmMudjIuSW50ZXJjZXB0ZWRSZXF1ZXN0IokBChlXYWl0Rm9yQW55UmVzcG9uc2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIQCghwYXR0ZXJucxgDIAMoCRITCgthYm9ydF9mbGFncxgEIAMoBRIUCgd0aW1lb3V0GAUgASgBSACIAQFCCgoIX3RpbWVvdXQiWgoaV2FpdEZvckFueVJlc3BvbnNlUmVzcG9uc2USDQoFaW5kZXgYASABKAUSLQoIcmVzcG9uc2UYAiABKAsyGy53cmMudjIuSW50ZXJjZXB0ZWRSZXNwb25zZSLBAQoUTW9kaWZ5UmVxdWVzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhMKC3VybF9wYXR0ZXJuGAMgASgJEjEKDW1vZGlmaWNhdGlvbnMYBCADKAsyGi53cmMudjIuSGVhZGVyTW9kaWZpY2F0aW9uEhEKBGJvZHkYBSABKAlIAIgBARIUCgd0aW1lb3V0GAYgASgBSAGIAQFCBwoFX2JvZHlCCgoIX3RpbWVvdXQiRAoVTW9kaWZ5UmVxdWVzdFJlc3BvbnNlEisKB3JlcXVlc3QYASABKAsyGi53cmMudjIuSW50ZXJjZXB0ZWRSZXF1ZXN0IjgKEUdldENvb2tpZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSI6ChJHZXRDb29raWVzUmVzcG9uc2USJAoHY29va2llcxgBIAMoCzITLndyYy52Mi5Db29raWVQYXJhbSJeChFTZXRDb29raWVzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSJAoHY29va2llcxgDIAMoCzITLndyYy52Mi5Db29raWVQYXJhbSI6ChNDbGVhckNvb2tpZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSIpCgtTdG9yYWdlSXRlbRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkiSAoSU3RvcmFnZU9yaWdpbkVudHJ5Eg4KBm9yaWdpbhgBIAEoCRIiCgVpdGVtcxgCIAMoCzITLndyYy52Mi5TdG9yYWdlSXRlbSJYChFHZXRTdG9yYWdlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEwoGb3JpZ2luGAMgASgJSACIAQFCCQoHX29yaWdpbiJBChJHZXRTdG9yYWdlUmVzcG9uc2USKwoHc3RvcmFnZRgBIAMoCzIaLndyYy52Mi5TdG9yYWdlT3JpZ2luRW50cnkijwEKEVNldFN0b3JhZ2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIrCgdzdG9yYWdlGAMgAygLMhoud3JjLnYyLlN0b3JhZ2VPcmlnaW5FbnRyeRIYCgtjbGVhcl9maXJzdBgEIAEoCEgAiAEBQg4KDF9jbGVhcl9maXJzdCJaChNDbGVhclN0b3JhZ2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRITCgZvcmlnaW4YAyABKAlIAIgBAUIJCgdfb3JpZ2luIocBCg1HZXRET01SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhUKCGZyYW1lX2lkGAQgASgJSACIAQESEgoFZGVwdGgYBSABKAVIAYgBAUILCglfZnJhbWVfaWRCCAoGX2RlcHRoIh0KDkdldERPTVJlc3BvbnNlEgsKA2RvbRgBIAEoCSK/AQoVR2V0T2JzZXJ2YXRpb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEiMKFm1heF9lbGVtZW50c19wZXJfZnJhbWUYBCABKAVIAIgBARIcCg9tYXhfdGV4dF9sZW5ndGgYBSABKAVIAYgBAUIZChdfbWF4X2VsZW1lbnRzX3Blcl9mcmFtZUISChBfbWF4X3RleHRfbGVuZ3RoIkwKFkdldE9ic2VydmF0aW9uUmVzcG9uc2USGAoQb2JzZXJ2YXRpb25fdGV4dBgBIAEoCRIYChBvYnNlcnZhdGlvbl9qc29uGAIgASgJIm0KEUdldERPTUhhc2hSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhUKCGZyYW1lX2lkGAQgASgJSACIAQFCCwoJX2ZyYW1lX2lkIiIKEkdldERPTUhhc2hSZXNwb25zZRIMCgRoYXNoGAEgASgJImYKGEluc3BlY3RBdFBvc2l0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIJCgF4GAQgASgBEgkKAXkYBSABKAEioAEKGUluc3BlY3RBdFBvc2l0aW9uUmVzcG9uc2USFwoPYmFja2VuZF9ub2RlX2lkGAEgASgFEhAKCGZyYW1lX2lkGAIgASgJEhAKCHRhZ19uYW1lGAMgASgJEhQKDHRleHRfY29udGVudBgEIAEoCRISCgppc192aXNpYmxlGAUgASgIEhwKBmJvdW5kcxgGIAEoCzIMLndyYy52Mi5SZWN0IokBChRIaWdobGlnaHROb2RlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYBCABKAUSFQoIZnJhbWVfaWQYBSABKAlIAIgBAUILCglfZnJhbWVfaWQiVwoRSW5zZXJ0VGV4dFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSDAoEdGV4dBgEIAEoCSK6AQoPUHJlc3NLZXlSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEgsKA2tleRgEIAEoCRIRCgRjb2RlGAUgASgJSACIAQESFgoJbW9kaWZpZXJzGAYgASgFSAGIAQESFQoIbG9jYXRpb24YByABKAVIAogBAUIHCgVfY29kZUIMCgpfbW9kaWZpZXJzQgsKCV9sb2NhdGlvbiK8AQoRUmVsZWFzZUtleVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSCwoDa2V5GAQgASgJEhEKBGNvZGUYBSABKAlIAIgBARIWCgltb2RpZmllcnMYBiABKAVIAYgBARIVCghsb2NhdGlvbhgHIAEoBUgCiAEBQgcKBV9jb2RlQgwKCl9tb2RpZmllcnNCCwoJX2xvY2F0aW9uIksKE0dldFNlbGVjdGlvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkiJAoUR2V0U2VsZWN0aW9uUmVzcG9uc2USDAoEdGV4dBgBIAEoCSKLAQoRU2NyZWVuc2hvdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSEwoGZm9ybWF0GAQgASgJSACIAQESFAoHcXVhbGl0eRgFIAEoBUgBiAEBQgkKB19mb3JtYXRCCgoIX3F1YWxpdHkiSAoSU2NyZWVuc2hvdFJlc3BvbnNlEhMKC2RhdGFfYmFzZTY0GAEgASgJEg0KBXdpZHRoGAIgASgFEg4KBmhlaWdodBgDIAEoBSJkChNTb2x2ZUNhcHRjaGFSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRISCgp0aW1lb3V0X21zGAMgASgFEhQKDHJldHJ5X2Ftb3VudBgEIAEoBSImChRTb2x2ZUNhcHRjaGFSZXNwb25zZRIOCgZyZXN1bHQYASABKAkygxIKA1dSQxI7CghTZXRQcm94eRIXLndyYy52Mi5TZXRQcm94eVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSPQoIR2V0UGFnZXMSFy53cmMudjIuR2V0UGFnZXNSZXF1ZXN0Ghgud3JjLnYyLkdldFBhZ2VzUmVzcG9uc2USPQoITmF2aWdhdGUSFy53cmMudjIuTmF2aWdhdGVSZXF1ZXN0Ghgud3JjLnYyLk5hdmlnYXRlUmVzcG9uc2USOwoITG9hZEhUTUwSFy53cmMudjIuTG9hZEhUTUxSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ej0KCEV2YWx1YXRlEhcud3JjLnYyLkV2YWx1YXRlUmVxdWVzdBoYLndyYy52Mi5FdmFsdWF0ZVJlc3BvbnNlEjoKCldhaXRGb3JBbnkSGC53cmMudjIuV2FpdEZvckFueVBhcmFtcxoSLndyYy52Mi5XYWl0UmVzdWx0EkcKDFNlbGVjdE9wdGlvbhIbLndyYy52Mi5TZWxlY3RPcHRpb25SZXF1ZXN0Ghoud3JjLnYyLlNlbGVjdE9wdGlvblJlc3VsdBI6CghTY3JvbGxUbxIXLndyYy52Mi5TY3JvbGxUb1JlcXVlc3QaFS53cmMudjIuRWxlbWVudFJlc3VsdBI2CgZNb3ZlVG8SFS53cmMudjIuTW92ZVRvUmVxdWVzdBoVLndyYy52Mi5FbGVtZW50UmVzdWx0EjQKBUNsaWNrEhQud3JjLnYyLkNsaWNrUmVxdWVzdBoVLndyYy52Mi5FbGVtZW50UmVzdWx0Ei8KBERyYWcSEy53cmMudjIuRHJhZ1JlcXVlc3QaEi53cmMudjIuRHJhZ1Jlc3VsdBIyCgRGaWxsEhMud3JjLnYyLkZpbGxSZXF1ZXN0GhUud3JjLnYyLkVsZW1lbnRSZXN1bHQSQwoMU2V0QmxvY2tMaXN0Ehsud3JjLnYyLlNldEJsb2NrTGlzdFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSRwoOU2V0U3RhdGljUGF0aHMSHS53cmMudjIuU2V0U3RhdGljUGF0aHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElgKEVdhaXRGb3JBbnlSZXF1ZXN0EiAud3JjLnYyLldhaXRGb3JBbnlSZXF1ZXN0UmVxdWVzdBohLndyYy52Mi5XYWl0Rm9yQW55UmVxdWVzdFJlc3BvbnNlElsKEldhaXRGb3JBbnlSZXNwb25zZRIhLndyYy52Mi5XYWl0Rm9yQW55UmVzcG9uc2VSZXF1ZXN0GiIud3JjLnYyLldhaXRGb3JBbnlSZXNwb25zZVJlc3BvbnNlEkwKDU1vZGlmeVJlcXVlc3QSHC53cmMudjIuTW9kaWZ5UmVxdWVzdFJlcXVlc3QaHS53cmMudjIuTW9kaWZ5UmVxdWVzdFJlc3BvbnNlEkMKCkdldENvb2tpZXMSGS53cmMudjIuR2V0Q29va2llc1JlcXVlc3QaGi53cmMudjIuR2V0Q29va2llc1Jlc3BvbnNlEj8KClNldENvb2tpZXMSGS53cmMudjIuU2V0Q29va2llc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSQwoMQ2xlYXJDb29raWVzEhsud3JjLnYyLkNsZWFyQ29va2llc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSQwoKR2V0U3RvcmFnZRIZLndyYy52Mi5HZXRTdG9yYWdlUmVxdWVzdBoaLndyYy52Mi5HZXRTdG9yYWdlUmVzcG9uc2USPwoKU2V0U3RvcmFnZRIZLndyYy52Mi5TZXRTdG9yYWdlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJDCgxDbGVhclN0b3JhZ2USGy53cmMudjIuQ2xlYXJTdG9yYWdlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI3CgZHZXRET00SFS53cmMudjIuR2V0RE9NUmVxdWVzdBoWLndyYy52Mi5HZXRET01SZXNwb25zZRJDCgpHZXRET01IYXNoEhkud3JjLnYyLkdldERPTUhhc2hSZXF1ZXN0Ghoud3JjLnYyLkdldERPTUhhc2hSZXNwb25zZRJPCg5HZXRPYnNlcnZhdGlvbhIdLndyYy52Mi5HZXRPYnNlcnZhdGlvblJlcXVlc3QaHi53cmMudjIuR2V0T2JzZXJ2YXRpb25SZXNwb25zZRJYChFJbnNwZWN0QXRQb3NpdGlvbhIgLndyYy52Mi5JbnNwZWN0QXRQb3NpdGlvblJlcXVlc3QaIS53cmMudjIuSW5zcGVjdEF0UG9zaXRpb25SZXNwb25zZRJFCg1IaWdobGlnaHROb2RlEhwud3JjLnYyLkhpZ2hsaWdodE5vZGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkMKClNjcmVlbnNob3QSGS53cmMudjIuU2NyZWVuc2hvdFJlcXVlc3QaGi53cmMudjIuU2NyZWVuc2hvdFJlc3BvbnNlEj8KCkluc2VydFRleHQSGS53cmMudjIuSW5zZXJ0VGV4dFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSOwoIUHJlc3NLZXkSFy53cmMudjIuUHJlc3NLZXlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ej8KClJlbGVhc2VLZXkSGS53cmMudjIuUmVsZWFzZUtleVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSSQoMR2V0U2VsZWN0aW9uEhsud3JjLnYyLkdldFNlbGVjdGlvblJlcXVlc3QaHC53cmMudjIuR2V0U2VsZWN0aW9uUmVzcG9uc2USSQoMU29sdmVDYXB0Y2hhEhsud3JjLnYyLlNvbHZlQ2FwdGNoYVJlcXVlc3QaHC53cmMudjIuU29sdmVDYXB0Y2hhUmVzcG9uc2VCKlooZ2l0aHViLmNvbS93ZWJyb2JvdC1kZXYvd3JjX2dvL2dlbmVyYXRlZGIGcHJvdG8z", [file_google_protobuf_empty]);
|
|
10
10
|
/**
|
|
11
11
|
* Describes the message wrc.v2.Rect.
|
|
12
12
|
* Use `create(RectSchema)` to create a new message.
|
|
@@ -312,16 +312,26 @@ export const GetSelectionRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 59)
|
|
|
312
312
|
* Use `create(GetSelectionResponseSchema)` to create a new message.
|
|
313
313
|
*/
|
|
314
314
|
export const GetSelectionResponseSchema = /*@__PURE__*/ messageDesc(file_wrc, 60);
|
|
315
|
+
/**
|
|
316
|
+
* Describes the message wrc.v2.ScreenshotRequest.
|
|
317
|
+
* Use `create(ScreenshotRequestSchema)` to create a new message.
|
|
318
|
+
*/
|
|
319
|
+
export const ScreenshotRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 61);
|
|
320
|
+
/**
|
|
321
|
+
* Describes the message wrc.v2.ScreenshotResponse.
|
|
322
|
+
* Use `create(ScreenshotResponseSchema)` to create a new message.
|
|
323
|
+
*/
|
|
324
|
+
export const ScreenshotResponseSchema = /*@__PURE__*/ messageDesc(file_wrc, 62);
|
|
315
325
|
/**
|
|
316
326
|
* Describes the message wrc.v2.SolveCaptchaRequest.
|
|
317
327
|
* Use `create(SolveCaptchaRequestSchema)` to create a new message.
|
|
318
328
|
*/
|
|
319
|
-
export const SolveCaptchaRequestSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
329
|
+
export const SolveCaptchaRequestSchema = /*@__PURE__*/ messageDesc(file_wrc, 63);
|
|
320
330
|
/**
|
|
321
331
|
* Describes the message wrc.v2.SolveCaptchaResponse.
|
|
322
332
|
* Use `create(SolveCaptchaResponseSchema)` to create a new message.
|
|
323
333
|
*/
|
|
324
|
-
export const SolveCaptchaResponseSchema = /*@__PURE__*/ messageDesc(file_wrc,
|
|
334
|
+
export const SolveCaptchaResponseSchema = /*@__PURE__*/ messageDesc(file_wrc, 64);
|
|
325
335
|
/**
|
|
326
336
|
* @generated from service wrc.v2.WRC
|
|
327
337
|
*/
|
package/dist/index.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ export { BrowserConfig } from "./config.ts";
|
|
|
5
5
|
export { Locator, css, js, node, at, AllFrames } from "./locator.ts";
|
|
6
6
|
export { DefaultWaitTimeoutMs, DefaultVisible, DefaultSteadyMs, } from "./defaults.ts";
|
|
7
7
|
export { WRCError } from "./errors.ts";
|
|
8
|
-
export type { Rect, FrameInfo, PageInfo, Header, InterceptedRequest, InterceptedResponse, WaitResult, NavigateResult, EvaluateResult, ElementResult, DragResult, SelectOptionResult, ObservationResult, DOMResult, InspectResult, RentResponse, } from "./types.ts";
|
|
9
|
-
export type { Button, ClickAction, ClickOpts, FillOpts, SelectOpts, WaitOpts, WaitUntil, NavigateOpts, LoadHTMLOpts, GetDOMOpts, GetObservationOpts, } from "./options.ts";
|
|
8
|
+
export type { Rect, FrameInfo, PageInfo, Header, InterceptedRequest, InterceptedResponse, WaitResult, NavigateResult, EvaluateResult, ElementResult, DragResult, SelectOptionResult, ObservationResult, ScreenshotResult, DOMResult, InspectResult, RentResponse, } from "./types.ts";
|
|
9
|
+
export type { Button, ClickAction, ClickOpts, FillOpts, SelectOpts, WaitOpts, WaitUntil, NavigateOpts, LoadHTMLOpts, GetDOMOpts, GetObservationOpts, ScreenshotOpts, } from "./options.ts";
|
|
10
10
|
export { type RequestPattern, type HeaderModification, type HeaderModificationAction, } from "./network.ts";
|
|
11
11
|
export type { CookieParam } from "./cookies.ts";
|
|
12
12
|
export type { StorageItem, StorageOriginEntry } from "./storage.ts";
|
package/dist/options.d.ts
CHANGED
|
@@ -94,3 +94,10 @@ export interface GetObservationOpts {
|
|
|
94
94
|
/** Default 200. */
|
|
95
95
|
maxTextLength?: number;
|
|
96
96
|
}
|
|
97
|
+
/** Optional customization for {@link CloudBrowser.screenshot}. */
|
|
98
|
+
export interface ScreenshotOpts {
|
|
99
|
+
/** Image format: "png" (default), "jpeg", or "webp". */
|
|
100
|
+
format?: "png" | "jpeg" | "webp";
|
|
101
|
+
/** Encode quality 0-100 for "jpeg"/"webp" (ignored for "png"). Default 90. */
|
|
102
|
+
quality?: number;
|
|
103
|
+
}
|
package/dist/types.d.ts
CHANGED
|
@@ -129,6 +129,16 @@ export interface ObservationResult {
|
|
|
129
129
|
text: string;
|
|
130
130
|
json: string;
|
|
131
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* ScreenshotResult is a single captured image of the page, returned by
|
|
134
|
+
* {@link CloudBrowser.screenshot}. `dataBase64` holds the encoded image bytes
|
|
135
|
+
* (PNG by default); `width` and `height` are in physical pixels.
|
|
136
|
+
*/
|
|
137
|
+
export interface ScreenshotResult {
|
|
138
|
+
dataBase64: string;
|
|
139
|
+
width: number;
|
|
140
|
+
height: number;
|
|
141
|
+
}
|
|
132
142
|
/**
|
|
133
143
|
* DOMResult is the full-tree DOM snapshot returned by
|
|
134
144
|
* {@link CloudBrowser.getDOM}, plus its sha256[:8] hash for cheap
|
package/dist/wrc.browser.js
CHANGED
|
@@ -3799,7 +3799,7 @@ function serviceDesc(file, path, ...paths) {
|
|
|
3799
3799
|
}
|
|
3800
3800
|
|
|
3801
3801
|
// src/gen/wrc_pb.ts
|
|
3802
|
-
var file_wrc = /* @__PURE__ */ fileDesc("Cgl3cmMucHJvdG8SBndyYy52MiI7CgRSZWN0EgkKAXgYASABKAESCQoBeRgCIAEoARINCgV3aWR0aBgDIAEoARIOCgZoZWlnaHQYBCABKAEi6wEKCUZyYW1lSW5mbxIQCghmcmFtZV9pZBgBIAEoCRILCgN1cmwYAiABKAkSEAoIaXNfb29waWYYAyABKAgSFgoOaGFzX2pzX2NvbnRleHQYBCABKAgSEgoKaXNfbG9hZGluZxgFIAEoCBISCgppc192aXNpYmxlGAYgASgIEiMKDWFic29sdXRlX3JlY3QYByABKAsyDC53cmMudjIuUmVjdBIjCg1yZWxhdGl2ZV9yZWN0GAggASgLMgwud3JjLnYyLlJlY3QSIwoIY2hpbGRyZW4YCSADKAsyES53cmMudjIuRnJhbWVJbmZvIpoBCghQYWdlSW5mbxIPCgdwYWdlX2lkGAEgASgJEhoKEmJyb3dzZXJfY29udGV4dF9pZBgCIAEoCRILCgN1cmwYAyABKAkSDQoFdGl0bGUYBCABKAkSHgoIdmlld3BvcnQYBSABKAsyDC53cmMudjIuUmVjdBIlCgpmcmFtZV90cmVlGAYgASgLMhEud3JjLnYyLkZyYW1lSW5mbyIlCgZIZWFkZXISDAoEbmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoCSJ3ChJJbnRlcmNlcHRlZFJlcXVlc3QSDgoGbWV0aG9kGAEgASgJEgsKA3VybBgCIAEoCRIfCgdoZWFkZXJzGAMgAygLMg4ud3JjLnYyLkhlYWRlchIMCgRib2R5GAQgASgJEhUKDXJlc291cmNlX3R5cGUYBSABKAkiZgoTSW50ZXJjZXB0ZWRSZXNwb25zZRILCgN1cmwYASABKAkSEwoLc3RhdHVzX2NvZGUYAiABKAUSHwoHaGVhZGVycxgDIAMoCzIOLndyYy52Mi5IZWFkZXISDAoEYm9keRgEIAEoCSKOAQoSSGVhZGVyTW9kaWZpY2F0aW9uEgwKBG5hbWUYASABKAkSEgoFdmFsdWUYAiABKAlIAIgBARIOCgZhY3Rpb24YAyABKAkSEwoGYmVmb3JlGAQgASgJSAGIAQESEgoFYWZ0ZXIYBSABKAlIAogBAUIICgZfdmFsdWVCCQoHX2JlZm9yZUIICgZfYWZ0ZXIiTQoSQ29va2llUGFydGl0aW9uS2V5EhYKDnRvcF9sZXZlbF9zaXRlGAEgASgJEh8KF2hhc19jcm9zc19zaXRlX2FuY2VzdG9yGAIgASgIIrYDCgtDb29raWVQYXJhbRIMCgRuYW1lGAEgASgJEg0KBXZhbHVlGAIgASgJEhAKA3VybBgDIAEoCUgAiAEBEg4KBmRvbWFpbhgEIAEoCRIMCgRwYXRoGAUgASgJEhMKBnNlY3VyZRgGIAEoCEgBiAEBEhYKCWh0dHBfb25seRgHIAEoCEgCiAEBEhYKCXNhbWVfc2l0ZRgIIAEoCUgDiAEBEhQKB2V4cGlyZXMYCSABKAFIBIgBARIVCghwcmlvcml0eRgKIAEoCUgFiAEBEhoKDXNvdXJjZV9zY2hlbWUYCyABKAlIBogBARIYCgtzb3VyY2VfcG9ydBgMIAEoBUgHiAEBEjYKDXBhcnRpdGlvbl9rZXkYDSABKAsyGi53cmMudjIuQ29va2llUGFydGl0aW9uS2V5SAiIAQFCBgoEX3VybEIJCgdfc2VjdXJlQgwKCl9odHRwX29ubHlCDAoKX3NhbWVfc2l0ZUIKCghfZXhwaXJlc0ILCglfcHJpb3JpdHlCEAoOX3NvdXJjZV9zY2hlbWVCDgoMX3NvdXJjZV9wb3J0QhAKDl9wYXJ0aXRpb25fa2V5Iq0BCg1XYWl0Q29uZGl0aW9uEhUKCHNlbGVjdG9yGAEgASgJSACIAQESGgoNanNfZXhwcmVzc2lvbhgCIAEoCUgBiAEBEhQKB3Zpc2libGUYAyABKAhIAogBARIYCgtzdGVhZHlfdGltZRgEIAEoAUgDiAEBQgsKCV9zZWxlY3RvckIQCg5fanNfZXhwcmVzc2lvbkIKCghfdmlzaWJsZUIOCgxfc3RlYWR5X3RpbWUieAoKV2FpdFJlc3VsdBINCgVpbmRleBgBIAEoBRIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSEgoKaXNfdmlzaWJsZRgEIAEoCBIcCgZib3VuZHMYBSABKAsyDC53cmMudjIuUmVjdCKdAQoNRWxlbWVudFJlc3VsdBIPCgdzdWNjZXNzGAEgASgIEhAKCGZyYW1lX2lkGAIgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgDIAEoBRISCgppc192aXNpYmxlGAQgASgIEhwKBmJvdW5kcxgFIAEoCzIMLndyYy52Mi5SZWN0Eg4KBnJvb3RfeBgGIAEoARIOCgZyb290X3kYByABKAEiiAEKCkRyYWdSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSDwoHc3RhcnRfeBgEIAEoARIPCgdzdGFydF95GAUgASgBEg0KBWVuZF94GAYgASgBEg0KBWVuZF95GAcgASgBIlsKElNlbGVjdE9wdGlvblJlc3VsdBIWCg5zZWxlY3RlZF9pbmRleBgBIAEoBRIWCg5zZWxlY3RlZF92YWx1ZRgCIAEoCRIVCg1zZWxlY3RlZF90ZXh0GAMgASgJIuYBCg9TZXRQcm94eVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhcKCnByb3h5X2hvc3QYAyABKAlIAIgBARIXCgpwcm94eV9wb3J0GAQgASgFSAGIAQESGwoOcHJveHlfdXNlcm5hbWUYBSABKAlIAogBARIbCg5wcm94eV9wYXNzd29yZBgGIAEoCUgDiAEBQg0KC19wcm94eV9ob3N0Qg0KC19wcm94eV9wb3J0QhEKD19wcm94eV91c2VybmFtZUIRCg9fcHJveHlfcGFzc3dvcmQiNgoPR2V0UGFnZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSIzChBHZXRQYWdlc1Jlc3BvbnNlEh8KBXBhZ2VzGAEgAygLMhAud3JjLnYyLlBhZ2VJbmZvIpoBCg9OYXZpZ2F0ZVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSCwoDdXJsGAQgASgJEhUKCHJlZmVycmVyGAUgASgJSACIAQESFAoHdGltZW91dBgGIAEoAUgBiAEBQgsKCV9yZWZlcnJlckIKCghfdGltZW91dCIxChBOYXZpZ2F0ZVJlc3BvbnNlEhAKCGZyYW1lX2lkGAEgASgJEgsKA3VybBgCIAEoCSKtAQoPTG9hZEhUTUxSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEgsKA3VybBgEIAEoCRIMCgRodG1sGAUgASgJEh8KB2hlYWRlcnMYBiADKAsyDi53cmMudjIuSGVhZGVyEhgKC3N0YXR1c19jb2RlGAcgASgFSACIAQFCDgoMX3N0YXR1c19jb2RlIn8KD0V2YWx1YXRlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRISCgpleHByZXNzaW9uGAQgASgJEhUKCGZyYW1lX2lkGAUgASgJSACIAQFCCwoJX2ZyYW1lX2lkIm0KEEV2YWx1YXRlUmVzcG9uc2USDgoGcmVzdWx0GAEgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgCIAEoBRISCgppc192aXNpYmxlGAMgASgIEhwKBmJvdW5kcxgEIAEoCzIMLndyYy52Mi5SZWN0IrkBChBXYWl0Rm9yQW55UGFyYW1zEhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEikKCmNvbmRpdGlvbnMYBCADKAsyFS53cmMudjIuV2FpdENvbmRpdGlvbhIVCghmcmFtZV9pZBgFIAEoCUgAiAEBEhQKB3RpbWVvdXQYBiABKAFIAYgBAUILCglfZnJhbWVfaWRCCgoIX3RpbWVvdXQi9QIKE1NlbGVjdE9wdGlvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSHAoPYmFja2VuZF9ub2RlX2lkGAQgASgFSACIAQESFQoIc2VsZWN0b3IYBSABKAlIAYgBARIaCg1qc19leHByZXNzaW9uGAYgASgJSAKIAQESFQoIZnJhbWVfaWQYByABKAlIA4gBARISCgVpbmRleBgIIAEoBUgEiAEBEhIKBXZhbHVlGAkgASgJSAWIAQESEQoEdGV4dBgKIAEoCUgGiAEBEhgKC2ZpcmVfZXZlbnRzGAsgASgISAeIAQFCEgoQX2JhY2tlbmRfbm9kZV9pZEILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQggKBl9pbmRleEIICgZfdmFsdWVCBwoFX3RleHRCDgoMX2ZpcmVfZXZlbnRzIu8BCg9TY3JvbGxUb1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSHAoPYmFja2VuZF9ub2RlX2lkGAQgASgFSACIAQESFQoIc2VsZWN0b3IYBSABKAlIAYgBARIaCg1qc19leHByZXNzaW9uGAYgASgJSAKIAQESFQoIZnJhbWVfaWQYByABKAlIA4gBAUISChBfYmFja2VuZF9ub2RlX2lkQgsKCV9zZWxlY3RvckIQCg5fanNfZXhwcmVzc2lvbkILCglfZnJhbWVfaWQimQIKDU1vdmVUb1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSHAoPYmFja2VuZF9ub2RlX2lkGAQgASgFSACIAQESFQoIc2VsZWN0b3IYBSABKAlIAYgBARIaCg1qc19leHByZXNzaW9uGAYgASgJSAKIAQESFQoIZnJhbWVfaWQYByABKAlIA4gBARIOCgF4GAggASgBSASIAQESDgoBeRgJIAEoAUgFiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEIECgJfeEIECgJfeSKCAwoMQ2xpY2tSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhwKD2JhY2tlbmRfbm9kZV9pZBgEIAEoBUgAiAEBEhUKCHNlbGVjdG9yGAUgASgJSAGIAQESGgoNanNfZXhwcmVzc2lvbhgGIAEoCUgCiAEBEhUKCGZyYW1lX2lkGAcgASgJSAOIAQESEwoGYnV0dG9uGAggASgJSASIAQESGAoLY2xpY2tfY291bnQYCSABKAVIBYgBARIOCgF4GAogASgBSAaIAQESDgoBeRgLIAEoAUgHiAEBEhMKBmFjdGlvbhgMIAEoCUgIiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEIJCgdfYnV0dG9uQg4KDF9jbGlja19jb3VudEIECgJfeEIECgJfeUIJCgdfYWN0aW9uIoMDCgtEcmFnUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEhUKCG9mZnNldF94GAggASgBSASIAQESFQoIb2Zmc2V0X3kYCSABKAFIBYgBARIXCgphYnNvbHV0ZV94GAogASgBSAaIAQESFwoKYWJzb2x1dGVfeRgLIAEoAUgHiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEILCglfb2Zmc2V0X3hCCwoJX29mZnNldF95Qg0KC19hYnNvbHV0ZV94Qg0KC19hYnNvbHV0ZV95IqMCCgtGaWxsUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEgwKBHRleHQYCCABKAkSGAoLY2xlYXJfZmlyc3QYCSABKAhIBIgBAUISChBfYmFja2VuZF9ub2RlX2lkQgsKCV9zZWxlY3RvckIQCg5fanNfZXhwcmVzc2lvbkILCglfZnJhbWVfaWRCDgoMX2NsZWFyX2ZpcnN0IkwKE1NldEJsb2NrTGlzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhAKCHBhdHRlcm5zGAMgAygJImEKFVNldFN0YXRpY1BhdGhzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEAoIcGF0dGVybnMYAyADKAkSEQoJYmxvYl9uYW1lGAQgASgJIogBChhXYWl0Rm9yQW55UmVxdWVzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhAKCHBhdHRlcm5zGAMgAygJEhMKC2Fib3J0X2ZsYWdzGAQgAygFEhQKB3RpbWVvdXQYBSABKAFIAIgBAUIKCghfdGltZW91dCJXChlXYWl0Rm9yQW55UmVxdWVzdFJlc3BvbnNlEg0KBWluZGV4GAEgASgFEisKB3JlcXVlc3QYAiABKAsyGi53cmMudjIuSW50ZXJjZXB0ZWRSZXF1ZXN0IokBChlXYWl0Rm9yQW55UmVzcG9uc2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIQCghwYXR0ZXJucxgDIAMoCRITCgthYm9ydF9mbGFncxgEIAMoBRIUCgd0aW1lb3V0GAUgASgBSACIAQFCCgoIX3RpbWVvdXQiWgoaV2FpdEZvckFueVJlc3BvbnNlUmVzcG9uc2USDQoFaW5kZXgYASABKAUSLQoIcmVzcG9uc2UYAiABKAsyGy53cmMudjIuSW50ZXJjZXB0ZWRSZXNwb25zZSLBAQoUTW9kaWZ5UmVxdWVzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhMKC3VybF9wYXR0ZXJuGAMgASgJEjEKDW1vZGlmaWNhdGlvbnMYBCADKAsyGi53cmMudjIuSGVhZGVyTW9kaWZpY2F0aW9uEhEKBGJvZHkYBSABKAlIAIgBARIUCgd0aW1lb3V0GAYgASgBSAGIAQFCBwoFX2JvZHlCCgoIX3RpbWVvdXQiRAoVTW9kaWZ5UmVxdWVzdFJlc3BvbnNlEisKB3JlcXVlc3QYASABKAsyGi53cmMudjIuSW50ZXJjZXB0ZWRSZXF1ZXN0IjgKEUdldENvb2tpZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSI6ChJHZXRDb29raWVzUmVzcG9uc2USJAoHY29va2llcxgBIAMoCzITLndyYy52Mi5Db29raWVQYXJhbSJeChFTZXRDb29raWVzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSJAoHY29va2llcxgDIAMoCzITLndyYy52Mi5Db29raWVQYXJhbSI6ChNDbGVhckNvb2tpZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSIpCgtTdG9yYWdlSXRlbRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkiSAoSU3RvcmFnZU9yaWdpbkVudHJ5Eg4KBm9yaWdpbhgBIAEoCRIiCgVpdGVtcxgCIAMoCzITLndyYy52Mi5TdG9yYWdlSXRlbSJYChFHZXRTdG9yYWdlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEwoGb3JpZ2luGAMgASgJSACIAQFCCQoHX29yaWdpbiJBChJHZXRTdG9yYWdlUmVzcG9uc2USKwoHc3RvcmFnZRgBIAMoCzIaLndyYy52Mi5TdG9yYWdlT3JpZ2luRW50cnkijwEKEVNldFN0b3JhZ2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIrCgdzdG9yYWdlGAMgAygLMhoud3JjLnYyLlN0b3JhZ2VPcmlnaW5FbnRyeRIYCgtjbGVhcl9maXJzdBgEIAEoCEgAiAEBQg4KDF9jbGVhcl9maXJzdCJaChNDbGVhclN0b3JhZ2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRITCgZvcmlnaW4YAyABKAlIAIgBAUIJCgdfb3JpZ2luIocBCg1HZXRET01SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhUKCGZyYW1lX2lkGAQgASgJSACIAQESEgoFZGVwdGgYBSABKAVIAYgBAUILCglfZnJhbWVfaWRCCAoGX2RlcHRoIh0KDkdldERPTVJlc3BvbnNlEgsKA2RvbRgBIAEoCSK/AQoVR2V0T2JzZXJ2YXRpb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEiMKFm1heF9lbGVtZW50c19wZXJfZnJhbWUYBCABKAVIAIgBARIcCg9tYXhfdGV4dF9sZW5ndGgYBSABKAVIAYgBAUIZChdfbWF4X2VsZW1lbnRzX3Blcl9mcmFtZUISChBfbWF4X3RleHRfbGVuZ3RoIkwKFkdldE9ic2VydmF0aW9uUmVzcG9uc2USGAoQb2JzZXJ2YXRpb25fdGV4dBgBIAEoCRIYChBvYnNlcnZhdGlvbl9qc29uGAIgASgJIm0KEUdldERPTUhhc2hSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhUKCGZyYW1lX2lkGAQgASgJSACIAQFCCwoJX2ZyYW1lX2lkIiIKEkdldERPTUhhc2hSZXNwb25zZRIMCgRoYXNoGAEgASgJImYKGEluc3BlY3RBdFBvc2l0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIJCgF4GAQgASgBEgkKAXkYBSABKAEioAEKGUluc3BlY3RBdFBvc2l0aW9uUmVzcG9uc2USFwoPYmFja2VuZF9ub2RlX2lkGAEgASgFEhAKCGZyYW1lX2lkGAIgASgJEhAKCHRhZ19uYW1lGAMgASgJEhQKDHRleHRfY29udGVudBgEIAEoCRISCgppc192aXNpYmxlGAUgASgIEhwKBmJvdW5kcxgGIAEoCzIMLndyYy52Mi5SZWN0IokBChRIaWdobGlnaHROb2RlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYBCABKAUSFQoIZnJhbWVfaWQYBSABKAlIAIgBAUILCglfZnJhbWVfaWQiVwoRSW5zZXJ0VGV4dFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSDAoEdGV4dBgEIAEoCSK6AQoPUHJlc3NLZXlSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEgsKA2tleRgEIAEoCRIRCgRjb2RlGAUgASgJSACIAQESFgoJbW9kaWZpZXJzGAYgASgFSAGIAQESFQoIbG9jYXRpb24YByABKAVIAogBAUIHCgVfY29kZUIMCgpfbW9kaWZpZXJzQgsKCV9sb2NhdGlvbiK8AQoRUmVsZWFzZUtleVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSCwoDa2V5GAQgASgJEhEKBGNvZGUYBSABKAlIAIgBARIWCgltb2RpZmllcnMYBiABKAVIAYgBARIVCghsb2NhdGlvbhgHIAEoBUgCiAEBQgcKBV9jb2RlQgwKCl9tb2RpZmllcnNCCwoJX2xvY2F0aW9uIksKE0dldFNlbGVjdGlvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkiJAoUR2V0U2VsZWN0aW9uUmVzcG9uc2USDAoEdGV4dBgBIAEoCSJkChNTb2x2ZUNhcHRjaGFSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRISCgp0aW1lb3V0X21zGAMgASgFEhQKDHJldHJ5X2Ftb3VudBgEIAEoBSImChRTb2x2ZUNhcHRjaGFSZXNwb25zZRIOCgZyZXN1bHQYASABKAkyvhEKA1dSQxI7CghTZXRQcm94eRIXLndyYy52Mi5TZXRQcm94eVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSPQoIR2V0UGFnZXMSFy53cmMudjIuR2V0UGFnZXNSZXF1ZXN0Ghgud3JjLnYyLkdldFBhZ2VzUmVzcG9uc2USPQoITmF2aWdhdGUSFy53cmMudjIuTmF2aWdhdGVSZXF1ZXN0Ghgud3JjLnYyLk5hdmlnYXRlUmVzcG9uc2USOwoITG9hZEhUTUwSFy53cmMudjIuTG9hZEhUTUxSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ej0KCEV2YWx1YXRlEhcud3JjLnYyLkV2YWx1YXRlUmVxdWVzdBoYLndyYy52Mi5FdmFsdWF0ZVJlc3BvbnNlEjoKCldhaXRGb3JBbnkSGC53cmMudjIuV2FpdEZvckFueVBhcmFtcxoSLndyYy52Mi5XYWl0UmVzdWx0EkcKDFNlbGVjdE9wdGlvbhIbLndyYy52Mi5TZWxlY3RPcHRpb25SZXF1ZXN0Ghoud3JjLnYyLlNlbGVjdE9wdGlvblJlc3VsdBI6CghTY3JvbGxUbxIXLndyYy52Mi5TY3JvbGxUb1JlcXVlc3QaFS53cmMudjIuRWxlbWVudFJlc3VsdBI2CgZNb3ZlVG8SFS53cmMudjIuTW92ZVRvUmVxdWVzdBoVLndyYy52Mi5FbGVtZW50UmVzdWx0EjQKBUNsaWNrEhQud3JjLnYyLkNsaWNrUmVxdWVzdBoVLndyYy52Mi5FbGVtZW50UmVzdWx0Ei8KBERyYWcSEy53cmMudjIuRHJhZ1JlcXVlc3QaEi53cmMudjIuRHJhZ1Jlc3VsdBIyCgRGaWxsEhMud3JjLnYyLkZpbGxSZXF1ZXN0GhUud3JjLnYyLkVsZW1lbnRSZXN1bHQSQwoMU2V0QmxvY2tMaXN0Ehsud3JjLnYyLlNldEJsb2NrTGlzdFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSRwoOU2V0U3RhdGljUGF0aHMSHS53cmMudjIuU2V0U3RhdGljUGF0aHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElgKEVdhaXRGb3JBbnlSZXF1ZXN0EiAud3JjLnYyLldhaXRGb3JBbnlSZXF1ZXN0UmVxdWVzdBohLndyYy52Mi5XYWl0Rm9yQW55UmVxdWVzdFJlc3BvbnNlElsKEldhaXRGb3JBbnlSZXNwb25zZRIhLndyYy52Mi5XYWl0Rm9yQW55UmVzcG9uc2VSZXF1ZXN0GiIud3JjLnYyLldhaXRGb3JBbnlSZXNwb25zZVJlc3BvbnNlEkwKDU1vZGlmeVJlcXVlc3QSHC53cmMudjIuTW9kaWZ5UmVxdWVzdFJlcXVlc3QaHS53cmMudjIuTW9kaWZ5UmVxdWVzdFJlc3BvbnNlEkMKCkdldENvb2tpZXMSGS53cmMudjIuR2V0Q29va2llc1JlcXVlc3QaGi53cmMudjIuR2V0Q29va2llc1Jlc3BvbnNlEj8KClNldENvb2tpZXMSGS53cmMudjIuU2V0Q29va2llc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSQwoMQ2xlYXJDb29raWVzEhsud3JjLnYyLkNsZWFyQ29va2llc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSQwoKR2V0U3RvcmFnZRIZLndyYy52Mi5HZXRTdG9yYWdlUmVxdWVzdBoaLndyYy52Mi5HZXRTdG9yYWdlUmVzcG9uc2USPwoKU2V0U3RvcmFnZRIZLndyYy52Mi5TZXRTdG9yYWdlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJDCgxDbGVhclN0b3JhZ2USGy53cmMudjIuQ2xlYXJTdG9yYWdlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI3CgZHZXRET00SFS53cmMudjIuR2V0RE9NUmVxdWVzdBoWLndyYy52Mi5HZXRET01SZXNwb25zZRJDCgpHZXRET01IYXNoEhkud3JjLnYyLkdldERPTUhhc2hSZXF1ZXN0Ghoud3JjLnYyLkdldERPTUhhc2hSZXNwb25zZRJPCg5HZXRPYnNlcnZhdGlvbhIdLndyYy52Mi5HZXRPYnNlcnZhdGlvblJlcXVlc3QaHi53cmMudjIuR2V0T2JzZXJ2YXRpb25SZXNwb25zZRJYChFJbnNwZWN0QXRQb3NpdGlvbhIgLndyYy52Mi5JbnNwZWN0QXRQb3NpdGlvblJlcXVlc3QaIS53cmMudjIuSW5zcGVjdEF0UG9zaXRpb25SZXNwb25zZRJFCg1IaWdobGlnaHROb2RlEhwud3JjLnYyLkhpZ2hsaWdodE5vZGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ej8KCkluc2VydFRleHQSGS53cmMudjIuSW5zZXJ0VGV4dFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSOwoIUHJlc3NLZXkSFy53cmMudjIuUHJlc3NLZXlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ej8KClJlbGVhc2VLZXkSGS53cmMudjIuUmVsZWFzZUtleVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSSQoMR2V0U2VsZWN0aW9uEhsud3JjLnYyLkdldFNlbGVjdGlvblJlcXVlc3QaHC53cmMudjIuR2V0U2VsZWN0aW9uUmVzcG9uc2USSQoMU29sdmVDYXB0Y2hhEhsud3JjLnYyLlNvbHZlQ2FwdGNoYVJlcXVlc3QaHC53cmMudjIuU29sdmVDYXB0Y2hhUmVzcG9uc2VCKlooZ2l0aHViLmNvbS93ZWJyb2JvdC1kZXYvd3JjX2dvL2dlbmVyYXRlZGIGcHJvdG8z", [file_google_protobuf_empty]);
|
|
3802
|
+
var file_wrc = /* @__PURE__ */ fileDesc("Cgl3cmMucHJvdG8SBndyYy52MiI7CgRSZWN0EgkKAXgYASABKAESCQoBeRgCIAEoARINCgV3aWR0aBgDIAEoARIOCgZoZWlnaHQYBCABKAEi6wEKCUZyYW1lSW5mbxIQCghmcmFtZV9pZBgBIAEoCRILCgN1cmwYAiABKAkSEAoIaXNfb29waWYYAyABKAgSFgoOaGFzX2pzX2NvbnRleHQYBCABKAgSEgoKaXNfbG9hZGluZxgFIAEoCBISCgppc192aXNpYmxlGAYgASgIEiMKDWFic29sdXRlX3JlY3QYByABKAsyDC53cmMudjIuUmVjdBIjCg1yZWxhdGl2ZV9yZWN0GAggASgLMgwud3JjLnYyLlJlY3QSIwoIY2hpbGRyZW4YCSADKAsyES53cmMudjIuRnJhbWVJbmZvIpoBCghQYWdlSW5mbxIPCgdwYWdlX2lkGAEgASgJEhoKEmJyb3dzZXJfY29udGV4dF9pZBgCIAEoCRILCgN1cmwYAyABKAkSDQoFdGl0bGUYBCABKAkSHgoIdmlld3BvcnQYBSABKAsyDC53cmMudjIuUmVjdBIlCgpmcmFtZV90cmVlGAYgASgLMhEud3JjLnYyLkZyYW1lSW5mbyIlCgZIZWFkZXISDAoEbmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoCSJ3ChJJbnRlcmNlcHRlZFJlcXVlc3QSDgoGbWV0aG9kGAEgASgJEgsKA3VybBgCIAEoCRIfCgdoZWFkZXJzGAMgAygLMg4ud3JjLnYyLkhlYWRlchIMCgRib2R5GAQgASgJEhUKDXJlc291cmNlX3R5cGUYBSABKAkiZgoTSW50ZXJjZXB0ZWRSZXNwb25zZRILCgN1cmwYASABKAkSEwoLc3RhdHVzX2NvZGUYAiABKAUSHwoHaGVhZGVycxgDIAMoCzIOLndyYy52Mi5IZWFkZXISDAoEYm9keRgEIAEoCSKOAQoSSGVhZGVyTW9kaWZpY2F0aW9uEgwKBG5hbWUYASABKAkSEgoFdmFsdWUYAiABKAlIAIgBARIOCgZhY3Rpb24YAyABKAkSEwoGYmVmb3JlGAQgASgJSAGIAQESEgoFYWZ0ZXIYBSABKAlIAogBAUIICgZfdmFsdWVCCQoHX2JlZm9yZUIICgZfYWZ0ZXIiTQoSQ29va2llUGFydGl0aW9uS2V5EhYKDnRvcF9sZXZlbF9zaXRlGAEgASgJEh8KF2hhc19jcm9zc19zaXRlX2FuY2VzdG9yGAIgASgIIrYDCgtDb29raWVQYXJhbRIMCgRuYW1lGAEgASgJEg0KBXZhbHVlGAIgASgJEhAKA3VybBgDIAEoCUgAiAEBEg4KBmRvbWFpbhgEIAEoCRIMCgRwYXRoGAUgASgJEhMKBnNlY3VyZRgGIAEoCEgBiAEBEhYKCWh0dHBfb25seRgHIAEoCEgCiAEBEhYKCXNhbWVfc2l0ZRgIIAEoCUgDiAEBEhQKB2V4cGlyZXMYCSABKAFIBIgBARIVCghwcmlvcml0eRgKIAEoCUgFiAEBEhoKDXNvdXJjZV9zY2hlbWUYCyABKAlIBogBARIYCgtzb3VyY2VfcG9ydBgMIAEoBUgHiAEBEjYKDXBhcnRpdGlvbl9rZXkYDSABKAsyGi53cmMudjIuQ29va2llUGFydGl0aW9uS2V5SAiIAQFCBgoEX3VybEIJCgdfc2VjdXJlQgwKCl9odHRwX29ubHlCDAoKX3NhbWVfc2l0ZUIKCghfZXhwaXJlc0ILCglfcHJpb3JpdHlCEAoOX3NvdXJjZV9zY2hlbWVCDgoMX3NvdXJjZV9wb3J0QhAKDl9wYXJ0aXRpb25fa2V5Iq0BCg1XYWl0Q29uZGl0aW9uEhUKCHNlbGVjdG9yGAEgASgJSACIAQESGgoNanNfZXhwcmVzc2lvbhgCIAEoCUgBiAEBEhQKB3Zpc2libGUYAyABKAhIAogBARIYCgtzdGVhZHlfdGltZRgEIAEoAUgDiAEBQgsKCV9zZWxlY3RvckIQCg5fanNfZXhwcmVzc2lvbkIKCghfdmlzaWJsZUIOCgxfc3RlYWR5X3RpbWUieAoKV2FpdFJlc3VsdBINCgVpbmRleBgBIAEoBRIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSEgoKaXNfdmlzaWJsZRgEIAEoCBIcCgZib3VuZHMYBSABKAsyDC53cmMudjIuUmVjdCKdAQoNRWxlbWVudFJlc3VsdBIPCgdzdWNjZXNzGAEgASgIEhAKCGZyYW1lX2lkGAIgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgDIAEoBRISCgppc192aXNpYmxlGAQgASgIEhwKBmJvdW5kcxgFIAEoCzIMLndyYy52Mi5SZWN0Eg4KBnJvb3RfeBgGIAEoARIOCgZyb290X3kYByABKAEiiAEKCkRyYWdSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIQCghmcmFtZV9pZBgCIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYAyABKAUSDwoHc3RhcnRfeBgEIAEoARIPCgdzdGFydF95GAUgASgBEg0KBWVuZF94GAYgASgBEg0KBWVuZF95GAcgASgBIlsKElNlbGVjdE9wdGlvblJlc3VsdBIWCg5zZWxlY3RlZF9pbmRleBgBIAEoBRIWCg5zZWxlY3RlZF92YWx1ZRgCIAEoCRIVCg1zZWxlY3RlZF90ZXh0GAMgASgJIuYBCg9TZXRQcm94eVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhcKCnByb3h5X2hvc3QYAyABKAlIAIgBARIXCgpwcm94eV9wb3J0GAQgASgFSAGIAQESGwoOcHJveHlfdXNlcm5hbWUYBSABKAlIAogBARIbCg5wcm94eV9wYXNzd29yZBgGIAEoCUgDiAEBQg0KC19wcm94eV9ob3N0Qg0KC19wcm94eV9wb3J0QhEKD19wcm94eV91c2VybmFtZUIRCg9fcHJveHlfcGFzc3dvcmQiNgoPR2V0UGFnZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSIzChBHZXRQYWdlc1Jlc3BvbnNlEh8KBXBhZ2VzGAEgAygLMhAud3JjLnYyLlBhZ2VJbmZvIpoBCg9OYXZpZ2F0ZVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSCwoDdXJsGAQgASgJEhUKCHJlZmVycmVyGAUgASgJSACIAQESFAoHdGltZW91dBgGIAEoAUgBiAEBQgsKCV9yZWZlcnJlckIKCghfdGltZW91dCIxChBOYXZpZ2F0ZVJlc3BvbnNlEhAKCGZyYW1lX2lkGAEgASgJEgsKA3VybBgCIAEoCSKtAQoPTG9hZEhUTUxSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEgsKA3VybBgEIAEoCRIMCgRodG1sGAUgASgJEh8KB2hlYWRlcnMYBiADKAsyDi53cmMudjIuSGVhZGVyEhgKC3N0YXR1c19jb2RlGAcgASgFSACIAQFCDgoMX3N0YXR1c19jb2RlIn8KD0V2YWx1YXRlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRISCgpleHByZXNzaW9uGAQgASgJEhUKCGZyYW1lX2lkGAUgASgJSACIAQFCCwoJX2ZyYW1lX2lkIm0KEEV2YWx1YXRlUmVzcG9uc2USDgoGcmVzdWx0GAEgASgJEhcKD2JhY2tlbmRfbm9kZV9pZBgCIAEoBRISCgppc192aXNpYmxlGAMgASgIEhwKBmJvdW5kcxgEIAEoCzIMLndyYy52Mi5SZWN0IrkBChBXYWl0Rm9yQW55UGFyYW1zEhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEikKCmNvbmRpdGlvbnMYBCADKAsyFS53cmMudjIuV2FpdENvbmRpdGlvbhIVCghmcmFtZV9pZBgFIAEoCUgAiAEBEhQKB3RpbWVvdXQYBiABKAFIAYgBAUILCglfZnJhbWVfaWRCCgoIX3RpbWVvdXQi9QIKE1NlbGVjdE9wdGlvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSHAoPYmFja2VuZF9ub2RlX2lkGAQgASgFSACIAQESFQoIc2VsZWN0b3IYBSABKAlIAYgBARIaCg1qc19leHByZXNzaW9uGAYgASgJSAKIAQESFQoIZnJhbWVfaWQYByABKAlIA4gBARISCgVpbmRleBgIIAEoBUgEiAEBEhIKBXZhbHVlGAkgASgJSAWIAQESEQoEdGV4dBgKIAEoCUgGiAEBEhgKC2ZpcmVfZXZlbnRzGAsgASgISAeIAQFCEgoQX2JhY2tlbmRfbm9kZV9pZEILCglfc2VsZWN0b3JCEAoOX2pzX2V4cHJlc3Npb25CCwoJX2ZyYW1lX2lkQggKBl9pbmRleEIICgZfdmFsdWVCBwoFX3RleHRCDgoMX2ZpcmVfZXZlbnRzIu8BCg9TY3JvbGxUb1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSHAoPYmFja2VuZF9ub2RlX2lkGAQgASgFSACIAQESFQoIc2VsZWN0b3IYBSABKAlIAYgBARIaCg1qc19leHByZXNzaW9uGAYgASgJSAKIAQESFQoIZnJhbWVfaWQYByABKAlIA4gBAUISChBfYmFja2VuZF9ub2RlX2lkQgsKCV9zZWxlY3RvckIQCg5fanNfZXhwcmVzc2lvbkILCglfZnJhbWVfaWQimQIKDU1vdmVUb1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSHAoPYmFja2VuZF9ub2RlX2lkGAQgASgFSACIAQESFQoIc2VsZWN0b3IYBSABKAlIAYgBARIaCg1qc19leHByZXNzaW9uGAYgASgJSAKIAQESFQoIZnJhbWVfaWQYByABKAlIA4gBARIOCgF4GAggASgBSASIAQESDgoBeRgJIAEoAUgFiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEIECgJfeEIECgJfeSKCAwoMQ2xpY2tSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhwKD2JhY2tlbmRfbm9kZV9pZBgEIAEoBUgAiAEBEhUKCHNlbGVjdG9yGAUgASgJSAGIAQESGgoNanNfZXhwcmVzc2lvbhgGIAEoCUgCiAEBEhUKCGZyYW1lX2lkGAcgASgJSAOIAQESEwoGYnV0dG9uGAggASgJSASIAQESGAoLY2xpY2tfY291bnQYCSABKAVIBYgBARIOCgF4GAogASgBSAaIAQESDgoBeRgLIAEoAUgHiAEBEhMKBmFjdGlvbhgMIAEoCUgIiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEIJCgdfYnV0dG9uQg4KDF9jbGlja19jb3VudEIECgJfeEIECgJfeUIJCgdfYWN0aW9uIoMDCgtEcmFnUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEhUKCG9mZnNldF94GAggASgBSASIAQESFQoIb2Zmc2V0X3kYCSABKAFIBYgBARIXCgphYnNvbHV0ZV94GAogASgBSAaIAQESFwoKYWJzb2x1dGVfeRgLIAEoAUgHiAEBQhIKEF9iYWNrZW5kX25vZGVfaWRCCwoJX3NlbGVjdG9yQhAKDl9qc19leHByZXNzaW9uQgsKCV9mcmFtZV9pZEILCglfb2Zmc2V0X3hCCwoJX29mZnNldF95Qg0KC19hYnNvbHV0ZV94Qg0KC19hYnNvbHV0ZV95IqMCCgtGaWxsUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIcCg9iYWNrZW5kX25vZGVfaWQYBCABKAVIAIgBARIVCghzZWxlY3RvchgFIAEoCUgBiAEBEhoKDWpzX2V4cHJlc3Npb24YBiABKAlIAogBARIVCghmcmFtZV9pZBgHIAEoCUgDiAEBEgwKBHRleHQYCCABKAkSGAoLY2xlYXJfZmlyc3QYCSABKAhIBIgBAUISChBfYmFja2VuZF9ub2RlX2lkQgsKCV9zZWxlY3RvckIQCg5fanNfZXhwcmVzc2lvbkILCglfZnJhbWVfaWRCDgoMX2NsZWFyX2ZpcnN0IkwKE1NldEJsb2NrTGlzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhAKCHBhdHRlcm5zGAMgAygJImEKFVNldFN0YXRpY1BhdGhzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEAoIcGF0dGVybnMYAyADKAkSEQoJYmxvYl9uYW1lGAQgASgJIogBChhXYWl0Rm9yQW55UmVxdWVzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhAKCHBhdHRlcm5zGAMgAygJEhMKC2Fib3J0X2ZsYWdzGAQgAygFEhQKB3RpbWVvdXQYBSABKAFIAIgBAUIKCghfdGltZW91dCJXChlXYWl0Rm9yQW55UmVxdWVzdFJlc3BvbnNlEg0KBWluZGV4GAEgASgFEisKB3JlcXVlc3QYAiABKAsyGi53cmMudjIuSW50ZXJjZXB0ZWRSZXF1ZXN0IokBChlXYWl0Rm9yQW55UmVzcG9uc2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIQCghwYXR0ZXJucxgDIAMoCRITCgthYm9ydF9mbGFncxgEIAMoBRIUCgd0aW1lb3V0GAUgASgBSACIAQFCCgoIX3RpbWVvdXQiWgoaV2FpdEZvckFueVJlc3BvbnNlUmVzcG9uc2USDQoFaW5kZXgYASABKAUSLQoIcmVzcG9uc2UYAiABKAsyGy53cmMudjIuSW50ZXJjZXB0ZWRSZXNwb25zZSLBAQoUTW9kaWZ5UmVxdWVzdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEhMKC3VybF9wYXR0ZXJuGAMgASgJEjEKDW1vZGlmaWNhdGlvbnMYBCADKAsyGi53cmMudjIuSGVhZGVyTW9kaWZpY2F0aW9uEhEKBGJvZHkYBSABKAlIAIgBARIUCgd0aW1lb3V0GAYgASgBSAGIAQFCBwoFX2JvZHlCCgoIX3RpbWVvdXQiRAoVTW9kaWZ5UmVxdWVzdFJlc3BvbnNlEisKB3JlcXVlc3QYASABKAsyGi53cmMudjIuSW50ZXJjZXB0ZWRSZXF1ZXN0IjgKEUdldENvb2tpZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSI6ChJHZXRDb29raWVzUmVzcG9uc2USJAoHY29va2llcxgBIAMoCzITLndyYy52Mi5Db29raWVQYXJhbSJeChFTZXRDb29raWVzUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSJAoHY29va2llcxgDIAMoCzITLndyYy52Mi5Db29raWVQYXJhbSI6ChNDbGVhckNvb2tpZXNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCSIpCgtTdG9yYWdlSXRlbRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkiSAoSU3RvcmFnZU9yaWdpbkVudHJ5Eg4KBm9yaWdpbhgBIAEoCRIiCgVpdGVtcxgCIAMoCzITLndyYy52Mi5TdG9yYWdlSXRlbSJYChFHZXRTdG9yYWdlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSEwoGb3JpZ2luGAMgASgJSACIAQFCCQoHX29yaWdpbiJBChJHZXRTdG9yYWdlUmVzcG9uc2USKwoHc3RvcmFnZRgBIAMoCzIaLndyYy52Mi5TdG9yYWdlT3JpZ2luRW50cnkijwEKEVNldFN0b3JhZ2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIrCgdzdG9yYWdlGAMgAygLMhoud3JjLnYyLlN0b3JhZ2VPcmlnaW5FbnRyeRIYCgtjbGVhcl9maXJzdBgEIAEoCEgAiAEBQg4KDF9jbGVhcl9maXJzdCJaChNDbGVhclN0b3JhZ2VSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRITCgZvcmlnaW4YAyABKAlIAIgBAUIJCgdfb3JpZ2luIocBCg1HZXRET01SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhUKCGZyYW1lX2lkGAQgASgJSACIAQESEgoFZGVwdGgYBSABKAVIAYgBAUILCglfZnJhbWVfaWRCCAoGX2RlcHRoIh0KDkdldERPTVJlc3BvbnNlEgsKA2RvbRgBIAEoCSK/AQoVR2V0T2JzZXJ2YXRpb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEiMKFm1heF9lbGVtZW50c19wZXJfZnJhbWUYBCABKAVIAIgBARIcCg9tYXhfdGV4dF9sZW5ndGgYBSABKAVIAYgBAUIZChdfbWF4X2VsZW1lbnRzX3Blcl9mcmFtZUISChBfbWF4X3RleHRfbGVuZ3RoIkwKFkdldE9ic2VydmF0aW9uUmVzcG9uc2USGAoQb2JzZXJ2YXRpb25fdGV4dBgBIAEoCRIYChBvYnNlcnZhdGlvbl9qc29uGAIgASgJIm0KEUdldERPTUhhc2hSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEhUKCGZyYW1lX2lkGAQgASgJSACIAQFCCwoJX2ZyYW1lX2lkIiIKEkdldERPTUhhc2hSZXNwb25zZRIMCgRoYXNoGAEgASgJImYKGEluc3BlY3RBdFBvc2l0aW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIJCgF4GAQgASgBEgkKAXkYBSABKAEioAEKGUluc3BlY3RBdFBvc2l0aW9uUmVzcG9uc2USFwoPYmFja2VuZF9ub2RlX2lkGAEgASgFEhAKCGZyYW1lX2lkGAIgASgJEhAKCHRhZ19uYW1lGAMgASgJEhQKDHRleHRfY29udGVudBgEIAEoCRISCgppc192aXNpYmxlGAUgASgIEhwKBmJvdW5kcxgGIAEoCzIMLndyYy52Mi5SZWN0IokBChRIaWdobGlnaHROb2RlUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkSDwoHcGFnZV9pZBgDIAEoCRIXCg9iYWNrZW5kX25vZGVfaWQYBCABKAUSFQoIZnJhbWVfaWQYBSABKAlIAIgBAUILCglfZnJhbWVfaWQiVwoRSW5zZXJ0VGV4dFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSDAoEdGV4dBgEIAEoCSK6AQoPUHJlc3NLZXlSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRIPCgdwYWdlX2lkGAMgASgJEgsKA2tleRgEIAEoCRIRCgRjb2RlGAUgASgJSACIAQESFgoJbW9kaWZpZXJzGAYgASgFSAGIAQESFQoIbG9jYXRpb24YByABKAVIAogBAUIHCgVfY29kZUIMCgpfbW9kaWZpZXJzQgsKCV9sb2NhdGlvbiK8AQoRUmVsZWFzZUtleVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSCwoDa2V5GAQgASgJEhEKBGNvZGUYBSABKAlIAIgBARIWCgltb2RpZmllcnMYBiABKAVIAYgBARIVCghsb2NhdGlvbhgHIAEoBUgCiAEBQgcKBV9jb2RlQgwKCl9tb2RpZmllcnNCCwoJX2xvY2F0aW9uIksKE0dldFNlbGVjdGlvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkiJAoUR2V0U2VsZWN0aW9uUmVzcG9uc2USDAoEdGV4dBgBIAEoCSKLAQoRU2NyZWVuc2hvdFJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJEg8KB3BhZ2VfaWQYAyABKAkSEwoGZm9ybWF0GAQgASgJSACIAQESFAoHcXVhbGl0eRgFIAEoBUgBiAEBQgkKB19mb3JtYXRCCgoIX3F1YWxpdHkiSAoSU2NyZWVuc2hvdFJlc3BvbnNlEhMKC2RhdGFfYmFzZTY0GAEgASgJEg0KBXdpZHRoGAIgASgFEg4KBmhlaWdodBgDIAEoBSJkChNTb2x2ZUNhcHRjaGFSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHYXBpX2tleRgCIAEoCRISCgp0aW1lb3V0X21zGAMgASgFEhQKDHJldHJ5X2Ftb3VudBgEIAEoBSImChRTb2x2ZUNhcHRjaGFSZXNwb25zZRIOCgZyZXN1bHQYASABKAkygxIKA1dSQxI7CghTZXRQcm94eRIXLndyYy52Mi5TZXRQcm94eVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSPQoIR2V0UGFnZXMSFy53cmMudjIuR2V0UGFnZXNSZXF1ZXN0Ghgud3JjLnYyLkdldFBhZ2VzUmVzcG9uc2USPQoITmF2aWdhdGUSFy53cmMudjIuTmF2aWdhdGVSZXF1ZXN0Ghgud3JjLnYyLk5hdmlnYXRlUmVzcG9uc2USOwoITG9hZEhUTUwSFy53cmMudjIuTG9hZEhUTUxSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ej0KCEV2YWx1YXRlEhcud3JjLnYyLkV2YWx1YXRlUmVxdWVzdBoYLndyYy52Mi5FdmFsdWF0ZVJlc3BvbnNlEjoKCldhaXRGb3JBbnkSGC53cmMudjIuV2FpdEZvckFueVBhcmFtcxoSLndyYy52Mi5XYWl0UmVzdWx0EkcKDFNlbGVjdE9wdGlvbhIbLndyYy52Mi5TZWxlY3RPcHRpb25SZXF1ZXN0Ghoud3JjLnYyLlNlbGVjdE9wdGlvblJlc3VsdBI6CghTY3JvbGxUbxIXLndyYy52Mi5TY3JvbGxUb1JlcXVlc3QaFS53cmMudjIuRWxlbWVudFJlc3VsdBI2CgZNb3ZlVG8SFS53cmMudjIuTW92ZVRvUmVxdWVzdBoVLndyYy52Mi5FbGVtZW50UmVzdWx0EjQKBUNsaWNrEhQud3JjLnYyLkNsaWNrUmVxdWVzdBoVLndyYy52Mi5FbGVtZW50UmVzdWx0Ei8KBERyYWcSEy53cmMudjIuRHJhZ1JlcXVlc3QaEi53cmMudjIuRHJhZ1Jlc3VsdBIyCgRGaWxsEhMud3JjLnYyLkZpbGxSZXF1ZXN0GhUud3JjLnYyLkVsZW1lbnRSZXN1bHQSQwoMU2V0QmxvY2tMaXN0Ehsud3JjLnYyLlNldEJsb2NrTGlzdFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSRwoOU2V0U3RhdGljUGF0aHMSHS53cmMudjIuU2V0U3RhdGljUGF0aHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElgKEVdhaXRGb3JBbnlSZXF1ZXN0EiAud3JjLnYyLldhaXRGb3JBbnlSZXF1ZXN0UmVxdWVzdBohLndyYy52Mi5XYWl0Rm9yQW55UmVxdWVzdFJlc3BvbnNlElsKEldhaXRGb3JBbnlSZXNwb25zZRIhLndyYy52Mi5XYWl0Rm9yQW55UmVzcG9uc2VSZXF1ZXN0GiIud3JjLnYyLldhaXRGb3JBbnlSZXNwb25zZVJlc3BvbnNlEkwKDU1vZGlmeVJlcXVlc3QSHC53cmMudjIuTW9kaWZ5UmVxdWVzdFJlcXVlc3QaHS53cmMudjIuTW9kaWZ5UmVxdWVzdFJlc3BvbnNlEkMKCkdldENvb2tpZXMSGS53cmMudjIuR2V0Q29va2llc1JlcXVlc3QaGi53cmMudjIuR2V0Q29va2llc1Jlc3BvbnNlEj8KClNldENvb2tpZXMSGS53cmMudjIuU2V0Q29va2llc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSQwoMQ2xlYXJDb29raWVzEhsud3JjLnYyLkNsZWFyQ29va2llc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSQwoKR2V0U3RvcmFnZRIZLndyYy52Mi5HZXRTdG9yYWdlUmVxdWVzdBoaLndyYy52Mi5HZXRTdG9yYWdlUmVzcG9uc2USPwoKU2V0U3RvcmFnZRIZLndyYy52Mi5TZXRTdG9yYWdlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJDCgxDbGVhclN0b3JhZ2USGy53cmMudjIuQ2xlYXJTdG9yYWdlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI3CgZHZXRET00SFS53cmMudjIuR2V0RE9NUmVxdWVzdBoWLndyYy52Mi5HZXRET01SZXNwb25zZRJDCgpHZXRET01IYXNoEhkud3JjLnYyLkdldERPTUhhc2hSZXF1ZXN0Ghoud3JjLnYyLkdldERPTUhhc2hSZXNwb25zZRJPCg5HZXRPYnNlcnZhdGlvbhIdLndyYy52Mi5HZXRPYnNlcnZhdGlvblJlcXVlc3QaHi53cmMudjIuR2V0T2JzZXJ2YXRpb25SZXNwb25zZRJYChFJbnNwZWN0QXRQb3NpdGlvbhIgLndyYy52Mi5JbnNwZWN0QXRQb3NpdGlvblJlcXVlc3QaIS53cmMudjIuSW5zcGVjdEF0UG9zaXRpb25SZXNwb25zZRJFCg1IaWdobGlnaHROb2RlEhwud3JjLnYyLkhpZ2hsaWdodE5vZGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkMKClNjcmVlbnNob3QSGS53cmMudjIuU2NyZWVuc2hvdFJlcXVlc3QaGi53cmMudjIuU2NyZWVuc2hvdFJlc3BvbnNlEj8KCkluc2VydFRleHQSGS53cmMudjIuSW5zZXJ0VGV4dFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSOwoIUHJlc3NLZXkSFy53cmMudjIuUHJlc3NLZXlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ej8KClJlbGVhc2VLZXkSGS53cmMudjIuUmVsZWFzZUtleVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSSQoMR2V0U2VsZWN0aW9uEhsud3JjLnYyLkdldFNlbGVjdGlvblJlcXVlc3QaHC53cmMudjIuR2V0U2VsZWN0aW9uUmVzcG9uc2USSQoMU29sdmVDYXB0Y2hhEhsud3JjLnYyLlNvbHZlQ2FwdGNoYVJlcXVlc3QaHC53cmMudjIuU29sdmVDYXB0Y2hhUmVzcG9uc2VCKlooZ2l0aHViLmNvbS93ZWJyb2JvdC1kZXYvd3JjX2dvL2dlbmVyYXRlZGIGcHJvdG8z", [file_google_protobuf_empty]);
|
|
3803
3803
|
var HeaderSchema = /* @__PURE__ */ messageDesc(file_wrc, 3);
|
|
3804
3804
|
var HeaderModificationSchema = /* @__PURE__ */ messageDesc(file_wrc, 6);
|
|
3805
3805
|
var CookiePartitionKeySchema = /* @__PURE__ */ messageDesc(file_wrc, 7);
|
|
@@ -3839,7 +3839,8 @@ var InsertTextRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 56);
|
|
|
3839
3839
|
var PressKeyRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 57);
|
|
3840
3840
|
var ReleaseKeyRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 58);
|
|
3841
3841
|
var GetSelectionRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 59);
|
|
3842
|
-
var
|
|
3842
|
+
var ScreenshotRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 61);
|
|
3843
|
+
var SolveCaptchaRequestSchema = /* @__PURE__ */ messageDesc(file_wrc, 63);
|
|
3843
3844
|
var WRC = /* @__PURE__ */ serviceDesc(file_wrc, 0);
|
|
3844
3845
|
|
|
3845
3846
|
// src/defaults.ts
|
|
@@ -4903,6 +4904,40 @@ var CloudBrowser = class {
|
|
|
4903
4904
|
const resp = await this.client.getObservation(req);
|
|
4904
4905
|
return { text: resp.observationText, json: resp.observationJson };
|
|
4905
4906
|
}
|
|
4907
|
+
/**
|
|
4908
|
+
* Captures a single image of the page's current frame and returns it as
|
|
4909
|
+
* base64-encoded image bytes.
|
|
4910
|
+
*
|
|
4911
|
+
* The capture uses a one-shot surface copy (the same mechanism as CDP
|
|
4912
|
+
* Page.captureScreenshot), so it is independent of any active live stream
|
|
4913
|
+
* and works with both GPU (hardware) and software compositing.
|
|
4914
|
+
*
|
|
4915
|
+
* @param opts - optional `format` ("png" default, "jpeg", "webp") and
|
|
4916
|
+
* `quality` (0-100, for jpeg/webp only); omit to use the server defaults
|
|
4917
|
+
*
|
|
4918
|
+
* @returns ScreenshotResult with the base64 image in `dataBase64` and the
|
|
4919
|
+
* physical pixel `width`/`height`
|
|
4920
|
+
*
|
|
4921
|
+
* @throws UNKNOWN_ERROR - the screenshot could not be captured
|
|
4922
|
+
*
|
|
4923
|
+
* @example
|
|
4924
|
+
* const shot = await browser.screenshot({ format: "png" });
|
|
4925
|
+
* await fs.writeFile("page.png", Buffer.from(shot.dataBase64, "base64"));
|
|
4926
|
+
*/
|
|
4927
|
+
async screenshot(opts) {
|
|
4928
|
+
const req = create(ScreenshotRequestSchema, {
|
|
4929
|
+
sessionId: this.sessionId,
|
|
4930
|
+
apiKey: this.apiKey
|
|
4931
|
+
});
|
|
4932
|
+
if (opts?.format !== void 0) req.format = opts.format;
|
|
4933
|
+
if (opts?.quality !== void 0) req.quality = opts.quality;
|
|
4934
|
+
const resp = await this.client.screenshot(req);
|
|
4935
|
+
return {
|
|
4936
|
+
dataBase64: resp.dataBase64,
|
|
4937
|
+
width: resp.width,
|
|
4938
|
+
height: resp.height
|
|
4939
|
+
};
|
|
4940
|
+
}
|
|
4906
4941
|
// ──────────────────────────────────────────────────────────────────
|
|
4907
4942
|
// Network interception
|
|
4908
4943
|
// ──────────────────────────────────────────────────────────────────
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wrc-ts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Official SDK for WebRobot Cloud — undetected stealth browsers in the cloud. Rent real Chromium sessions with unique fingerprints, built-in proxies, captcha solving, human-like input and live video — scale web scraping and automation without running a single browser yourself.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|