@silvana-one/orderbook 1.1.8 → 1.1.10

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.
Files changed (55) hide show
  1. package/dist/node/index.cjs +350 -5
  2. package/dist/node/index.d.ts +3 -1
  3. package/dist/node/index.js +3 -1
  4. package/dist/node/index.js.map +1 -1
  5. package/dist/node/news.d.ts +48 -0
  6. package/dist/node/news.js +63 -0
  7. package/dist/node/news.js.map +1 -0
  8. package/dist/node/{grpc.d.ts → orderbook.d.ts} +48 -1
  9. package/dist/{web/grpc.js → node/orderbook.js} +50 -2
  10. package/dist/node/orderbook.js.map +1 -0
  11. package/dist/node/pricing.d.ts +81 -0
  12. package/dist/node/pricing.js +115 -0
  13. package/dist/node/pricing.js.map +1 -0
  14. package/dist/node/proto/silvana/news/v1/news_pb.d.ts +245 -0
  15. package/dist/node/proto/silvana/news/v1/news_pb.js +44 -0
  16. package/dist/node/proto/silvana/news/v1/news_pb.js.map +1 -0
  17. package/dist/node/proto/silvana/orderbook/v1/orderbook_pb.d.ts +398 -0
  18. package/dist/node/proto/silvana/orderbook/v1/orderbook_pb.js +47 -2
  19. package/dist/node/proto/silvana/orderbook/v1/orderbook_pb.js.map +1 -1
  20. package/dist/node/proto/silvana/pricing/v1/pricing_pb.d.ts +794 -0
  21. package/dist/node/proto/silvana/pricing/v1/pricing_pb.js +119 -0
  22. package/dist/node/proto/silvana/pricing/v1/pricing_pb.js.map +1 -0
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/dist/tsconfig.web.tsbuildinfo +1 -1
  25. package/dist/web/index.d.ts +3 -1
  26. package/dist/web/index.js +3 -1
  27. package/dist/web/index.js.map +1 -1
  28. package/dist/web/news.d.ts +48 -0
  29. package/dist/web/news.js +63 -0
  30. package/dist/web/news.js.map +1 -0
  31. package/dist/web/{grpc.d.ts → orderbook.d.ts} +48 -1
  32. package/dist/{node/grpc.js → web/orderbook.js} +50 -2
  33. package/dist/web/orderbook.js.map +1 -0
  34. package/dist/web/pricing.d.ts +81 -0
  35. package/dist/web/pricing.js +115 -0
  36. package/dist/web/pricing.js.map +1 -0
  37. package/dist/web/proto/silvana/news/v1/news_pb.d.ts +245 -0
  38. package/dist/web/proto/silvana/news/v1/news_pb.js +44 -0
  39. package/dist/web/proto/silvana/news/v1/news_pb.js.map +1 -0
  40. package/dist/web/proto/silvana/orderbook/v1/orderbook_pb.d.ts +398 -0
  41. package/dist/web/proto/silvana/orderbook/v1/orderbook_pb.js +47 -2
  42. package/dist/web/proto/silvana/orderbook/v1/orderbook_pb.js.map +1 -1
  43. package/dist/web/proto/silvana/pricing/v1/pricing_pb.d.ts +794 -0
  44. package/dist/web/proto/silvana/pricing/v1/pricing_pb.js +119 -0
  45. package/dist/web/proto/silvana/pricing/v1/pricing_pb.js.map +1 -0
  46. package/package.json +5 -2
  47. package/src/index.ts +3 -1
  48. package/src/news.ts +105 -0
  49. package/src/{grpc.ts → orderbook.ts} +91 -0
  50. package/src/pricing.ts +187 -0
  51. package/src/proto/silvana/news/v1/news_pb.ts +295 -0
  52. package/src/proto/silvana/orderbook/v1/orderbook_pb.ts +475 -2
  53. package/src/proto/silvana/pricing/v1/pricing_pb.ts +950 -0
  54. package/dist/node/grpc.js.map +0 -1
  55. package/dist/web/grpc.js.map +0 -1
@@ -22,28 +22,53 @@ var index_exports = {};
22
22
  __export(index_exports, {
23
23
  CancelOrderRequestSchema: () => CancelOrderRequestSchema,
24
24
  CancelOrderResponseSchema: () => CancelOrderResponseSchema,
25
+ CreateInstrumentRequestSchema: () => CreateInstrumentRequestSchema,
26
+ CreateInstrumentResponseSchema: () => CreateInstrumentResponseSchema,
27
+ CreateMarketRequestSchema: () => CreateMarketRequestSchema,
28
+ CreateMarketResponseSchema: () => CreateMarketResponseSchema,
29
+ CreatePartyRequestSchema: () => CreatePartyRequestSchema,
30
+ CreatePartyResponseSchema: () => CreatePartyResponseSchema,
25
31
  GetInstrumentsRequestSchema: () => GetInstrumentsRequestSchema,
26
32
  GetInstrumentsResponseSchema: () => GetInstrumentsResponseSchema,
33
+ GetKlinesRequestSchema: () => GetKlinesRequestSchema,
34
+ GetKlinesResponseSchema: () => GetKlinesResponseSchema,
27
35
  GetMarketDataRequestSchema: () => GetMarketDataRequestSchema,
28
36
  GetMarketDataResponseSchema: () => GetMarketDataResponseSchema,
29
37
  GetMarketsRequestSchema: () => GetMarketsRequestSchema,
30
38
  GetMarketsResponseSchema: () => GetMarketsResponseSchema,
39
+ GetNewsRequestSchema: () => GetNewsRequestSchema,
40
+ GetNewsResponseSchema: () => GetNewsResponseSchema,
41
+ GetOrderBookRequestSchema: () => GetOrderBookRequestSchema,
42
+ GetOrderBookResponseSchema: () => GetOrderBookResponseSchema,
31
43
  GetOrderHistoryRequestSchema: () => GetOrderHistoryRequestSchema,
32
44
  GetOrderHistoryResponseSchema: () => GetOrderHistoryResponseSchema,
33
45
  GetOrderbookDepthRequestSchema: () => GetOrderbookDepthRequestSchema,
34
46
  GetOrderbookDepthResponseSchema: () => GetOrderbookDepthResponseSchema,
35
47
  GetOrdersRequestSchema: () => GetOrdersRequestSchema,
36
48
  GetOrdersResponseSchema: () => GetOrdersResponseSchema,
49
+ GetPivotPointsRequestSchema: () => GetPivotPointsRequestSchema,
50
+ GetPivotPointsResponseSchema: () => GetPivotPointsResponseSchema,
51
+ GetPriceRequestSchema: () => GetPriceRequestSchema,
52
+ GetPriceResponseSchema: () => GetPriceResponseSchema,
53
+ GetPricesRequestSchema: () => GetPricesRequestSchema,
54
+ GetPricesResponseSchema: () => GetPricesResponseSchema,
37
55
  GetSettlementProposalsRequestSchema: () => GetSettlementProposalsRequestSchema,
38
56
  GetSettlementProposalsResponseSchema: () => GetSettlementProposalsResponseSchema,
39
57
  GetSettlementsRequestSchema: () => GetSettlementsRequestSchema,
40
58
  GetSettlementsResponseSchema: () => GetSettlementsResponseSchema,
41
59
  InstrumentSchema: () => InstrumentSchema,
42
60
  JWTAuthSchema: () => JWTAuthSchema,
61
+ KlineSchema: () => KlineSchema,
43
62
  MarketDataSchema: () => MarketDataSchema,
44
63
  MarketSchema: () => MarketSchema,
45
64
  MarketType: () => MarketType,
46
65
  MarketTypeSchema: () => MarketTypeSchema,
66
+ NewsArticleSchema: () => NewsArticleSchema,
67
+ NewsClient: () => NewsClient,
68
+ NewsError: () => NewsError,
69
+ NewsService: () => NewsService,
70
+ OrderBookLevelSchema: () => OrderBookLevelSchema,
71
+ OrderBookUpdateSchema: () => OrderBookUpdateSchema,
47
72
  OrderMatchSchema: () => OrderMatchSchema,
48
73
  OrderSchema: () => OrderSchema,
49
74
  OrderStatus: () => OrderStatus,
@@ -61,6 +86,16 @@ __export(index_exports, {
61
86
  OrderbookUpdateSchema: () => OrderbookUpdateSchema,
62
87
  OrderbookUpdate_UpdateType: () => OrderbookUpdate_UpdateType,
63
88
  OrderbookUpdate_UpdateTypeSchema: () => OrderbookUpdate_UpdateTypeSchema,
89
+ PartySchema: () => PartySchema,
90
+ PivotPointsSchema: () => PivotPointsSchema,
91
+ PriceFeedConfigSchema: () => PriceFeedConfigSchema,
92
+ PriceFeedConfig_DirectFeedSchema: () => PriceFeedConfig_DirectFeedSchema,
93
+ PriceFeedConfig_SyntheticFeedSchema: () => PriceFeedConfig_SyntheticFeedSchema,
94
+ PriceSchema: () => PriceSchema,
95
+ PriceUpdateSchema: () => PriceUpdateSchema,
96
+ PricingClient: () => PricingClient,
97
+ PricingError: () => PricingError,
98
+ PricingService: () => PricingService,
64
99
  SettlementProposalSchema: () => SettlementProposalSchema,
65
100
  SettlementSchema: () => SettlementSchema,
66
101
  SettlementStatus: () => SettlementStatus,
@@ -68,6 +103,9 @@ __export(index_exports, {
68
103
  SettlementUpdateSchema: () => SettlementUpdateSchema,
69
104
  SettlementUpdate_EventType: () => SettlementUpdate_EventType,
70
105
  SettlementUpdate_EventTypeSchema: () => SettlementUpdate_EventTypeSchema,
106
+ SourceSchema: () => SourceSchema,
107
+ StreamNewsRequestSchema: () => StreamNewsRequestSchema,
108
+ StreamPricesRequestSchema: () => StreamPricesRequestSchema,
71
109
  SubmitOrderRequestSchema: () => SubmitOrderRequestSchema,
72
110
  SubmitOrderResponseSchema: () => SubmitOrderResponseSchema,
73
111
  SubscribeOrderbookRequestSchema: () => SubscribeOrderbookRequestSchema,
@@ -75,11 +113,17 @@ __export(index_exports, {
75
113
  SubscribeSettlementsRequestSchema: () => SubscribeSettlementsRequestSchema,
76
114
  TimeInForce: () => TimeInForce,
77
115
  TimeInForceSchema: () => TimeInForceSchema,
78
- file_proto_silvana_orderbook_v1_orderbook: () => file_proto_silvana_orderbook_v1_orderbook
116
+ TokenNewsSchema: () => TokenNewsSchema,
117
+ TradeUpdateSchema: () => TradeUpdateSchema,
118
+ UpdateMarketPriceFeedsRequestSchema: () => UpdateMarketPriceFeedsRequestSchema,
119
+ UpdateMarketPriceFeedsResponseSchema: () => UpdateMarketPriceFeedsResponseSchema,
120
+ file_proto_silvana_news_v1_news: () => file_proto_silvana_news_v1_news,
121
+ file_proto_silvana_orderbook_v1_orderbook: () => file_proto_silvana_orderbook_v1_orderbook,
122
+ file_proto_silvana_pricing_v1_pricing: () => file_proto_silvana_pricing_v1_pricing
79
123
  });
80
124
  module.exports = __toCommonJS(index_exports);
81
125
 
82
- // dist/node/grpc.js
126
+ // dist/node/orderbook.js
83
127
  var import_connect_node = require("@connectrpc/connect-node");
84
128
  var import_connect = require("@connectrpc/connect");
85
129
  var import_protobuf = require("@bufbuild/protobuf");
@@ -88,7 +132,7 @@ var import_wkt2 = require("@bufbuild/protobuf/wkt");
88
132
  // dist/node/proto/silvana/orderbook/v1/orderbook_pb.js
89
133
  var import_codegenv2 = require("@bufbuild/protobuf/codegenv2");
90
134
  var import_wkt = require("@bufbuild/protobuf/wkt");
91
- var file_proto_silvana_orderbook_v1_orderbook = /* @__PURE__ */ (0, import_codegenv2.fileDesc)("Cipwcm90by9zaWx2YW5hL29yZGVyYm9vay92MS9vcmRlcmJvb2sucHJvdG8SFHNpbHZhbmEub3JkZXJib29rLnYxIhgKB0pXVEF1dGgSDQoFdG9rZW4YASABKAki5QIKCkluc3RydW1lbnQSFQoNaW5zdHJ1bWVudF9pZBgBIAEoCRIXCg9pbnN0cnVtZW50X3R5cGUYAiABKAkSDAoEbmFtZRgDIAEoCRIOCgZzeW1ib2wYBCABKAkSGAoLZGVzY3JpcHRpb24YBSABKAlIAIgBARITCgZpc3N1ZXIYBiABKAlIAYgBARIVCghyZWdpc3RyeRgHIAEoCUgCiAEBEi4KCG1ldGFkYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9kZXNjcmlwdGlvbkIJCgdfaXNzdWVyQgsKCV9yZWdpc3RyeUILCglfbWV0YWRhdGEiywMKBk1hcmtldBIRCgltYXJrZXRfaWQYASABKAkSNQoLbWFya2V0X3R5cGUYAiABKA4yIC5zaWx2YW5hLm9yZGVyYm9vay52MS5NYXJrZXRUeXBlEhcKD2Jhc2VfaW5zdHJ1bWVudBgDIAEoCRIYChBxdW90ZV9pbnN0cnVtZW50GAQgASgJEhMKC3BhaXJfc3ltYm9sGAUgASgJEhEKCWlzX2FjdGl2ZRgGIAEoCBIWCg5taW5fb3JkZXJfc2l6ZRgHIAEoCRIbCg5tYXhfb3JkZXJfc2l6ZRgIIAEoCUgAiAEBEhEKCXRpY2tfc2l6ZRgJIAEoCRIRCgltYWtlcl9mZWUYCiABKAkSEQoJdGFrZXJfZmVlGAsgASgJEi4KCG1ldGFkYXRhGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBEi4KCmNyZWF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhEKD19tYXhfb3JkZXJfc2l6ZUILCglfbWV0YWRhdGEi9wYKBU9yZGVyEhAKCG9yZGVyX2lkGAEgASgEEhEKCW1hcmtldF9pZBgCIAEoCRIzCgpvcmRlcl90eXBlGAMgASgOMh8uc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJUeXBlEg4KBnRyYWRlchgEIAEoCRIdChB0cmFkZXJfb3JkZXJfcmVmGAUgASgJSACIAQESFwoPYmFzZV9pbnN0cnVtZW50GAYgASgJEhgKEHF1b3RlX2luc3RydW1lbnQYByABKAkSDQoFcHJpY2UYCCABKAkSEAoIcXVhbnRpdHkYCSABKAkSFwoPZmlsbGVkX3F1YW50aXR5GAogASgJEhgKEHBlbmRpbmdfcXVhbnRpdHkYCyABKAkSGgoScmVtYWluaW5nX3F1YW50aXR5GAwgASgJEjEKBnN0YXR1cxgNIAEoDjIhLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyU3RhdHVzEjgKDXRpbWVfaW5fZm9yY2UYDiABKA4yIS5zaWx2YW5hLm9yZGVyYm9vay52MS5UaW1lSW5Gb3JjZRIzCgpleHBpcmVzX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEg8KB3ZlcnNpb24YECABKAQSMQoLY3JlZGVudGlhbHMYESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESMgoMcmVxdWlyZW1lbnRzGBIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEi4KCG1ldGFkYXRhGBMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEi4KCmNyZWF0ZWRfYXQYFCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYFSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDGNhbmNlbGxlZF9hdBgWIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBAUITChFfdHJhZGVyX29yZGVyX3JlZkINCgtfZXhwaXJlc19hdEIOCgxfY3JlZGVudGlhbHNCDwoNX3JlcXVpcmVtZW50c0ILCglfbWV0YWRhdGFCDwoNX2NhbmNlbGxlZF9hdCKCAQoOT3JkZXJib29rTGV2ZWwSDQoFcHJpY2UYASABKAkSFgoOdG90YWxfcXVhbnRpdHkYAiABKAkSEwoLb3JkZXJfY291bnQYAyABKA0SNAoQZmlyc3Rfb3JkZXJfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi1QEKDk9yZGVyYm9va0RlcHRoEhEKCW1hcmtldF9pZBgBIAEoCRITCgtwYWlyX3N5bWJvbBgCIAEoCRIyCgRiaWRzGAMgAygLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rTGV2ZWwSNAoGb2ZmZXJzGAQgAygLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rTGV2ZWwSMQoNc25hcHNob3RfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAipREKElNldHRsZW1lbnRQcm9wb3NhbBITCgtwcm9wb3NhbF9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKAkSDQoFYnV5ZXIYAyABKAkSDgoGc2VsbGVyGAQgASgJEhUKDWJhc2VfcXVhbnRpdHkYBSABKAkSFgoOcXVvdGVfcXVhbnRpdHkYBiABKAkSGAoQc2V0dGxlbWVudF9wcmljZRgHIAEoCRI2CgZzdGF0dXMYCCABKA4yJi5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50U3RhdHVzEg8KB3ZlcnNpb24YCSABKAQSPQoXcHJlY29uZmlybWF0aW9uX3JlcXVlc3QYCiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESSAofcHJlY29uZmlybWF0aW9uX3JlcXVlc3Rfc2VudF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARI7ChVidXllcl9wcmVjb25maXJtYXRpb24YDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESSgohYnV5ZXJfcHJlY29uZmlybWF0aW9uX3JlY2VpdmVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBEjwKFnNlbGxlcl9wcmVjb25maXJtYXRpb24YDiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQESSwoic2VsbGVyX3ByZWNvbmZpcm1hdGlvbl9yZWNlaXZlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARIdChBkdnBfcHJvcG9zYWxfY2lkGBAgASgJSAaIAQESIwoWZHZwX3Byb3Bvc2FsX3VwZGF0ZV9pZBgRIAEoCUgHiAEBEhQKB2R2cF9jaWQYEiABKAlICIgBARIaCg1kdnBfdXBkYXRlX2lkGBMgASgJSAmIAQESHgoRZHZwX3NldHRsZW1lbnRfaWQYFCABKAlICogBARIhChRhbGxvY2F0aW9uX2J1eWVyX2NpZBgVIAEoCUgLiAEBEicKGmFsbG9jYXRpb25fYnV5ZXJfdXBkYXRlX2lkGBYgASgJSAyIAQESIgoVYWxsb2NhdGlvbl9zZWxsZXJfY2lkGBcgASgJSA2IAQESKAobYWxsb2NhdGlvbl9zZWxsZXJfdXBkYXRlX2lkGBggASgJSA6IAQESHAoPc2V0dGxlZF9kdnBfY2lkGBkgASgJSA+IAQESIQoUc2V0dGxlbWVudF91cGRhdGVfaWQYGiABKAlIEIgBARIpChxzZXR0bGVtZW50X2NvbXBsZXRpb25fb2Zmc2V0GBsgASgJSBGIAQESLgoKY3JlYXRlZF9hdBgcIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOAoPcHJlY29uZmlybWVkX2F0GB0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgSiAEBEjcKDmR2cF9jcmVhdGVkX2F0GB4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgTiAEBEjgKD2R2cF9hY2NlcHRlZF9hdBgfIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIFIgBARI1CgxhbGxvY2F0ZWRfYXQYICABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSBWIAQESMwoKc2V0dGxlZF9hdBghIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIFogBARI1CgxjYW5jZWxsZWRfYXQYIiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSBeIAQESMgoJZmFpbGVkX2F0GCMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgYiAEBEhoKDWVycm9yX21lc3NhZ2UYJCABKAlIGYgBARIuCghtZXRhZGF0YRglIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIGogBAUIaChhfcHJlY29uZmlybWF0aW9uX3JlcXVlc3RCIgogX3ByZWNvbmZpcm1hdGlvbl9yZXF1ZXN0X3NlbnRfYXRCGAoWX2J1eWVyX3ByZWNvbmZpcm1hdGlvbkIkCiJfYnV5ZXJfcHJlY29uZmlybWF0aW9uX3JlY2VpdmVkX2F0QhkKF19zZWxsZXJfcHJlY29uZmlybWF0aW9uQiUKI19zZWxsZXJfcHJlY29uZmlybWF0aW9uX3JlY2VpdmVkX2F0QhMKEV9kdnBfcHJvcG9zYWxfY2lkQhkKF19kdnBfcHJvcG9zYWxfdXBkYXRlX2lkQgoKCF9kdnBfY2lkQhAKDl9kdnBfdXBkYXRlX2lkQhQKEl9kdnBfc2V0dGxlbWVudF9pZEIXChVfYWxsb2NhdGlvbl9idXllcl9jaWRCHQobX2FsbG9jYXRpb25fYnV5ZXJfdXBkYXRlX2lkQhgKFl9hbGxvY2F0aW9uX3NlbGxlcl9jaWRCHgocX2FsbG9jYXRpb25fc2VsbGVyX3VwZGF0ZV9pZEISChBfc2V0dGxlZF9kdnBfY2lkQhcKFV9zZXR0bGVtZW50X3VwZGF0ZV9pZEIfCh1fc2V0dGxlbWVudF9jb21wbGV0aW9uX29mZnNldEISChBfcHJlY29uZmlybWVkX2F0QhEKD19kdnBfY3JlYXRlZF9hdEISChBfZHZwX2FjY2VwdGVkX2F0Qg8KDV9hbGxvY2F0ZWRfYXRCDQoLX3NldHRsZWRfYXRCDwoNX2NhbmNlbGxlZF9hdEIMCgpfZmFpbGVkX2F0QhAKDl9lcnJvcl9tZXNzYWdlQgsKCV9tZXRhZGF0YSLNAQoKT3JkZXJNYXRjaBIQCghtYXRjaF9pZBgBIAEoBBIeChZzZXR0bGVtZW50X3Byb3Bvc2FsX2lkGAIgASgEEhQKDGJpZF9vcmRlcl9pZBgDIAEoBBIWCg5vZmZlcl9vcmRlcl9pZBgEIAEoBBIYChBtYXRjaGVkX3F1YW50aXR5GAUgASgJEhUKDW1hdGNoZWRfcHJpY2UYBiABKAkSLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAihwMKClNldHRsZW1lbnQSFQoNc2V0dGxlbWVudF9pZBgBIAEoBBITCgtwcm9wb3NhbF9pZBgCIAEoBBIRCgltYXJrZXRfaWQYAyABKAkSDQoFYnV5ZXIYBCABKAkSDgoGc2VsbGVyGAUgASgJEhUKDWJhc2VfcXVhbnRpdHkYBiABKAkSFgoOcXVvdGVfcXVhbnRpdHkYByABKAkSGAoQc2V0dGxlbWVudF9wcmljZRgIIAEoCRIXCg9zZXR0bGVkX2R2cF9jaWQYCSABKAkSHAoUc2V0dGxlbWVudF91cGRhdGVfaWQYCiABKAkSLgoKc2V0dGxlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKY3JlYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoIbWV0YWRhdGEYDSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQFCCwoJX21ldGFkYXRhIpUCCgpNYXJrZXREYXRhEhEKCW1hcmtldF9pZBgBIAEoCRITCgtwYWlyX3N5bWJvbBgCIAEoCRIVCghiZXN0X2JpZBgDIAEoCUgAiAEBEhcKCmJlc3Rfb2ZmZXIYBCABKAlIAYgBARIXCgpsYXN0X3ByaWNlGAUgASgJSAKIAQESEgoKdm9sdW1lXzI0aBgGIAEoCRISCgp0cmFkZXNfMjRoGAcgASgNEhMKC29wZW5fb3JkZXJzGAggASgNEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgsKCV9iZXN0X2JpZEINCgtfYmVzdF9vZmZlckINCgtfbGFzdF9wcmljZSKvAgoQR2V0T3JkZXJzUmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIWCgltYXJrZXRfaWQYAiABKAlIAIgBARI2CgZzdGF0dXMYAyABKA4yIS5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclN0YXR1c0gBiAEBEjgKCm9yZGVyX3R5cGUYBCABKA4yHy5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclR5cGVIAogBARISCgVsaW1pdBgFIAEoDUgDiAEBEhMKBm9mZnNldBgGIAEoDUgEiAEBQgwKCl9tYXJrZXRfaWRCCQoHX3N0YXR1c0INCgtfb3JkZXJfdHlwZUIICgZfbGltaXRCCQoHX29mZnNldCJxChFHZXRPcmRlcnNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKwoGb3JkZXJzGAMgAygLMhsuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXISDQoFdG90YWwYBCABKA0ieAoYR2V0T3JkZXJib29rRGVwdGhSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhEKCW1hcmtldF9pZBgCIAEoCRISCgVkZXB0aBgDIAEoDUgAiAEBQggKBl9kZXB0aCJ2ChlHZXRPcmRlcmJvb2tEZXB0aFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI3CglvcmRlcmJvb2sYAyABKAsyJC5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlcmJvb2tEZXB0aCL4AQodR2V0U2V0dGxlbWVudFByb3Bvc2Fsc1JlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSFgoJbWFya2V0X2lkGAIgASgJSACIAQESOwoGc3RhdHVzGAMgASgOMiYuc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudFN0YXR1c0gBiAEBEhIKBWxpbWl0GAQgASgNSAKIAQESEwoGb2Zmc2V0GAUgASgNSAOIAQFCDAoKX21hcmtldF9pZEIJCgdfc3RhdHVzQggKBl9saW1pdEIJCgdfb2Zmc2V0Io4BCh5HZXRTZXR0bGVtZW50UHJvcG9zYWxzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEjsKCXByb3Bvc2FscxgDIAMoCzIoLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnRQcm9wb3NhbBINCgV0b3RhbBgEIAEoDSK0AQoVR2V0SW5zdHJ1bWVudHNSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhwKD2luc3RydW1lbnRfdHlwZRgCIAEoCUgAiAEBEhIKBWxpbWl0GAMgASgNSAGIAQESEwoGb2Zmc2V0GAQgASgNSAKIAQFCEgoQX2luc3RydW1lbnRfdHlwZUIICgZfbGltaXRCCQoHX29mZnNldCKAAQoWR2V0SW5zdHJ1bWVudHNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSNQoLaW5zdHJ1bWVudHMYAyADKAsyIC5zaWx2YW5hLm9yZGVyYm9vay52MS5JbnN0cnVtZW50Eg0KBXRvdGFsGAQgASgNItoCChFHZXRNYXJrZXRzUmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBI6CgttYXJrZXRfdHlwZRgCIAEoDjIgLnNpbHZhbmEub3JkZXJib29rLnYxLk1hcmtldFR5cGVIAIgBARIcCg9iYXNlX2luc3RydW1lbnQYAyABKAlIAYgBARIdChBxdW90ZV9pbnN0cnVtZW50GAQgASgJSAKIAQESGAoLYWN0aXZlX29ubHkYBSABKAhIA4gBARISCgVsaW1pdBgGIAEoDUgEiAEBEhMKBm9mZnNldBgHIAEoDUgFiAEBQg4KDF9tYXJrZXRfdHlwZUISChBfYmFzZV9pbnN0cnVtZW50QhMKEV9xdW90ZV9pbnN0cnVtZW50Qg4KDF9hY3RpdmVfb25seUIICgZfbGltaXRCCQoHX29mZnNldCJ0ChJHZXRNYXJrZXRzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEi0KB21hcmtldHMYAyADKAsyHC5zaWx2YW5hLm9yZGVyYm9vay52MS5NYXJrZXQSDQoFdG90YWwYBCABKA0iqQIKFkdldE9yZGVySGlzdG9yeVJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSFgoJbWFya2V0X2lkGAIgASgJSACIAQESMgoJZnJvbV90aW1lGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEjAKB3RvX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESEgoFbGltaXQYBSABKA1IA4gBARITCgZvZmZzZXQYBiABKA1IBIgBAUIMCgpfbWFya2V0X2lkQgwKCl9mcm9tX3RpbWVCCgoIX3RvX3RpbWVCCAoGX2xpbWl0QgkKB19vZmZzZXQidwoXR2V0T3JkZXJIaXN0b3J5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEisKBm9yZGVycxgDIAMoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyEg0KBXRvdGFsGAQgASgNIlcKFEdldE1hcmtldERhdGFSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhIKCm1hcmtldF9pZHMYAiADKAkicAoVR2V0TWFya2V0RGF0YVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI1CgttYXJrZXRfZGF0YRgDIAMoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLk1hcmtldERhdGEiqAIKFUdldFNldHRsZW1lbnRzUmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIWCgltYXJrZXRfaWQYAiABKAlIAIgBARIyCglmcm9tX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESMAoHdG9fdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARISCgVsaW1pdBgFIAEoDUgDiAEBEhMKBm9mZnNldBgGIAEoDUgEiAEBQgwKCl9tYXJrZXRfaWRCDAoKX2Zyb21fdGltZUIKCghfdG9fdGltZUIICgZfbGltaXRCCQoHX29mZnNldCKAAQoWR2V0U2V0dGxlbWVudHNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSNQoLc2V0dGxlbWVudHMYAyADKAsyIC5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50Eg0KBXRvdGFsGAQgASgNInkKGVN1YnNjcmliZU9yZGVyYm9va1JlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSEQoJbWFya2V0X2lkGAIgASgJEhIKBWRlcHRoGAMgASgNSACIAQFCCAoGX2RlcHRoIocDCg9PcmRlcmJvb2tVcGRhdGUSEQoJbWFya2V0X2lkGAEgASgJEkUKC3VwZGF0ZV90eXBlGAIgASgOMjAuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rVXBkYXRlLlVwZGF0ZVR5cGUSOQoLYmlkX3VwZGF0ZXMYAyADKAsyJC5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlcmJvb2tMZXZlbBI7Cg1vZmZlcl91cGRhdGVzGAQgAygLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rTGV2ZWwSLQoJdGltZXN0YW1wGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9zZXF1ZW5jZV9udW1iZXIYBiABKAQiWgoKVXBkYXRlVHlwZRIbChdVUERBVEVfVFlQRV9VTlNQRUNJRklFRBAAEhgKFFVQREFURV9UWVBFX1NOQVBTSE9UEAESFQoRVVBEQVRFX1RZUEVfREVMVEEQAiJrChZTdWJzY3JpYmVPcmRlcnNSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhYKCW1hcmtldF9pZBgCIAEoCUgAiAEBQgwKCl9tYXJrZXRfaWQirQMKC09yZGVyVXBkYXRlEj8KCmV2ZW50X3R5cGUYASABKA4yKy5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclVwZGF0ZS5FdmVudFR5cGUSKgoFb3JkZXIYAiABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlchI0CgVtYXRjaBgDIAEoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyTWF0Y2hIAIgBARItCgl0aW1lc3RhbXAYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIsEBCglFdmVudFR5cGUSGgoWRVZFTlRfVFlQRV9VTlNQRUNJRklFRBAAEhYKEkVWRU5UX1RZUEVfQ1JFQVRFRBABEhYKEkVWRU5UX1RZUEVfVVBEQVRFRBACEhUKEUVWRU5UX1RZUEVfRklMTEVEEAMSHwobRVZFTlRfVFlQRV9QQVJUSUFMTFlfRklMTEVEEAQSGAoURVZFTlRfVFlQRV9DQU5DRUxMRUQQBRIWChJFVkVOVF9UWVBFX0VYUElSRUQQBkIICgZfbWF0Y2gicAobU3Vic2NyaWJlU2V0dGxlbWVudHNSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhYKCW1hcmtldF9pZBgCIAEoCUgAiAEBQgwKCl9tYXJrZXRfaWQi8QMKEFNldHRsZW1lbnRVcGRhdGUSRAoKZXZlbnRfdHlwZRgBIAEoDjIwLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnRVcGRhdGUuRXZlbnRUeXBlEjoKCHByb3Bvc2FsGAIgASgLMiguc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudFByb3Bvc2FsEi0KCXRpbWVzdGFtcBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiqwIKCUV2ZW50VHlwZRIaChZFVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASHwobRVZFTlRfVFlQRV9QUk9QT1NBTF9DUkVBVEVEEAESKAokRVZFTlRfVFlQRV9QUkVDT05GSVJNQVRJT05fUkVRVUVTVEVEEAISGwoXRVZFTlRfVFlQRV9QUkVDT05GSVJNRUQQAxIaChZFVkVOVF9UWVBFX0RWUF9DUkVBVEVEEAQSGwoXRVZFTlRfVFlQRV9EVlBfQUNDRVBURUQQBRIYChRFVkVOVF9UWVBFX0FMTE9DQVRFRBAGEhYKEkVWRU5UX1RZUEVfU0VUVExFRBAHEhUKEUVWRU5UX1RZUEVfRkFJTEVEEAgSGAoURVZFTlRfVFlQRV9DQU5DRUxMRUQQCSKhBAoSU3VibWl0T3JkZXJSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhEKCW1hcmtldF9pZBgCIAEoCRIzCgpvcmRlcl90eXBlGAMgASgOMh8uc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJUeXBlEg0KBXByaWNlGAQgASgJEhAKCHF1YW50aXR5GAUgASgJEjgKDXRpbWVfaW5fZm9yY2UYBiABKA4yIS5zaWx2YW5hLm9yZGVyYm9vay52MS5UaW1lSW5Gb3JjZRIzCgpleHBpcmVzX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEh0KEHRyYWRlcl9vcmRlcl9yZWYYCCABKAlIAYgBARIxCgtjcmVkZW50aWFscxgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIyCgxyZXF1aXJlbWVudHMYCiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESLgoIbWV0YWRhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQFCDQoLX2V4cGlyZXNfYXRCEwoRX3RyYWRlcl9vcmRlcl9yZWZCDgoMX2NyZWRlbnRpYWxzQg8KDV9yZXF1aXJlbWVudHNCCwoJX21ldGFkYXRhInIKE1N1Ym1pdE9yZGVyUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEi8KBW9yZGVyGAMgASgLMhsuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJIAIgBAUIICgZfb3JkZXIiUwoSQ2FuY2VsT3JkZXJSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhAKCG9yZGVyX2lkGAIgASgEInIKE0NhbmNlbE9yZGVyUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEi8KBW9yZGVyGAMgASgLMhsuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJIAIgBAUIICgZfb3JkZXIqUQoJT3JkZXJUeXBlEhoKFk9SREVSX1RZUEVfVU5TUEVDSUZJRUQQABISCg5PUkRFUl9UWVBFX0JJRBABEhQKEE9SREVSX1RZUEVfT0ZGRVIQAiqtAQoLT3JkZXJTdGF0dXMSHAoYT1JERVJfU1RBVFVTX1VOU1BFQ0lGSUVEEAASFwoTT1JERVJfU1RBVFVTX0FDVElWRRABEhgKFE9SREVSX1NUQVRVU19QQVJUSUFMEAISFwoTT1JERVJfU1RBVFVTX0ZJTExFRBADEhoKFk9SREVSX1NUQVRVU19DQU5DRUxMRUQQBBIYChRPUkRFUl9TVEFUVVNfRVhQSVJFRBAFKogBCgtUaW1lSW5Gb3JjZRIdChlUSU1FX0lOX0ZPUkNFX1VOU1BFQ0lGSUVEEAASFQoRVElNRV9JTl9GT1JDRV9HVEMQARIVChFUSU1FX0lOX0ZPUkNFX0lPQxACEhUKEVRJTUVfSU5fRk9SQ0VfRk9LEAMSFQoRVElNRV9JTl9GT1JDRV9HVEQQBCraAgoQU2V0dGxlbWVudFN0YXR1cxIhCh1TRVRUTEVNRU5UX1NUQVRVU19VTlNQRUNJRklFRBAAEh0KGVNFVFRMRU1FTlRfU1RBVFVTX0NSRUFURUQQARIiCh5TRVRUTEVNRU5UX1NUQVRVU19QUkVDT05GSVJNRUQQAhIpCiVTRVRUTEVNRU5UX1NUQVRVU19EVlBfUkVRVUVTVF9DUkVBVEVEEAMSKgomU0VUVExFTUVOVF9TVEFUVVNfRFZQX1JFUVVFU1RfQUNDRVBURUQQBBIrCidTRVRUTEVNRU5UX1NUQVRVU19JTlNUUlVNRU5UU19BTExPQ0FURUQQBRIdChlTRVRUTEVNRU5UX1NUQVRVU19TRVRUTEVEEAYSHwobU0VUVExFTUVOVF9TVEFUVVNfQ0FOQ0VMTEVEEAcSHAoYU0VUVExFTUVOVF9TVEFUVVNfRkFJTEVEEAgqdgoKTWFya2V0VHlwZRIbChdNQVJLRVRfVFlQRV9VTlNQRUNJRklFRBAAEhcKE01BUktFVF9UWVBFX0dFTkVSQUwQARIdChlNQVJLRVRfVFlQRV9JTlNUSVRVVElPTkFMEAISEwoPTUFSS0VUX1RZUEVfT1RDEAMylAsKEE9yZGVyYm9va1NlcnZpY2USXAoJR2V0T3JkZXJzEiYuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0T3JkZXJzUmVxdWVzdBonLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE9yZGVyc1Jlc3BvbnNlEnQKEUdldE9yZGVyYm9va0RlcHRoEi4uc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0T3JkZXJib29rRGVwdGhSZXF1ZXN0Gi8uc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0T3JkZXJib29rRGVwdGhSZXNwb25zZRKDAQoWR2V0U2V0dGxlbWVudFByb3Bvc2FscxIzLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFNldHRsZW1lbnRQcm9wb3NhbHNSZXF1ZXN0GjQuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0U2V0dGxlbWVudFByb3Bvc2Fsc1Jlc3BvbnNlEmsKDkdldEluc3RydW1lbnRzEisuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0SW5zdHJ1bWVudHNSZXF1ZXN0Giwuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0SW5zdHJ1bWVudHNSZXNwb25zZRJfCgpHZXRNYXJrZXRzEicuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0TWFya2V0c1JlcXVlc3QaKC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRNYXJrZXRzUmVzcG9uc2USbgoPR2V0T3JkZXJIaXN0b3J5Eiwuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0T3JkZXJIaXN0b3J5UmVxdWVzdBotLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE9yZGVySGlzdG9yeVJlc3BvbnNlEmgKDUdldE1hcmtldERhdGESKi5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRNYXJrZXREYXRhUmVxdWVzdBorLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE1hcmtldERhdGFSZXNwb25zZRJrCg5HZXRTZXR0bGVtZW50cxIrLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFNldHRsZW1lbnRzUmVxdWVzdBosLnNpbHZhbmEub3JkZXJib29rLnYxLkdldFNldHRsZW1lbnRzUmVzcG9uc2USYgoLU3VibWl0T3JkZXISKC5zaWx2YW5hLm9yZGVyYm9vay52MS5TdWJtaXRPcmRlclJlcXVlc3QaKS5zaWx2YW5hLm9yZGVyYm9vay52MS5TdWJtaXRPcmRlclJlc3BvbnNlEmIKC0NhbmNlbE9yZGVyEiguc2lsdmFuYS5vcmRlcmJvb2sudjEuQ2FuY2VsT3JkZXJSZXF1ZXN0Gikuc2lsdmFuYS5vcmRlcmJvb2sudjEuQ2FuY2VsT3JkZXJSZXNwb25zZRJuChJTdWJzY3JpYmVPcmRlcmJvb2sSLy5zaWx2YW5hLm9yZGVyYm9vay52MS5TdWJzY3JpYmVPcmRlcmJvb2tSZXF1ZXN0GiUuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rVXBkYXRlMAESZAoPU3Vic2NyaWJlT3JkZXJzEiwuc2lsdmFuYS5vcmRlcmJvb2sudjEuU3Vic2NyaWJlT3JkZXJzUmVxdWVzdBohLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyVXBkYXRlMAEScwoUU3Vic2NyaWJlU2V0dGxlbWVudHMSMS5zaWx2YW5hLm9yZGVyYm9vay52MS5TdWJzY3JpYmVTZXR0bGVtZW50c1JlcXVlc3QaJi5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50VXBkYXRlMAFCNFoyZ2l0aHViLmNvbS9TaWx2YW5hT25lL2NhbnRvbi1hZ2VudC9wcm90bztvcmRlcmJvb2tiBnByb3RvMw", [import_wkt.file_google_protobuf_timestamp, import_wkt.file_google_protobuf_empty, import_wkt.file_google_protobuf_struct]);
135
+ var file_proto_silvana_orderbook_v1_orderbook = /* @__PURE__ */ (0, import_codegenv2.fileDesc)("Cipwcm90by9zaWx2YW5hL29yZGVyYm9vay92MS9vcmRlcmJvb2sucHJvdG8SFHNpbHZhbmEub3JkZXJib29rLnYxIhgKB0pXVEF1dGgSDQoFdG9rZW4YASABKAki5QIKCkluc3RydW1lbnQSFQoNaW5zdHJ1bWVudF9pZBgBIAEoCRIXCg9pbnN0cnVtZW50X3R5cGUYAiABKAkSDAoEbmFtZRgDIAEoCRIOCgZzeW1ib2wYBCABKAkSGAoLZGVzY3JpcHRpb24YBSABKAlIAIgBARITCgZpc3N1ZXIYBiABKAlIAYgBARIVCghyZWdpc3RyeRgHIAEoCUgCiAEBEi4KCG1ldGFkYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9kZXNjcmlwdGlvbkIJCgdfaXNzdWVyQgsKCV9yZWdpc3RyeUILCglfbWV0YWRhdGEi3AUKBk1hcmtldBIRCgltYXJrZXRfaWQYASABKAkSNQoLbWFya2V0X3R5cGUYAiABKA4yIC5zaWx2YW5hLm9yZGVyYm9vay52MS5NYXJrZXRUeXBlEhcKD2Jhc2VfaW5zdHJ1bWVudBgDIAEoCRIYChBxdW90ZV9pbnN0cnVtZW50GAQgASgJEhMKC3BhaXJfc3ltYm9sGAUgASgJEhEKCWlzX2FjdGl2ZRgGIAEoCBIWCg5taW5fb3JkZXJfc2l6ZRgHIAEoCRIbCg5tYXhfb3JkZXJfc2l6ZRgIIAEoCUgAiAEBEhEKCXRpY2tfc2l6ZRgJIAEoCRIRCgltYWtlcl9mZWUYCiABKAkSEQoJdGFrZXJfZmVlGAsgASgJEi4KCG1ldGFkYXRhGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgBiAEBEi4KCmNyZWF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjEKC3ByaWNlX2ZlZWRzGA8gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEhoKDWN1cnJlbnRfcHJpY2UYECABKAFIA4gBARIXCgpjaGFuZ2VfMjRoGBEgASgBSASIAQESFwoKdm9sdW1lXzI0aBgSIAEoAUgFiAEBEjkKEHByaWNlX3VwZGF0ZWRfYXQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAaIAQFCEQoPX21heF9vcmRlcl9zaXplQgsKCV9tZXRhZGF0YUIOCgxfcHJpY2VfZmVlZHNCEAoOX2N1cnJlbnRfcHJpY2VCDQoLX2NoYW5nZV8yNGhCDQoLX3ZvbHVtZV8yNGhCEwoRX3ByaWNlX3VwZGF0ZWRfYXQi9wYKBU9yZGVyEhAKCG9yZGVyX2lkGAEgASgEEhEKCW1hcmtldF9pZBgCIAEoCRIzCgpvcmRlcl90eXBlGAMgASgOMh8uc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJUeXBlEg4KBnRyYWRlchgEIAEoCRIdChB0cmFkZXJfb3JkZXJfcmVmGAUgASgJSACIAQESFwoPYmFzZV9pbnN0cnVtZW50GAYgASgJEhgKEHF1b3RlX2luc3RydW1lbnQYByABKAkSDQoFcHJpY2UYCCABKAkSEAoIcXVhbnRpdHkYCSABKAkSFwoPZmlsbGVkX3F1YW50aXR5GAogASgJEhgKEHBlbmRpbmdfcXVhbnRpdHkYCyABKAkSGgoScmVtYWluaW5nX3F1YW50aXR5GAwgASgJEjEKBnN0YXR1cxgNIAEoDjIhLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyU3RhdHVzEjgKDXRpbWVfaW5fZm9yY2UYDiABKA4yIS5zaWx2YW5hLm9yZGVyYm9vay52MS5UaW1lSW5Gb3JjZRIzCgpleHBpcmVzX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEg8KB3ZlcnNpb24YECABKAQSMQoLY3JlZGVudGlhbHMYESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESMgoMcmVxdWlyZW1lbnRzGBIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEi4KCG1ldGFkYXRhGBMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBEi4KCmNyZWF0ZWRfYXQYFCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYFSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDGNhbmNlbGxlZF9hdBgWIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBAUITChFfdHJhZGVyX29yZGVyX3JlZkINCgtfZXhwaXJlc19hdEIOCgxfY3JlZGVudGlhbHNCDwoNX3JlcXVpcmVtZW50c0ILCglfbWV0YWRhdGFCDwoNX2NhbmNlbGxlZF9hdCKCAQoOT3JkZXJib29rTGV2ZWwSDQoFcHJpY2UYASABKAkSFgoOdG90YWxfcXVhbnRpdHkYAiABKAkSEwoLb3JkZXJfY291bnQYAyABKA0SNAoQZmlyc3Rfb3JkZXJfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi1QEKDk9yZGVyYm9va0RlcHRoEhEKCW1hcmtldF9pZBgBIAEoCRITCgtwYWlyX3N5bWJvbBgCIAEoCRIyCgRiaWRzGAMgAygLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rTGV2ZWwSNAoGb2ZmZXJzGAQgAygLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rTGV2ZWwSMQoNc25hcHNob3RfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAipREKElNldHRsZW1lbnRQcm9wb3NhbBITCgtwcm9wb3NhbF9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKAkSDQoFYnV5ZXIYAyABKAkSDgoGc2VsbGVyGAQgASgJEhUKDWJhc2VfcXVhbnRpdHkYBSABKAkSFgoOcXVvdGVfcXVhbnRpdHkYBiABKAkSGAoQc2V0dGxlbWVudF9wcmljZRgHIAEoCRI2CgZzdGF0dXMYCCABKA4yJi5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50U3RhdHVzEg8KB3ZlcnNpb24YCSABKAQSPQoXcHJlY29uZmlybWF0aW9uX3JlcXVlc3QYCiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESSAofcHJlY29uZmlybWF0aW9uX3JlcXVlc3Rfc2VudF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARI7ChVidXllcl9wcmVjb25maXJtYXRpb24YDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQESSgohYnV5ZXJfcHJlY29uZmlybWF0aW9uX3JlY2VpdmVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBEjwKFnNlbGxlcl9wcmVjb25maXJtYXRpb24YDiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQESSwoic2VsbGVyX3ByZWNvbmZpcm1hdGlvbl9yZWNlaXZlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARIdChBkdnBfcHJvcG9zYWxfY2lkGBAgASgJSAaIAQESIwoWZHZwX3Byb3Bvc2FsX3VwZGF0ZV9pZBgRIAEoCUgHiAEBEhQKB2R2cF9jaWQYEiABKAlICIgBARIaCg1kdnBfdXBkYXRlX2lkGBMgASgJSAmIAQESHgoRZHZwX3NldHRsZW1lbnRfaWQYFCABKAlICogBARIhChRhbGxvY2F0aW9uX2J1eWVyX2NpZBgVIAEoCUgLiAEBEicKGmFsbG9jYXRpb25fYnV5ZXJfdXBkYXRlX2lkGBYgASgJSAyIAQESIgoVYWxsb2NhdGlvbl9zZWxsZXJfY2lkGBcgASgJSA2IAQESKAobYWxsb2NhdGlvbl9zZWxsZXJfdXBkYXRlX2lkGBggASgJSA6IAQESHAoPc2V0dGxlZF9kdnBfY2lkGBkgASgJSA+IAQESIQoUc2V0dGxlbWVudF91cGRhdGVfaWQYGiABKAlIEIgBARIpChxzZXR0bGVtZW50X2NvbXBsZXRpb25fb2Zmc2V0GBsgASgJSBGIAQESLgoKY3JlYXRlZF9hdBgcIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOAoPcHJlY29uZmlybWVkX2F0GB0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgSiAEBEjcKDmR2cF9jcmVhdGVkX2F0GB4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgTiAEBEjgKD2R2cF9hY2NlcHRlZF9hdBgfIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIFIgBARI1CgxhbGxvY2F0ZWRfYXQYICABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSBWIAQESMwoKc2V0dGxlZF9hdBghIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIFogBARI1CgxjYW5jZWxsZWRfYXQYIiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSBeIAQESMgoJZmFpbGVkX2F0GCMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgYiAEBEhoKDWVycm9yX21lc3NhZ2UYJCABKAlIGYgBARIuCghtZXRhZGF0YRglIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIGogBAUIaChhfcHJlY29uZmlybWF0aW9uX3JlcXVlc3RCIgogX3ByZWNvbmZpcm1hdGlvbl9yZXF1ZXN0X3NlbnRfYXRCGAoWX2J1eWVyX3ByZWNvbmZpcm1hdGlvbkIkCiJfYnV5ZXJfcHJlY29uZmlybWF0aW9uX3JlY2VpdmVkX2F0QhkKF19zZWxsZXJfcHJlY29uZmlybWF0aW9uQiUKI19zZWxsZXJfcHJlY29uZmlybWF0aW9uX3JlY2VpdmVkX2F0QhMKEV9kdnBfcHJvcG9zYWxfY2lkQhkKF19kdnBfcHJvcG9zYWxfdXBkYXRlX2lkQgoKCF9kdnBfY2lkQhAKDl9kdnBfdXBkYXRlX2lkQhQKEl9kdnBfc2V0dGxlbWVudF9pZEIXChVfYWxsb2NhdGlvbl9idXllcl9jaWRCHQobX2FsbG9jYXRpb25fYnV5ZXJfdXBkYXRlX2lkQhgKFl9hbGxvY2F0aW9uX3NlbGxlcl9jaWRCHgocX2FsbG9jYXRpb25fc2VsbGVyX3VwZGF0ZV9pZEISChBfc2V0dGxlZF9kdnBfY2lkQhcKFV9zZXR0bGVtZW50X3VwZGF0ZV9pZEIfCh1fc2V0dGxlbWVudF9jb21wbGV0aW9uX29mZnNldEISChBfcHJlY29uZmlybWVkX2F0QhEKD19kdnBfY3JlYXRlZF9hdEISChBfZHZwX2FjY2VwdGVkX2F0Qg8KDV9hbGxvY2F0ZWRfYXRCDQoLX3NldHRsZWRfYXRCDwoNX2NhbmNlbGxlZF9hdEIMCgpfZmFpbGVkX2F0QhAKDl9lcnJvcl9tZXNzYWdlQgsKCV9tZXRhZGF0YSLNAQoKT3JkZXJNYXRjaBIQCghtYXRjaF9pZBgBIAEoBBIeChZzZXR0bGVtZW50X3Byb3Bvc2FsX2lkGAIgASgEEhQKDGJpZF9vcmRlcl9pZBgDIAEoBBIWCg5vZmZlcl9vcmRlcl9pZBgEIAEoBBIYChBtYXRjaGVkX3F1YW50aXR5GAUgASgJEhUKDW1hdGNoZWRfcHJpY2UYBiABKAkSLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAihwMKClNldHRsZW1lbnQSFQoNc2V0dGxlbWVudF9pZBgBIAEoBBITCgtwcm9wb3NhbF9pZBgCIAEoBBIRCgltYXJrZXRfaWQYAyABKAkSDQoFYnV5ZXIYBCABKAkSDgoGc2VsbGVyGAUgASgJEhUKDWJhc2VfcXVhbnRpdHkYBiABKAkSFgoOcXVvdGVfcXVhbnRpdHkYByABKAkSGAoQc2V0dGxlbWVudF9wcmljZRgIIAEoCRIXCg9zZXR0bGVkX2R2cF9jaWQYCSABKAkSHAoUc2V0dGxlbWVudF91cGRhdGVfaWQYCiABKAkSLgoKc2V0dGxlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKY3JlYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoIbWV0YWRhdGEYDSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQFCCwoJX21ldGFkYXRhIpUCCgpNYXJrZXREYXRhEhEKCW1hcmtldF9pZBgBIAEoCRITCgtwYWlyX3N5bWJvbBgCIAEoCRIVCghiZXN0X2JpZBgDIAEoCUgAiAEBEhcKCmJlc3Rfb2ZmZXIYBCABKAlIAYgBARIXCgpsYXN0X3ByaWNlGAUgASgJSAKIAQESEgoKdm9sdW1lXzI0aBgGIAEoCRISCgp0cmFkZXNfMjRoGAcgASgNEhMKC29wZW5fb3JkZXJzGAggASgNEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgsKCV9iZXN0X2JpZEINCgtfYmVzdF9vZmZlckINCgtfbGFzdF9wcmljZSKvAgoQR2V0T3JkZXJzUmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIWCgltYXJrZXRfaWQYAiABKAlIAIgBARI2CgZzdGF0dXMYAyABKA4yIS5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclN0YXR1c0gBiAEBEjgKCm9yZGVyX3R5cGUYBCABKA4yHy5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclR5cGVIAogBARISCgVsaW1pdBgFIAEoDUgDiAEBEhMKBm9mZnNldBgGIAEoDUgEiAEBQgwKCl9tYXJrZXRfaWRCCQoHX3N0YXR1c0INCgtfb3JkZXJfdHlwZUIICgZfbGltaXRCCQoHX29mZnNldCJxChFHZXRPcmRlcnNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKwoGb3JkZXJzGAMgAygLMhsuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXISDQoFdG90YWwYBCABKA0ieAoYR2V0T3JkZXJib29rRGVwdGhSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhEKCW1hcmtldF9pZBgCIAEoCRISCgVkZXB0aBgDIAEoDUgAiAEBQggKBl9kZXB0aCJ2ChlHZXRPcmRlcmJvb2tEZXB0aFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI3CglvcmRlcmJvb2sYAyABKAsyJC5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlcmJvb2tEZXB0aCL4AQodR2V0U2V0dGxlbWVudFByb3Bvc2Fsc1JlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSFgoJbWFya2V0X2lkGAIgASgJSACIAQESOwoGc3RhdHVzGAMgASgOMiYuc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudFN0YXR1c0gBiAEBEhIKBWxpbWl0GAQgASgNSAKIAQESEwoGb2Zmc2V0GAUgASgNSAOIAQFCDAoKX21hcmtldF9pZEIJCgdfc3RhdHVzQggKBl9saW1pdEIJCgdfb2Zmc2V0Io4BCh5HZXRTZXR0bGVtZW50UHJvcG9zYWxzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEjsKCXByb3Bvc2FscxgDIAMoCzIoLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnRQcm9wb3NhbBINCgV0b3RhbBgEIAEoDSK0AQoVR2V0SW5zdHJ1bWVudHNSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhwKD2luc3RydW1lbnRfdHlwZRgCIAEoCUgAiAEBEhIKBWxpbWl0GAMgASgNSAGIAQESEwoGb2Zmc2V0GAQgASgNSAKIAQFCEgoQX2luc3RydW1lbnRfdHlwZUIICgZfbGltaXRCCQoHX29mZnNldCKAAQoWR2V0SW5zdHJ1bWVudHNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSNQoLaW5zdHJ1bWVudHMYAyADKAsyIC5zaWx2YW5hLm9yZGVyYm9vay52MS5JbnN0cnVtZW50Eg0KBXRvdGFsGAQgASgNItoCChFHZXRNYXJrZXRzUmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBI6CgttYXJrZXRfdHlwZRgCIAEoDjIgLnNpbHZhbmEub3JkZXJib29rLnYxLk1hcmtldFR5cGVIAIgBARIcCg9iYXNlX2luc3RydW1lbnQYAyABKAlIAYgBARIdChBxdW90ZV9pbnN0cnVtZW50GAQgASgJSAKIAQESGAoLYWN0aXZlX29ubHkYBSABKAhIA4gBARISCgVsaW1pdBgGIAEoDUgEiAEBEhMKBm9mZnNldBgHIAEoDUgFiAEBQg4KDF9tYXJrZXRfdHlwZUISChBfYmFzZV9pbnN0cnVtZW50QhMKEV9xdW90ZV9pbnN0cnVtZW50Qg4KDF9hY3RpdmVfb25seUIICgZfbGltaXRCCQoHX29mZnNldCJ0ChJHZXRNYXJrZXRzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEi0KB21hcmtldHMYAyADKAsyHC5zaWx2YW5hLm9yZGVyYm9vay52MS5NYXJrZXQSDQoFdG90YWwYBCABKA0iqQIKFkdldE9yZGVySGlzdG9yeVJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSFgoJbWFya2V0X2lkGAIgASgJSACIAQESMgoJZnJvbV90aW1lGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEjAKB3RvX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESEgoFbGltaXQYBSABKA1IA4gBARITCgZvZmZzZXQYBiABKA1IBIgBAUIMCgpfbWFya2V0X2lkQgwKCl9mcm9tX3RpbWVCCgoIX3RvX3RpbWVCCAoGX2xpbWl0QgkKB19vZmZzZXQidwoXR2V0T3JkZXJIaXN0b3J5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEisKBm9yZGVycxgDIAMoCzIbLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyEg0KBXRvdGFsGAQgASgNIlcKFEdldE1hcmtldERhdGFSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhIKCm1hcmtldF9pZHMYAiADKAkicAoVR2V0TWFya2V0RGF0YVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI1CgttYXJrZXRfZGF0YRgDIAMoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLk1hcmtldERhdGEiqAIKFUdldFNldHRsZW1lbnRzUmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIWCgltYXJrZXRfaWQYAiABKAlIAIgBARIyCglmcm9tX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESMAoHdG9fdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARISCgVsaW1pdBgFIAEoDUgDiAEBEhMKBm9mZnNldBgGIAEoDUgEiAEBQgwKCl9tYXJrZXRfaWRCDAoKX2Zyb21fdGltZUIKCghfdG9fdGltZUIICgZfbGltaXRCCQoHX29mZnNldCKAAQoWR2V0U2V0dGxlbWVudHNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSNQoLc2V0dGxlbWVudHMYAyADKAsyIC5zaWx2YW5hLm9yZGVyYm9vay52MS5TZXR0bGVtZW50Eg0KBXRvdGFsGAQgASgNInkKGVN1YnNjcmliZU9yZGVyYm9va1JlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSEQoJbWFya2V0X2lkGAIgASgJEhIKBWRlcHRoGAMgASgNSACIAQFCCAoGX2RlcHRoIocDCg9PcmRlcmJvb2tVcGRhdGUSEQoJbWFya2V0X2lkGAEgASgJEkUKC3VwZGF0ZV90eXBlGAIgASgOMjAuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rVXBkYXRlLlVwZGF0ZVR5cGUSOQoLYmlkX3VwZGF0ZXMYAyADKAsyJC5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlcmJvb2tMZXZlbBI7Cg1vZmZlcl91cGRhdGVzGAQgAygLMiQuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJib29rTGV2ZWwSLQoJdGltZXN0YW1wGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9zZXF1ZW5jZV9udW1iZXIYBiABKAQiWgoKVXBkYXRlVHlwZRIbChdVUERBVEVfVFlQRV9VTlNQRUNJRklFRBAAEhgKFFVQREFURV9UWVBFX1NOQVBTSE9UEAESFQoRVVBEQVRFX1RZUEVfREVMVEEQAiJrChZTdWJzY3JpYmVPcmRlcnNSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhYKCW1hcmtldF9pZBgCIAEoCUgAiAEBQgwKCl9tYXJrZXRfaWQirQMKC09yZGVyVXBkYXRlEj8KCmV2ZW50X3R5cGUYASABKA4yKy5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclVwZGF0ZS5FdmVudFR5cGUSKgoFb3JkZXIYAiABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlchI0CgVtYXRjaBgDIAEoCzIgLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyTWF0Y2hIAIgBARItCgl0aW1lc3RhbXAYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIsEBCglFdmVudFR5cGUSGgoWRVZFTlRfVFlQRV9VTlNQRUNJRklFRBAAEhYKEkVWRU5UX1RZUEVfQ1JFQVRFRBABEhYKEkVWRU5UX1RZUEVfVVBEQVRFRBACEhUKEUVWRU5UX1RZUEVfRklMTEVEEAMSHwobRVZFTlRfVFlQRV9QQVJUSUFMTFlfRklMTEVEEAQSGAoURVZFTlRfVFlQRV9DQU5DRUxMRUQQBRIWChJFVkVOVF9UWVBFX0VYUElSRUQQBkIICgZfbWF0Y2gicAobU3Vic2NyaWJlU2V0dGxlbWVudHNSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhYKCW1hcmtldF9pZBgCIAEoCUgAiAEBQgwKCl9tYXJrZXRfaWQi8QMKEFNldHRsZW1lbnRVcGRhdGUSRAoKZXZlbnRfdHlwZRgBIAEoDjIwLnNpbHZhbmEub3JkZXJib29rLnYxLlNldHRsZW1lbnRVcGRhdGUuRXZlbnRUeXBlEjoKCHByb3Bvc2FsGAIgASgLMiguc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudFByb3Bvc2FsEi0KCXRpbWVzdGFtcBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiqwIKCUV2ZW50VHlwZRIaChZFVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASHwobRVZFTlRfVFlQRV9QUk9QT1NBTF9DUkVBVEVEEAESKAokRVZFTlRfVFlQRV9QUkVDT05GSVJNQVRJT05fUkVRVUVTVEVEEAISGwoXRVZFTlRfVFlQRV9QUkVDT05GSVJNRUQQAxIaChZFVkVOVF9UWVBFX0RWUF9DUkVBVEVEEAQSGwoXRVZFTlRfVFlQRV9EVlBfQUNDRVBURUQQBRIYChRFVkVOVF9UWVBFX0FMTE9DQVRFRBAGEhYKEkVWRU5UX1RZUEVfU0VUVExFRBAHEhUKEUVWRU5UX1RZUEVfRkFJTEVEEAgSGAoURVZFTlRfVFlQRV9DQU5DRUxMRUQQCSKhBAoSU3VibWl0T3JkZXJSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhEKCW1hcmtldF9pZBgCIAEoCRIzCgpvcmRlcl90eXBlGAMgASgOMh8uc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJUeXBlEg0KBXByaWNlGAQgASgJEhAKCHF1YW50aXR5GAUgASgJEjgKDXRpbWVfaW5fZm9yY2UYBiABKA4yIS5zaWx2YW5hLm9yZGVyYm9vay52MS5UaW1lSW5Gb3JjZRIzCgpleHBpcmVzX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEh0KEHRyYWRlcl9vcmRlcl9yZWYYCCABKAlIAYgBARIxCgtjcmVkZW50aWFscxgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBARIyCgxyZXF1aXJlbWVudHMYCiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAOIAQESLgoIbWV0YWRhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQFCDQoLX2V4cGlyZXNfYXRCEwoRX3RyYWRlcl9vcmRlcl9yZWZCDgoMX2NyZWRlbnRpYWxzQg8KDV9yZXF1aXJlbWVudHNCCwoJX21ldGFkYXRhInIKE1N1Ym1pdE9yZGVyUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEi8KBW9yZGVyGAMgASgLMhsuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJIAIgBAUIICgZfb3JkZXIiUwoSQ2FuY2VsT3JkZXJSZXF1ZXN0EisKBGF1dGgYASABKAsyHS5zaWx2YW5hLm9yZGVyYm9vay52MS5KV1RBdXRoEhAKCG9yZGVyX2lkGAIgASgEInIKE0NhbmNlbE9yZGVyUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEi8KBW9yZGVyGAMgASgLMhsuc2lsdmFuYS5vcmRlcmJvb2sudjEuT3JkZXJIAIgBAUIICgZfb3JkZXIipgIKEkNyZWF0ZVBhcnR5UmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIQCghwYXJ0eV9pZBgCIAEoCRISCgpwYXJ0eV9uYW1lGAMgASgJEhIKCnBhcnR5X3R5cGUYBCABKAkSHQoQdXNlcl9zZXJ2aWNlX2NpZBgFIAEoCUgAiAEBEiAKE29wZXJhdG9yX2NvbmZpZ19jaWQYBiABKAlIAYgBARIuCghtZXRhZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBAUITChFfdXNlcl9zZXJ2aWNlX2NpZEIWChRfb3BlcmF0b3JfY29uZmlnX2NpZEILCglfbWV0YWRhdGEiYwoTQ3JlYXRlUGFydHlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSKgoFcGFydHkYAyABKAsyGy5zaWx2YW5hLm9yZGVyYm9vay52MS5QYXJ0eSLfAgoFUGFydHkSEAoIcGFydHlfaWQYASABKAkSEgoKcGFydHlfbmFtZRgCIAEoCRISCgpwYXJ0eV90eXBlGAMgASgJEh0KEHVzZXJfc2VydmljZV9jaWQYBCABKAlIAIgBARIgChNvcGVyYXRvcl9jb25maWdfY2lkGAUgASgJSAGIAQESEQoJaXNfYWN0aXZlGAYgASgIEi4KCG1ldGFkYXRhGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgCiAEBEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhMKEV91c2VyX3NlcnZpY2VfY2lkQhYKFF9vcGVyYXRvcl9jb25maWdfY2lkQgsKCV9tZXRhZGF0YSK/AgoXQ3JlYXRlSW5zdHJ1bWVudFJlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSFQoNaW5zdHJ1bWVudF9pZBgCIAEoCRIXCg9pbnN0cnVtZW50X3R5cGUYAyABKAkSDAoEbmFtZRgEIAEoCRIOCgZzeW1ib2wYBSABKAkSGAoLZGVzY3JpcHRpb24YBiABKAlIAIgBARITCgZpc3N1ZXIYByABKAlIAYgBARIVCghyZWdpc3RyeRgIIAEoCUgCiAEBEi4KCG1ldGFkYXRhGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBQg4KDF9kZXNjcmlwdGlvbkIJCgdfaXNzdWVyQgsKCV9yZWdpc3RyeUILCglfbWV0YWRhdGEicgoYQ3JlYXRlSW5zdHJ1bWVudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCRI0CgppbnN0cnVtZW50GAMgASgLMiAuc2lsdmFuYS5vcmRlcmJvb2sudjEuSW5zdHJ1bWVudCLzAwoTQ3JlYXRlTWFya2V0UmVxdWVzdBIrCgRhdXRoGAEgASgLMh0uc2lsdmFuYS5vcmRlcmJvb2sudjEuSldUQXV0aBIRCgltYXJrZXRfaWQYAiABKAkSNQoLbWFya2V0X3R5cGUYAyABKA4yIC5zaWx2YW5hLm9yZGVyYm9vay52MS5NYXJrZXRUeXBlEhwKD2Jhc2VfaW5zdHJ1bWVudBgEIAEoCUgAiAEBEh0KEHF1b3RlX2luc3RydW1lbnQYBSABKAlIAYgBARIWCg5taW5fb3JkZXJfc2l6ZRgGIAEoCRIbCg5tYXhfb3JkZXJfc2l6ZRgHIAEoCUgCiAEBEhEKCXRpY2tfc2l6ZRgIIAEoCRIRCgltYWtlcl9mZWUYCSABKAkSEQoJdGFrZXJfZmVlGAogASgJEi4KCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgDiAEBEjEKC3ByaWNlX2ZlZWRzGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgEiAEBQhIKEF9iYXNlX2luc3RydW1lbnRCEwoRX3F1b3RlX2luc3RydW1lbnRCEQoPX21heF9vcmRlcl9zaXplQgsKCV9tZXRhZGF0YUIOCgxfcHJpY2VfZmVlZHMiZgoUQ3JlYXRlTWFya2V0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEiwKBm1hcmtldBgDIAEoCzIcLnNpbHZhbmEub3JkZXJib29rLnYxLk1hcmtldCKNAQodVXBkYXRlTWFya2V0UHJpY2VGZWVkc1JlcXVlc3QSKwoEYXV0aBgBIAEoCzIdLnNpbHZhbmEub3JkZXJib29rLnYxLkpXVEF1dGgSEQoJbWFya2V0X2lkGAIgASgJEiwKC3ByaWNlX2ZlZWRzGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJwCh5VcGRhdGVNYXJrZXRQcmljZUZlZWRzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEiwKBm1hcmtldBgDIAEoCzIcLnNpbHZhbmEub3JkZXJib29rLnYxLk1hcmtldCpRCglPcmRlclR5cGUSGgoWT1JERVJfVFlQRV9VTlNQRUNJRklFRBAAEhIKDk9SREVSX1RZUEVfQklEEAESFAoQT1JERVJfVFlQRV9PRkZFUhACKq0BCgtPcmRlclN0YXR1cxIcChhPUkRFUl9TVEFUVVNfVU5TUEVDSUZJRUQQABIXChNPUkRFUl9TVEFUVVNfQUNUSVZFEAESGAoUT1JERVJfU1RBVFVTX1BBUlRJQUwQAhIXChNPUkRFUl9TVEFUVVNfRklMTEVEEAMSGgoWT1JERVJfU1RBVFVTX0NBTkNFTExFRBAEEhgKFE9SREVSX1NUQVRVU19FWFBJUkVEEAUqiAEKC1RpbWVJbkZvcmNlEh0KGVRJTUVfSU5fRk9SQ0VfVU5TUEVDSUZJRUQQABIVChFUSU1FX0lOX0ZPUkNFX0dUQxABEhUKEVRJTUVfSU5fRk9SQ0VfSU9DEAISFQoRVElNRV9JTl9GT1JDRV9GT0sQAxIVChFUSU1FX0lOX0ZPUkNFX0dURBAEKtoCChBTZXR0bGVtZW50U3RhdHVzEiEKHVNFVFRMRU1FTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASHQoZU0VUVExFTUVOVF9TVEFUVVNfQ1JFQVRFRBABEiIKHlNFVFRMRU1FTlRfU1RBVFVTX1BSRUNPTkZJUk1FRBACEikKJVNFVFRMRU1FTlRfU1RBVFVTX0RWUF9SRVFVRVNUX0NSRUFURUQQAxIqCiZTRVRUTEVNRU5UX1NUQVRVU19EVlBfUkVRVUVTVF9BQ0NFUFRFRBAEEisKJ1NFVFRMRU1FTlRfU1RBVFVTX0lOU1RSVU1FTlRTX0FMTE9DQVRFRBAFEh0KGVNFVFRMRU1FTlRfU1RBVFVTX1NFVFRMRUQQBhIfChtTRVRUTEVNRU5UX1NUQVRVU19DQU5DRUxMRUQQBxIcChhTRVRUTEVNRU5UX1NUQVRVU19GQUlMRUQQCCp2CgpNYXJrZXRUeXBlEhsKF01BUktFVF9UWVBFX1VOU1BFQ0lGSUVEEAASFwoTTUFSS0VUX1RZUEVfR0VORVJBTBABEh0KGU1BUktFVF9UWVBFX0lOU1RJVFVUSU9OQUwQAhITCg9NQVJLRVRfVFlQRV9PVEMQAzLYDgoQT3JkZXJib29rU2VydmljZRJcCglHZXRPcmRlcnMSJi5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlcnNSZXF1ZXN0Gicuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0T3JkZXJzUmVzcG9uc2USdAoRR2V0T3JkZXJib29rRGVwdGgSLi5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlcmJvb2tEZXB0aFJlcXVlc3QaLy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlcmJvb2tEZXB0aFJlc3BvbnNlEoMBChZHZXRTZXR0bGVtZW50UHJvcG9zYWxzEjMuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0U2V0dGxlbWVudFByb3Bvc2Fsc1JlcXVlc3QaNC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRTZXR0bGVtZW50UHJvcG9zYWxzUmVzcG9uc2USawoOR2V0SW5zdHJ1bWVudHMSKy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRJbnN0cnVtZW50c1JlcXVlc3QaLC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRJbnN0cnVtZW50c1Jlc3BvbnNlEl8KCkdldE1hcmtldHMSJy5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRNYXJrZXRzUmVxdWVzdBooLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE1hcmtldHNSZXNwb25zZRJuCg9HZXRPcmRlckhpc3RvcnkSLC5zaWx2YW5hLm9yZGVyYm9vay52MS5HZXRPcmRlckhpc3RvcnlSZXF1ZXN0Gi0uc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0T3JkZXJIaXN0b3J5UmVzcG9uc2USaAoNR2V0TWFya2V0RGF0YRIqLnNpbHZhbmEub3JkZXJib29rLnYxLkdldE1hcmtldERhdGFSZXF1ZXN0Gisuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0TWFya2V0RGF0YVJlc3BvbnNlEmsKDkdldFNldHRsZW1lbnRzEisuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0U2V0dGxlbWVudHNSZXF1ZXN0Giwuc2lsdmFuYS5vcmRlcmJvb2sudjEuR2V0U2V0dGxlbWVudHNSZXNwb25zZRJiCgtTdWJtaXRPcmRlchIoLnNpbHZhbmEub3JkZXJib29rLnYxLlN1Ym1pdE9yZGVyUmVxdWVzdBopLnNpbHZhbmEub3JkZXJib29rLnYxLlN1Ym1pdE9yZGVyUmVzcG9uc2USYgoLQ2FuY2VsT3JkZXISKC5zaWx2YW5hLm9yZGVyYm9vay52MS5DYW5jZWxPcmRlclJlcXVlc3QaKS5zaWx2YW5hLm9yZGVyYm9vay52MS5DYW5jZWxPcmRlclJlc3BvbnNlEmIKC0NyZWF0ZVBhcnR5Eiguc2lsdmFuYS5vcmRlcmJvb2sudjEuQ3JlYXRlUGFydHlSZXF1ZXN0Gikuc2lsdmFuYS5vcmRlcmJvb2sudjEuQ3JlYXRlUGFydHlSZXNwb25zZRJxChBDcmVhdGVJbnN0cnVtZW50Ei0uc2lsdmFuYS5vcmRlcmJvb2sudjEuQ3JlYXRlSW5zdHJ1bWVudFJlcXVlc3QaLi5zaWx2YW5hLm9yZGVyYm9vay52MS5DcmVhdGVJbnN0cnVtZW50UmVzcG9uc2USZQoMQ3JlYXRlTWFya2V0Eikuc2lsdmFuYS5vcmRlcmJvb2sudjEuQ3JlYXRlTWFya2V0UmVxdWVzdBoqLnNpbHZhbmEub3JkZXJib29rLnYxLkNyZWF0ZU1hcmtldFJlc3BvbnNlEoMBChZVcGRhdGVNYXJrZXRQcmljZUZlZWRzEjMuc2lsdmFuYS5vcmRlcmJvb2sudjEuVXBkYXRlTWFya2V0UHJpY2VGZWVkc1JlcXVlc3QaNC5zaWx2YW5hLm9yZGVyYm9vay52MS5VcGRhdGVNYXJrZXRQcmljZUZlZWRzUmVzcG9uc2USbgoSU3Vic2NyaWJlT3JkZXJib29rEi8uc2lsdmFuYS5vcmRlcmJvb2sudjEuU3Vic2NyaWJlT3JkZXJib29rUmVxdWVzdBolLnNpbHZhbmEub3JkZXJib29rLnYxLk9yZGVyYm9va1VwZGF0ZTABEmQKD1N1YnNjcmliZU9yZGVycxIsLnNpbHZhbmEub3JkZXJib29rLnYxLlN1YnNjcmliZU9yZGVyc1JlcXVlc3QaIS5zaWx2YW5hLm9yZGVyYm9vay52MS5PcmRlclVwZGF0ZTABEnMKFFN1YnNjcmliZVNldHRsZW1lbnRzEjEuc2lsdmFuYS5vcmRlcmJvb2sudjEuU3Vic2NyaWJlU2V0dGxlbWVudHNSZXF1ZXN0GiYuc2lsdmFuYS5vcmRlcmJvb2sudjEuU2V0dGxlbWVudFVwZGF0ZTABQjRaMmdpdGh1Yi5jb20vU2lsdmFuYU9uZS9jYW50b24tYWdlbnQvcHJvdG87b3JkZXJib29rYgZwcm90bzM", [import_wkt.file_google_protobuf_timestamp, import_wkt.file_google_protobuf_empty, import_wkt.file_google_protobuf_struct]);
92
136
  var JWTAuthSchema = /* @__PURE__ */ (0, import_codegenv2.messageDesc)(file_proto_silvana_orderbook_v1_orderbook, 0);
93
137
  var InstrumentSchema = /* @__PURE__ */ (0, import_codegenv2.messageDesc)(file_proto_silvana_orderbook_v1_orderbook, 1);
94
138
  var MarketSchema = /* @__PURE__ */ (0, import_codegenv2.messageDesc)(file_proto_silvana_orderbook_v1_orderbook, 2);
@@ -157,6 +201,15 @@ var SubmitOrderRequestSchema = /* @__PURE__ */ (0, import_codegenv2.messageDesc)
157
201
  var SubmitOrderResponseSchema = /* @__PURE__ */ (0, import_codegenv2.messageDesc)(file_proto_silvana_orderbook_v1_orderbook, 33);
158
202
  var CancelOrderRequestSchema = /* @__PURE__ */ (0, import_codegenv2.messageDesc)(file_proto_silvana_orderbook_v1_orderbook, 34);
159
203
  var CancelOrderResponseSchema = /* @__PURE__ */ (0, import_codegenv2.messageDesc)(file_proto_silvana_orderbook_v1_orderbook, 35);
204
+ var CreatePartyRequestSchema = /* @__PURE__ */ (0, import_codegenv2.messageDesc)(file_proto_silvana_orderbook_v1_orderbook, 36);
205
+ var CreatePartyResponseSchema = /* @__PURE__ */ (0, import_codegenv2.messageDesc)(file_proto_silvana_orderbook_v1_orderbook, 37);
206
+ var PartySchema = /* @__PURE__ */ (0, import_codegenv2.messageDesc)(file_proto_silvana_orderbook_v1_orderbook, 38);
207
+ var CreateInstrumentRequestSchema = /* @__PURE__ */ (0, import_codegenv2.messageDesc)(file_proto_silvana_orderbook_v1_orderbook, 39);
208
+ var CreateInstrumentResponseSchema = /* @__PURE__ */ (0, import_codegenv2.messageDesc)(file_proto_silvana_orderbook_v1_orderbook, 40);
209
+ var CreateMarketRequestSchema = /* @__PURE__ */ (0, import_codegenv2.messageDesc)(file_proto_silvana_orderbook_v1_orderbook, 41);
210
+ var CreateMarketResponseSchema = /* @__PURE__ */ (0, import_codegenv2.messageDesc)(file_proto_silvana_orderbook_v1_orderbook, 42);
211
+ var UpdateMarketPriceFeedsRequestSchema = /* @__PURE__ */ (0, import_codegenv2.messageDesc)(file_proto_silvana_orderbook_v1_orderbook, 43);
212
+ var UpdateMarketPriceFeedsResponseSchema = /* @__PURE__ */ (0, import_codegenv2.messageDesc)(file_proto_silvana_orderbook_v1_orderbook, 44);
160
213
  var OrderType;
161
214
  (function(OrderType2) {
162
215
  OrderType2[OrderType2["UNSPECIFIED"] = 0] = "UNSPECIFIED";
@@ -206,7 +259,7 @@ var MarketType;
206
259
  var MarketTypeSchema = /* @__PURE__ */ (0, import_codegenv2.enumDesc)(file_proto_silvana_orderbook_v1_orderbook, 4);
207
260
  var OrderbookService = /* @__PURE__ */ (0, import_codegenv2.serviceDesc)(file_proto_silvana_orderbook_v1_orderbook, 0);
208
261
 
209
- // dist/node/grpc.js
262
+ // dist/node/orderbook.js
210
263
  function dateToTimestamp(date) {
211
264
  const seconds = BigInt(Math.floor(date.getTime() / 1e3));
212
265
  const nanos = date.getTime() % 1e3 * 1e6;
@@ -406,33 +459,306 @@ var OrderbookClient = class {
406
459
  });
407
460
  return this.client.subscribeSettlements(request);
408
461
  }
462
+ /**
463
+ * Create a new party (admin operation)
464
+ */
465
+ async createParty(params) {
466
+ return await this.wrapCall(async () => {
467
+ const request = (0, import_protobuf.create)(CreatePartyRequestSchema, {
468
+ auth: this.createAuth(),
469
+ ...params
470
+ });
471
+ return await this.client.createParty(request);
472
+ }, "createParty");
473
+ }
474
+ /**
475
+ * Create a new instrument (admin operation)
476
+ */
477
+ async createInstrument(params) {
478
+ return await this.wrapCall(async () => {
479
+ const request = (0, import_protobuf.create)(CreateInstrumentRequestSchema, {
480
+ auth: this.createAuth(),
481
+ ...params
482
+ });
483
+ return await this.client.createInstrument(request);
484
+ }, "createInstrument");
485
+ }
486
+ /**
487
+ * Create a new market (admin operation)
488
+ */
489
+ async createMarket(params) {
490
+ return await this.wrapCall(async () => {
491
+ const request = (0, import_protobuf.create)(CreateMarketRequestSchema, {
492
+ auth: this.createAuth(),
493
+ ...params
494
+ });
495
+ return await this.client.createMarket(request);
496
+ }, "createMarket");
497
+ }
498
+ /**
499
+ * Update market price feeds (admin operation)
500
+ */
501
+ async updateMarketPriceFeeds(params) {
502
+ return await this.wrapCall(async () => {
503
+ const request = (0, import_protobuf.create)(UpdateMarketPriceFeedsRequestSchema, {
504
+ auth: this.createAuth(),
505
+ ...params
506
+ });
507
+ return await this.client.updateMarketPriceFeeds(request);
508
+ }, "updateMarketPriceFeeds");
509
+ }
510
+ };
511
+
512
+ // dist/node/pricing.js
513
+ var import_connect_node2 = require("@connectrpc/connect-node");
514
+ var import_connect2 = require("@connectrpc/connect");
515
+ var import_protobuf2 = require("@bufbuild/protobuf");
516
+ var import_wkt4 = require("@bufbuild/protobuf/wkt");
517
+
518
+ // dist/node/proto/silvana/pricing/v1/pricing_pb.js
519
+ var import_codegenv22 = require("@bufbuild/protobuf/codegenv2");
520
+ var import_wkt3 = require("@bufbuild/protobuf/wkt");
521
+ var file_proto_silvana_pricing_v1_pricing = /* @__PURE__ */ (0, import_codegenv22.fileDesc)("CiZwcm90by9zaWx2YW5hL3ByaWNpbmcvdjEvcHJpY2luZy5wcm90bxISc2lsdmFuYS5wcmljaW5nLnYxIkQKD0dldFByaWNlUmVxdWVzdBIRCgltYXJrZXRfaWQYASABKAkSEwoGc291cmNlGAIgASgJSACIAQFCCQoHX3NvdXJjZSLMAgoQR2V0UHJpY2VSZXNwb25zZRIRCgltYXJrZXRfaWQYASABKAkSEAoDYmlkGAIgASgBSACIAQESEAoDYXNrGAMgASgBSAGIAQESDAoEbGFzdBgEIAEoARIXCgp2b2x1bWVfMjRoGAUgASgBSAKIAQESHwoSY2hhbmdlXzI0aF9wZXJjZW50GAYgASgBSAOIAQESFQoIaGlnaF8yNGgYByABKAFIBIgBARIUCgdsb3dfMjRoGAggASgBSAWIAQESDgoGc291cmNlGAkgASgJEi0KCXRpbWVzdGFtcBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCBgoEX2JpZEIGCgRfYXNrQg0KC192b2x1bWVfMjRoQhUKE19jaGFuZ2VfMjRoX3BlcmNlbnRCCwoJX2hpZ2hfMjRoQgoKCF9sb3dfMjRoIkYKEEdldFByaWNlc1JlcXVlc3QSEgoKbWFya2V0X2lkcxgBIAMoCRITCgZzb3VyY2UYAiABKAlIAIgBAUIJCgdfc291cmNlIj4KEUdldFByaWNlc1Jlc3BvbnNlEikKBnByaWNlcxgBIAMoCzIZLnNpbHZhbmEucHJpY2luZy52MS5QcmljZSLBAgoFUHJpY2USEQoJbWFya2V0X2lkGAEgASgJEhAKA2JpZBgCIAEoAUgAiAEBEhAKA2FzaxgDIAEoAUgBiAEBEgwKBGxhc3QYBCABKAESFwoKdm9sdW1lXzI0aBgFIAEoAUgCiAEBEh8KEmNoYW5nZV8yNGhfcGVyY2VudBgGIAEoAUgDiAEBEhUKCGhpZ2hfMjRoGAcgASgBSASIAQESFAoHbG93XzI0aBgIIAEoAUgFiAEBEg4KBnNvdXJjZRgJIAEoCRItCgl0aW1lc3RhbXAYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgYKBF9iaWRCBgoEX2Fza0INCgtfdm9sdW1lXzI0aEIVChNfY2hhbmdlXzI0aF9wZXJjZW50QgsKCV9oaWdoXzI0aEIKCghfbG93XzI0aCL5AQoQR2V0S2xpbmVzUmVxdWVzdBIRCgltYXJrZXRfaWQYASABKAkSEAoIaW50ZXJ2YWwYAiABKAkSEgoFbGltaXQYAyABKAVIAIgBARIzCgpzdGFydF90aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEjEKCGVuZF90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEhMKBnNvdXJjZRgGIAEoCUgDiAEBQggKBl9saW1pdEINCgtfc3RhcnRfdGltZUILCglfZW5kX3RpbWVCCQoHX3NvdXJjZSJzChFHZXRLbGluZXNSZXNwb25zZRIRCgltYXJrZXRfaWQYASABKAkSEAoIaW50ZXJ2YWwYAiABKAkSKQoGa2xpbmVzGAMgAygLMhkuc2lsdmFuYS5wcmljaW5nLnYxLktsaW5lEg4KBnNvdXJjZRgEIAEoCSLUAQoFS2xpbmUSLQoJb3Blbl90aW1lGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIMCgRvcGVuGAIgASgBEgwKBGhpZ2gYAyABKAESCwoDbG93GAQgASgBEg0KBWNsb3NlGAUgASgBEg4KBnZvbHVtZRgGIAEoARIuCgpjbG9zZV90aW1lGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIUCgxxdW90ZV92b2x1bWUYCCABKAESDgoGdHJhZGVzGAkgASgFImYKE0dldE9yZGVyQm9va1JlcXVlc3QSEQoJbWFya2V0X2lkGAEgASgJEhIKBWRlcHRoGAIgASgFSACIAQESEwoGc291cmNlGAMgASgJSAGIAQFCCAoGX2RlcHRoQgkKB19zb3VyY2UizAEKFEdldE9yZGVyQm9va1Jlc3BvbnNlEhEKCW1hcmtldF9pZBgBIAEoCRIwCgRiaWRzGAIgAygLMiIuc2lsdmFuYS5wcmljaW5nLnYxLk9yZGVyQm9va0xldmVsEjAKBGFza3MYAyADKAsyIi5zaWx2YW5hLnByaWNpbmcudjEuT3JkZXJCb29rTGV2ZWwSLQoJdGltZXN0YW1wGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIOCgZzb3VyY2UYBSABKAkiMQoOT3JkZXJCb29rTGV2ZWwSDQoFcHJpY2UYASABKAESEAoIcXVhbnRpdHkYAiABKAEijwEKE1N0cmVhbVByaWNlc1JlcXVlc3QSEgoKbWFya2V0X2lkcxgBIAMoCRIeChFpbmNsdWRlX29yZGVyYm9vaxgCIAEoCEgAiAEBEhsKDmluY2x1ZGVfdHJhZGVzGAMgASgISAGIAQFCFAoSX2luY2x1ZGVfb3JkZXJib29rQhEKD19pbmNsdWRlX3RyYWRlcyLMAgoLUHJpY2VVcGRhdGUSEQoJbWFya2V0X2lkGAEgASgJEg0KBXByaWNlGAIgASgBEhAKA2JpZBgDIAEoAUgAiAEBEhAKA2FzaxgEIAEoAUgBiAEBEhMKBnZvbHVtZRgFIAEoAUgCiAEBEg4KBnNvdXJjZRgGIAEoCRItCgl0aW1lc3RhbXAYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjsKCW9yZGVyYm9vaxgIIAEoCzIjLnNpbHZhbmEucHJpY2luZy52MS5PcmRlckJvb2tVcGRhdGVIA4gBARIzCgV0cmFkZRgJIAEoCzIfLnNpbHZhbmEucHJpY2luZy52MS5UcmFkZVVwZGF0ZUgEiAEBQgYKBF9iaWRCBgoEX2Fza0IJCgdfdm9sdW1lQgwKCl9vcmRlcmJvb2tCCAoGX3RyYWRlInUKD09yZGVyQm9va1VwZGF0ZRIwCgRiaWRzGAEgAygLMiIuc2lsdmFuYS5wcmljaW5nLnYxLk9yZGVyQm9va0xldmVsEjAKBGFza3MYAiADKAsyIi5zaWx2YW5hLnByaWNpbmcudjEuT3JkZXJCb29rTGV2ZWwidQoLVHJhZGVVcGRhdGUSDQoFcHJpY2UYASABKAESEAoIcXVhbnRpdHkYAiABKAESFgoOaXNfYnV5ZXJfbWFrZXIYAyABKAgSLQoJdGltZXN0YW1wGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJdChVHZXRQaXZvdFBvaW50c1JlcXVlc3QSEQoJbWFya2V0X2lkGAEgASgJEhEKCXRpbWVmcmFtZRgCIAEoCRITCgZzb3VyY2UYAyABKAlIAIgBAUIJCgdfc291cmNlIqADChZHZXRQaXZvdFBvaW50c1Jlc3BvbnNlEhEKCW1hcmtldF9pZBgBIAEoCRIwCgdjbGFzc2ljGAIgASgLMh8uc2lsdmFuYS5wcmljaW5nLnYxLlBpdm90UG9pbnRzEjcKCWZpYm9uYWNjaRgDIAEoCzIfLnNpbHZhbmEucHJpY2luZy52MS5QaXZvdFBvaW50c0gAiAEBEjcKCWNhbWFyaWxsYRgEIAEoCzIfLnNpbHZhbmEucHJpY2luZy52MS5QaXZvdFBvaW50c0gBiAEBEjQKBndvb2RpZRgFIAEoCzIfLnNpbHZhbmEucHJpY2luZy52MS5QaXZvdFBvaW50c0gCiAEBEjQKBmRlbWFyaxgGIAEoCzIfLnNpbHZhbmEucHJpY2luZy52MS5QaXZvdFBvaW50c0gDiAEBEjEKDWNhbGN1bGF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgwKCl9maWJvbmFjY2lCDAoKX2NhbWFyaWxsYUIJCgdfd29vZGllQgkKB19kZW1hcmsilAEKC1Bpdm90UG9pbnRzEg0KBXBpdm90GAEgASgBEgoKAnIxGAIgASgBEgoKAnIyGAMgASgBEgoKAnIzGAQgASgBEgoKAnMxGAUgASgBEgoKAnMyGAYgASgBEgoKAnMzGAcgASgBEg8KAnI0GAggASgBSACIAQESDwoCczQYCSABKAFIAYgBAUIFCgNfcjRCBQoDX3M0ItQDCg9QcmljZUZlZWRDb25maWcSPgoGZGlyZWN0GAEgAygLMi4uc2lsdmFuYS5wcmljaW5nLnYxLlByaWNlRmVlZENvbmZpZy5EaXJlY3RGZWVkEkkKCXN5bnRoZXRpYxgCIAEoCzIxLnNpbHZhbmEucHJpY2luZy52MS5QcmljZUZlZWRDb25maWcuU3ludGhldGljRmVlZEgAiAEBGowBCgpEaXJlY3RGZWVkEg4KBnNvdXJjZRgBIAEoCRIOCgZzeW1ib2wYAiABKAkSDwoHZW5hYmxlZBgDIAEoCBIQCghwcmlvcml0eRgEIAEoBRIuCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBAUILCglfbWV0YWRhdGEamAEKDVN5bnRoZXRpY0ZlZWQSDAoEdHlwZRgBIAEoCRITCgtiYXNlX21hcmtldBgCIAEoCRIUCgxxdW90ZV9tYXJrZXQYAyABKAkSEQoJb3BlcmF0aW9uGAQgASgJEi4KCG1ldGFkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBQgsKCV9tZXRhZGF0YUIMCgpfc3ludGhldGljMsMECg5QcmljaW5nU2VydmljZRJVCghHZXRQcmljZRIjLnNpbHZhbmEucHJpY2luZy52MS5HZXRQcmljZVJlcXVlc3QaJC5zaWx2YW5hLnByaWNpbmcudjEuR2V0UHJpY2VSZXNwb25zZRJYCglHZXRQcmljZXMSJC5zaWx2YW5hLnByaWNpbmcudjEuR2V0UHJpY2VzUmVxdWVzdBolLnNpbHZhbmEucHJpY2luZy52MS5HZXRQcmljZXNSZXNwb25zZRJYCglHZXRLbGluZXMSJC5zaWx2YW5hLnByaWNpbmcudjEuR2V0S2xpbmVzUmVxdWVzdBolLnNpbHZhbmEucHJpY2luZy52MS5HZXRLbGluZXNSZXNwb25zZRJhCgxHZXRPcmRlckJvb2sSJy5zaWx2YW5hLnByaWNpbmcudjEuR2V0T3JkZXJCb29rUmVxdWVzdBooLnNpbHZhbmEucHJpY2luZy52MS5HZXRPcmRlckJvb2tSZXNwb25zZRJaCgxTdHJlYW1QcmljZXMSJy5zaWx2YW5hLnByaWNpbmcudjEuU3RyZWFtUHJpY2VzUmVxdWVzdBofLnNpbHZhbmEucHJpY2luZy52MS5QcmljZVVwZGF0ZTABEmcKDkdldFBpdm90UG9pbnRzEikuc2lsdmFuYS5wcmljaW5nLnYxLkdldFBpdm90UG9pbnRzUmVxdWVzdBoqLnNpbHZhbmEucHJpY2luZy52MS5HZXRQaXZvdFBvaW50c1Jlc3BvbnNlQjJaMGdpdGh1Yi5jb20vU2lsdmFuYU9uZS9jYW50b24tYWdlbnQvcHJvdG87cHJpY2luZ2IGcHJvdG8z", [import_wkt3.file_google_protobuf_timestamp, import_wkt3.file_google_protobuf_struct]);
522
+ var GetPriceRequestSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 0);
523
+ var GetPriceResponseSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 1);
524
+ var GetPricesRequestSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 2);
525
+ var GetPricesResponseSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 3);
526
+ var PriceSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 4);
527
+ var GetKlinesRequestSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 5);
528
+ var GetKlinesResponseSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 6);
529
+ var KlineSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 7);
530
+ var GetOrderBookRequestSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 8);
531
+ var GetOrderBookResponseSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 9);
532
+ var OrderBookLevelSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 10);
533
+ var StreamPricesRequestSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 11);
534
+ var PriceUpdateSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 12);
535
+ var OrderBookUpdateSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 13);
536
+ var TradeUpdateSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 14);
537
+ var GetPivotPointsRequestSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 15);
538
+ var GetPivotPointsResponseSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 16);
539
+ var PivotPointsSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 17);
540
+ var PriceFeedConfigSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 18);
541
+ var PriceFeedConfig_DirectFeedSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 18, 0);
542
+ var PriceFeedConfig_SyntheticFeedSchema = /* @__PURE__ */ (0, import_codegenv22.messageDesc)(file_proto_silvana_pricing_v1_pricing, 18, 1);
543
+ var PricingService = /* @__PURE__ */ (0, import_codegenv22.serviceDesc)(file_proto_silvana_pricing_v1_pricing, 0);
544
+
545
+ // dist/node/pricing.js
546
+ function dateToTimestamp2(date) {
547
+ const seconds = BigInt(Math.floor(date.getTime() / 1e3));
548
+ const nanos = date.getTime() % 1e3 * 1e6;
549
+ return (0, import_protobuf2.create)(import_wkt4.TimestampSchema, { seconds, nanos });
550
+ }
551
+ var PricingError = class extends Error {
552
+ constructor(message, code, details) {
553
+ super(message);
554
+ this.code = code;
555
+ this.details = details;
556
+ this.name = "PricingError";
557
+ }
558
+ };
559
+ var PricingClient = class {
560
+ /**
561
+ * Creates a new PricingClient instance
562
+ * @param config Client configuration
563
+ */
564
+ constructor(config) {
565
+ const transport = (0, import_connect_node2.createGrpcTransport)({
566
+ baseUrl: config.baseUrl
567
+ });
568
+ this.client = (0, import_connect2.createClient)(PricingService, transport);
569
+ }
570
+ /**
571
+ * Wraps async calls with error handling
572
+ */
573
+ async wrapCall(operation, operationName) {
574
+ try {
575
+ return await operation();
576
+ } catch (error) {
577
+ if (error instanceof import_connect2.ConnectError) {
578
+ throw new PricingError(`${operationName} failed: ${error.message}`, String(error.code), error.metadata);
579
+ }
580
+ throw new PricingError(`${operationName} failed: ${error instanceof Error ? error.message : "Unknown error"}`, "UNKNOWN", error);
581
+ }
582
+ }
583
+ /**
584
+ * Get current price for a market
585
+ */
586
+ async getPrice(params) {
587
+ return await this.wrapCall(async () => {
588
+ const request = (0, import_protobuf2.create)(GetPriceRequestSchema, params);
589
+ return await this.client.getPrice(request);
590
+ }, "getPrice");
591
+ }
592
+ /**
593
+ * Get multiple market prices
594
+ */
595
+ async getPrices(params) {
596
+ return await this.wrapCall(async () => {
597
+ const request = (0, import_protobuf2.create)(GetPricesRequestSchema, params);
598
+ return await this.client.getPrices(request);
599
+ }, "getPrices");
600
+ }
601
+ /**
602
+ * Get kline/candle data
603
+ */
604
+ async getKlines(params) {
605
+ return await this.wrapCall(async () => {
606
+ const request = (0, import_protobuf2.create)(GetKlinesRequestSchema, {
607
+ marketId: params.marketId,
608
+ interval: params.interval,
609
+ limit: params.limit,
610
+ startTime: params.startTime ? dateToTimestamp2(params.startTime) : void 0,
611
+ endTime: params.endTime ? dateToTimestamp2(params.endTime) : void 0,
612
+ source: params.source
613
+ });
614
+ return await this.client.getKlines(request);
615
+ }, "getKlines");
616
+ }
617
+ /**
618
+ * Get order book snapshot
619
+ */
620
+ async getOrderBook(params) {
621
+ return await this.wrapCall(async () => {
622
+ const request = (0, import_protobuf2.create)(GetOrderBookRequestSchema, params);
623
+ return await this.client.getOrderBook(request);
624
+ }, "getOrderBook");
625
+ }
626
+ /**
627
+ * Stream real-time price updates
628
+ */
629
+ streamPrices(params) {
630
+ const request = (0, import_protobuf2.create)(StreamPricesRequestSchema, params);
631
+ return this.client.streamPrices(request);
632
+ }
633
+ /**
634
+ * Get calculated pivot points
635
+ */
636
+ async getPivotPoints(params) {
637
+ return await this.wrapCall(async () => {
638
+ const request = (0, import_protobuf2.create)(GetPivotPointsRequestSchema, params);
639
+ return await this.client.getPivotPoints(request);
640
+ }, "getPivotPoints");
641
+ }
642
+ };
643
+
644
+ // dist/node/news.js
645
+ var import_connect_node3 = require("@connectrpc/connect-node");
646
+ var import_connect3 = require("@connectrpc/connect");
647
+ var import_protobuf3 = require("@bufbuild/protobuf");
648
+
649
+ // dist/node/proto/silvana/news/v1/news_pb.js
650
+ var import_codegenv23 = require("@bufbuild/protobuf/codegenv2");
651
+ var import_wkt5 = require("@bufbuild/protobuf/wkt");
652
+ var file_proto_silvana_news_v1_news = /* @__PURE__ */ (0, import_codegenv23.fileDesc)("CiBwcm90by9zaWx2YW5hL25ld3MvdjEvbmV3cy5wcm90bxIPc2lsdmFuYS5uZXdzLnYxIi4KBlNvdXJjZRIPCgJpZBgBIAEoCUgAiAEBEgwKBG5hbWUYAiABKAlCBQoDX2lkIq8CCgtOZXdzQXJ0aWNsZRInCgZzb3VyY2UYASABKAsyFy5zaWx2YW5hLm5ld3MudjEuU291cmNlEhMKBmF1dGhvchgCIAEoCUgAiAEBEg0KBXRpdGxlGAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSAGIAQESCwoDdXJsGAUgASgJEhkKDHVybF90b19pbWFnZRgGIAEoCUgCiAEBEjAKDHB1Ymxpc2hlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFAoHY29udGVudBgIIAEoCUgDiAEBEhEKCXRleHRfc2l6ZRgJIAEoBUIJCgdfYXV0aG9yQg4KDF9kZXNjcmlwdGlvbkIPCg1fdXJsX3RvX2ltYWdlQgoKCF9jb250ZW50IoABCg5HZXROZXdzUmVxdWVzdBIOCgZ0b2tlbnMYASADKAkSEgoFbGltaXQYAiABKAVIAIgBARIVCghsYW5ndWFnZRgDIAEoCUgBiAEBEhIKBWhvdXJzGAQgASgFSAKIAQFCCAoGX2xpbWl0QgsKCV9sYW5ndWFnZUIICgZfaG91cnMixwEKD0dldE5ld3NSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSLgoKdG9rZW5fbmV3cxgDIAMoCzIaLnNpbHZhbmEubmV3cy52MS5Ub2tlbk5ld3MSEgoKZnJvbV9jYWNoZRgEIAEoCBI5ChBjYWNoZV9leHBpcmVzX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQhMKEV9jYWNoZV9leHBpcmVzX2F0IqABCglUb2tlbk5ld3MSDQoFdG9rZW4YASABKAkSDQoFcXVlcnkYAiABKAkSFQoNdG90YWxfcmVzdWx0cxgDIAEoBRIuCghhcnRpY2xlcxgEIAMoCzIcLnNpbHZhbmEubmV3cy52MS5OZXdzQXJ0aWNsZRIuCgpmZXRjaGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJVChFTdHJlYW1OZXdzUmVxdWVzdBIOCgZ0b2tlbnMYASADKAkSHAoPdXBkYXRlX2ludGVydmFsGAIgASgFSACIAQFCEgoQX3VwZGF0ZV9pbnRlcnZhbDKtAQoLTmV3c1NlcnZpY2USTAoHR2V0TmV3cxIfLnNpbHZhbmEubmV3cy52MS5HZXROZXdzUmVxdWVzdBogLnNpbHZhbmEubmV3cy52MS5HZXROZXdzUmVzcG9uc2USUAoKU3RyZWFtTmV3cxIiLnNpbHZhbmEubmV3cy52MS5TdHJlYW1OZXdzUmVxdWVzdBocLnNpbHZhbmEubmV3cy52MS5OZXdzQXJ0aWNsZTABQi9aLWdpdGh1Yi5jb20vU2lsdmFuYU9uZS9jYW50b24tYWdlbnQvcHJvdG87bmV3c2IGcHJvdG8z", [import_wkt5.file_google_protobuf_timestamp]);
653
+ var SourceSchema = /* @__PURE__ */ (0, import_codegenv23.messageDesc)(file_proto_silvana_news_v1_news, 0);
654
+ var NewsArticleSchema = /* @__PURE__ */ (0, import_codegenv23.messageDesc)(file_proto_silvana_news_v1_news, 1);
655
+ var GetNewsRequestSchema = /* @__PURE__ */ (0, import_codegenv23.messageDesc)(file_proto_silvana_news_v1_news, 2);
656
+ var GetNewsResponseSchema = /* @__PURE__ */ (0, import_codegenv23.messageDesc)(file_proto_silvana_news_v1_news, 3);
657
+ var TokenNewsSchema = /* @__PURE__ */ (0, import_codegenv23.messageDesc)(file_proto_silvana_news_v1_news, 4);
658
+ var StreamNewsRequestSchema = /* @__PURE__ */ (0, import_codegenv23.messageDesc)(file_proto_silvana_news_v1_news, 5);
659
+ var NewsService = /* @__PURE__ */ (0, import_codegenv23.serviceDesc)(file_proto_silvana_news_v1_news, 0);
660
+
661
+ // dist/node/news.js
662
+ var NewsError = class extends Error {
663
+ constructor(message, code, details) {
664
+ super(message);
665
+ this.code = code;
666
+ this.details = details;
667
+ this.name = "NewsError";
668
+ }
669
+ };
670
+ var NewsClient = class {
671
+ /**
672
+ * Creates a new NewsClient instance
673
+ * @param config Client configuration
674
+ */
675
+ constructor(config) {
676
+ const transport = (0, import_connect_node3.createGrpcTransport)({
677
+ baseUrl: config.baseUrl
678
+ });
679
+ this.client = (0, import_connect3.createClient)(NewsService, transport);
680
+ }
681
+ /**
682
+ * Wraps async calls with error handling
683
+ */
684
+ async wrapCall(operation, operationName) {
685
+ try {
686
+ return await operation();
687
+ } catch (error) {
688
+ if (error instanceof import_connect3.ConnectError) {
689
+ throw new NewsError(`${operationName} failed: ${error.message}`, String(error.code), error.metadata);
690
+ }
691
+ throw new NewsError(`${operationName} failed: ${error instanceof Error ? error.message : "Unknown error"}`, "UNKNOWN", error);
692
+ }
693
+ }
694
+ /**
695
+ * Get news articles for specific cryptocurrencies
696
+ */
697
+ async getNews(params) {
698
+ return await this.wrapCall(async () => {
699
+ const request = (0, import_protobuf3.create)(GetNewsRequestSchema, params || {});
700
+ return await this.client.getNews(request);
701
+ }, "getNews");
702
+ }
703
+ /**
704
+ * Stream real-time news updates
705
+ */
706
+ streamNews(params) {
707
+ const request = (0, import_protobuf3.create)(StreamNewsRequestSchema, params || {});
708
+ return this.client.streamNews(request);
709
+ }
409
710
  };
410
711
  // Annotate the CommonJS export names for ESM import in node:
411
712
  0 && (module.exports = {
412
713
  CancelOrderRequestSchema,
413
714
  CancelOrderResponseSchema,
715
+ CreateInstrumentRequestSchema,
716
+ CreateInstrumentResponseSchema,
717
+ CreateMarketRequestSchema,
718
+ CreateMarketResponseSchema,
719
+ CreatePartyRequestSchema,
720
+ CreatePartyResponseSchema,
414
721
  GetInstrumentsRequestSchema,
415
722
  GetInstrumentsResponseSchema,
723
+ GetKlinesRequestSchema,
724
+ GetKlinesResponseSchema,
416
725
  GetMarketDataRequestSchema,
417
726
  GetMarketDataResponseSchema,
418
727
  GetMarketsRequestSchema,
419
728
  GetMarketsResponseSchema,
729
+ GetNewsRequestSchema,
730
+ GetNewsResponseSchema,
731
+ GetOrderBookRequestSchema,
732
+ GetOrderBookResponseSchema,
420
733
  GetOrderHistoryRequestSchema,
421
734
  GetOrderHistoryResponseSchema,
422
735
  GetOrderbookDepthRequestSchema,
423
736
  GetOrderbookDepthResponseSchema,
424
737
  GetOrdersRequestSchema,
425
738
  GetOrdersResponseSchema,
739
+ GetPivotPointsRequestSchema,
740
+ GetPivotPointsResponseSchema,
741
+ GetPriceRequestSchema,
742
+ GetPriceResponseSchema,
743
+ GetPricesRequestSchema,
744
+ GetPricesResponseSchema,
426
745
  GetSettlementProposalsRequestSchema,
427
746
  GetSettlementProposalsResponseSchema,
428
747
  GetSettlementsRequestSchema,
429
748
  GetSettlementsResponseSchema,
430
749
  InstrumentSchema,
431
750
  JWTAuthSchema,
751
+ KlineSchema,
432
752
  MarketDataSchema,
433
753
  MarketSchema,
434
754
  MarketType,
435
755
  MarketTypeSchema,
756
+ NewsArticleSchema,
757
+ NewsClient,
758
+ NewsError,
759
+ NewsService,
760
+ OrderBookLevelSchema,
761
+ OrderBookUpdateSchema,
436
762
  OrderMatchSchema,
437
763
  OrderSchema,
438
764
  OrderStatus,
@@ -450,6 +776,16 @@ var OrderbookClient = class {
450
776
  OrderbookUpdateSchema,
451
777
  OrderbookUpdate_UpdateType,
452
778
  OrderbookUpdate_UpdateTypeSchema,
779
+ PartySchema,
780
+ PivotPointsSchema,
781
+ PriceFeedConfigSchema,
782
+ PriceFeedConfig_DirectFeedSchema,
783
+ PriceFeedConfig_SyntheticFeedSchema,
784
+ PriceSchema,
785
+ PriceUpdateSchema,
786
+ PricingClient,
787
+ PricingError,
788
+ PricingService,
453
789
  SettlementProposalSchema,
454
790
  SettlementSchema,
455
791
  SettlementStatus,
@@ -457,6 +793,9 @@ var OrderbookClient = class {
457
793
  SettlementUpdateSchema,
458
794
  SettlementUpdate_EventType,
459
795
  SettlementUpdate_EventTypeSchema,
796
+ SourceSchema,
797
+ StreamNewsRequestSchema,
798
+ StreamPricesRequestSchema,
460
799
  SubmitOrderRequestSchema,
461
800
  SubmitOrderResponseSchema,
462
801
  SubscribeOrderbookRequestSchema,
@@ -464,5 +803,11 @@ var OrderbookClient = class {
464
803
  SubscribeSettlementsRequestSchema,
465
804
  TimeInForce,
466
805
  TimeInForceSchema,
467
- file_proto_silvana_orderbook_v1_orderbook
806
+ TokenNewsSchema,
807
+ TradeUpdateSchema,
808
+ UpdateMarketPriceFeedsRequestSchema,
809
+ UpdateMarketPriceFeedsResponseSchema,
810
+ file_proto_silvana_news_v1_news,
811
+ file_proto_silvana_orderbook_v1_orderbook,
812
+ file_proto_silvana_pricing_v1_pricing
468
813
  });
@@ -1 +1,3 @@
1
- export * from "./grpc.js";
1
+ export * from "./orderbook.js";
2
+ export * from "./pricing.js";
3
+ export * from "./news.js";
@@ -1,2 +1,4 @@
1
- export * from "./grpc.js";
1
+ export * from "./orderbook.js";
2
+ export * from "./pricing.js";
3
+ export * from "./news.js";
2
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,48 @@
1
+ export * from "./proto/silvana/news/v1/news_pb.js";
2
+ import { type GetNewsResponse } from "./proto/silvana/news/v1/news_pb.js";
3
+ /**
4
+ * Custom error class for News client errors
5
+ */
6
+ export declare class NewsError extends Error {
7
+ code?: string | undefined;
8
+ details?: any | undefined;
9
+ constructor(message: string, code?: string | undefined, details?: any | undefined);
10
+ }
11
+ /**
12
+ * News client configuration
13
+ */
14
+ export interface NewsClientConfig {
15
+ /** Base URL of the news service (e.g., "http://localhost:50054") */
16
+ baseUrl: string;
17
+ }
18
+ /**
19
+ * News client for interacting with the Silvana News Service
20
+ */
21
+ export declare class NewsClient {
22
+ private client;
23
+ /**
24
+ * Creates a new NewsClient instance
25
+ * @param config Client configuration
26
+ */
27
+ constructor(config: NewsClientConfig);
28
+ /**
29
+ * Wraps async calls with error handling
30
+ */
31
+ private wrapCall;
32
+ /**
33
+ * Get news articles for specific cryptocurrencies
34
+ */
35
+ getNews(params?: {
36
+ tokens?: string[];
37
+ limit?: number;
38
+ language?: string;
39
+ hours?: number;
40
+ }): Promise<GetNewsResponse>;
41
+ /**
42
+ * Stream real-time news updates
43
+ */
44
+ streamNews(params?: {
45
+ tokens?: string[];
46
+ updateInterval?: number;
47
+ }): AsyncIterable<import("./proto/silvana/news/v1/news_pb.js").NewsArticle>;
48
+ }