{"version":3,"sources":["../src/clients/protos/talk-api_pb_service.js","../src/clients/protos/assistant-api_pb_service.js","../src/clients/protos/web-api_pb.js","../src/clients/protos/web-api_pb_service.js","../src/clients/protos/knowledge-api_pb.js","../src/clients/protos/knowledge-api_pb_service.js","../src/clients/protos/document-api_pb.js","../src/clients/protos/document-api_pb_service.js","../src/clients/protos/vault-api_pb.js","../src/clients/protos/vault-api_pb_service.js","../src/clients/protos/endpoint-api_pb.js","../src/clients/protos/endpoint-api_pb_service.js","../src/clients/protos/audit-logging-api_pb.js","../src/clients/protos/audit-logging-api_pb_service.js","../src/clients/protos/assistant-deployment_pb_service.js","../src/clients/protos/connect-api_pb.js","../src/clients/protos/connect-api_pb_service.js","../src/clients/protos/invoker-api_pb.js","../src/clients/protos/invoker-api_pb_service.js","../src/clients/protos/observability-api_pb.js","../src/clients/protos/observability-api_pb_service.js","../src/clients/protos/notification-api_pb.js","../src/clients/protos/notification-api_pb_service.js","../src/clients/protos/webrtc_pb_service.js","../src/clients/protos/billing-api_pb.js","../src/clients/protos/billing-api_pb_service.js","../src/clients/protos/integration-api_pb.js","../src/clients/protos/integration-api_pb_service.js","../src/hooks/use-message-feedback.ts","../src/hooks/use-conversation-feedback.ts","../src/hooks/use-connect-agent.ts","../src/hooks/use-input-mode-toggle-agent.ts","../src/hooks/use-mute-agent.ts","../src/types/device-failure.ts","../src/types/agent-config.ts","../src/utils/rapida_value.ts","../src/hooks/use-multiband-track-volume.ts","../src/types/connection-config.ts","../src/utils/rapida_source.ts","../src/types/agent-deployment.ts","../src/hooks/use-agent-message.ts","../src/clients/document.ts","../src/clients/invoke.ts","../src/clients/auth.ts","../src/clients/connect.ts","../src/clients/organization.ts","../src/clients/activity.ts","../src/clients/endpoint.ts","../src/clients/vault.ts","../src/clients/knowledge.ts","../src/clients/project.ts","../src/clients/billing.ts","../src/index.ts","../src/clients/call.ts","../src/clients/telemetry.ts","../src/clients/notification.ts"],"sourcesContent":["// package: talk_api\n// file: talk-api.proto\n\nvar talk_api_pb = require(\"./talk-api_pb\");\nvar common_pb = require(\"./common_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar TalkService = (function () {\n  function TalkService() {}\n  TalkService.serviceName = \"talk_api.TalkService\";\n  return TalkService;\n}());\n\nTalkService.AssistantTalk = {\n  methodName: \"AssistantTalk\",\n  service: TalkService,\n  requestStream: true,\n  responseStream: true,\n  requestType: talk_api_pb.AssistantTalkRequest,\n  responseType: talk_api_pb.AssistantTalkResponse\n};\n\nTalkService.GetAllAssistantConversation = {\n  methodName: \"GetAllAssistantConversation\",\n  service: TalkService,\n  requestStream: false,\n  responseStream: false,\n  requestType: common_pb.GetAllAssistantConversationRequest,\n  responseType: common_pb.GetAllAssistantConversationResponse\n};\n\nTalkService.GetAllConversationMessage = {\n  methodName: \"GetAllConversationMessage\",\n  service: TalkService,\n  requestStream: false,\n  responseStream: false,\n  requestType: common_pb.GetAllConversationMessageRequest,\n  responseType: common_pb.GetAllConversationMessageResponse\n};\n\nTalkService.CreateMessageMetric = {\n  methodName: \"CreateMessageMetric\",\n  service: TalkService,\n  requestStream: false,\n  responseStream: false,\n  requestType: talk_api_pb.CreateMessageMetricRequest,\n  responseType: talk_api_pb.CreateMessageMetricResponse\n};\n\nTalkService.CreateConversationMetric = {\n  methodName: \"CreateConversationMetric\",\n  service: TalkService,\n  requestStream: false,\n  responseStream: false,\n  requestType: talk_api_pb.CreateConversationMetricRequest,\n  responseType: talk_api_pb.CreateConversationMetricResponse\n};\n\nTalkService.CreatePhoneCall = {\n  methodName: \"CreatePhoneCall\",\n  service: TalkService,\n  requestStream: false,\n  responseStream: false,\n  requestType: talk_api_pb.CreatePhoneCallRequest,\n  responseType: talk_api_pb.CreatePhoneCallResponse\n};\n\nTalkService.CreateBulkPhoneCall = {\n  methodName: \"CreateBulkPhoneCall\",\n  service: TalkService,\n  requestStream: false,\n  responseStream: false,\n  requestType: talk_api_pb.CreateBulkPhoneCallRequest,\n  responseType: talk_api_pb.CreateBulkPhoneCallResponse\n};\n\nexports.TalkService = TalkService;\n\nfunction TalkServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nTalkServiceClient.prototype.assistantTalk = function assistantTalk(metadata) {\n  var listeners = {\n    data: [],\n    end: [],\n    status: []\n  };\n  var client = grpc.client(TalkService.AssistantTalk, {\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport\n  });\n  client.onEnd(function (status, statusMessage, trailers) {\n    listeners.status.forEach(function (handler) {\n      handler({ code: status, details: statusMessage, metadata: trailers });\n    });\n    listeners.end.forEach(function (handler) {\n      handler({ code: status, details: statusMessage, metadata: trailers });\n    });\n    listeners = null;\n  });\n  client.onMessage(function (message) {\n    listeners.data.forEach(function (handler) {\n      handler(message);\n    })\n  });\n  client.start(metadata);\n  return {\n    on: function (type, handler) {\n      listeners[type].push(handler);\n      return this;\n    },\n    write: function (requestMessage) {\n      client.send(requestMessage);\n      return this;\n    },\n    end: function () {\n      client.finishSend();\n    },\n    cancel: function () {\n      listeners = null;\n      client.close();\n    }\n  };\n};\n\nTalkServiceClient.prototype.getAllAssistantConversation = function getAllAssistantConversation(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(TalkService.GetAllAssistantConversation, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nTalkServiceClient.prototype.getAllConversationMessage = function getAllConversationMessage(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(TalkService.GetAllConversationMessage, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nTalkServiceClient.prototype.createMessageMetric = function createMessageMetric(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(TalkService.CreateMessageMetric, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nTalkServiceClient.prototype.createConversationMetric = function createConversationMetric(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(TalkService.CreateConversationMetric, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nTalkServiceClient.prototype.createPhoneCall = function createPhoneCall(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(TalkService.CreatePhoneCall, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nTalkServiceClient.prototype.createBulkPhoneCall = function createBulkPhoneCall(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(TalkService.CreateBulkPhoneCall, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.TalkServiceClient = TalkServiceClient;\n\n","// package: assistant_api\n// file: assistant-api.proto\n\nvar assistant_api_pb = require(\"./assistant-api_pb\");\nvar common_pb = require(\"./common_pb\");\nvar assistant_tool_pb = require(\"./assistant-tool_pb\");\nvar assistant_http_log_pb = require(\"./assistant-http-log_pb\");\nvar assistant_knowledge_pb = require(\"./assistant-knowledge_pb\");\nvar assistant_provider_pb = require(\"./assistant-provider_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar AssistantService = (function () {\n  function AssistantService() {}\n  AssistantService.serviceName = \"assistant_api.AssistantService\";\n  return AssistantService;\n}());\n\nAssistantService.GetAssistant = {\n  methodName: \"GetAssistant\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.GetAssistantRequest,\n  responseType: assistant_api_pb.GetAssistantResponse\n};\n\nAssistantService.GetAllAssistant = {\n  methodName: \"GetAllAssistant\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.GetAllAssistantRequest,\n  responseType: assistant_api_pb.GetAllAssistantResponse\n};\n\nAssistantService.CreateAssistant = {\n  methodName: \"CreateAssistant\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.CreateAssistantRequest,\n  responseType: assistant_api_pb.GetAssistantResponse\n};\n\nAssistantService.DeleteAssistant = {\n  methodName: \"DeleteAssistant\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.DeleteAssistantRequest,\n  responseType: assistant_api_pb.GetAssistantResponse\n};\n\nAssistantService.GetAllAssistantProvider = {\n  methodName: \"GetAllAssistantProvider\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_provider_pb.GetAllAssistantProviderRequest,\n  responseType: assistant_provider_pb.GetAllAssistantProviderResponse\n};\n\nAssistantService.CreateAssistantProvider = {\n  methodName: \"CreateAssistantProvider\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_provider_pb.CreateAssistantProviderRequest,\n  responseType: assistant_provider_pb.GetAssistantProviderResponse\n};\n\nAssistantService.CreateAssistantTag = {\n  methodName: \"CreateAssistantTag\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.CreateAssistantTagRequest,\n  responseType: assistant_api_pb.GetAssistantResponse\n};\n\nAssistantService.UpdateAssistantVersion = {\n  methodName: \"UpdateAssistantVersion\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_provider_pb.UpdateAssistantVersionRequest,\n  responseType: assistant_api_pb.GetAssistantResponse\n};\n\nAssistantService.UpdateAssistantDetail = {\n  methodName: \"UpdateAssistantDetail\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.UpdateAssistantDetailRequest,\n  responseType: assistant_api_pb.GetAssistantResponse\n};\n\nAssistantService.GetAllAssistantMessage = {\n  methodName: \"GetAllAssistantMessage\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.GetAllAssistantMessageRequest,\n  responseType: assistant_api_pb.GetAllAssistantMessageResponse\n};\n\nAssistantService.GetAllConversationMessage = {\n  methodName: \"GetAllConversationMessage\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: common_pb.GetAllConversationMessageRequest,\n  responseType: common_pb.GetAllConversationMessageResponse\n};\n\nAssistantService.GetAllMessage = {\n  methodName: \"GetAllMessage\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.GetAllMessageRequest,\n  responseType: assistant_api_pb.GetAllMessageResponse\n};\n\nAssistantService.GetAssistantDashboard = {\n  methodName: \"GetAssistantDashboard\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.GetAssistantDashboardRequest,\n  responseType: assistant_api_pb.GetAssistantDashboardResponse\n};\n\nAssistantService.GetAssistantConfiguration = {\n  methodName: \"GetAssistantConfiguration\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.GetAssistantConfigurationRequest,\n  responseType: assistant_api_pb.GetAssistantConfigurationResponse\n};\n\nAssistantService.GetAllAssistantConfiguration = {\n  methodName: \"GetAllAssistantConfiguration\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.GetAllAssistantConfigurationRequest,\n  responseType: assistant_api_pb.GetAllAssistantConfigurationResponse\n};\n\nAssistantService.CreateAssistantConfiguration = {\n  methodName: \"CreateAssistantConfiguration\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.CreateAssistantConfigurationRequest,\n  responseType: assistant_api_pb.GetAssistantConfigurationResponse\n};\n\nAssistantService.UpdateAssistantConfiguration = {\n  methodName: \"UpdateAssistantConfiguration\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.UpdateAssistantConfigurationRequest,\n  responseType: assistant_api_pb.GetAssistantConfigurationResponse\n};\n\nAssistantService.DeleteAssistantConfiguration = {\n  methodName: \"DeleteAssistantConfiguration\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.DeleteAssistantConfigurationRequest,\n  responseType: assistant_api_pb.GetAssistantConfigurationResponse\n};\n\nAssistantService.GetAllAssistantConversation = {\n  methodName: \"GetAllAssistantConversation\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: common_pb.GetAllAssistantConversationRequest,\n  responseType: common_pb.GetAllAssistantConversationResponse\n};\n\nAssistantService.GetAssistantConversation = {\n  methodName: \"GetAssistantConversation\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.GetAssistantConversationRequest,\n  responseType: assistant_api_pb.GetAssistantConversationResponse\n};\n\nAssistantService.GetAssistantHTTPLog = {\n  methodName: \"GetAssistantHTTPLog\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_http_log_pb.GetAssistantHTTPLogRequest,\n  responseType: assistant_http_log_pb.GetAssistantHTTPLogResponse\n};\n\nAssistantService.GetAllAssistantHTTPLog = {\n  methodName: \"GetAllAssistantHTTPLog\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_http_log_pb.GetAllAssistantHTTPLogRequest,\n  responseType: assistant_http_log_pb.GetAllAssistantHTTPLogResponse\n};\n\nAssistantService.RetryAssistantHTTPLog = {\n  methodName: \"RetryAssistantHTTPLog\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_http_log_pb.RetryAssistantHTTPLogRequest,\n  responseType: assistant_http_log_pb.GetAssistantHTTPLogResponse\n};\n\nAssistantService.GetAssistantToolLog = {\n  methodName: \"GetAssistantToolLog\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_tool_pb.GetAssistantToolLogRequest,\n  responseType: assistant_tool_pb.GetAssistantToolLogResponse\n};\n\nAssistantService.GetAllAssistantToolLog = {\n  methodName: \"GetAllAssistantToolLog\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_tool_pb.GetAllAssistantToolLogRequest,\n  responseType: assistant_tool_pb.GetAllAssistantToolLogResponse\n};\n\nAssistantService.CreateAssistantTool = {\n  methodName: \"CreateAssistantTool\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_tool_pb.CreateAssistantToolRequest,\n  responseType: assistant_tool_pb.GetAssistantToolResponse\n};\n\nAssistantService.GetAssistantTool = {\n  methodName: \"GetAssistantTool\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_tool_pb.GetAssistantToolRequest,\n  responseType: assistant_tool_pb.GetAssistantToolResponse\n};\n\nAssistantService.GetAllAssistantTool = {\n  methodName: \"GetAllAssistantTool\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_tool_pb.GetAllAssistantToolRequest,\n  responseType: assistant_tool_pb.GetAllAssistantToolResponse\n};\n\nAssistantService.DeleteAssistantTool = {\n  methodName: \"DeleteAssistantTool\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_tool_pb.DeleteAssistantToolRequest,\n  responseType: assistant_tool_pb.GetAssistantToolResponse\n};\n\nAssistantService.UpdateAssistantTool = {\n  methodName: \"UpdateAssistantTool\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_tool_pb.UpdateAssistantToolRequest,\n  responseType: assistant_tool_pb.GetAssistantToolResponse\n};\n\nAssistantService.CreateAssistantKnowledge = {\n  methodName: \"CreateAssistantKnowledge\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_knowledge_pb.CreateAssistantKnowledgeRequest,\n  responseType: assistant_knowledge_pb.GetAssistantKnowledgeResponse\n};\n\nAssistantService.GetAssistantKnowledge = {\n  methodName: \"GetAssistantKnowledge\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_knowledge_pb.GetAssistantKnowledgeRequest,\n  responseType: assistant_knowledge_pb.GetAssistantKnowledgeResponse\n};\n\nAssistantService.GetAllAssistantKnowledge = {\n  methodName: \"GetAllAssistantKnowledge\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_knowledge_pb.GetAllAssistantKnowledgeRequest,\n  responseType: assistant_knowledge_pb.GetAllAssistantKnowledgeResponse\n};\n\nAssistantService.DeleteAssistantKnowledge = {\n  methodName: \"DeleteAssistantKnowledge\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_knowledge_pb.DeleteAssistantKnowledgeRequest,\n  responseType: assistant_knowledge_pb.GetAssistantKnowledgeResponse\n};\n\nAssistantService.UpdateAssistantKnowledge = {\n  methodName: \"UpdateAssistantKnowledge\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_knowledge_pb.UpdateAssistantKnowledgeRequest,\n  responseType: assistant_knowledge_pb.GetAssistantKnowledgeResponse\n};\n\nexports.AssistantService = AssistantService;\n\nfunction AssistantServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nAssistantServiceClient.prototype.getAssistant = function getAssistant(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAssistant, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllAssistant = function getAllAssistant(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllAssistant, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.createAssistant = function createAssistant(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.CreateAssistant, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.deleteAssistant = function deleteAssistant(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.DeleteAssistant, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllAssistantProvider = function getAllAssistantProvider(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllAssistantProvider, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.createAssistantProvider = function createAssistantProvider(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.CreateAssistantProvider, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.createAssistantTag = function createAssistantTag(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.CreateAssistantTag, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.updateAssistantVersion = function updateAssistantVersion(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.UpdateAssistantVersion, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.updateAssistantDetail = function updateAssistantDetail(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.UpdateAssistantDetail, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllAssistantMessage = function getAllAssistantMessage(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllAssistantMessage, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllConversationMessage = function getAllConversationMessage(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllConversationMessage, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllMessage = function getAllMessage(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllMessage, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAssistantDashboard = function getAssistantDashboard(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAssistantDashboard, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAssistantConfiguration = function getAssistantConfiguration(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAssistantConfiguration, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllAssistantConfiguration = function getAllAssistantConfiguration(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllAssistantConfiguration, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.createAssistantConfiguration = function createAssistantConfiguration(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.CreateAssistantConfiguration, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.updateAssistantConfiguration = function updateAssistantConfiguration(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.UpdateAssistantConfiguration, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.deleteAssistantConfiguration = function deleteAssistantConfiguration(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.DeleteAssistantConfiguration, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllAssistantConversation = function getAllAssistantConversation(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllAssistantConversation, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAssistantConversation = function getAssistantConversation(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAssistantConversation, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAssistantHTTPLog = function getAssistantHTTPLog(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAssistantHTTPLog, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllAssistantHTTPLog = function getAllAssistantHTTPLog(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllAssistantHTTPLog, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.retryAssistantHTTPLog = function retryAssistantHTTPLog(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.RetryAssistantHTTPLog, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAssistantToolLog = function getAssistantToolLog(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAssistantToolLog, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllAssistantToolLog = function getAllAssistantToolLog(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllAssistantToolLog, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.createAssistantTool = function createAssistantTool(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.CreateAssistantTool, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAssistantTool = function getAssistantTool(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAssistantTool, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllAssistantTool = function getAllAssistantTool(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllAssistantTool, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.deleteAssistantTool = function deleteAssistantTool(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.DeleteAssistantTool, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.updateAssistantTool = function updateAssistantTool(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.UpdateAssistantTool, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.createAssistantKnowledge = function createAssistantKnowledge(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.CreateAssistantKnowledge, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAssistantKnowledge = function getAssistantKnowledge(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAssistantKnowledge, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllAssistantKnowledge = function getAllAssistantKnowledge(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllAssistantKnowledge, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.deleteAssistantKnowledge = function deleteAssistantKnowledge(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.DeleteAssistantKnowledge, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.updateAssistantKnowledge = function updateAssistantKnowledge(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.UpdateAssistantKnowledge, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.AssistantServiceClient = AssistantServiceClient;\n\n","// source: web-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.web_api.AddUserToProjectsRequest', null, global);\ngoog.exportSymbol('proto.web_api.AddUserToProjectsResponse', null, global);\ngoog.exportSymbol('proto.web_api.ArchiveProjectRequest', null, global);\ngoog.exportSymbol('proto.web_api.ArchiveProjectResponse', null, global);\ngoog.exportSymbol('proto.web_api.AuthBillingPlan', null, global);\ngoog.exportSymbol('proto.web_api.AuthenticateRequest', null, global);\ngoog.exportSymbol('proto.web_api.AuthenticateResponse', null, global);\ngoog.exportSymbol('proto.web_api.Authentication', null, global);\ngoog.exportSymbol('proto.web_api.AuthorizeRequest', null, global);\ngoog.exportSymbol('proto.web_api.ChangePasswordRequest', null, global);\ngoog.exportSymbol('proto.web_api.ChangePasswordResponse', null, global);\ngoog.exportSymbol('proto.web_api.CreateOrganizationRequest', null, global);\ngoog.exportSymbol('proto.web_api.CreateOrganizationResponse', null, global);\ngoog.exportSymbol('proto.web_api.CreatePasswordRequest', null, global);\ngoog.exportSymbol('proto.web_api.CreatePasswordResponse', null, global);\ngoog.exportSymbol('proto.web_api.CreateProjectCredentialRequest', null, global);\ngoog.exportSymbol('proto.web_api.CreateProjectCredentialResponse', null, global);\ngoog.exportSymbol('proto.web_api.CreateProjectRequest', null, global);\ngoog.exportSymbol('proto.web_api.CreateProjectResponse', null, global);\ngoog.exportSymbol('proto.web_api.DeleteUserFromOrganizationRequest', null, global);\ngoog.exportSymbol('proto.web_api.DeleteUserFromOrganizationResponse', null, global);\ngoog.exportSymbol('proto.web_api.DeleteUserFromProjectRequest', null, global);\ngoog.exportSymbol('proto.web_api.DeleteUserFromProjectResponse', null, global);\ngoog.exportSymbol('proto.web_api.FeaturePermission', null, global);\ngoog.exportSymbol('proto.web_api.ForgotPasswordRequest', null, global);\ngoog.exportSymbol('proto.web_api.ForgotPasswordResponse', null, global);\ngoog.exportSymbol('proto.web_api.GetAllProjectCredentialRequest', null, global);\ngoog.exportSymbol('proto.web_api.GetAllProjectCredentialResponse', null, global);\ngoog.exportSymbol('proto.web_api.GetAllProjectRequest', null, global);\ngoog.exportSymbol('proto.web_api.GetAllProjectResponse', null, global);\ngoog.exportSymbol('proto.web_api.GetAllUserRequest', null, global);\ngoog.exportSymbol('proto.web_api.GetAllUserResponse', null, global);\ngoog.exportSymbol('proto.web_api.GetOrganizationRequest', null, global);\ngoog.exportSymbol('proto.web_api.GetOrganizationResponse', null, global);\ngoog.exportSymbol('proto.web_api.GetProjectRequest', null, global);\ngoog.exportSymbol('proto.web_api.GetProjectResponse', null, global);\ngoog.exportSymbol('proto.web_api.GetUserRequest', null, global);\ngoog.exportSymbol('proto.web_api.GetUserResponse', null, global);\ngoog.exportSymbol('proto.web_api.InviteUserToOrganizationRequest', null, global);\ngoog.exportSymbol('proto.web_api.InviteUserToOrganizationResponse', null, global);\ngoog.exportSymbol('proto.web_api.OrganizationRole', null, global);\ngoog.exportSymbol('proto.web_api.Project', null, global);\ngoog.exportSymbol('proto.web_api.ProjectCredential', null, global);\ngoog.exportSymbol('proto.web_api.ProjectRole', null, global);\ngoog.exportSymbol('proto.web_api.ProjectRoleAssignment', null, global);\ngoog.exportSymbol('proto.web_api.RegisterUserRequest', null, global);\ngoog.exportSymbol('proto.web_api.ScopeAuthorizeRequest', null, global);\ngoog.exportSymbol('proto.web_api.ScopedAuthentication', null, global);\ngoog.exportSymbol('proto.web_api.ScopedAuthenticationResponse', null, global);\ngoog.exportSymbol('proto.web_api.SocialAuthenticationRequest', null, global);\ngoog.exportSymbol('proto.web_api.Token', null, global);\ngoog.exportSymbol('proto.web_api.UpdateBillingInformationRequest', null, global);\ngoog.exportSymbol('proto.web_api.UpdateBillingInformationRequest.BillingInterval', null, global);\ngoog.exportSymbol('proto.web_api.UpdateOrganizationRequest', null, global);\ngoog.exportSymbol('proto.web_api.UpdateOrganizationResponse', null, global);\ngoog.exportSymbol('proto.web_api.UpdateProjectRequest', null, global);\ngoog.exportSymbol('proto.web_api.UpdateProjectResponse', null, global);\ngoog.exportSymbol('proto.web_api.UpdateUserOrganizationRoleRequest', null, global);\ngoog.exportSymbol('proto.web_api.UpdateUserOrganizationRoleResponse', null, global);\ngoog.exportSymbol('proto.web_api.UpdateUserRequest', null, global);\ngoog.exportSymbol('proto.web_api.UpdateUserResponse', null, global);\ngoog.exportSymbol('proto.web_api.VerifyTokenRequest', null, global);\ngoog.exportSymbol('proto.web_api.VerifyTokenResponse', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.AuthenticateRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.AuthenticateRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.AuthenticateRequest.displayName = 'proto.web_api.AuthenticateRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.RegisterUserRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.RegisterUserRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.RegisterUserRequest.displayName = 'proto.web_api.RegisterUserRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.Token = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.Token, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.Token.displayName = 'proto.web_api.Token';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.OrganizationRole = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.OrganizationRole, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.OrganizationRole.displayName = 'proto.web_api.OrganizationRole';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ProjectRole = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ProjectRole, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ProjectRole.displayName = 'proto.web_api.ProjectRole';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.FeaturePermission = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.FeaturePermission, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.FeaturePermission.displayName = 'proto.web_api.FeaturePermission';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.AuthBillingPlan = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.AuthBillingPlan, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.AuthBillingPlan.displayName = 'proto.web_api.AuthBillingPlan';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.Authentication = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.Authentication.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.Authentication, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.Authentication.displayName = 'proto.web_api.Authentication';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ScopedAuthentication = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ScopedAuthentication, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ScopedAuthentication.displayName = 'proto.web_api.ScopedAuthentication';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.AuthenticateResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.AuthenticateResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.AuthenticateResponse.displayName = 'proto.web_api.AuthenticateResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ForgotPasswordRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ForgotPasswordRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ForgotPasswordRequest.displayName = 'proto.web_api.ForgotPasswordRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ForgotPasswordResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ForgotPasswordResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ForgotPasswordResponse.displayName = 'proto.web_api.ForgotPasswordResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ChangePasswordRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ChangePasswordRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ChangePasswordRequest.displayName = 'proto.web_api.ChangePasswordRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ChangePasswordResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ChangePasswordResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ChangePasswordResponse.displayName = 'proto.web_api.ChangePasswordResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.CreatePasswordRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.CreatePasswordRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.CreatePasswordRequest.displayName = 'proto.web_api.CreatePasswordRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.CreatePasswordResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.CreatePasswordResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.CreatePasswordResponse.displayName = 'proto.web_api.CreatePasswordResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.VerifyTokenRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.VerifyTokenRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.VerifyTokenRequest.displayName = 'proto.web_api.VerifyTokenRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.VerifyTokenResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.VerifyTokenResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.VerifyTokenResponse.displayName = 'proto.web_api.VerifyTokenResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.AuthorizeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.AuthorizeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.AuthorizeRequest.displayName = 'proto.web_api.AuthorizeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ScopeAuthorizeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ScopeAuthorizeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ScopeAuthorizeRequest.displayName = 'proto.web_api.ScopeAuthorizeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ScopedAuthenticationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ScopedAuthenticationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ScopedAuthenticationResponse.displayName = 'proto.web_api.ScopedAuthenticationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetUserRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.GetUserRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetUserRequest.displayName = 'proto.web_api.GetUserRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetUserResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.GetUserResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetUserResponse.displayName = 'proto.web_api.GetUserResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.UpdateUserRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.UpdateUserRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.UpdateUserRequest.displayName = 'proto.web_api.UpdateUserRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.UpdateUserResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.UpdateUserResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.UpdateUserResponse.displayName = 'proto.web_api.UpdateUserResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.SocialAuthenticationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.SocialAuthenticationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.SocialAuthenticationRequest.displayName = 'proto.web_api.SocialAuthenticationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetAllUserRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.GetAllUserRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.GetAllUserRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetAllUserRequest.displayName = 'proto.web_api.GetAllUserRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetAllUserResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.GetAllUserResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.GetAllUserResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetAllUserResponse.displayName = 'proto.web_api.GetAllUserResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.CreateOrganizationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.CreateOrganizationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.CreateOrganizationRequest.displayName = 'proto.web_api.CreateOrganizationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.UpdateOrganizationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.UpdateOrganizationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.UpdateOrganizationRequest.displayName = 'proto.web_api.UpdateOrganizationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetOrganizationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.GetOrganizationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetOrganizationRequest.displayName = 'proto.web_api.GetOrganizationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetOrganizationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.GetOrganizationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetOrganizationResponse.displayName = 'proto.web_api.GetOrganizationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.CreateOrganizationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.CreateOrganizationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.CreateOrganizationResponse.displayName = 'proto.web_api.CreateOrganizationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.UpdateOrganizationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.UpdateOrganizationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.UpdateOrganizationResponse.displayName = 'proto.web_api.UpdateOrganizationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.UpdateBillingInformationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.UpdateBillingInformationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.UpdateBillingInformationRequest.displayName = 'proto.web_api.UpdateBillingInformationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.Project = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.Project.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.Project, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.Project.displayName = 'proto.web_api.Project';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.CreateProjectRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.CreateProjectRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.CreateProjectRequest.displayName = 'proto.web_api.CreateProjectRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.CreateProjectResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.CreateProjectResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.CreateProjectResponse.displayName = 'proto.web_api.CreateProjectResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.UpdateProjectRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.UpdateProjectRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.UpdateProjectRequest.displayName = 'proto.web_api.UpdateProjectRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.UpdateProjectResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.UpdateProjectResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.UpdateProjectResponse.displayName = 'proto.web_api.UpdateProjectResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetProjectRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.GetProjectRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetProjectRequest.displayName = 'proto.web_api.GetProjectRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetProjectResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.GetProjectResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetProjectResponse.displayName = 'proto.web_api.GetProjectResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetAllProjectRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.GetAllProjectRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.GetAllProjectRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetAllProjectRequest.displayName = 'proto.web_api.GetAllProjectRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetAllProjectResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.GetAllProjectResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.GetAllProjectResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetAllProjectResponse.displayName = 'proto.web_api.GetAllProjectResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ProjectRoleAssignment = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ProjectRoleAssignment, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ProjectRoleAssignment.displayName = 'proto.web_api.ProjectRoleAssignment';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.InviteUserToOrganizationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.InviteUserToOrganizationRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.InviteUserToOrganizationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.InviteUserToOrganizationRequest.displayName = 'proto.web_api.InviteUserToOrganizationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.InviteUserToOrganizationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.InviteUserToOrganizationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.InviteUserToOrganizationResponse.displayName = 'proto.web_api.InviteUserToOrganizationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.AddUserToProjectsRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.AddUserToProjectsRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.AddUserToProjectsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.AddUserToProjectsRequest.displayName = 'proto.web_api.AddUserToProjectsRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.UpdateUserOrganizationRoleRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.UpdateUserOrganizationRoleRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.UpdateUserOrganizationRoleRequest.displayName = 'proto.web_api.UpdateUserOrganizationRoleRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.UpdateUserOrganizationRoleResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.UpdateUserOrganizationRoleResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.UpdateUserOrganizationRoleResponse.displayName = 'proto.web_api.UpdateUserOrganizationRoleResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.DeleteUserFromOrganizationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.DeleteUserFromOrganizationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.DeleteUserFromOrganizationRequest.displayName = 'proto.web_api.DeleteUserFromOrganizationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.DeleteUserFromOrganizationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.DeleteUserFromOrganizationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.DeleteUserFromOrganizationResponse.displayName = 'proto.web_api.DeleteUserFromOrganizationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.DeleteUserFromProjectRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.DeleteUserFromProjectRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.DeleteUserFromProjectRequest.displayName = 'proto.web_api.DeleteUserFromProjectRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.DeleteUserFromProjectResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.DeleteUserFromProjectResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.DeleteUserFromProjectResponse.displayName = 'proto.web_api.DeleteUserFromProjectResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ArchiveProjectRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ArchiveProjectRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ArchiveProjectRequest.displayName = 'proto.web_api.ArchiveProjectRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ArchiveProjectResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ArchiveProjectResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ArchiveProjectResponse.displayName = 'proto.web_api.ArchiveProjectResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.AddUserToProjectsResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.AddUserToProjectsResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.AddUserToProjectsResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.AddUserToProjectsResponse.displayName = 'proto.web_api.AddUserToProjectsResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ProjectCredential = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, 500, null, null);\n};\ngoog.inherits(proto.web_api.ProjectCredential, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ProjectCredential.displayName = 'proto.web_api.ProjectCredential';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.CreateProjectCredentialRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.CreateProjectCredentialRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.CreateProjectCredentialRequest.displayName = 'proto.web_api.CreateProjectCredentialRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetAllProjectCredentialRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.GetAllProjectCredentialRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.GetAllProjectCredentialRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetAllProjectCredentialRequest.displayName = 'proto.web_api.GetAllProjectCredentialRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.CreateProjectCredentialResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.CreateProjectCredentialResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.CreateProjectCredentialResponse.displayName = 'proto.web_api.CreateProjectCredentialResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetAllProjectCredentialResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.GetAllProjectCredentialResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.GetAllProjectCredentialResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetAllProjectCredentialResponse.displayName = 'proto.web_api.GetAllProjectCredentialResponse';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.AuthenticateRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.AuthenticateRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.AuthenticateRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AuthenticateRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    email: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    password: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.AuthenticateRequest}\n */\nproto.web_api.AuthenticateRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.AuthenticateRequest;\n  return proto.web_api.AuthenticateRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.AuthenticateRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.AuthenticateRequest}\n */\nproto.web_api.AuthenticateRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmail(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPassword(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.AuthenticateRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.AuthenticateRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.AuthenticateRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AuthenticateRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEmail();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getPassword();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string email = 1;\n * @return {string}\n */\nproto.web_api.AuthenticateRequest.prototype.getEmail = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.AuthenticateRequest} returns this\n */\nproto.web_api.AuthenticateRequest.prototype.setEmail = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string password = 2;\n * @return {string}\n */\nproto.web_api.AuthenticateRequest.prototype.getPassword = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.AuthenticateRequest} returns this\n */\nproto.web_api.AuthenticateRequest.prototype.setPassword = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.RegisterUserRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.RegisterUserRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.RegisterUserRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.RegisterUserRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    email: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    password: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    name: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.RegisterUserRequest}\n */\nproto.web_api.RegisterUserRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.RegisterUserRequest;\n  return proto.web_api.RegisterUserRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.RegisterUserRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.RegisterUserRequest}\n */\nproto.web_api.RegisterUserRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmail(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPassword(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.RegisterUserRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.RegisterUserRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.RegisterUserRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.RegisterUserRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEmail();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getPassword();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string email = 1;\n * @return {string}\n */\nproto.web_api.RegisterUserRequest.prototype.getEmail = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.RegisterUserRequest} returns this\n */\nproto.web_api.RegisterUserRequest.prototype.setEmail = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string password = 2;\n * @return {string}\n */\nproto.web_api.RegisterUserRequest.prototype.getPassword = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.RegisterUserRequest} returns this\n */\nproto.web_api.RegisterUserRequest.prototype.setPassword = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string name = 3;\n * @return {string}\n */\nproto.web_api.RegisterUserRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.RegisterUserRequest} returns this\n */\nproto.web_api.RegisterUserRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.Token.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.Token.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.Token} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.Token.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    token: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    tokentype: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    isexpired: jspb.Message.getBooleanFieldWithDefault(msg, 4, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.Token}\n */\nproto.web_api.Token.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.Token;\n  return proto.web_api.Token.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.Token} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.Token}\n */\nproto.web_api.Token.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setTokentype(value);\n      break;\n    case 4:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIsexpired(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.Token.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.Token.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.Token} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.Token.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getTokentype();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getIsexpired();\n  if (f) {\n    writer.writeBool(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.web_api.Token.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.Token} returns this\n */\nproto.web_api.Token.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string token = 2;\n * @return {string}\n */\nproto.web_api.Token.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.Token} returns this\n */\nproto.web_api.Token.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string tokenType = 3;\n * @return {string}\n */\nproto.web_api.Token.prototype.getTokentype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.Token} returns this\n */\nproto.web_api.Token.prototype.setTokentype = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional bool isExpired = 4;\n * @return {boolean}\n */\nproto.web_api.Token.prototype.getIsexpired = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.Token} returns this\n */\nproto.web_api.Token.prototype.setIsexpired = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.OrganizationRole.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.OrganizationRole.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.OrganizationRole} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.OrganizationRole.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    role: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    organizationname: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.OrganizationRole}\n */\nproto.web_api.OrganizationRole.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.OrganizationRole;\n  return proto.web_api.OrganizationRole.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.OrganizationRole} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.OrganizationRole}\n */\nproto.web_api.OrganizationRole.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRole(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationname(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.OrganizationRole.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.OrganizationRole.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.OrganizationRole} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.OrganizationRole.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getRole();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getOrganizationname();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.web_api.OrganizationRole.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.OrganizationRole} returns this\n */\nproto.web_api.OrganizationRole.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 organizationId = 2;\n * @return {string}\n */\nproto.web_api.OrganizationRole.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.OrganizationRole} returns this\n */\nproto.web_api.OrganizationRole.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional string role = 3;\n * @return {string}\n */\nproto.web_api.OrganizationRole.prototype.getRole = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.OrganizationRole} returns this\n */\nproto.web_api.OrganizationRole.prototype.setRole = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string organizationName = 4;\n * @return {string}\n */\nproto.web_api.OrganizationRole.prototype.getOrganizationname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.OrganizationRole} returns this\n */\nproto.web_api.OrganizationRole.prototype.setOrganizationname = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ProjectRole.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ProjectRole.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ProjectRole} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ProjectRole.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    role: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    projectname: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ProjectRole}\n */\nproto.web_api.ProjectRole.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ProjectRole;\n  return proto.web_api.ProjectRole.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ProjectRole} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ProjectRole}\n */\nproto.web_api.ProjectRole.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRole(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProjectname(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ProjectRole.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ProjectRole.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ProjectRole} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ProjectRole.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getRole();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getProjectname();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.web_api.ProjectRole.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectRole} returns this\n */\nproto.web_api.ProjectRole.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 projectId = 2;\n * @return {string}\n */\nproto.web_api.ProjectRole.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectRole} returns this\n */\nproto.web_api.ProjectRole.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional string role = 3;\n * @return {string}\n */\nproto.web_api.ProjectRole.prototype.getRole = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectRole} returns this\n */\nproto.web_api.ProjectRole.prototype.setRole = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string projectName = 4;\n * @return {string}\n */\nproto.web_api.ProjectRole.prototype.getProjectname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectRole} returns this\n */\nproto.web_api.ProjectRole.prototype.setProjectname = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.FeaturePermission.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.FeaturePermission.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.FeaturePermission} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.FeaturePermission.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    feature: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    isenable: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.FeaturePermission}\n */\nproto.web_api.FeaturePermission.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.FeaturePermission;\n  return proto.web_api.FeaturePermission.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.FeaturePermission} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.FeaturePermission}\n */\nproto.web_api.FeaturePermission.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setFeature(value);\n      break;\n    case 3:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIsenable(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.FeaturePermission.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.FeaturePermission.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.FeaturePermission} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.FeaturePermission.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getFeature();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getIsenable();\n  if (f) {\n    writer.writeBool(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.web_api.FeaturePermission.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.FeaturePermission} returns this\n */\nproto.web_api.FeaturePermission.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string feature = 2;\n * @return {string}\n */\nproto.web_api.FeaturePermission.prototype.getFeature = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.FeaturePermission} returns this\n */\nproto.web_api.FeaturePermission.prototype.setFeature = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional bool isEnable = 3;\n * @return {boolean}\n */\nproto.web_api.FeaturePermission.prototype.getIsenable = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.FeaturePermission} returns this\n */\nproto.web_api.FeaturePermission.prototype.setIsenable = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.AuthBillingPlan.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.AuthBillingPlan.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.AuthBillingPlan} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AuthBillingPlan.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    planslug: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    planname: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    quotasMap: (f = msg.getQuotasMap()) ? f.toObject(includeInstance, undefined) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.AuthBillingPlan}\n */\nproto.web_api.AuthBillingPlan.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.AuthBillingPlan;\n  return proto.web_api.AuthBillingPlan.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.AuthBillingPlan} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.AuthBillingPlan}\n */\nproto.web_api.AuthBillingPlan.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPlanslug(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPlanname(value);\n      break;\n    case 3:\n      var value = msg.getQuotasMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readInt64, null, \"\", 0);\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.AuthBillingPlan.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.AuthBillingPlan.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.AuthBillingPlan} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AuthBillingPlan.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPlanslug();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getPlanname();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getQuotasMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(3, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeInt64);\n  }\n};\n\n\n/**\n * optional string planSlug = 1;\n * @return {string}\n */\nproto.web_api.AuthBillingPlan.prototype.getPlanslug = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.AuthBillingPlan} returns this\n */\nproto.web_api.AuthBillingPlan.prototype.setPlanslug = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string planName = 2;\n * @return {string}\n */\nproto.web_api.AuthBillingPlan.prototype.getPlanname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.AuthBillingPlan} returns this\n */\nproto.web_api.AuthBillingPlan.prototype.setPlanname = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * map<string, int64> quotas = 3;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,number>}\n */\nproto.web_api.AuthBillingPlan.prototype.getQuotasMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,number>} */ (\n      jspb.Message.getMapField(this, 3, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.web_api.AuthBillingPlan} returns this\n */\nproto.web_api.AuthBillingPlan.prototype.clearQuotasMap = function() {\n  this.getQuotasMap().clear();\n  return this;};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.Authentication.repeatedFields_ = [4,5];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.Authentication.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.Authentication.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.Authentication} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.Authentication.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    user: (f = msg.getUser()) && common_pb.User.toObject(includeInstance, f),\n    token: (f = msg.getToken()) && proto.web_api.Token.toObject(includeInstance, f),\n    organizationrole: (f = msg.getOrganizationrole()) && proto.web_api.OrganizationRole.toObject(includeInstance, f),\n    projectrolesList: jspb.Message.toObjectList(msg.getProjectrolesList(),\n    proto.web_api.ProjectRole.toObject, includeInstance),\n    featurepermissionsList: jspb.Message.toObjectList(msg.getFeaturepermissionsList(),\n    proto.web_api.FeaturePermission.toObject, includeInstance),\n    billingplan: (f = msg.getBillingplan()) && proto.web_api.AuthBillingPlan.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.Authentication}\n */\nproto.web_api.Authentication.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.Authentication;\n  return proto.web_api.Authentication.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.Authentication} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.Authentication}\n */\nproto.web_api.Authentication.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setUser(value);\n      break;\n    case 2:\n      var value = new proto.web_api.Token;\n      reader.readMessage(value,proto.web_api.Token.deserializeBinaryFromReader);\n      msg.setToken(value);\n      break;\n    case 3:\n      var value = new proto.web_api.OrganizationRole;\n      reader.readMessage(value,proto.web_api.OrganizationRole.deserializeBinaryFromReader);\n      msg.setOrganizationrole(value);\n      break;\n    case 4:\n      var value = new proto.web_api.ProjectRole;\n      reader.readMessage(value,proto.web_api.ProjectRole.deserializeBinaryFromReader);\n      msg.addProjectroles(value);\n      break;\n    case 5:\n      var value = new proto.web_api.FeaturePermission;\n      reader.readMessage(value,proto.web_api.FeaturePermission.deserializeBinaryFromReader);\n      msg.addFeaturepermissions(value);\n      break;\n    case 6:\n      var value = new proto.web_api.AuthBillingPlan;\n      reader.readMessage(value,proto.web_api.AuthBillingPlan.deserializeBinaryFromReader);\n      msg.setBillingplan(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.Authentication.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.Authentication.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.Authentication} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.Authentication.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getUser();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getToken();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.web_api.Token.serializeBinaryToWriter\n    );\n  }\n  f = message.getOrganizationrole();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.web_api.OrganizationRole.serializeBinaryToWriter\n    );\n  }\n  f = message.getProjectrolesList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      proto.web_api.ProjectRole.serializeBinaryToWriter\n    );\n  }\n  f = message.getFeaturepermissionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      5,\n      f,\n      proto.web_api.FeaturePermission.serializeBinaryToWriter\n    );\n  }\n  f = message.getBillingplan();\n  if (f != null) {\n    writer.writeMessage(\n      6,\n      f,\n      proto.web_api.AuthBillingPlan.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional User user = 1;\n * @return {?proto.User}\n */\nproto.web_api.Authentication.prototype.getUser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 1));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.web_api.Authentication} returns this\n*/\nproto.web_api.Authentication.prototype.setUser = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.Authentication} returns this\n */\nproto.web_api.Authentication.prototype.clearUser = function() {\n  return this.setUser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.Authentication.prototype.hasUser = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional Token token = 2;\n * @return {?proto.web_api.Token}\n */\nproto.web_api.Authentication.prototype.getToken = function() {\n  return /** @type{?proto.web_api.Token} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.Token, 2));\n};\n\n\n/**\n * @param {?proto.web_api.Token|undefined} value\n * @return {!proto.web_api.Authentication} returns this\n*/\nproto.web_api.Authentication.prototype.setToken = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.Authentication} returns this\n */\nproto.web_api.Authentication.prototype.clearToken = function() {\n  return this.setToken(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.Authentication.prototype.hasToken = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional OrganizationRole organizationRole = 3;\n * @return {?proto.web_api.OrganizationRole}\n */\nproto.web_api.Authentication.prototype.getOrganizationrole = function() {\n  return /** @type{?proto.web_api.OrganizationRole} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.OrganizationRole, 3));\n};\n\n\n/**\n * @param {?proto.web_api.OrganizationRole|undefined} value\n * @return {!proto.web_api.Authentication} returns this\n*/\nproto.web_api.Authentication.prototype.setOrganizationrole = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.Authentication} returns this\n */\nproto.web_api.Authentication.prototype.clearOrganizationrole = function() {\n  return this.setOrganizationrole(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.Authentication.prototype.hasOrganizationrole = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * repeated ProjectRole projectRoles = 4;\n * @return {!Array<!proto.web_api.ProjectRole>}\n */\nproto.web_api.Authentication.prototype.getProjectrolesList = function() {\n  return /** @type{!Array<!proto.web_api.ProjectRole>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.web_api.ProjectRole, 4));\n};\n\n\n/**\n * @param {!Array<!proto.web_api.ProjectRole>} value\n * @return {!proto.web_api.Authentication} returns this\n*/\nproto.web_api.Authentication.prototype.setProjectrolesList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.web_api.ProjectRole=} opt_value\n * @param {number=} opt_index\n * @return {!proto.web_api.ProjectRole}\n */\nproto.web_api.Authentication.prototype.addProjectroles = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.web_api.ProjectRole, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.Authentication} returns this\n */\nproto.web_api.Authentication.prototype.clearProjectrolesList = function() {\n  return this.setProjectrolesList([]);\n};\n\n\n/**\n * repeated FeaturePermission featurePermissions = 5;\n * @return {!Array<!proto.web_api.FeaturePermission>}\n */\nproto.web_api.Authentication.prototype.getFeaturepermissionsList = function() {\n  return /** @type{!Array<!proto.web_api.FeaturePermission>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.web_api.FeaturePermission, 5));\n};\n\n\n/**\n * @param {!Array<!proto.web_api.FeaturePermission>} value\n * @return {!proto.web_api.Authentication} returns this\n*/\nproto.web_api.Authentication.prototype.setFeaturepermissionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 5, value);\n};\n\n\n/**\n * @param {!proto.web_api.FeaturePermission=} opt_value\n * @param {number=} opt_index\n * @return {!proto.web_api.FeaturePermission}\n */\nproto.web_api.Authentication.prototype.addFeaturepermissions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.web_api.FeaturePermission, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.Authentication} returns this\n */\nproto.web_api.Authentication.prototype.clearFeaturepermissionsList = function() {\n  return this.setFeaturepermissionsList([]);\n};\n\n\n/**\n * optional AuthBillingPlan billingPlan = 6;\n * @return {?proto.web_api.AuthBillingPlan}\n */\nproto.web_api.Authentication.prototype.getBillingplan = function() {\n  return /** @type{?proto.web_api.AuthBillingPlan} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.AuthBillingPlan, 6));\n};\n\n\n/**\n * @param {?proto.web_api.AuthBillingPlan|undefined} value\n * @return {!proto.web_api.Authentication} returns this\n*/\nproto.web_api.Authentication.prototype.setBillingplan = function(value) {\n  return jspb.Message.setWrapperField(this, 6, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.Authentication} returns this\n */\nproto.web_api.Authentication.prototype.clearBillingplan = function() {\n  return this.setBillingplan(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.Authentication.prototype.hasBillingplan = function() {\n  return jspb.Message.getField(this, 6) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ScopedAuthentication.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ScopedAuthentication.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ScopedAuthentication} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ScopedAuthentication.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    userid: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    projectid: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    status: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    actortype: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    actorid: jspb.Message.getFieldWithDefault(msg, 6, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ScopedAuthentication}\n */\nproto.web_api.ScopedAuthentication.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ScopedAuthentication;\n  return proto.web_api.ScopedAuthentication.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ScopedAuthentication} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ScopedAuthentication}\n */\nproto.web_api.ScopedAuthentication.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setUserid(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setOrganizationid(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setProjectid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setActortype(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setActorid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ScopedAuthentication.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ScopedAuthentication.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ScopedAuthentication} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ScopedAuthentication.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getUserid();\n  if (f !== 0) {\n    writer.writeUint64(\n      1,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (f !== 0) {\n    writer.writeUint64(\n      2,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (f !== 0) {\n    writer.writeUint64(\n      3,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 5));\n  if (f != null) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 6));\n  if (f != null) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 userId = 1;\n * @return {number}\n */\nproto.web_api.ScopedAuthentication.prototype.getUserid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.ScopedAuthentication} returns this\n */\nproto.web_api.ScopedAuthentication.prototype.setUserid = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 organizationId = 2;\n * @return {number}\n */\nproto.web_api.ScopedAuthentication.prototype.getOrganizationid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.ScopedAuthentication} returns this\n */\nproto.web_api.ScopedAuthentication.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional uint64 projectId = 3;\n * @return {number}\n */\nproto.web_api.ScopedAuthentication.prototype.getProjectid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.ScopedAuthentication} returns this\n */\nproto.web_api.ScopedAuthentication.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional string status = 4;\n * @return {string}\n */\nproto.web_api.ScopedAuthentication.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ScopedAuthentication} returns this\n */\nproto.web_api.ScopedAuthentication.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string actorType = 5;\n * @return {string}\n */\nproto.web_api.ScopedAuthentication.prototype.getActortype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ScopedAuthentication} returns this\n */\nproto.web_api.ScopedAuthentication.prototype.setActortype = function(value) {\n  return jspb.Message.setField(this, 5, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.ScopedAuthentication} returns this\n */\nproto.web_api.ScopedAuthentication.prototype.clearActortype = function() {\n  return jspb.Message.setField(this, 5, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.ScopedAuthentication.prototype.hasActortype = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * optional string actorId = 6;\n * @return {string}\n */\nproto.web_api.ScopedAuthentication.prototype.getActorid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ScopedAuthentication} returns this\n */\nproto.web_api.ScopedAuthentication.prototype.setActorid = function(value) {\n  return jspb.Message.setField(this, 6, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.ScopedAuthentication} returns this\n */\nproto.web_api.ScopedAuthentication.prototype.clearActorid = function() {\n  return jspb.Message.setField(this, 6, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.ScopedAuthentication.prototype.hasActorid = function() {\n  return jspb.Message.getField(this, 6) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.AuthenticateResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.AuthenticateResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.AuthenticateResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AuthenticateResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.web_api.Authentication.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.AuthenticateResponse}\n */\nproto.web_api.AuthenticateResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.AuthenticateResponse;\n  return proto.web_api.AuthenticateResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.AuthenticateResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.AuthenticateResponse}\n */\nproto.web_api.AuthenticateResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.Authentication;\n      reader.readMessage(value,proto.web_api.Authentication.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.AuthenticateResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.AuthenticateResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.AuthenticateResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AuthenticateResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.web_api.Authentication.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.AuthenticateResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.AuthenticateResponse} returns this\n */\nproto.web_api.AuthenticateResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.AuthenticateResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.AuthenticateResponse} returns this\n */\nproto.web_api.AuthenticateResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Authentication data = 3;\n * @return {?proto.web_api.Authentication}\n */\nproto.web_api.AuthenticateResponse.prototype.getData = function() {\n  return /** @type{?proto.web_api.Authentication} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.Authentication, 3));\n};\n\n\n/**\n * @param {?proto.web_api.Authentication|undefined} value\n * @return {!proto.web_api.AuthenticateResponse} returns this\n*/\nproto.web_api.AuthenticateResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.AuthenticateResponse} returns this\n */\nproto.web_api.AuthenticateResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.AuthenticateResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.AuthenticateResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.AuthenticateResponse} returns this\n*/\nproto.web_api.AuthenticateResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.AuthenticateResponse} returns this\n */\nproto.web_api.AuthenticateResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.AuthenticateResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ForgotPasswordRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ForgotPasswordRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ForgotPasswordRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ForgotPasswordRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    email: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ForgotPasswordRequest}\n */\nproto.web_api.ForgotPasswordRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ForgotPasswordRequest;\n  return proto.web_api.ForgotPasswordRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ForgotPasswordRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ForgotPasswordRequest}\n */\nproto.web_api.ForgotPasswordRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmail(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ForgotPasswordRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ForgotPasswordRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ForgotPasswordRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ForgotPasswordRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEmail();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string email = 1;\n * @return {string}\n */\nproto.web_api.ForgotPasswordRequest.prototype.getEmail = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ForgotPasswordRequest} returns this\n */\nproto.web_api.ForgotPasswordRequest.prototype.setEmail = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ForgotPasswordResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ForgotPasswordResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ForgotPasswordResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ForgotPasswordResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ForgotPasswordResponse}\n */\nproto.web_api.ForgotPasswordResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ForgotPasswordResponse;\n  return proto.web_api.ForgotPasswordResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ForgotPasswordResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ForgotPasswordResponse}\n */\nproto.web_api.ForgotPasswordResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ForgotPasswordResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ForgotPasswordResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ForgotPasswordResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ForgotPasswordResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.ForgotPasswordResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.ForgotPasswordResponse} returns this\n */\nproto.web_api.ForgotPasswordResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.ForgotPasswordResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.ForgotPasswordResponse} returns this\n */\nproto.web_api.ForgotPasswordResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Error error = 3;\n * @return {?proto.Error}\n */\nproto.web_api.ForgotPasswordResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 3));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.ForgotPasswordResponse} returns this\n*/\nproto.web_api.ForgotPasswordResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.ForgotPasswordResponse} returns this\n */\nproto.web_api.ForgotPasswordResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.ForgotPasswordResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ChangePasswordRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ChangePasswordRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ChangePasswordRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ChangePasswordRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    oldpassword: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    password: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ChangePasswordRequest}\n */\nproto.web_api.ChangePasswordRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ChangePasswordRequest;\n  return proto.web_api.ChangePasswordRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ChangePasswordRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ChangePasswordRequest}\n */\nproto.web_api.ChangePasswordRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOldpassword(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPassword(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ChangePasswordRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ChangePasswordRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ChangePasswordRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ChangePasswordRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getOldpassword();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getPassword();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string oldPassword = 1;\n * @return {string}\n */\nproto.web_api.ChangePasswordRequest.prototype.getOldpassword = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ChangePasswordRequest} returns this\n */\nproto.web_api.ChangePasswordRequest.prototype.setOldpassword = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string password = 2;\n * @return {string}\n */\nproto.web_api.ChangePasswordRequest.prototype.getPassword = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ChangePasswordRequest} returns this\n */\nproto.web_api.ChangePasswordRequest.prototype.setPassword = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ChangePasswordResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ChangePasswordResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ChangePasswordResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ChangePasswordResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ChangePasswordResponse}\n */\nproto.web_api.ChangePasswordResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ChangePasswordResponse;\n  return proto.web_api.ChangePasswordResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ChangePasswordResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ChangePasswordResponse}\n */\nproto.web_api.ChangePasswordResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ChangePasswordResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ChangePasswordResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ChangePasswordResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ChangePasswordResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.ChangePasswordResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.ChangePasswordResponse} returns this\n */\nproto.web_api.ChangePasswordResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.ChangePasswordResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.ChangePasswordResponse} returns this\n */\nproto.web_api.ChangePasswordResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Error error = 3;\n * @return {?proto.Error}\n */\nproto.web_api.ChangePasswordResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 3));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.ChangePasswordResponse} returns this\n*/\nproto.web_api.ChangePasswordResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.ChangePasswordResponse} returns this\n */\nproto.web_api.ChangePasswordResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.ChangePasswordResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.CreatePasswordRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.CreatePasswordRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.CreatePasswordRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreatePasswordRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    password: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.CreatePasswordRequest}\n */\nproto.web_api.CreatePasswordRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.CreatePasswordRequest;\n  return proto.web_api.CreatePasswordRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.CreatePasswordRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.CreatePasswordRequest}\n */\nproto.web_api.CreatePasswordRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPassword(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.CreatePasswordRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.CreatePasswordRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.CreatePasswordRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreatePasswordRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getPassword();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.web_api.CreatePasswordRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreatePasswordRequest} returns this\n */\nproto.web_api.CreatePasswordRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string password = 2;\n * @return {string}\n */\nproto.web_api.CreatePasswordRequest.prototype.getPassword = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreatePasswordRequest} returns this\n */\nproto.web_api.CreatePasswordRequest.prototype.setPassword = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.CreatePasswordResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.CreatePasswordResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.CreatePasswordResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreatePasswordResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.CreatePasswordResponse}\n */\nproto.web_api.CreatePasswordResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.CreatePasswordResponse;\n  return proto.web_api.CreatePasswordResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.CreatePasswordResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.CreatePasswordResponse}\n */\nproto.web_api.CreatePasswordResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.CreatePasswordResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.CreatePasswordResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.CreatePasswordResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreatePasswordResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.CreatePasswordResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.CreatePasswordResponse} returns this\n */\nproto.web_api.CreatePasswordResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.CreatePasswordResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.CreatePasswordResponse} returns this\n */\nproto.web_api.CreatePasswordResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Error error = 3;\n * @return {?proto.Error}\n */\nproto.web_api.CreatePasswordResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 3));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.CreatePasswordResponse} returns this\n*/\nproto.web_api.CreatePasswordResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.CreatePasswordResponse} returns this\n */\nproto.web_api.CreatePasswordResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreatePasswordResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.VerifyTokenRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.VerifyTokenRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.VerifyTokenRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.VerifyTokenRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    tokentype: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    token: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.VerifyTokenRequest}\n */\nproto.web_api.VerifyTokenRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.VerifyTokenRequest;\n  return proto.web_api.VerifyTokenRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.VerifyTokenRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.VerifyTokenRequest}\n */\nproto.web_api.VerifyTokenRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setTokentype(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.VerifyTokenRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.VerifyTokenRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.VerifyTokenRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.VerifyTokenRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getTokentype();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string tokenType = 1;\n * @return {string}\n */\nproto.web_api.VerifyTokenRequest.prototype.getTokentype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.VerifyTokenRequest} returns this\n */\nproto.web_api.VerifyTokenRequest.prototype.setTokentype = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string token = 2;\n * @return {string}\n */\nproto.web_api.VerifyTokenRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.VerifyTokenRequest} returns this\n */\nproto.web_api.VerifyTokenRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.VerifyTokenResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.VerifyTokenResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.VerifyTokenResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.VerifyTokenResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.web_api.Token.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.VerifyTokenResponse}\n */\nproto.web_api.VerifyTokenResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.VerifyTokenResponse;\n  return proto.web_api.VerifyTokenResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.VerifyTokenResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.VerifyTokenResponse}\n */\nproto.web_api.VerifyTokenResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.Token;\n      reader.readMessage(value,proto.web_api.Token.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.VerifyTokenResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.VerifyTokenResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.VerifyTokenResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.VerifyTokenResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.web_api.Token.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.VerifyTokenResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.VerifyTokenResponse} returns this\n */\nproto.web_api.VerifyTokenResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.VerifyTokenResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.VerifyTokenResponse} returns this\n */\nproto.web_api.VerifyTokenResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Token data = 3;\n * @return {?proto.web_api.Token}\n */\nproto.web_api.VerifyTokenResponse.prototype.getData = function() {\n  return /** @type{?proto.web_api.Token} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.Token, 3));\n};\n\n\n/**\n * @param {?proto.web_api.Token|undefined} value\n * @return {!proto.web_api.VerifyTokenResponse} returns this\n*/\nproto.web_api.VerifyTokenResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.VerifyTokenResponse} returns this\n */\nproto.web_api.VerifyTokenResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.VerifyTokenResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.AuthorizeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.AuthorizeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.AuthorizeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AuthorizeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.AuthorizeRequest}\n */\nproto.web_api.AuthorizeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.AuthorizeRequest;\n  return proto.web_api.AuthorizeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.AuthorizeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.AuthorizeRequest}\n */\nproto.web_api.AuthorizeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.AuthorizeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.AuthorizeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.AuthorizeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AuthorizeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ScopeAuthorizeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ScopeAuthorizeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ScopeAuthorizeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ScopeAuthorizeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    scope: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ScopeAuthorizeRequest}\n */\nproto.web_api.ScopeAuthorizeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ScopeAuthorizeRequest;\n  return proto.web_api.ScopeAuthorizeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ScopeAuthorizeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ScopeAuthorizeRequest}\n */\nproto.web_api.ScopeAuthorizeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setScope(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ScopeAuthorizeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ScopeAuthorizeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ScopeAuthorizeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ScopeAuthorizeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getScope();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string scope = 1;\n * @return {string}\n */\nproto.web_api.ScopeAuthorizeRequest.prototype.getScope = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ScopeAuthorizeRequest} returns this\n */\nproto.web_api.ScopeAuthorizeRequest.prototype.setScope = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ScopedAuthenticationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ScopedAuthenticationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ScopedAuthenticationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.web_api.ScopedAuthentication.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ScopedAuthenticationResponse}\n */\nproto.web_api.ScopedAuthenticationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ScopedAuthenticationResponse;\n  return proto.web_api.ScopedAuthenticationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ScopedAuthenticationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ScopedAuthenticationResponse}\n */\nproto.web_api.ScopedAuthenticationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.ScopedAuthentication;\n      reader.readMessage(value,proto.web_api.ScopedAuthentication.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ScopedAuthenticationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ScopedAuthenticationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ScopedAuthenticationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.web_api.ScopedAuthentication.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.ScopedAuthenticationResponse} returns this\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.ScopedAuthenticationResponse} returns this\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional ScopedAuthentication data = 3;\n * @return {?proto.web_api.ScopedAuthentication}\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.getData = function() {\n  return /** @type{?proto.web_api.ScopedAuthentication} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.ScopedAuthentication, 3));\n};\n\n\n/**\n * @param {?proto.web_api.ScopedAuthentication|undefined} value\n * @return {!proto.web_api.ScopedAuthenticationResponse} returns this\n*/\nproto.web_api.ScopedAuthenticationResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.ScopedAuthenticationResponse} returns this\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.ScopedAuthenticationResponse} returns this\n*/\nproto.web_api.ScopedAuthenticationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.ScopedAuthenticationResponse} returns this\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetUserRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetUserRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetUserRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetUserRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetUserRequest}\n */\nproto.web_api.GetUserRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetUserRequest;\n  return proto.web_api.GetUserRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetUserRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetUserRequest}\n */\nproto.web_api.GetUserRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetUserRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetUserRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetUserRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetUserRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetUserResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetUserResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetUserResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetUserResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && common_pb.User.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetUserResponse}\n */\nproto.web_api.GetUserResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetUserResponse;\n  return proto.web_api.GetUserResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetUserResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetUserResponse}\n */\nproto.web_api.GetUserResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetUserResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetUserResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetUserResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetUserResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.GetUserResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.GetUserResponse} returns this\n */\nproto.web_api.GetUserResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.GetUserResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.GetUserResponse} returns this\n */\nproto.web_api.GetUserResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional User data = 3;\n * @return {?proto.User}\n */\nproto.web_api.GetUserResponse.prototype.getData = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 3));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.web_api.GetUserResponse} returns this\n*/\nproto.web_api.GetUserResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetUserResponse} returns this\n */\nproto.web_api.GetUserResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetUserResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.UpdateUserRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.UpdateUserRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.UpdateUserRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateUserRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    email: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.UpdateUserRequest}\n */\nproto.web_api.UpdateUserRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.UpdateUserRequest;\n  return proto.web_api.UpdateUserRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.UpdateUserRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.UpdateUserRequest}\n */\nproto.web_api.UpdateUserRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmail(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.UpdateUserRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.UpdateUserRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.UpdateUserRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateUserRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = /** @type {string} */ (jspb.Message.getField(message, 1));\n  if (f != null) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 2));\n  if (f != null) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string email = 1;\n * @return {string}\n */\nproto.web_api.UpdateUserRequest.prototype.getEmail = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateUserRequest} returns this\n */\nproto.web_api.UpdateUserRequest.prototype.setEmail = function(value) {\n  return jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.UpdateUserRequest} returns this\n */\nproto.web_api.UpdateUserRequest.prototype.clearEmail = function() {\n  return jspb.Message.setField(this, 1, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateUserRequest.prototype.hasEmail = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.web_api.UpdateUserRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateUserRequest} returns this\n */\nproto.web_api.UpdateUserRequest.prototype.setName = function(value) {\n  return jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.UpdateUserRequest} returns this\n */\nproto.web_api.UpdateUserRequest.prototype.clearName = function() {\n  return jspb.Message.setField(this, 2, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateUserRequest.prototype.hasName = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.UpdateUserResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.UpdateUserResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.UpdateUserResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateUserResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && common_pb.User.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.UpdateUserResponse}\n */\nproto.web_api.UpdateUserResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.UpdateUserResponse;\n  return proto.web_api.UpdateUserResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.UpdateUserResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.UpdateUserResponse}\n */\nproto.web_api.UpdateUserResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.UpdateUserResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.UpdateUserResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.UpdateUserResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateUserResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.UpdateUserResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.UpdateUserResponse} returns this\n */\nproto.web_api.UpdateUserResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.UpdateUserResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.UpdateUserResponse} returns this\n */\nproto.web_api.UpdateUserResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional User data = 3;\n * @return {?proto.User}\n */\nproto.web_api.UpdateUserResponse.prototype.getData = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 3));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.web_api.UpdateUserResponse} returns this\n*/\nproto.web_api.UpdateUserResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.UpdateUserResponse} returns this\n */\nproto.web_api.UpdateUserResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateUserResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.SocialAuthenticationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.SocialAuthenticationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.SocialAuthenticationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.SocialAuthenticationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    state: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    code: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.SocialAuthenticationRequest}\n */\nproto.web_api.SocialAuthenticationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.SocialAuthenticationRequest;\n  return proto.web_api.SocialAuthenticationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.SocialAuthenticationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.SocialAuthenticationRequest}\n */\nproto.web_api.SocialAuthenticationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setState(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCode(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.SocialAuthenticationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.SocialAuthenticationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.SocialAuthenticationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.SocialAuthenticationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getState();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getCode();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string state = 1;\n * @return {string}\n */\nproto.web_api.SocialAuthenticationRequest.prototype.getState = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.SocialAuthenticationRequest} returns this\n */\nproto.web_api.SocialAuthenticationRequest.prototype.setState = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string code = 2;\n * @return {string}\n */\nproto.web_api.SocialAuthenticationRequest.prototype.getCode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.SocialAuthenticationRequest} returns this\n */\nproto.web_api.SocialAuthenticationRequest.prototype.setCode = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.GetAllUserRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetAllUserRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetAllUserRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetAllUserRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllUserRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetAllUserRequest}\n */\nproto.web_api.GetAllUserRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetAllUserRequest;\n  return proto.web_api.GetAllUserRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetAllUserRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetAllUserRequest}\n */\nproto.web_api.GetAllUserRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetAllUserRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetAllUserRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetAllUserRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllUserRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.web_api.GetAllUserRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.web_api.GetAllUserRequest} returns this\n*/\nproto.web_api.GetAllUserRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetAllUserRequest} returns this\n */\nproto.web_api.GetAllUserRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetAllUserRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.web_api.GetAllUserRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.web_api.GetAllUserRequest} returns this\n*/\nproto.web_api.GetAllUserRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.web_api.GetAllUserRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.GetAllUserRequest} returns this\n */\nproto.web_api.GetAllUserRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.GetAllUserResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetAllUserResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetAllUserResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetAllUserResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllUserResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    common_pb.User.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetAllUserResponse}\n */\nproto.web_api.GetAllUserResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetAllUserResponse;\n  return proto.web_api.GetAllUserResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetAllUserResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetAllUserResponse}\n */\nproto.web_api.GetAllUserResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetAllUserResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetAllUserResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetAllUserResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllUserResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.GetAllUserResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.GetAllUserResponse} returns this\n */\nproto.web_api.GetAllUserResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.GetAllUserResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.GetAllUserResponse} returns this\n */\nproto.web_api.GetAllUserResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated User data = 3;\n * @return {!Array<!proto.User>}\n */\nproto.web_api.GetAllUserResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.User>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.User, 3));\n};\n\n\n/**\n * @param {!Array<!proto.User>} value\n * @return {!proto.web_api.GetAllUserResponse} returns this\n*/\nproto.web_api.GetAllUserResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.User=} opt_value\n * @param {number=} opt_index\n * @return {!proto.User}\n */\nproto.web_api.GetAllUserResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.User, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.GetAllUserResponse} returns this\n */\nproto.web_api.GetAllUserResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.GetAllUserResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.GetAllUserResponse} returns this\n*/\nproto.web_api.GetAllUserResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetAllUserResponse} returns this\n */\nproto.web_api.GetAllUserResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetAllUserResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.web_api.GetAllUserResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.web_api.GetAllUserResponse} returns this\n*/\nproto.web_api.GetAllUserResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetAllUserResponse} returns this\n */\nproto.web_api.GetAllUserResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetAllUserResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.CreateOrganizationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.CreateOrganizationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.CreateOrganizationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateOrganizationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    organizationname: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    organizationsize: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    organizationindustry: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    organizationcontact: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.CreateOrganizationRequest}\n */\nproto.web_api.CreateOrganizationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.CreateOrganizationRequest;\n  return proto.web_api.CreateOrganizationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.CreateOrganizationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.CreateOrganizationRequest}\n */\nproto.web_api.CreateOrganizationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationname(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationsize(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationindustry(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationcontact(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.CreateOrganizationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.CreateOrganizationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.CreateOrganizationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateOrganizationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getOrganizationname();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getOrganizationsize();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getOrganizationindustry();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 4));\n  if (f != null) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string organizationName = 1;\n * @return {string}\n */\nproto.web_api.CreateOrganizationRequest.prototype.getOrganizationname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreateOrganizationRequest} returns this\n */\nproto.web_api.CreateOrganizationRequest.prototype.setOrganizationname = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string organizationSize = 2;\n * @return {string}\n */\nproto.web_api.CreateOrganizationRequest.prototype.getOrganizationsize = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreateOrganizationRequest} returns this\n */\nproto.web_api.CreateOrganizationRequest.prototype.setOrganizationsize = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string organizationIndustry = 3;\n * @return {string}\n */\nproto.web_api.CreateOrganizationRequest.prototype.getOrganizationindustry = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreateOrganizationRequest} returns this\n */\nproto.web_api.CreateOrganizationRequest.prototype.setOrganizationindustry = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string organizationContact = 4;\n * @return {string}\n */\nproto.web_api.CreateOrganizationRequest.prototype.getOrganizationcontact = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreateOrganizationRequest} returns this\n */\nproto.web_api.CreateOrganizationRequest.prototype.setOrganizationcontact = function(value) {\n  return jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.CreateOrganizationRequest} returns this\n */\nproto.web_api.CreateOrganizationRequest.prototype.clearOrganizationcontact = function() {\n  return jspb.Message.setField(this, 4, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreateOrganizationRequest.prototype.hasOrganizationcontact = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.UpdateOrganizationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.UpdateOrganizationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.UpdateOrganizationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateOrganizationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    organizationid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    organizationname: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    organizationindustry: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    organizationcontact: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.UpdateOrganizationRequest}\n */\nproto.web_api.UpdateOrganizationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.UpdateOrganizationRequest;\n  return proto.web_api.UpdateOrganizationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.UpdateOrganizationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.UpdateOrganizationRequest}\n */\nproto.web_api.UpdateOrganizationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationname(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationindustry(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationcontact(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.UpdateOrganizationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.UpdateOrganizationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.UpdateOrganizationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateOrganizationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 2));\n  if (f != null) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 3));\n  if (f != null) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 4));\n  if (f != null) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 organizationId = 1;\n * @return {string}\n */\nproto.web_api.UpdateOrganizationRequest.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateOrganizationRequest} returns this\n */\nproto.web_api.UpdateOrganizationRequest.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string organizationName = 2;\n * @return {string}\n */\nproto.web_api.UpdateOrganizationRequest.prototype.getOrganizationname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateOrganizationRequest} returns this\n */\nproto.web_api.UpdateOrganizationRequest.prototype.setOrganizationname = function(value) {\n  return jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.UpdateOrganizationRequest} returns this\n */\nproto.web_api.UpdateOrganizationRequest.prototype.clearOrganizationname = function() {\n  return jspb.Message.setField(this, 2, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateOrganizationRequest.prototype.hasOrganizationname = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string organizationIndustry = 3;\n * @return {string}\n */\nproto.web_api.UpdateOrganizationRequest.prototype.getOrganizationindustry = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateOrganizationRequest} returns this\n */\nproto.web_api.UpdateOrganizationRequest.prototype.setOrganizationindustry = function(value) {\n  return jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.UpdateOrganizationRequest} returns this\n */\nproto.web_api.UpdateOrganizationRequest.prototype.clearOrganizationindustry = function() {\n  return jspb.Message.setField(this, 3, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateOrganizationRequest.prototype.hasOrganizationindustry = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional string organizationContact = 4;\n * @return {string}\n */\nproto.web_api.UpdateOrganizationRequest.prototype.getOrganizationcontact = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateOrganizationRequest} returns this\n */\nproto.web_api.UpdateOrganizationRequest.prototype.setOrganizationcontact = function(value) {\n  return jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.UpdateOrganizationRequest} returns this\n */\nproto.web_api.UpdateOrganizationRequest.prototype.clearOrganizationcontact = function() {\n  return jspb.Message.setField(this, 4, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateOrganizationRequest.prototype.hasOrganizationcontact = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetOrganizationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetOrganizationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetOrganizationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetOrganizationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetOrganizationRequest}\n */\nproto.web_api.GetOrganizationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetOrganizationRequest;\n  return proto.web_api.GetOrganizationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetOrganizationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetOrganizationRequest}\n */\nproto.web_api.GetOrganizationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetOrganizationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetOrganizationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetOrganizationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetOrganizationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetOrganizationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetOrganizationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetOrganizationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetOrganizationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && common_pb.Organization.toObject(includeInstance, f),\n    role: (f = msg.getRole()) && proto.web_api.OrganizationRole.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetOrganizationResponse}\n */\nproto.web_api.GetOrganizationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetOrganizationResponse;\n  return proto.web_api.GetOrganizationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetOrganizationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetOrganizationResponse}\n */\nproto.web_api.GetOrganizationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Organization;\n      reader.readMessage(value,common_pb.Organization.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new proto.web_api.OrganizationRole;\n      reader.readMessage(value,proto.web_api.OrganizationRole.deserializeBinaryFromReader);\n      msg.setRole(value);\n      break;\n    case 5:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetOrganizationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetOrganizationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetOrganizationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetOrganizationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Organization.serializeBinaryToWriter\n    );\n  }\n  f = message.getRole();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.web_api.OrganizationRole.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.GetOrganizationResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.GetOrganizationResponse} returns this\n */\nproto.web_api.GetOrganizationResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.GetOrganizationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.GetOrganizationResponse} returns this\n */\nproto.web_api.GetOrganizationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Organization data = 3;\n * @return {?proto.Organization}\n */\nproto.web_api.GetOrganizationResponse.prototype.getData = function() {\n  return /** @type{?proto.Organization} */ (\n    jspb.Message.getWrapperField(this, common_pb.Organization, 3));\n};\n\n\n/**\n * @param {?proto.Organization|undefined} value\n * @return {!proto.web_api.GetOrganizationResponse} returns this\n*/\nproto.web_api.GetOrganizationResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetOrganizationResponse} returns this\n */\nproto.web_api.GetOrganizationResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetOrganizationResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional OrganizationRole role = 4;\n * @return {?proto.web_api.OrganizationRole}\n */\nproto.web_api.GetOrganizationResponse.prototype.getRole = function() {\n  return /** @type{?proto.web_api.OrganizationRole} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.OrganizationRole, 4));\n};\n\n\n/**\n * @param {?proto.web_api.OrganizationRole|undefined} value\n * @return {!proto.web_api.GetOrganizationResponse} returns this\n*/\nproto.web_api.GetOrganizationResponse.prototype.setRole = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetOrganizationResponse} returns this\n */\nproto.web_api.GetOrganizationResponse.prototype.clearRole = function() {\n  return this.setRole(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetOrganizationResponse.prototype.hasRole = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Error error = 5;\n * @return {?proto.Error}\n */\nproto.web_api.GetOrganizationResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 5));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.GetOrganizationResponse} returns this\n*/\nproto.web_api.GetOrganizationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetOrganizationResponse} returns this\n */\nproto.web_api.GetOrganizationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetOrganizationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.CreateOrganizationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.CreateOrganizationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.CreateOrganizationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateOrganizationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && common_pb.Organization.toObject(includeInstance, f),\n    role: (f = msg.getRole()) && proto.web_api.OrganizationRole.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.CreateOrganizationResponse}\n */\nproto.web_api.CreateOrganizationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.CreateOrganizationResponse;\n  return proto.web_api.CreateOrganizationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.CreateOrganizationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.CreateOrganizationResponse}\n */\nproto.web_api.CreateOrganizationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Organization;\n      reader.readMessage(value,common_pb.Organization.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new proto.web_api.OrganizationRole;\n      reader.readMessage(value,proto.web_api.OrganizationRole.deserializeBinaryFromReader);\n      msg.setRole(value);\n      break;\n    case 5:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.CreateOrganizationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.CreateOrganizationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.CreateOrganizationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateOrganizationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Organization.serializeBinaryToWriter\n    );\n  }\n  f = message.getRole();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.web_api.OrganizationRole.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.CreateOrganizationResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.CreateOrganizationResponse} returns this\n */\nproto.web_api.CreateOrganizationResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.CreateOrganizationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.CreateOrganizationResponse} returns this\n */\nproto.web_api.CreateOrganizationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Organization data = 3;\n * @return {?proto.Organization}\n */\nproto.web_api.CreateOrganizationResponse.prototype.getData = function() {\n  return /** @type{?proto.Organization} */ (\n    jspb.Message.getWrapperField(this, common_pb.Organization, 3));\n};\n\n\n/**\n * @param {?proto.Organization|undefined} value\n * @return {!proto.web_api.CreateOrganizationResponse} returns this\n*/\nproto.web_api.CreateOrganizationResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.CreateOrganizationResponse} returns this\n */\nproto.web_api.CreateOrganizationResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreateOrganizationResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional OrganizationRole role = 4;\n * @return {?proto.web_api.OrganizationRole}\n */\nproto.web_api.CreateOrganizationResponse.prototype.getRole = function() {\n  return /** @type{?proto.web_api.OrganizationRole} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.OrganizationRole, 4));\n};\n\n\n/**\n * @param {?proto.web_api.OrganizationRole|undefined} value\n * @return {!proto.web_api.CreateOrganizationResponse} returns this\n*/\nproto.web_api.CreateOrganizationResponse.prototype.setRole = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.CreateOrganizationResponse} returns this\n */\nproto.web_api.CreateOrganizationResponse.prototype.clearRole = function() {\n  return this.setRole(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreateOrganizationResponse.prototype.hasRole = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Error error = 5;\n * @return {?proto.Error}\n */\nproto.web_api.CreateOrganizationResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 5));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.CreateOrganizationResponse} returns this\n*/\nproto.web_api.CreateOrganizationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.CreateOrganizationResponse} returns this\n */\nproto.web_api.CreateOrganizationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreateOrganizationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.UpdateOrganizationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.UpdateOrganizationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.UpdateOrganizationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateOrganizationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.UpdateOrganizationResponse}\n */\nproto.web_api.UpdateOrganizationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.UpdateOrganizationResponse;\n  return proto.web_api.UpdateOrganizationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.UpdateOrganizationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.UpdateOrganizationResponse}\n */\nproto.web_api.UpdateOrganizationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 5:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.UpdateOrganizationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.UpdateOrganizationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.UpdateOrganizationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateOrganizationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.UpdateOrganizationResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.UpdateOrganizationResponse} returns this\n */\nproto.web_api.UpdateOrganizationResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.UpdateOrganizationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.UpdateOrganizationResponse} returns this\n */\nproto.web_api.UpdateOrganizationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Error error = 5;\n * @return {?proto.Error}\n */\nproto.web_api.UpdateOrganizationResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 5));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.UpdateOrganizationResponse} returns this\n*/\nproto.web_api.UpdateOrganizationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.UpdateOrganizationResponse} returns this\n */\nproto.web_api.UpdateOrganizationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateOrganizationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.UpdateBillingInformationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.UpdateBillingInformationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateBillingInformationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paymentmethod: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    billinginterval: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    taxinformation: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    address: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    email: jspb.Message.getFieldWithDefault(msg, 5, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.UpdateBillingInformationRequest}\n */\nproto.web_api.UpdateBillingInformationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.UpdateBillingInformationRequest;\n  return proto.web_api.UpdateBillingInformationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.UpdateBillingInformationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.UpdateBillingInformationRequest}\n */\nproto.web_api.UpdateBillingInformationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPaymentmethod(value);\n      break;\n    case 2:\n      var value = /** @type {!proto.web_api.UpdateBillingInformationRequest.BillingInterval} */ (reader.readEnum());\n      msg.setBillinginterval(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setTaxinformation(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setAddress(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmail(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.UpdateBillingInformationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.UpdateBillingInformationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateBillingInformationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaymentmethod();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getBillinginterval();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      2,\n      f\n    );\n  }\n  f = message.getTaxinformation();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getAddress();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getEmail();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n};\n\n\n/**\n * @enum {number}\n */\nproto.web_api.UpdateBillingInformationRequest.BillingInterval = {\n  ANNUALLY: 0,\n  MONTHLY: 1\n};\n\n/**\n * optional string paymentMethod = 1;\n * @return {string}\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.getPaymentmethod = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateBillingInformationRequest} returns this\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.setPaymentmethod = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional BillingInterval billingInterval = 2;\n * @return {!proto.web_api.UpdateBillingInformationRequest.BillingInterval}\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.getBillinginterval = function() {\n  return /** @type {!proto.web_api.UpdateBillingInformationRequest.BillingInterval} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.web_api.UpdateBillingInformationRequest.BillingInterval} value\n * @return {!proto.web_api.UpdateBillingInformationRequest} returns this\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.setBillinginterval = function(value) {\n  return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n/**\n * optional string taxInformation = 3;\n * @return {string}\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.getTaxinformation = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateBillingInformationRequest} returns this\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.setTaxinformation = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string address = 4;\n * @return {string}\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.getAddress = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateBillingInformationRequest} returns this\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.setAddress = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string email = 5;\n * @return {string}\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.getEmail = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateBillingInformationRequest} returns this\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.setEmail = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.Project.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.Project.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.Project.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.Project} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.Project.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    membersList: jspb.Message.toObjectList(msg.getMembersList(),\n    common_pb.User.toObject, includeInstance),\n    status: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.Project}\n */\nproto.web_api.Project.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.Project;\n  return proto.web_api.Project.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.Project} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.Project}\n */\nproto.web_api.Project.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 4:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.addMembers(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 6:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.Project.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.Project.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.Project} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.Project.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getMembersList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      6,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.web_api.Project.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.Project} returns this\n */\nproto.web_api.Project.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.web_api.Project.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.Project} returns this\n */\nproto.web_api.Project.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.web_api.Project.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.Project} returns this\n */\nproto.web_api.Project.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * repeated User members = 4;\n * @return {!Array<!proto.User>}\n */\nproto.web_api.Project.prototype.getMembersList = function() {\n  return /** @type{!Array<!proto.User>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.User, 4));\n};\n\n\n/**\n * @param {!Array<!proto.User>} value\n * @return {!proto.web_api.Project} returns this\n*/\nproto.web_api.Project.prototype.setMembersList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.User=} opt_value\n * @param {number=} opt_index\n * @return {!proto.User}\n */\nproto.web_api.Project.prototype.addMembers = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.User, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.Project} returns this\n */\nproto.web_api.Project.prototype.clearMembersList = function() {\n  return this.setMembersList([]);\n};\n\n\n/**\n * optional string status = 5;\n * @return {string}\n */\nproto.web_api.Project.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.Project} returns this\n */\nproto.web_api.Project.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 6;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.web_api.Project.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 6));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.web_api.Project} returns this\n*/\nproto.web_api.Project.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 6, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.Project} returns this\n */\nproto.web_api.Project.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.Project.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 6) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.CreateProjectRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.CreateProjectRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.CreateProjectRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateProjectRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    projectname: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    projectdescription: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.CreateProjectRequest}\n */\nproto.web_api.CreateProjectRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.CreateProjectRequest;\n  return proto.web_api.CreateProjectRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.CreateProjectRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.CreateProjectRequest}\n */\nproto.web_api.CreateProjectRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProjectname(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProjectdescription(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.CreateProjectRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.CreateProjectRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.CreateProjectRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateProjectRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getProjectname();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 2));\n  if (f != null) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string projectName = 1;\n * @return {string}\n */\nproto.web_api.CreateProjectRequest.prototype.getProjectname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreateProjectRequest} returns this\n */\nproto.web_api.CreateProjectRequest.prototype.setProjectname = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string projectDescription = 2;\n * @return {string}\n */\nproto.web_api.CreateProjectRequest.prototype.getProjectdescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreateProjectRequest} returns this\n */\nproto.web_api.CreateProjectRequest.prototype.setProjectdescription = function(value) {\n  return jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.CreateProjectRequest} returns this\n */\nproto.web_api.CreateProjectRequest.prototype.clearProjectdescription = function() {\n  return jspb.Message.setField(this, 2, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreateProjectRequest.prototype.hasProjectdescription = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.CreateProjectResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.CreateProjectResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.CreateProjectResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateProjectResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.web_api.Project.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.CreateProjectResponse}\n */\nproto.web_api.CreateProjectResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.CreateProjectResponse;\n  return proto.web_api.CreateProjectResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.CreateProjectResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.CreateProjectResponse}\n */\nproto.web_api.CreateProjectResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.Project;\n      reader.readMessage(value,proto.web_api.Project.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.CreateProjectResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.CreateProjectResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.CreateProjectResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateProjectResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.web_api.Project.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.CreateProjectResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.CreateProjectResponse} returns this\n */\nproto.web_api.CreateProjectResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.CreateProjectResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.CreateProjectResponse} returns this\n */\nproto.web_api.CreateProjectResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Project data = 3;\n * @return {?proto.web_api.Project}\n */\nproto.web_api.CreateProjectResponse.prototype.getData = function() {\n  return /** @type{?proto.web_api.Project} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.Project, 3));\n};\n\n\n/**\n * @param {?proto.web_api.Project|undefined} value\n * @return {!proto.web_api.CreateProjectResponse} returns this\n*/\nproto.web_api.CreateProjectResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.CreateProjectResponse} returns this\n */\nproto.web_api.CreateProjectResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreateProjectResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.CreateProjectResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.CreateProjectResponse} returns this\n*/\nproto.web_api.CreateProjectResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.CreateProjectResponse} returns this\n */\nproto.web_api.CreateProjectResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreateProjectResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.UpdateProjectRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.UpdateProjectRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.UpdateProjectRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateProjectRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    projectid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    projectname: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    projectdescription: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.UpdateProjectRequest}\n */\nproto.web_api.UpdateProjectRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.UpdateProjectRequest;\n  return proto.web_api.UpdateProjectRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.UpdateProjectRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.UpdateProjectRequest}\n */\nproto.web_api.UpdateProjectRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProjectname(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProjectdescription(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.UpdateProjectRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.UpdateProjectRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.UpdateProjectRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateProjectRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 2));\n  if (f != null) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 3));\n  if (f != null) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 projectId = 1;\n * @return {string}\n */\nproto.web_api.UpdateProjectRequest.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateProjectRequest} returns this\n */\nproto.web_api.UpdateProjectRequest.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string projectName = 2;\n * @return {string}\n */\nproto.web_api.UpdateProjectRequest.prototype.getProjectname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateProjectRequest} returns this\n */\nproto.web_api.UpdateProjectRequest.prototype.setProjectname = function(value) {\n  return jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.UpdateProjectRequest} returns this\n */\nproto.web_api.UpdateProjectRequest.prototype.clearProjectname = function() {\n  return jspb.Message.setField(this, 2, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateProjectRequest.prototype.hasProjectname = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string projectDescription = 3;\n * @return {string}\n */\nproto.web_api.UpdateProjectRequest.prototype.getProjectdescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateProjectRequest} returns this\n */\nproto.web_api.UpdateProjectRequest.prototype.setProjectdescription = function(value) {\n  return jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.UpdateProjectRequest} returns this\n */\nproto.web_api.UpdateProjectRequest.prototype.clearProjectdescription = function() {\n  return jspb.Message.setField(this, 3, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateProjectRequest.prototype.hasProjectdescription = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.UpdateProjectResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.UpdateProjectResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.UpdateProjectResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateProjectResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.web_api.Project.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.UpdateProjectResponse}\n */\nproto.web_api.UpdateProjectResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.UpdateProjectResponse;\n  return proto.web_api.UpdateProjectResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.UpdateProjectResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.UpdateProjectResponse}\n */\nproto.web_api.UpdateProjectResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.Project;\n      reader.readMessage(value,proto.web_api.Project.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.UpdateProjectResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.UpdateProjectResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.UpdateProjectResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateProjectResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.web_api.Project.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.UpdateProjectResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.UpdateProjectResponse} returns this\n */\nproto.web_api.UpdateProjectResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.UpdateProjectResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.UpdateProjectResponse} returns this\n */\nproto.web_api.UpdateProjectResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Project data = 3;\n * @return {?proto.web_api.Project}\n */\nproto.web_api.UpdateProjectResponse.prototype.getData = function() {\n  return /** @type{?proto.web_api.Project} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.Project, 3));\n};\n\n\n/**\n * @param {?proto.web_api.Project|undefined} value\n * @return {!proto.web_api.UpdateProjectResponse} returns this\n*/\nproto.web_api.UpdateProjectResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.UpdateProjectResponse} returns this\n */\nproto.web_api.UpdateProjectResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateProjectResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.UpdateProjectResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.UpdateProjectResponse} returns this\n*/\nproto.web_api.UpdateProjectResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.UpdateProjectResponse} returns this\n */\nproto.web_api.UpdateProjectResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateProjectResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetProjectRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetProjectRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetProjectRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetProjectRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    projectid: jspb.Message.getFieldWithDefault(msg, 1, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetProjectRequest}\n */\nproto.web_api.GetProjectRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetProjectRequest;\n  return proto.web_api.GetProjectRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetProjectRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetProjectRequest}\n */\nproto.web_api.GetProjectRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetProjectRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetProjectRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetProjectRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetProjectRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 projectId = 1;\n * @return {string}\n */\nproto.web_api.GetProjectRequest.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.GetProjectRequest} returns this\n */\nproto.web_api.GetProjectRequest.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetProjectResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetProjectResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetProjectResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetProjectResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.web_api.Project.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetProjectResponse}\n */\nproto.web_api.GetProjectResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetProjectResponse;\n  return proto.web_api.GetProjectResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetProjectResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetProjectResponse}\n */\nproto.web_api.GetProjectResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.Project;\n      reader.readMessage(value,proto.web_api.Project.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetProjectResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetProjectResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetProjectResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetProjectResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.web_api.Project.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.GetProjectResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.GetProjectResponse} returns this\n */\nproto.web_api.GetProjectResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.GetProjectResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.GetProjectResponse} returns this\n */\nproto.web_api.GetProjectResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Project data = 3;\n * @return {?proto.web_api.Project}\n */\nproto.web_api.GetProjectResponse.prototype.getData = function() {\n  return /** @type{?proto.web_api.Project} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.Project, 3));\n};\n\n\n/**\n * @param {?proto.web_api.Project|undefined} value\n * @return {!proto.web_api.GetProjectResponse} returns this\n*/\nproto.web_api.GetProjectResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetProjectResponse} returns this\n */\nproto.web_api.GetProjectResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetProjectResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.GetProjectResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.GetProjectResponse} returns this\n*/\nproto.web_api.GetProjectResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetProjectResponse} returns this\n */\nproto.web_api.GetProjectResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetProjectResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.GetAllProjectRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetAllProjectRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetAllProjectRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetAllProjectRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllProjectRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetAllProjectRequest}\n */\nproto.web_api.GetAllProjectRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetAllProjectRequest;\n  return proto.web_api.GetAllProjectRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetAllProjectRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetAllProjectRequest}\n */\nproto.web_api.GetAllProjectRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetAllProjectRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetAllProjectRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetAllProjectRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllProjectRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.web_api.GetAllProjectRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.web_api.GetAllProjectRequest} returns this\n*/\nproto.web_api.GetAllProjectRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetAllProjectRequest} returns this\n */\nproto.web_api.GetAllProjectRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetAllProjectRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.web_api.GetAllProjectRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.web_api.GetAllProjectRequest} returns this\n*/\nproto.web_api.GetAllProjectRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.web_api.GetAllProjectRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.GetAllProjectRequest} returns this\n */\nproto.web_api.GetAllProjectRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.GetAllProjectResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetAllProjectResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetAllProjectResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetAllProjectResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllProjectResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.web_api.Project.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetAllProjectResponse}\n */\nproto.web_api.GetAllProjectResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetAllProjectResponse;\n  return proto.web_api.GetAllProjectResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetAllProjectResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetAllProjectResponse}\n */\nproto.web_api.GetAllProjectResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.Project;\n      reader.readMessage(value,proto.web_api.Project.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetAllProjectResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetAllProjectResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetAllProjectResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllProjectResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.web_api.Project.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.GetAllProjectResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.GetAllProjectResponse} returns this\n */\nproto.web_api.GetAllProjectResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.GetAllProjectResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.GetAllProjectResponse} returns this\n */\nproto.web_api.GetAllProjectResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated Project data = 3;\n * @return {!Array<!proto.web_api.Project>}\n */\nproto.web_api.GetAllProjectResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.web_api.Project>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.web_api.Project, 3));\n};\n\n\n/**\n * @param {!Array<!proto.web_api.Project>} value\n * @return {!proto.web_api.GetAllProjectResponse} returns this\n*/\nproto.web_api.GetAllProjectResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.web_api.Project=} opt_value\n * @param {number=} opt_index\n * @return {!proto.web_api.Project}\n */\nproto.web_api.GetAllProjectResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.web_api.Project, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.GetAllProjectResponse} returns this\n */\nproto.web_api.GetAllProjectResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.GetAllProjectResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.GetAllProjectResponse} returns this\n*/\nproto.web_api.GetAllProjectResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetAllProjectResponse} returns this\n */\nproto.web_api.GetAllProjectResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetAllProjectResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.web_api.GetAllProjectResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.web_api.GetAllProjectResponse} returns this\n*/\nproto.web_api.GetAllProjectResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetAllProjectResponse} returns this\n */\nproto.web_api.GetAllProjectResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetAllProjectResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ProjectRoleAssignment.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ProjectRoleAssignment.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ProjectRoleAssignment} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ProjectRoleAssignment.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    projectid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    projectrole: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ProjectRoleAssignment}\n */\nproto.web_api.ProjectRoleAssignment.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ProjectRoleAssignment;\n  return proto.web_api.ProjectRoleAssignment.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ProjectRoleAssignment} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ProjectRoleAssignment}\n */\nproto.web_api.ProjectRoleAssignment.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProjectrole(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ProjectRoleAssignment.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ProjectRoleAssignment.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ProjectRoleAssignment} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ProjectRoleAssignment.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getProjectrole();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 projectId = 1;\n * @return {string}\n */\nproto.web_api.ProjectRoleAssignment.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectRoleAssignment} returns this\n */\nproto.web_api.ProjectRoleAssignment.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string projectRole = 2;\n * @return {string}\n */\nproto.web_api.ProjectRoleAssignment.prototype.getProjectrole = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectRoleAssignment} returns this\n */\nproto.web_api.ProjectRoleAssignment.prototype.setProjectrole = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.InviteUserToOrganizationRequest.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.InviteUserToOrganizationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.InviteUserToOrganizationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.InviteUserToOrganizationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.InviteUserToOrganizationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    email: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    organizationrole: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    projectrolesList: jspb.Message.toObjectList(msg.getProjectrolesList(),\n    proto.web_api.ProjectRoleAssignment.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.InviteUserToOrganizationRequest}\n */\nproto.web_api.InviteUserToOrganizationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.InviteUserToOrganizationRequest;\n  return proto.web_api.InviteUserToOrganizationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.InviteUserToOrganizationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.InviteUserToOrganizationRequest}\n */\nproto.web_api.InviteUserToOrganizationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmail(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationrole(value);\n      break;\n    case 3:\n      var value = new proto.web_api.ProjectRoleAssignment;\n      reader.readMessage(value,proto.web_api.ProjectRoleAssignment.deserializeBinaryFromReader);\n      msg.addProjectroles(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.InviteUserToOrganizationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.InviteUserToOrganizationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.InviteUserToOrganizationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.InviteUserToOrganizationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEmail();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getOrganizationrole();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getProjectrolesList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.web_api.ProjectRoleAssignment.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string email = 1;\n * @return {string}\n */\nproto.web_api.InviteUserToOrganizationRequest.prototype.getEmail = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.InviteUserToOrganizationRequest} returns this\n */\nproto.web_api.InviteUserToOrganizationRequest.prototype.setEmail = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string organizationRole = 2;\n * @return {string}\n */\nproto.web_api.InviteUserToOrganizationRequest.prototype.getOrganizationrole = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.InviteUserToOrganizationRequest} returns this\n */\nproto.web_api.InviteUserToOrganizationRequest.prototype.setOrganizationrole = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * repeated ProjectRoleAssignment projectRoles = 3;\n * @return {!Array<!proto.web_api.ProjectRoleAssignment>}\n */\nproto.web_api.InviteUserToOrganizationRequest.prototype.getProjectrolesList = function() {\n  return /** @type{!Array<!proto.web_api.ProjectRoleAssignment>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.web_api.ProjectRoleAssignment, 3));\n};\n\n\n/**\n * @param {!Array<!proto.web_api.ProjectRoleAssignment>} value\n * @return {!proto.web_api.InviteUserToOrganizationRequest} returns this\n*/\nproto.web_api.InviteUserToOrganizationRequest.prototype.setProjectrolesList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.web_api.ProjectRoleAssignment=} opt_value\n * @param {number=} opt_index\n * @return {!proto.web_api.ProjectRoleAssignment}\n */\nproto.web_api.InviteUserToOrganizationRequest.prototype.addProjectroles = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.web_api.ProjectRoleAssignment, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.InviteUserToOrganizationRequest} returns this\n */\nproto.web_api.InviteUserToOrganizationRequest.prototype.clearProjectrolesList = function() {\n  return this.setProjectrolesList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.InviteUserToOrganizationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.InviteUserToOrganizationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.InviteUserToOrganizationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.InviteUserToOrganizationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && common_pb.User.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.InviteUserToOrganizationResponse}\n */\nproto.web_api.InviteUserToOrganizationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.InviteUserToOrganizationResponse;\n  return proto.web_api.InviteUserToOrganizationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.InviteUserToOrganizationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.InviteUserToOrganizationResponse}\n */\nproto.web_api.InviteUserToOrganizationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.InviteUserToOrganizationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.InviteUserToOrganizationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.InviteUserToOrganizationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.InviteUserToOrganizationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.InviteUserToOrganizationResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.InviteUserToOrganizationResponse} returns this\n */\nproto.web_api.InviteUserToOrganizationResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.InviteUserToOrganizationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.InviteUserToOrganizationResponse} returns this\n */\nproto.web_api.InviteUserToOrganizationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional User data = 3;\n * @return {?proto.User}\n */\nproto.web_api.InviteUserToOrganizationResponse.prototype.getData = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 3));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.web_api.InviteUserToOrganizationResponse} returns this\n*/\nproto.web_api.InviteUserToOrganizationResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.InviteUserToOrganizationResponse} returns this\n */\nproto.web_api.InviteUserToOrganizationResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.InviteUserToOrganizationResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.InviteUserToOrganizationResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.InviteUserToOrganizationResponse} returns this\n*/\nproto.web_api.InviteUserToOrganizationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.InviteUserToOrganizationResponse} returns this\n */\nproto.web_api.InviteUserToOrganizationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.InviteUserToOrganizationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.AddUserToProjectsRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.AddUserToProjectsRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.AddUserToProjectsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.AddUserToProjectsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AddUserToProjectsRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    userid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    projectrolesList: jspb.Message.toObjectList(msg.getProjectrolesList(),\n    proto.web_api.ProjectRoleAssignment.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.AddUserToProjectsRequest}\n */\nproto.web_api.AddUserToProjectsRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.AddUserToProjectsRequest;\n  return proto.web_api.AddUserToProjectsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.AddUserToProjectsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.AddUserToProjectsRequest}\n */\nproto.web_api.AddUserToProjectsRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setUserid(value);\n      break;\n    case 2:\n      var value = new proto.web_api.ProjectRoleAssignment;\n      reader.readMessage(value,proto.web_api.ProjectRoleAssignment.deserializeBinaryFromReader);\n      msg.addProjectroles(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.AddUserToProjectsRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.AddUserToProjectsRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.AddUserToProjectsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AddUserToProjectsRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getUserid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getProjectrolesList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      proto.web_api.ProjectRoleAssignment.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 userId = 1;\n * @return {string}\n */\nproto.web_api.AddUserToProjectsRequest.prototype.getUserid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.AddUserToProjectsRequest} returns this\n */\nproto.web_api.AddUserToProjectsRequest.prototype.setUserid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * repeated ProjectRoleAssignment projectRoles = 2;\n * @return {!Array<!proto.web_api.ProjectRoleAssignment>}\n */\nproto.web_api.AddUserToProjectsRequest.prototype.getProjectrolesList = function() {\n  return /** @type{!Array<!proto.web_api.ProjectRoleAssignment>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.web_api.ProjectRoleAssignment, 2));\n};\n\n\n/**\n * @param {!Array<!proto.web_api.ProjectRoleAssignment>} value\n * @return {!proto.web_api.AddUserToProjectsRequest} returns this\n*/\nproto.web_api.AddUserToProjectsRequest.prototype.setProjectrolesList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.web_api.ProjectRoleAssignment=} opt_value\n * @param {number=} opt_index\n * @return {!proto.web_api.ProjectRoleAssignment}\n */\nproto.web_api.AddUserToProjectsRequest.prototype.addProjectroles = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.web_api.ProjectRoleAssignment, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.AddUserToProjectsRequest} returns this\n */\nproto.web_api.AddUserToProjectsRequest.prototype.clearProjectrolesList = function() {\n  return this.setProjectrolesList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.UpdateUserOrganizationRoleRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.UpdateUserOrganizationRoleRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.UpdateUserOrganizationRoleRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateUserOrganizationRoleRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    userid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    organizationrole: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.UpdateUserOrganizationRoleRequest}\n */\nproto.web_api.UpdateUserOrganizationRoleRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.UpdateUserOrganizationRoleRequest;\n  return proto.web_api.UpdateUserOrganizationRoleRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.UpdateUserOrganizationRoleRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.UpdateUserOrganizationRoleRequest}\n */\nproto.web_api.UpdateUserOrganizationRoleRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setUserid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationrole(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.UpdateUserOrganizationRoleRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.UpdateUserOrganizationRoleRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.UpdateUserOrganizationRoleRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateUserOrganizationRoleRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getUserid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getOrganizationrole();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 userId = 1;\n * @return {string}\n */\nproto.web_api.UpdateUserOrganizationRoleRequest.prototype.getUserid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateUserOrganizationRoleRequest} returns this\n */\nproto.web_api.UpdateUserOrganizationRoleRequest.prototype.setUserid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string organizationRole = 2;\n * @return {string}\n */\nproto.web_api.UpdateUserOrganizationRoleRequest.prototype.getOrganizationrole = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateUserOrganizationRoleRequest} returns this\n */\nproto.web_api.UpdateUserOrganizationRoleRequest.prototype.setOrganizationrole = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.UpdateUserOrganizationRoleResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.UpdateUserOrganizationRoleResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.UpdateUserOrganizationRoleResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateUserOrganizationRoleResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.UpdateUserOrganizationRoleResponse}\n */\nproto.web_api.UpdateUserOrganizationRoleResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.UpdateUserOrganizationRoleResponse;\n  return proto.web_api.UpdateUserOrganizationRoleResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.UpdateUserOrganizationRoleResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.UpdateUserOrganizationRoleResponse}\n */\nproto.web_api.UpdateUserOrganizationRoleResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.UpdateUserOrganizationRoleResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.UpdateUserOrganizationRoleResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.UpdateUserOrganizationRoleResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateUserOrganizationRoleResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.UpdateUserOrganizationRoleResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.UpdateUserOrganizationRoleResponse} returns this\n */\nproto.web_api.UpdateUserOrganizationRoleResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.UpdateUserOrganizationRoleResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.UpdateUserOrganizationRoleResponse} returns this\n */\nproto.web_api.UpdateUserOrganizationRoleResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.UpdateUserOrganizationRoleResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.UpdateUserOrganizationRoleResponse} returns this\n*/\nproto.web_api.UpdateUserOrganizationRoleResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.UpdateUserOrganizationRoleResponse} returns this\n */\nproto.web_api.UpdateUserOrganizationRoleResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateUserOrganizationRoleResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.DeleteUserFromOrganizationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.DeleteUserFromOrganizationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.DeleteUserFromOrganizationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.DeleteUserFromOrganizationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    userid: jspb.Message.getFieldWithDefault(msg, 1, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.DeleteUserFromOrganizationRequest}\n */\nproto.web_api.DeleteUserFromOrganizationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.DeleteUserFromOrganizationRequest;\n  return proto.web_api.DeleteUserFromOrganizationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.DeleteUserFromOrganizationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.DeleteUserFromOrganizationRequest}\n */\nproto.web_api.DeleteUserFromOrganizationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setUserid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.DeleteUserFromOrganizationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.DeleteUserFromOrganizationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.DeleteUserFromOrganizationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.DeleteUserFromOrganizationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getUserid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 userId = 1;\n * @return {string}\n */\nproto.web_api.DeleteUserFromOrganizationRequest.prototype.getUserid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.DeleteUserFromOrganizationRequest} returns this\n */\nproto.web_api.DeleteUserFromOrganizationRequest.prototype.setUserid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.DeleteUserFromOrganizationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.DeleteUserFromOrganizationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.DeleteUserFromOrganizationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.DeleteUserFromOrganizationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    id: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.DeleteUserFromOrganizationResponse}\n */\nproto.web_api.DeleteUserFromOrganizationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.DeleteUserFromOrganizationResponse;\n  return proto.web_api.DeleteUserFromOrganizationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.DeleteUserFromOrganizationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.DeleteUserFromOrganizationResponse}\n */\nproto.web_api.DeleteUserFromOrganizationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.DeleteUserFromOrganizationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.DeleteUserFromOrganizationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.DeleteUserFromOrganizationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.DeleteUserFromOrganizationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.DeleteUserFromOrganizationResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.DeleteUserFromOrganizationResponse} returns this\n */\nproto.web_api.DeleteUserFromOrganizationResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.DeleteUserFromOrganizationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.DeleteUserFromOrganizationResponse} returns this\n */\nproto.web_api.DeleteUserFromOrganizationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional uint64 id = 3;\n * @return {string}\n */\nproto.web_api.DeleteUserFromOrganizationResponse.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.DeleteUserFromOrganizationResponse} returns this\n */\nproto.web_api.DeleteUserFromOrganizationResponse.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.DeleteUserFromOrganizationResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.DeleteUserFromOrganizationResponse} returns this\n*/\nproto.web_api.DeleteUserFromOrganizationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.DeleteUserFromOrganizationResponse} returns this\n */\nproto.web_api.DeleteUserFromOrganizationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.DeleteUserFromOrganizationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.DeleteUserFromProjectRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.DeleteUserFromProjectRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.DeleteUserFromProjectRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.DeleteUserFromProjectRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    userid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 2, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.DeleteUserFromProjectRequest}\n */\nproto.web_api.DeleteUserFromProjectRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.DeleteUserFromProjectRequest;\n  return proto.web_api.DeleteUserFromProjectRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.DeleteUserFromProjectRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.DeleteUserFromProjectRequest}\n */\nproto.web_api.DeleteUserFromProjectRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setUserid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.DeleteUserFromProjectRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.DeleteUserFromProjectRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.DeleteUserFromProjectRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.DeleteUserFromProjectRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getUserid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 userId = 1;\n * @return {string}\n */\nproto.web_api.DeleteUserFromProjectRequest.prototype.getUserid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.DeleteUserFromProjectRequest} returns this\n */\nproto.web_api.DeleteUserFromProjectRequest.prototype.setUserid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 projectId = 2;\n * @return {string}\n */\nproto.web_api.DeleteUserFromProjectRequest.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.DeleteUserFromProjectRequest} returns this\n */\nproto.web_api.DeleteUserFromProjectRequest.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.DeleteUserFromProjectResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.DeleteUserFromProjectResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.DeleteUserFromProjectResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.DeleteUserFromProjectResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    id: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.DeleteUserFromProjectResponse}\n */\nproto.web_api.DeleteUserFromProjectResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.DeleteUserFromProjectResponse;\n  return proto.web_api.DeleteUserFromProjectResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.DeleteUserFromProjectResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.DeleteUserFromProjectResponse}\n */\nproto.web_api.DeleteUserFromProjectResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.DeleteUserFromProjectResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.DeleteUserFromProjectResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.DeleteUserFromProjectResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.DeleteUserFromProjectResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.DeleteUserFromProjectResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.DeleteUserFromProjectResponse} returns this\n */\nproto.web_api.DeleteUserFromProjectResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.DeleteUserFromProjectResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.DeleteUserFromProjectResponse} returns this\n */\nproto.web_api.DeleteUserFromProjectResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional uint64 id = 3;\n * @return {string}\n */\nproto.web_api.DeleteUserFromProjectResponse.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.DeleteUserFromProjectResponse} returns this\n */\nproto.web_api.DeleteUserFromProjectResponse.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.DeleteUserFromProjectResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.DeleteUserFromProjectResponse} returns this\n*/\nproto.web_api.DeleteUserFromProjectResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.DeleteUserFromProjectResponse} returns this\n */\nproto.web_api.DeleteUserFromProjectResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.DeleteUserFromProjectResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ArchiveProjectRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ArchiveProjectRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ArchiveProjectRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ArchiveProjectRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ArchiveProjectRequest}\n */\nproto.web_api.ArchiveProjectRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ArchiveProjectRequest;\n  return proto.web_api.ArchiveProjectRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ArchiveProjectRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ArchiveProjectRequest}\n */\nproto.web_api.ArchiveProjectRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ArchiveProjectRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ArchiveProjectRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ArchiveProjectRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ArchiveProjectRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.web_api.ArchiveProjectRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ArchiveProjectRequest} returns this\n */\nproto.web_api.ArchiveProjectRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ArchiveProjectResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ArchiveProjectResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ArchiveProjectResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ArchiveProjectResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    id: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ArchiveProjectResponse}\n */\nproto.web_api.ArchiveProjectResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ArchiveProjectResponse;\n  return proto.web_api.ArchiveProjectResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ArchiveProjectResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ArchiveProjectResponse}\n */\nproto.web_api.ArchiveProjectResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ArchiveProjectResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ArchiveProjectResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ArchiveProjectResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ArchiveProjectResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.ArchiveProjectResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.ArchiveProjectResponse} returns this\n */\nproto.web_api.ArchiveProjectResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.ArchiveProjectResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.ArchiveProjectResponse} returns this\n */\nproto.web_api.ArchiveProjectResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional uint64 id = 3;\n * @return {string}\n */\nproto.web_api.ArchiveProjectResponse.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ArchiveProjectResponse} returns this\n */\nproto.web_api.ArchiveProjectResponse.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.ArchiveProjectResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.ArchiveProjectResponse} returns this\n*/\nproto.web_api.ArchiveProjectResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.ArchiveProjectResponse} returns this\n */\nproto.web_api.ArchiveProjectResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.ArchiveProjectResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.AddUserToProjectsResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.AddUserToProjectsResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.AddUserToProjectsResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.AddUserToProjectsResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AddUserToProjectsResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.web_api.Project.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.AddUserToProjectsResponse}\n */\nproto.web_api.AddUserToProjectsResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.AddUserToProjectsResponse;\n  return proto.web_api.AddUserToProjectsResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.AddUserToProjectsResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.AddUserToProjectsResponse}\n */\nproto.web_api.AddUserToProjectsResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.Project;\n      reader.readMessage(value,proto.web_api.Project.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.AddUserToProjectsResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.AddUserToProjectsResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.AddUserToProjectsResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AddUserToProjectsResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.web_api.Project.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.AddUserToProjectsResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.AddUserToProjectsResponse} returns this\n */\nproto.web_api.AddUserToProjectsResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.AddUserToProjectsResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.AddUserToProjectsResponse} returns this\n */\nproto.web_api.AddUserToProjectsResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated Project data = 3;\n * @return {!Array<!proto.web_api.Project>}\n */\nproto.web_api.AddUserToProjectsResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.web_api.Project>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.web_api.Project, 3));\n};\n\n\n/**\n * @param {!Array<!proto.web_api.Project>} value\n * @return {!proto.web_api.AddUserToProjectsResponse} returns this\n*/\nproto.web_api.AddUserToProjectsResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.web_api.Project=} opt_value\n * @param {number=} opt_index\n * @return {!proto.web_api.Project}\n */\nproto.web_api.AddUserToProjectsResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.web_api.Project, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.AddUserToProjectsResponse} returns this\n */\nproto.web_api.AddUserToProjectsResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.AddUserToProjectsResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.AddUserToProjectsResponse} returns this\n*/\nproto.web_api.AddUserToProjectsResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.AddUserToProjectsResponse} returns this\n */\nproto.web_api.AddUserToProjectsResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.AddUserToProjectsResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ProjectCredential.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ProjectCredential.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ProjectCredential} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ProjectCredential.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    key: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    status: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    createdactor: (f = msg.getCreatedactor()) && common_pb.AuditActor.toObject(includeInstance, f),\n    updatedactor: (f = msg.getUpdatedactor()) && common_pb.AuditActor.toObject(includeInstance, f),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ProjectCredential}\n */\nproto.web_api.ProjectCredential.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ProjectCredential;\n  return proto.web_api.ProjectCredential.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ProjectCredential} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ProjectCredential}\n */\nproto.web_api.ProjectCredential.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setKey(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 1000:\n      var value = new common_pb.AuditActor;\n      reader.readMessage(value,common_pb.AuditActor.deserializeBinaryFromReader);\n      msg.setCreatedactor(value);\n      break;\n    case 1001:\n      var value = new common_pb.AuditActor;\n      reader.readMessage(value,common_pb.AuditActor.deserializeBinaryFromReader);\n      msg.setUpdatedactor(value);\n      break;\n    case 9:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 10:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ProjectCredential.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ProjectCredential.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ProjectCredential} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ProjectCredential.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getKey();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getCreatedactor();\n  if (f != null) {\n    writer.writeMessage(\n      1000,\n      f,\n      common_pb.AuditActor.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdatedactor();\n  if (f != null) {\n    writer.writeMessage(\n      1001,\n      f,\n      common_pb.AuditActor.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      9,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      10,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.web_api.ProjectCredential.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 projectId = 2;\n * @return {string}\n */\nproto.web_api.ProjectCredential.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional uint64 organizationId = 3;\n * @return {string}\n */\nproto.web_api.ProjectCredential.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional string name = 4;\n * @return {string}\n */\nproto.web_api.ProjectCredential.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string key = 5;\n * @return {string}\n */\nproto.web_api.ProjectCredential.prototype.getKey = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.setKey = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string status = 6;\n * @return {string}\n */\nproto.web_api.ProjectCredential.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional AuditActor createdActor = 1000;\n * @return {?proto.AuditActor}\n */\nproto.web_api.ProjectCredential.prototype.getCreatedactor = function() {\n  return /** @type{?proto.AuditActor} */ (\n    jspb.Message.getWrapperField(this, common_pb.AuditActor, 1000));\n};\n\n\n/**\n * @param {?proto.AuditActor|undefined} value\n * @return {!proto.web_api.ProjectCredential} returns this\n*/\nproto.web_api.ProjectCredential.prototype.setCreatedactor = function(value) {\n  return jspb.Message.setWrapperField(this, 1000, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.clearCreatedactor = function() {\n  return this.setCreatedactor(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.ProjectCredential.prototype.hasCreatedactor = function() {\n  return jspb.Message.getField(this, 1000) != null;\n};\n\n\n/**\n * optional AuditActor updatedActor = 1001;\n * @return {?proto.AuditActor}\n */\nproto.web_api.ProjectCredential.prototype.getUpdatedactor = function() {\n  return /** @type{?proto.AuditActor} */ (\n    jspb.Message.getWrapperField(this, common_pb.AuditActor, 1001));\n};\n\n\n/**\n * @param {?proto.AuditActor|undefined} value\n * @return {!proto.web_api.ProjectCredential} returns this\n*/\nproto.web_api.ProjectCredential.prototype.setUpdatedactor = function(value) {\n  return jspb.Message.setWrapperField(this, 1001, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.clearUpdatedactor = function() {\n  return this.setUpdatedactor(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.ProjectCredential.prototype.hasUpdatedactor = function() {\n  return jspb.Message.getField(this, 1001) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 9;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.web_api.ProjectCredential.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 9));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.web_api.ProjectCredential} returns this\n*/\nproto.web_api.ProjectCredential.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 9, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.ProjectCredential.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 9) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 10;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.web_api.ProjectCredential.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 10));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.web_api.ProjectCredential} returns this\n*/\nproto.web_api.ProjectCredential.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 10, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.ProjectCredential.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 10) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.CreateProjectCredentialRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.CreateProjectCredentialRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.CreateProjectCredentialRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateProjectCredentialRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    projectid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.CreateProjectCredentialRequest}\n */\nproto.web_api.CreateProjectCredentialRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.CreateProjectCredentialRequest;\n  return proto.web_api.CreateProjectCredentialRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.CreateProjectCredentialRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.CreateProjectCredentialRequest}\n */\nproto.web_api.CreateProjectCredentialRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.CreateProjectCredentialRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.CreateProjectCredentialRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.CreateProjectCredentialRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateProjectCredentialRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 projectId = 1;\n * @return {string}\n */\nproto.web_api.CreateProjectCredentialRequest.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreateProjectCredentialRequest} returns this\n */\nproto.web_api.CreateProjectCredentialRequest.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.web_api.CreateProjectCredentialRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreateProjectCredentialRequest} returns this\n */\nproto.web_api.CreateProjectCredentialRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.GetAllProjectCredentialRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetAllProjectCredentialRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetAllProjectCredentialRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllProjectCredentialRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance),\n    projectid: jspb.Message.getFieldWithDefault(msg, 3, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetAllProjectCredentialRequest}\n */\nproto.web_api.GetAllProjectCredentialRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetAllProjectCredentialRequest;\n  return proto.web_api.GetAllProjectCredentialRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetAllProjectCredentialRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetAllProjectCredentialRequest}\n */\nproto.web_api.GetAllProjectCredentialRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetAllProjectCredentialRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetAllProjectCredentialRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllProjectCredentialRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.web_api.GetAllProjectCredentialRequest} returns this\n*/\nproto.web_api.GetAllProjectCredentialRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetAllProjectCredentialRequest} returns this\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.web_api.GetAllProjectCredentialRequest} returns this\n*/\nproto.web_api.GetAllProjectCredentialRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.GetAllProjectCredentialRequest} returns this\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * optional uint64 projectId = 3;\n * @return {string}\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.GetAllProjectCredentialRequest} returns this\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.CreateProjectCredentialResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.CreateProjectCredentialResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateProjectCredentialResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.web_api.ProjectCredential.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.CreateProjectCredentialResponse}\n */\nproto.web_api.CreateProjectCredentialResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.CreateProjectCredentialResponse;\n  return proto.web_api.CreateProjectCredentialResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.CreateProjectCredentialResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.CreateProjectCredentialResponse}\n */\nproto.web_api.CreateProjectCredentialResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.ProjectCredential;\n      reader.readMessage(value,proto.web_api.ProjectCredential.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.CreateProjectCredentialResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.CreateProjectCredentialResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateProjectCredentialResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.web_api.ProjectCredential.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.CreateProjectCredentialResponse} returns this\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.CreateProjectCredentialResponse} returns this\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional ProjectCredential data = 3;\n * @return {?proto.web_api.ProjectCredential}\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.getData = function() {\n  return /** @type{?proto.web_api.ProjectCredential} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.ProjectCredential, 3));\n};\n\n\n/**\n * @param {?proto.web_api.ProjectCredential|undefined} value\n * @return {!proto.web_api.CreateProjectCredentialResponse} returns this\n*/\nproto.web_api.CreateProjectCredentialResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.CreateProjectCredentialResponse} returns this\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.CreateProjectCredentialResponse} returns this\n*/\nproto.web_api.CreateProjectCredentialResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.CreateProjectCredentialResponse} returns this\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.GetAllProjectCredentialResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetAllProjectCredentialResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetAllProjectCredentialResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllProjectCredentialResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.web_api.ProjectCredential.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetAllProjectCredentialResponse}\n */\nproto.web_api.GetAllProjectCredentialResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetAllProjectCredentialResponse;\n  return proto.web_api.GetAllProjectCredentialResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetAllProjectCredentialResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetAllProjectCredentialResponse}\n */\nproto.web_api.GetAllProjectCredentialResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.ProjectCredential;\n      reader.readMessage(value,proto.web_api.ProjectCredential.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetAllProjectCredentialResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetAllProjectCredentialResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllProjectCredentialResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.web_api.ProjectCredential.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.GetAllProjectCredentialResponse} returns this\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.GetAllProjectCredentialResponse} returns this\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated ProjectCredential data = 3;\n * @return {!Array<!proto.web_api.ProjectCredential>}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.web_api.ProjectCredential>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.web_api.ProjectCredential, 3));\n};\n\n\n/**\n * @param {!Array<!proto.web_api.ProjectCredential>} value\n * @return {!proto.web_api.GetAllProjectCredentialResponse} returns this\n*/\nproto.web_api.GetAllProjectCredentialResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.web_api.ProjectCredential=} opt_value\n * @param {number=} opt_index\n * @return {!proto.web_api.ProjectCredential}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.web_api.ProjectCredential, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.GetAllProjectCredentialResponse} returns this\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.GetAllProjectCredentialResponse} returns this\n*/\nproto.web_api.GetAllProjectCredentialResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetAllProjectCredentialResponse} returns this\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.web_api.GetAllProjectCredentialResponse} returns this\n*/\nproto.web_api.GetAllProjectCredentialResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetAllProjectCredentialResponse} returns this\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\ngoog.object.extend(exports, proto.web_api);\n","// package: web_api\n// file: web-api.proto\n\nvar web_api_pb = require(\"./web-api_pb\");\nvar common_pb = require(\"./common_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar AuthenticationService = (function () {\n  function AuthenticationService() {}\n  AuthenticationService.serviceName = \"web_api.AuthenticationService\";\n  return AuthenticationService;\n}());\n\nAuthenticationService.Authenticate = {\n  methodName: \"Authenticate\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.AuthenticateRequest,\n  responseType: web_api_pb.AuthenticateResponse\n};\n\nAuthenticationService.RegisterUser = {\n  methodName: \"RegisterUser\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.RegisterUserRequest,\n  responseType: web_api_pb.AuthenticateResponse\n};\n\nAuthenticationService.Authorize = {\n  methodName: \"Authorize\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.AuthorizeRequest,\n  responseType: web_api_pb.AuthenticateResponse\n};\n\nAuthenticationService.ScopeAuthorize = {\n  methodName: \"ScopeAuthorize\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.ScopeAuthorizeRequest,\n  responseType: web_api_pb.ScopedAuthenticationResponse\n};\n\nAuthenticationService.VerifyToken = {\n  methodName: \"VerifyToken\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.VerifyTokenRequest,\n  responseType: web_api_pb.VerifyTokenResponse\n};\n\nAuthenticationService.ForgotPassword = {\n  methodName: \"ForgotPassword\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.ForgotPasswordRequest,\n  responseType: web_api_pb.ForgotPasswordResponse\n};\n\nAuthenticationService.CreatePassword = {\n  methodName: \"CreatePassword\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.CreatePasswordRequest,\n  responseType: web_api_pb.CreatePasswordResponse\n};\n\nAuthenticationService.ChangePassword = {\n  methodName: \"ChangePassword\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.ChangePasswordRequest,\n  responseType: web_api_pb.ChangePasswordResponse\n};\n\nAuthenticationService.GetUser = {\n  methodName: \"GetUser\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.GetUserRequest,\n  responseType: web_api_pb.GetUserResponse\n};\n\nAuthenticationService.UpdateUser = {\n  methodName: \"UpdateUser\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.UpdateUserRequest,\n  responseType: web_api_pb.UpdateUserResponse\n};\n\nAuthenticationService.GetAllUser = {\n  methodName: \"GetAllUser\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.GetAllUserRequest,\n  responseType: web_api_pb.GetAllUserResponse\n};\n\nAuthenticationService.Linkedin = {\n  methodName: \"Linkedin\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.SocialAuthenticationRequest,\n  responseType: web_api_pb.AuthenticateResponse\n};\n\nAuthenticationService.Google = {\n  methodName: \"Google\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.SocialAuthenticationRequest,\n  responseType: web_api_pb.AuthenticateResponse\n};\n\nAuthenticationService.Github = {\n  methodName: \"Github\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.SocialAuthenticationRequest,\n  responseType: web_api_pb.AuthenticateResponse\n};\n\nexports.AuthenticationService = AuthenticationService;\n\nfunction AuthenticationServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nAuthenticationServiceClient.prototype.authenticate = function authenticate(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.Authenticate, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.registerUser = function registerUser(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.RegisterUser, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.authorize = function authorize(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.Authorize, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.scopeAuthorize = function scopeAuthorize(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.ScopeAuthorize, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.verifyToken = function verifyToken(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.VerifyToken, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.forgotPassword = function forgotPassword(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.ForgotPassword, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.createPassword = function createPassword(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.CreatePassword, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.changePassword = function changePassword(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.ChangePassword, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.getUser = function getUser(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.GetUser, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.updateUser = function updateUser(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.UpdateUser, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.getAllUser = function getAllUser(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.GetAllUser, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.linkedin = function linkedin(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.Linkedin, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.google = function google(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.Google, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.github = function github(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.Github, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.AuthenticationServiceClient = AuthenticationServiceClient;\n\nvar OrganizationService = (function () {\n  function OrganizationService() {}\n  OrganizationService.serviceName = \"web_api.OrganizationService\";\n  return OrganizationService;\n}());\n\nOrganizationService.CreateOrganization = {\n  methodName: \"CreateOrganization\",\n  service: OrganizationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.CreateOrganizationRequest,\n  responseType: web_api_pb.CreateOrganizationResponse\n};\n\nOrganizationService.GetOrganization = {\n  methodName: \"GetOrganization\",\n  service: OrganizationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.GetOrganizationRequest,\n  responseType: web_api_pb.GetOrganizationResponse\n};\n\nOrganizationService.UpdateOrganization = {\n  methodName: \"UpdateOrganization\",\n  service: OrganizationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.UpdateOrganizationRequest,\n  responseType: web_api_pb.UpdateOrganizationResponse\n};\n\nOrganizationService.UpdateBillingInformation = {\n  methodName: \"UpdateBillingInformation\",\n  service: OrganizationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.UpdateBillingInformationRequest,\n  responseType: common_pb.BaseResponse\n};\n\nOrganizationService.InviteUserToOrganization = {\n  methodName: \"InviteUserToOrganization\",\n  service: OrganizationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.InviteUserToOrganizationRequest,\n  responseType: web_api_pb.InviteUserToOrganizationResponse\n};\n\nOrganizationService.UpdateUserOrganizationRole = {\n  methodName: \"UpdateUserOrganizationRole\",\n  service: OrganizationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.UpdateUserOrganizationRoleRequest,\n  responseType: web_api_pb.UpdateUserOrganizationRoleResponse\n};\n\nOrganizationService.DeleteUserFromOrganization = {\n  methodName: \"DeleteUserFromOrganization\",\n  service: OrganizationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.DeleteUserFromOrganizationRequest,\n  responseType: web_api_pb.DeleteUserFromOrganizationResponse\n};\n\nexports.OrganizationService = OrganizationService;\n\nfunction OrganizationServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nOrganizationServiceClient.prototype.createOrganization = function createOrganization(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(OrganizationService.CreateOrganization, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nOrganizationServiceClient.prototype.getOrganization = function getOrganization(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(OrganizationService.GetOrganization, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nOrganizationServiceClient.prototype.updateOrganization = function updateOrganization(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(OrganizationService.UpdateOrganization, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nOrganizationServiceClient.prototype.updateBillingInformation = function updateBillingInformation(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(OrganizationService.UpdateBillingInformation, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nOrganizationServiceClient.prototype.inviteUserToOrganization = function inviteUserToOrganization(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(OrganizationService.InviteUserToOrganization, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nOrganizationServiceClient.prototype.updateUserOrganizationRole = function updateUserOrganizationRole(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(OrganizationService.UpdateUserOrganizationRole, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nOrganizationServiceClient.prototype.deleteUserFromOrganization = function deleteUserFromOrganization(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(OrganizationService.DeleteUserFromOrganization, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.OrganizationServiceClient = OrganizationServiceClient;\n\nvar ProjectService = (function () {\n  function ProjectService() {}\n  ProjectService.serviceName = \"web_api.ProjectService\";\n  return ProjectService;\n}());\n\nProjectService.CreateProject = {\n  methodName: \"CreateProject\",\n  service: ProjectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.CreateProjectRequest,\n  responseType: web_api_pb.CreateProjectResponse\n};\n\nProjectService.UpdateProject = {\n  methodName: \"UpdateProject\",\n  service: ProjectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.UpdateProjectRequest,\n  responseType: web_api_pb.UpdateProjectResponse\n};\n\nProjectService.GetProject = {\n  methodName: \"GetProject\",\n  service: ProjectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.GetProjectRequest,\n  responseType: web_api_pb.GetProjectResponse\n};\n\nProjectService.GetAllProject = {\n  methodName: \"GetAllProject\",\n  service: ProjectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.GetAllProjectRequest,\n  responseType: web_api_pb.GetAllProjectResponse\n};\n\nProjectService.AddUserToProjects = {\n  methodName: \"AddUserToProjects\",\n  service: ProjectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.AddUserToProjectsRequest,\n  responseType: web_api_pb.AddUserToProjectsResponse\n};\n\nProjectService.DeleteUserFromProject = {\n  methodName: \"DeleteUserFromProject\",\n  service: ProjectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.DeleteUserFromProjectRequest,\n  responseType: web_api_pb.DeleteUserFromProjectResponse\n};\n\nProjectService.ArchiveProject = {\n  methodName: \"ArchiveProject\",\n  service: ProjectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.ArchiveProjectRequest,\n  responseType: web_api_pb.ArchiveProjectResponse\n};\n\nProjectService.CreateProjectCredential = {\n  methodName: \"CreateProjectCredential\",\n  service: ProjectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.CreateProjectCredentialRequest,\n  responseType: web_api_pb.CreateProjectCredentialResponse\n};\n\nProjectService.GetAllProjectCredential = {\n  methodName: \"GetAllProjectCredential\",\n  service: ProjectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.GetAllProjectCredentialRequest,\n  responseType: web_api_pb.GetAllProjectCredentialResponse\n};\n\nexports.ProjectService = ProjectService;\n\nfunction ProjectServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nProjectServiceClient.prototype.createProject = function createProject(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ProjectService.CreateProject, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nProjectServiceClient.prototype.updateProject = function updateProject(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ProjectService.UpdateProject, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nProjectServiceClient.prototype.getProject = function getProject(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ProjectService.GetProject, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nProjectServiceClient.prototype.getAllProject = function getAllProject(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ProjectService.GetAllProject, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nProjectServiceClient.prototype.addUserToProjects = function addUserToProjects(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ProjectService.AddUserToProjects, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nProjectServiceClient.prototype.deleteUserFromProject = function deleteUserFromProject(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ProjectService.DeleteUserFromProject, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nProjectServiceClient.prototype.archiveProject = function archiveProject(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ProjectService.ArchiveProject, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nProjectServiceClient.prototype.createProjectCredential = function createProjectCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ProjectService.CreateProjectCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nProjectServiceClient.prototype.getAllProjectCredential = function getAllProjectCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ProjectService.GetAllProjectCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.ProjectServiceClient = ProjectServiceClient;\n\n","// source: knowledge-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\nvar google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js');\ngoog.object.extend(proto, google_protobuf_struct_pb);\ngoog.exportSymbol('proto.knowledge_api.CreateKnowledgeDocumentRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.CreateKnowledgeDocumentRequest.DOCUMENT_SOURCE', null, global);\ngoog.exportSymbol('proto.knowledge_api.CreateKnowledgeDocumentRequest.PRE_PROCESS', null, global);\ngoog.exportSymbol('proto.knowledge_api.CreateKnowledgeDocumentResponse', null, global);\ngoog.exportSymbol('proto.knowledge_api.CreateKnowledgeRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.CreateKnowledgeResponse', null, global);\ngoog.exportSymbol('proto.knowledge_api.CreateKnowledgeTagRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.DocumentContent', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetAllKnowledgeDocumentRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetAllKnowledgeDocumentResponse', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetAllKnowledgeLogRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetAllKnowledgeLogResponse', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetAllKnowledgeRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetAllKnowledgeResponse', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetKnowledgeLogRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetKnowledgeLogResponse', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetKnowledgeRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetKnowledgeResponse', null, global);\ngoog.exportSymbol('proto.knowledge_api.KnowledgeDocument', null, global);\ngoog.exportSymbol('proto.knowledge_api.KnowledgeDocumentSegment', null, global);\ngoog.exportSymbol('proto.knowledge_api.KnowledgeDocumentSegment.Entities', null, global);\ngoog.exportSymbol('proto.knowledge_api.KnowledgeDocumentSegment.Metadata', null, global);\ngoog.exportSymbol('proto.knowledge_api.KnowledgeLog', null, global);\ngoog.exportSymbol('proto.knowledge_api.UpdateKnowledgeDetailRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.CreateKnowledgeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.CreateKnowledgeRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.CreateKnowledgeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.CreateKnowledgeRequest.displayName = 'proto.knowledge_api.CreateKnowledgeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.CreateKnowledgeResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.knowledge_api.CreateKnowledgeResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.CreateKnowledgeResponse.displayName = 'proto.knowledge_api.CreateKnowledgeResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetAllKnowledgeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.GetAllKnowledgeRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.GetAllKnowledgeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetAllKnowledgeRequest.displayName = 'proto.knowledge_api.GetAllKnowledgeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetAllKnowledgeResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.GetAllKnowledgeResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.GetAllKnowledgeResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetAllKnowledgeResponse.displayName = 'proto.knowledge_api.GetAllKnowledgeResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetKnowledgeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.knowledge_api.GetKnowledgeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetKnowledgeRequest.displayName = 'proto.knowledge_api.GetKnowledgeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetKnowledgeResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.knowledge_api.GetKnowledgeResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetKnowledgeResponse.displayName = 'proto.knowledge_api.GetKnowledgeResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.CreateKnowledgeTagRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.CreateKnowledgeTagRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.CreateKnowledgeTagRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.CreateKnowledgeTagRequest.displayName = 'proto.knowledge_api.CreateKnowledgeTagRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.KnowledgeDocument = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, 500, null, null);\n};\ngoog.inherits(proto.knowledge_api.KnowledgeDocument, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.KnowledgeDocument.displayName = 'proto.knowledge_api.KnowledgeDocument';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.GetAllKnowledgeDocumentRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.GetAllKnowledgeDocumentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetAllKnowledgeDocumentRequest.displayName = 'proto.knowledge_api.GetAllKnowledgeDocumentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.GetAllKnowledgeDocumentResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.GetAllKnowledgeDocumentResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetAllKnowledgeDocumentResponse.displayName = 'proto.knowledge_api.GetAllKnowledgeDocumentResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.DocumentContent = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.knowledge_api.DocumentContent, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.DocumentContent.displayName = 'proto.knowledge_api.DocumentContent';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.CreateKnowledgeDocumentRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.CreateKnowledgeDocumentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.CreateKnowledgeDocumentRequest.displayName = 'proto.knowledge_api.CreateKnowledgeDocumentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.CreateKnowledgeDocumentResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.CreateKnowledgeDocumentResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.CreateKnowledgeDocumentResponse.displayName = 'proto.knowledge_api.CreateKnowledgeDocumentResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.KnowledgeDocumentSegment = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.knowledge_api.KnowledgeDocumentSegment, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.KnowledgeDocumentSegment.displayName = 'proto.knowledge_api.KnowledgeDocumentSegment';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.knowledge_api.KnowledgeDocumentSegment.Metadata, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.KnowledgeDocumentSegment.Metadata.displayName = 'proto.knowledge_api.KnowledgeDocumentSegment.Metadata';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.KnowledgeDocumentSegment.Entities.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.KnowledgeDocumentSegment.Entities, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.KnowledgeDocumentSegment.Entities.displayName = 'proto.knowledge_api.KnowledgeDocumentSegment.Entities';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.displayName = 'proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.displayName = 'proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.knowledge_api.UpdateKnowledgeDetailRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.UpdateKnowledgeDetailRequest.displayName = 'proto.knowledge_api.UpdateKnowledgeDetailRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.displayName = 'proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.displayName = 'proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetAllKnowledgeLogRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.GetAllKnowledgeLogRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.GetAllKnowledgeLogRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetAllKnowledgeLogRequest.displayName = 'proto.knowledge_api.GetAllKnowledgeLogRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetKnowledgeLogRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.knowledge_api.GetKnowledgeLogRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetKnowledgeLogRequest.displayName = 'proto.knowledge_api.GetKnowledgeLogRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetKnowledgeLogResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.knowledge_api.GetKnowledgeLogResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetKnowledgeLogResponse.displayName = 'proto.knowledge_api.GetKnowledgeLogResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.GetAllKnowledgeLogResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.GetAllKnowledgeLogResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetAllKnowledgeLogResponse.displayName = 'proto.knowledge_api.GetAllKnowledgeLogResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.KnowledgeLog = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.knowledge_api.KnowledgeLog, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.KnowledgeLog.displayName = 'proto.knowledge_api.KnowledgeLog';\n}\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.CreateKnowledgeRequest.repeatedFields_ = [4,8];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.CreateKnowledgeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.CreateKnowledgeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    name: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    tagsList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f,\n    visibility: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    embeddingmodelprovidername: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    knowledgeembeddingmodeloptionsList: jspb.Message.toObjectList(msg.getKnowledgeembeddingmodeloptionsList(),\n    common_pb.Metadata.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.CreateKnowledgeRequest}\n */\nproto.knowledge_api.CreateKnowledgeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.CreateKnowledgeRequest;\n  return proto.knowledge_api.CreateKnowledgeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.CreateKnowledgeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.CreateKnowledgeRequest}\n */\nproto.knowledge_api.CreateKnowledgeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addTags(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVisibility(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmbeddingmodelprovidername(value);\n      break;\n    case 8:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addKnowledgeembeddingmodeloptions(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.CreateKnowledgeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.CreateKnowledgeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getTagsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      4,\n      f\n    );\n  }\n  f = message.getVisibility();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getEmbeddingmodelprovidername();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getKnowledgeembeddingmodeloptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      8,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string description = 2;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * repeated string tags = 4;\n * @return {!Array<string>}\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.getTagsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 4));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.CreateKnowledgeRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.setTagsList = function(value) {\n  return jspb.Message.setField(this, 4, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.CreateKnowledgeRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.addTags = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.CreateKnowledgeRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.clearTagsList = function() {\n  return this.setTagsList([]);\n};\n\n\n/**\n * optional string visibility = 5;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.getVisibility = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.setVisibility = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string embeddingModelProviderName = 7;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.getEmbeddingmodelprovidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.setEmbeddingmodelprovidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * repeated Metadata knowledgeEmbeddingModelOptions = 8;\n * @return {!Array<!proto.Metadata>}\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.getKnowledgeembeddingmodeloptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 8));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.knowledge_api.CreateKnowledgeRequest} returns this\n*/\nproto.knowledge_api.CreateKnowledgeRequest.prototype.setKnowledgeembeddingmodeloptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 8, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.addKnowledgeembeddingmodeloptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 8, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.CreateKnowledgeRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.clearKnowledgeembeddingmodeloptionsList = function() {\n  return this.setKnowledgeembeddingmodeloptionsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.CreateKnowledgeResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.CreateKnowledgeResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && common_pb.Knowledge.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.CreateKnowledgeResponse}\n */\nproto.knowledge_api.CreateKnowledgeResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.CreateKnowledgeResponse;\n  return proto.knowledge_api.CreateKnowledgeResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.CreateKnowledgeResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.CreateKnowledgeResponse}\n */\nproto.knowledge_api.CreateKnowledgeResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Knowledge;\n      reader.readMessage(value,common_pb.Knowledge.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.CreateKnowledgeResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.CreateKnowledgeResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Knowledge.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.CreateKnowledgeResponse} returns this\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.knowledge_api.CreateKnowledgeResponse} returns this\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Knowledge data = 3;\n * @return {?proto.Knowledge}\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.getData = function() {\n  return /** @type{?proto.Knowledge} */ (\n    jspb.Message.getWrapperField(this, common_pb.Knowledge, 3));\n};\n\n\n/**\n * @param {?proto.Knowledge|undefined} value\n * @return {!proto.knowledge_api.CreateKnowledgeResponse} returns this\n*/\nproto.knowledge_api.CreateKnowledgeResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.CreateKnowledgeResponse} returns this\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.knowledge_api.CreateKnowledgeResponse} returns this\n*/\nproto.knowledge_api.CreateKnowledgeResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.CreateKnowledgeResponse} returns this\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.GetAllKnowledgeRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetAllKnowledgeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetAllKnowledgeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetAllKnowledgeRequest}\n */\nproto.knowledge_api.GetAllKnowledgeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetAllKnowledgeRequest;\n  return proto.knowledge_api.GetAllKnowledgeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetAllKnowledgeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetAllKnowledgeRequest}\n */\nproto.knowledge_api.GetAllKnowledgeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetAllKnowledgeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetAllKnowledgeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeRequest} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.knowledge_api.GetAllKnowledgeRequest} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.GetAllKnowledgeRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.GetAllKnowledgeResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetAllKnowledgeResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetAllKnowledgeResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    common_pb.Knowledge.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetAllKnowledgeResponse;\n  return proto.knowledge_api.GetAllKnowledgeResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetAllKnowledgeResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Knowledge;\n      reader.readMessage(value,common_pb.Knowledge.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetAllKnowledgeResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetAllKnowledgeResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.Knowledge.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated Knowledge data = 3;\n * @return {!Array<!proto.Knowledge>}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.Knowledge>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Knowledge, 3));\n};\n\n\n/**\n * @param {!Array<!proto.Knowledge>} value\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.Knowledge=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Knowledge}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.Knowledge, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetKnowledgeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetKnowledgeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetKnowledgeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetKnowledgeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetKnowledgeRequest}\n */\nproto.knowledge_api.GetKnowledgeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetKnowledgeRequest;\n  return proto.knowledge_api.GetKnowledgeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetKnowledgeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetKnowledgeRequest}\n */\nproto.knowledge_api.GetKnowledgeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetKnowledgeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetKnowledgeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetKnowledgeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetKnowledgeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.knowledge_api.GetKnowledgeRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.GetKnowledgeRequest} returns this\n */\nproto.knowledge_api.GetKnowledgeRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetKnowledgeResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetKnowledgeResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetKnowledgeResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && common_pb.Knowledge.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetKnowledgeResponse}\n */\nproto.knowledge_api.GetKnowledgeResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetKnowledgeResponse;\n  return proto.knowledge_api.GetKnowledgeResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetKnowledgeResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetKnowledgeResponse}\n */\nproto.knowledge_api.GetKnowledgeResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Knowledge;\n      reader.readMessage(value,common_pb.Knowledge.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetKnowledgeResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetKnowledgeResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetKnowledgeResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Knowledge.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.GetKnowledgeResponse} returns this\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.knowledge_api.GetKnowledgeResponse} returns this\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Knowledge data = 3;\n * @return {?proto.Knowledge}\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.getData = function() {\n  return /** @type{?proto.Knowledge} */ (\n    jspb.Message.getWrapperField(this, common_pb.Knowledge, 3));\n};\n\n\n/**\n * @param {?proto.Knowledge|undefined} value\n * @return {!proto.knowledge_api.GetKnowledgeResponse} returns this\n*/\nproto.knowledge_api.GetKnowledgeResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetKnowledgeResponse} returns this\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.knowledge_api.GetKnowledgeResponse} returns this\n*/\nproto.knowledge_api.GetKnowledgeResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetKnowledgeResponse} returns this\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.CreateKnowledgeTagRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.CreateKnowledgeTagRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    knowledgeid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    tagsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.CreateKnowledgeTagRequest}\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.CreateKnowledgeTagRequest;\n  return proto.knowledge_api.CreateKnowledgeTagRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.CreateKnowledgeTagRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.CreateKnowledgeTagRequest}\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addTags(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.CreateKnowledgeTagRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.CreateKnowledgeTagRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getKnowledgeid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getTagsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 knowledgeId = 1;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.prototype.getKnowledgeid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeTagRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.prototype.setKnowledgeid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * repeated string tags = 2;\n * @return {!Array<string>}\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.prototype.getTagsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.CreateKnowledgeTagRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.prototype.setTagsList = function(value) {\n  return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.CreateKnowledgeTagRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.prototype.addTags = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.CreateKnowledgeTagRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.prototype.clearTagsList = function() {\n  return this.setTagsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.KnowledgeDocument.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.KnowledgeDocument} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.KnowledgeDocument.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    knowledgeid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    language: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    name: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    documentsource: (f = msg.getDocumentsource()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    documenttype: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    documentsize: jspb.Message.getFieldWithDefault(msg, 8, 0),\n    documentpath: jspb.Message.getFieldWithDefault(msg, 9, \"\"),\n    indexstatus: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n    retrievalcount: jspb.Message.getFieldWithDefault(msg, 12, 0),\n    tokencount: jspb.Message.getFieldWithDefault(msg, 13, 0),\n    wordcount: jspb.Message.getFieldWithDefault(msg, 14, 0),\n    displaystatus: jspb.Message.getFieldWithDefault(msg, 19, \"\"),\n    status: jspb.Message.getFieldWithDefault(msg, 21, \"\"),\n    createdactor: (f = msg.getCreatedactor()) && common_pb.AuditActor.toObject(includeInstance, f),\n    updatedactor: (f = msg.getUpdatedactor()) && common_pb.AuditActor.toObject(includeInstance, f),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.KnowledgeDocument}\n */\nproto.knowledge_api.KnowledgeDocument.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.KnowledgeDocument;\n  return proto.knowledge_api.KnowledgeDocument.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.KnowledgeDocument} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.KnowledgeDocument}\n */\nproto.knowledge_api.KnowledgeDocument.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLanguage(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 6:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setDocumentsource(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumenttype(value);\n      break;\n    case 8:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setDocumentsize(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentpath(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setIndexstatus(value);\n      break;\n    case 12:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setRetrievalcount(value);\n      break;\n    case 13:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setTokencount(value);\n      break;\n    case 14:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setWordcount(value);\n      break;\n    case 19:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDisplaystatus(value);\n      break;\n    case 21:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 1000:\n      var value = new common_pb.AuditActor;\n      reader.readMessage(value,common_pb.AuditActor.deserializeBinaryFromReader);\n      msg.setCreatedactor(value);\n      break;\n    case 1001:\n      var value = new common_pb.AuditActor;\n      reader.readMessage(value,common_pb.AuditActor.deserializeBinaryFromReader);\n      msg.setUpdatedactor(value);\n      break;\n    case 26:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 27:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.KnowledgeDocument.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.KnowledgeDocument} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.KnowledgeDocument.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getKnowledgeid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getLanguage();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getDocumentsource();\n  if (f != null) {\n    writer.writeMessage(\n      6,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getDocumenttype();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getDocumentsize();\n  if (f !== 0) {\n    writer.writeUint64(\n      8,\n      f\n    );\n  }\n  f = message.getDocumentpath();\n  if (f.length > 0) {\n    writer.writeString(\n      9,\n      f\n    );\n  }\n  f = message.getIndexstatus();\n  if (f.length > 0) {\n    writer.writeString(\n      10,\n      f\n    );\n  }\n  f = message.getRetrievalcount();\n  if (f !== 0) {\n    writer.writeUint64(\n      12,\n      f\n    );\n  }\n  f = message.getTokencount();\n  if (f !== 0) {\n    writer.writeUint64(\n      13,\n      f\n    );\n  }\n  f = message.getWordcount();\n  if (f !== 0) {\n    writer.writeUint64(\n      14,\n      f\n    );\n  }\n  f = message.getDisplaystatus();\n  if (f.length > 0) {\n    writer.writeString(\n      19,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      21,\n      f\n    );\n  }\n  f = message.getCreatedactor();\n  if (f != null) {\n    writer.writeMessage(\n      1000,\n      f,\n      common_pb.AuditActor.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdatedactor();\n  if (f != null) {\n    writer.writeMessage(\n      1001,\n      f,\n      common_pb.AuditActor.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      26,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      27,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 knowledgeId = 2;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getKnowledgeid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setKnowledgeid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional string language = 3;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getLanguage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setLanguage = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string name = 4;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string description = 5;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional google.protobuf.Struct documentSource = 6;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getDocumentsource = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 6));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n*/\nproto.knowledge_api.KnowledgeDocument.prototype.setDocumentsource = function(value) {\n  return jspb.Message.setWrapperField(this, 6, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.clearDocumentsource = function() {\n  return this.setDocumentsource(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.hasDocumentsource = function() {\n  return jspb.Message.getField(this, 6) != null;\n};\n\n\n/**\n * optional string documentType = 7;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getDocumenttype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setDocumenttype = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional uint64 documentSize = 8;\n * @return {number}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getDocumentsize = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setDocumentsize = function(value) {\n  return jspb.Message.setProto3IntField(this, 8, value);\n};\n\n\n/**\n * optional string documentPath = 9;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getDocumentpath = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setDocumentpath = function(value) {\n  return jspb.Message.setProto3StringField(this, 9, value);\n};\n\n\n/**\n * optional string indexStatus = 10;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getIndexstatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setIndexstatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 10, value);\n};\n\n\n/**\n * optional uint64 retrievalCount = 12;\n * @return {number}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getRetrievalcount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setRetrievalcount = function(value) {\n  return jspb.Message.setProto3IntField(this, 12, value);\n};\n\n\n/**\n * optional uint64 tokenCount = 13;\n * @return {number}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getTokencount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setTokencount = function(value) {\n  return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n/**\n * optional uint64 wordCount = 14;\n * @return {number}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getWordcount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setWordcount = function(value) {\n  return jspb.Message.setProto3IntField(this, 14, value);\n};\n\n\n/**\n * optional string DisplayStatus = 19;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getDisplaystatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 19, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setDisplaystatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 19, value);\n};\n\n\n/**\n * optional string status = 21;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 21, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 21, value);\n};\n\n\n/**\n * optional AuditActor createdActor = 1000;\n * @return {?proto.AuditActor}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getCreatedactor = function() {\n  return /** @type{?proto.AuditActor} */ (\n    jspb.Message.getWrapperField(this, common_pb.AuditActor, 1000));\n};\n\n\n/**\n * @param {?proto.AuditActor|undefined} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n*/\nproto.knowledge_api.KnowledgeDocument.prototype.setCreatedactor = function(value) {\n  return jspb.Message.setWrapperField(this, 1000, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.clearCreatedactor = function() {\n  return this.setCreatedactor(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.hasCreatedactor = function() {\n  return jspb.Message.getField(this, 1000) != null;\n};\n\n\n/**\n * optional AuditActor updatedActor = 1001;\n * @return {?proto.AuditActor}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getUpdatedactor = function() {\n  return /** @type{?proto.AuditActor} */ (\n    jspb.Message.getWrapperField(this, common_pb.AuditActor, 1001));\n};\n\n\n/**\n * @param {?proto.AuditActor|undefined} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n*/\nproto.knowledge_api.KnowledgeDocument.prototype.setUpdatedactor = function(value) {\n  return jspb.Message.setWrapperField(this, 1001, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.clearUpdatedactor = function() {\n  return this.setUpdatedactor(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.hasUpdatedactor = function() {\n  return jspb.Message.getField(this, 1001) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 26;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 26));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n*/\nproto.knowledge_api.KnowledgeDocument.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 26, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 26) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 27;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 27));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n*/\nproto.knowledge_api.KnowledgeDocument.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 27, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 27) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetAllKnowledgeDocumentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    knowledgeid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentRequest}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetAllKnowledgeDocumentRequest;\n  return proto.knowledge_api.GetAllKnowledgeDocumentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentRequest}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeid(value);\n      break;\n    case 2:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 3:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetAllKnowledgeDocumentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getKnowledgeid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 knowledgeId = 1;\n * @return {string}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.getKnowledgeid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.setKnowledgeid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional Paginate paginate = 2;\n * @return {?proto.Paginate}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 2));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentRequest} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 3;\n * @return {!Array<!proto.Criteria>}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 3));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentRequest} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetAllKnowledgeDocumentResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.knowledge_api.KnowledgeDocument.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetAllKnowledgeDocumentResponse;\n  return proto.knowledge_api.GetAllKnowledgeDocumentResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.knowledge_api.KnowledgeDocument;\n      reader.readMessage(value,proto.knowledge_api.KnowledgeDocument.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetAllKnowledgeDocumentResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.knowledge_api.KnowledgeDocument.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated KnowledgeDocument data = 3;\n * @return {!Array<!proto.knowledge_api.KnowledgeDocument>}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.knowledge_api.KnowledgeDocument>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.knowledge_api.KnowledgeDocument, 3));\n};\n\n\n/**\n * @param {!Array<!proto.knowledge_api.KnowledgeDocument>} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.knowledge_api.KnowledgeDocument=} opt_value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocument}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.knowledge_api.KnowledgeDocument, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.DocumentContent.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.DocumentContent.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.DocumentContent} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.DocumentContent.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    name: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    contenttype: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    contentformat: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    content: msg.getContent_asB64(),\n    meta: (f = msg.getMeta()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.DocumentContent}\n */\nproto.knowledge_api.DocumentContent.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.DocumentContent;\n  return proto.knowledge_api.DocumentContent.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.DocumentContent} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.DocumentContent}\n */\nproto.knowledge_api.DocumentContent.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setContenttype(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setContentformat(value);\n      break;\n    case 4:\n      var value = /** @type {!Uint8Array} */ (reader.readBytes());\n      msg.setContent(value);\n      break;\n    case 5:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setMeta(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.DocumentContent.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.DocumentContent.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.DocumentContent} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.DocumentContent.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getContenttype();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getContentformat();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getContent_asU8();\n  if (f.length > 0) {\n    writer.writeBytes(\n      4,\n      f\n    );\n  }\n  f = message.getMeta();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.knowledge_api.DocumentContent.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.DocumentContent} returns this\n */\nproto.knowledge_api.DocumentContent.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string contentType = 2;\n * @return {string}\n */\nproto.knowledge_api.DocumentContent.prototype.getContenttype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.DocumentContent} returns this\n */\nproto.knowledge_api.DocumentContent.prototype.setContenttype = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string contentFormat = 3;\n * @return {string}\n */\nproto.knowledge_api.DocumentContent.prototype.getContentformat = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.DocumentContent} returns this\n */\nproto.knowledge_api.DocumentContent.prototype.setContentformat = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional bytes content = 4;\n * @return {!(string|Uint8Array)}\n */\nproto.knowledge_api.DocumentContent.prototype.getContent = function() {\n  return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * optional bytes content = 4;\n * This is a type-conversion wrapper around `getContent()`\n * @return {string}\n */\nproto.knowledge_api.DocumentContent.prototype.getContent_asB64 = function() {\n  return /** @type {string} */ (jspb.Message.bytesAsB64(\n      this.getContent()));\n};\n\n\n/**\n * optional bytes content = 4;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getContent()`\n * @return {!Uint8Array}\n */\nproto.knowledge_api.DocumentContent.prototype.getContent_asU8 = function() {\n  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n      this.getContent()));\n};\n\n\n/**\n * @param {!(string|Uint8Array)} value\n * @return {!proto.knowledge_api.DocumentContent} returns this\n */\nproto.knowledge_api.DocumentContent.prototype.setContent = function(value) {\n  return jspb.Message.setProto3BytesField(this, 4, value);\n};\n\n\n/**\n * optional google.protobuf.Struct meta = 5;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.knowledge_api.DocumentContent.prototype.getMeta = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 5));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.knowledge_api.DocumentContent} returns this\n*/\nproto.knowledge_api.DocumentContent.prototype.setMeta = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.DocumentContent} returns this\n */\nproto.knowledge_api.DocumentContent.prototype.clearMeta = function() {\n  return this.setMeta(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.DocumentContent.prototype.hasMeta = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.repeatedFields_ = [5];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.CreateKnowledgeDocumentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.CreateKnowledgeDocumentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    knowledgeid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    documentsource: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    datasource: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    contentsList: jspb.Message.toObjectList(msg.getContentsList(),\n    proto.knowledge_api.DocumentContent.toObject, includeInstance),\n    preprocess: jspb.Message.getFieldWithDefault(msg, 6, 0),\n    separator: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    maxchunksize: jspb.Message.getFieldWithDefault(msg, 8, 0),\n    chunkoverlap: jspb.Message.getFieldWithDefault(msg, 9, 0),\n    name: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n    documentstructure: jspb.Message.getFieldWithDefault(msg, 12, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.CreateKnowledgeDocumentRequest;\n  return proto.knowledge_api.CreateKnowledgeDocumentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.CreateKnowledgeDocumentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeid(value);\n      break;\n    case 2:\n      var value = /** @type {!proto.knowledge_api.CreateKnowledgeDocumentRequest.DOCUMENT_SOURCE} */ (reader.readEnum());\n      msg.setDocumentsource(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDatasource(value);\n      break;\n    case 5:\n      var value = new proto.knowledge_api.DocumentContent;\n      reader.readMessage(value,proto.knowledge_api.DocumentContent.deserializeBinaryFromReader);\n      msg.addContents(value);\n      break;\n    case 6:\n      var value = /** @type {!proto.knowledge_api.CreateKnowledgeDocumentRequest.PRE_PROCESS} */ (reader.readEnum());\n      msg.setPreprocess(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setSeparator(value);\n      break;\n    case 8:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setMaxchunksize(value);\n      break;\n    case 9:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setChunkoverlap(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 11:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentstructure(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.CreateKnowledgeDocumentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.CreateKnowledgeDocumentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getKnowledgeid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getDocumentsource();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      2,\n      f\n    );\n  }\n  f = message.getDatasource();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getContentsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      5,\n      f,\n      proto.knowledge_api.DocumentContent.serializeBinaryToWriter\n    );\n  }\n  f = message.getPreprocess();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      6,\n      f\n    );\n  }\n  f = message.getSeparator();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getMaxchunksize();\n  if (f !== 0) {\n    writer.writeUint32(\n      8,\n      f\n    );\n  }\n  f = message.getChunkoverlap();\n  if (f !== 0) {\n    writer.writeUint32(\n      9,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      10,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      11,\n      f\n    );\n  }\n  f = message.getDocumentstructure();\n  if (f.length > 0) {\n    writer.writeString(\n      12,\n      f\n    );\n  }\n};\n\n\n/**\n * @enum {number}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.PRE_PROCESS = {\n  AUTOMATIC: 0,\n  CUSTOM: 1\n};\n\n/**\n * @enum {number}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.DOCUMENT_SOURCE = {\n  DOCUMENT_SOURCE_MANUAL: 0,\n  DOCUMENT_SOURCE_TOOL: 1\n};\n\n/**\n * optional uint64 knowledgeId = 1;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getKnowledgeid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setKnowledgeid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional DOCUMENT_SOURCE documentSource = 2;\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest.DOCUMENT_SOURCE}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getDocumentsource = function() {\n  return /** @type {!proto.knowledge_api.CreateKnowledgeDocumentRequest.DOCUMENT_SOURCE} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.knowledge_api.CreateKnowledgeDocumentRequest.DOCUMENT_SOURCE} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setDocumentsource = function(value) {\n  return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n/**\n * optional string dataSource = 3;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getDatasource = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setDatasource = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * repeated DocumentContent contents = 5;\n * @return {!Array<!proto.knowledge_api.DocumentContent>}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getContentsList = function() {\n  return /** @type{!Array<!proto.knowledge_api.DocumentContent>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.knowledge_api.DocumentContent, 5));\n};\n\n\n/**\n * @param {!Array<!proto.knowledge_api.DocumentContent>} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n*/\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setContentsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 5, value);\n};\n\n\n/**\n * @param {!proto.knowledge_api.DocumentContent=} opt_value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.DocumentContent}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.addContents = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.knowledge_api.DocumentContent, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.clearContentsList = function() {\n  return this.setContentsList([]);\n};\n\n\n/**\n * optional PRE_PROCESS preProcess = 6;\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest.PRE_PROCESS}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getPreprocess = function() {\n  return /** @type {!proto.knowledge_api.CreateKnowledgeDocumentRequest.PRE_PROCESS} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/**\n * @param {!proto.knowledge_api.CreateKnowledgeDocumentRequest.PRE_PROCESS} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setPreprocess = function(value) {\n  return jspb.Message.setProto3EnumField(this, 6, value);\n};\n\n\n/**\n * optional string separator = 7;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getSeparator = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setSeparator = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional uint32 maxChunkSize = 8;\n * @return {number}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getMaxchunksize = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setMaxchunksize = function(value) {\n  return jspb.Message.setProto3IntField(this, 8, value);\n};\n\n\n/**\n * optional uint32 chunkOverlap = 9;\n * @return {number}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getChunkoverlap = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setChunkoverlap = function(value) {\n  return jspb.Message.setProto3IntField(this, 9, value);\n};\n\n\n/**\n * optional string name = 10;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 10, value);\n};\n\n\n/**\n * optional string description = 11;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string documentStructure = 12;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getDocumentstructure = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setDocumentstructure = function(value) {\n  return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.CreateKnowledgeDocumentResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.CreateKnowledgeDocumentResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.knowledge_api.KnowledgeDocument.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.CreateKnowledgeDocumentResponse;\n  return proto.knowledge_api.CreateKnowledgeDocumentResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.CreateKnowledgeDocumentResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.knowledge_api.KnowledgeDocument;\n      reader.readMessage(value,proto.knowledge_api.KnowledgeDocument.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.CreateKnowledgeDocumentResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.CreateKnowledgeDocumentResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.knowledge_api.KnowledgeDocument.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated KnowledgeDocument data = 3;\n * @return {!Array<!proto.knowledge_api.KnowledgeDocument>}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.knowledge_api.KnowledgeDocument>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.knowledge_api.KnowledgeDocument, 3));\n};\n\n\n/**\n * @param {!Array<!proto.knowledge_api.KnowledgeDocument>} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse} returns this\n*/\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.knowledge_api.KnowledgeDocument=} opt_value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocument}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.knowledge_api.KnowledgeDocument, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse} returns this\n*/\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse} returns this\n*/\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.KnowledgeDocumentSegment.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.KnowledgeDocumentSegment.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    index: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    documentHash: jspb.Message.getFieldWithDefault(msg, 19, \"\"),\n    documentId: jspb.Message.getFieldWithDefault(msg, 20, \"\"),\n    text: jspb.Message.getFieldWithDefault(msg, 21, \"\"),\n    metadata: (f = msg.getMetadata()) && proto.knowledge_api.KnowledgeDocumentSegment.Metadata.toObject(includeInstance, f),\n    entities: (f = msg.getEntities()) && proto.knowledge_api.KnowledgeDocumentSegment.Entities.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.KnowledgeDocumentSegment;\n  return proto.knowledge_api.KnowledgeDocumentSegment.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setIndex(value);\n      break;\n    case 19:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentHash(value);\n      break;\n    case 20:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentId(value);\n      break;\n    case 21:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setText(value);\n      break;\n    case 22:\n      var value = new proto.knowledge_api.KnowledgeDocumentSegment.Metadata;\n      reader.readMessage(value,proto.knowledge_api.KnowledgeDocumentSegment.Metadata.deserializeBinaryFromReader);\n      msg.setMetadata(value);\n      break;\n    case 23:\n      var value = new proto.knowledge_api.KnowledgeDocumentSegment.Entities;\n      reader.readMessage(value,proto.knowledge_api.KnowledgeDocumentSegment.Entities.deserializeBinaryFromReader);\n      msg.setEntities(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.KnowledgeDocumentSegment.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.KnowledgeDocumentSegment.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getIndex();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getDocumentHash();\n  if (f.length > 0) {\n    writer.writeString(\n      19,\n      f\n    );\n  }\n  f = message.getDocumentId();\n  if (f.length > 0) {\n    writer.writeString(\n      20,\n      f\n    );\n  }\n  f = message.getText();\n  if (f.length > 0) {\n    writer.writeString(\n      21,\n      f\n    );\n  }\n  f = message.getMetadata();\n  if (f != null) {\n    writer.writeMessage(\n      22,\n      f,\n      proto.knowledge_api.KnowledgeDocumentSegment.Metadata.serializeBinaryToWriter\n    );\n  }\n  f = message.getEntities();\n  if (f != null) {\n    writer.writeMessage(\n      23,\n      f,\n      proto.knowledge_api.KnowledgeDocumentSegment.Entities.serializeBinaryToWriter\n    );\n  }\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.KnowledgeDocumentSegment.Metadata.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    documentHash: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    documentId: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    knowledgeDocumentId: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    knowledgeId: jspb.Message.getFieldWithDefault(msg, 4, \"0\"),\n    projectId: jspb.Message.getFieldWithDefault(msg, 5, \"0\"),\n    organizationId: jspb.Message.getFieldWithDefault(msg, 6, \"0\"),\n    documentName: jspb.Message.getFieldWithDefault(msg, 7, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.KnowledgeDocumentSegment.Metadata;\n  return proto.knowledge_api.KnowledgeDocumentSegment.Metadata.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentHash(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentId(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeDocumentId(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeId(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectId(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationId(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentName(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.KnowledgeDocumentSegment.Metadata.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getDocumentHash();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getDocumentId();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getKnowledgeDocumentId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getKnowledgeId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n  f = message.getProjectId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      5,\n      f\n    );\n  }\n  f = message.getOrganizationId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      6,\n      f\n    );\n  }\n  f = message.getDocumentName();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string document_hash = 1;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.getDocumentHash = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.setDocumentHash = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string document_id = 2;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.getDocumentId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.setDocumentId = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional uint64 knowledge_document_id = 3;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.getKnowledgeDocumentId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.setKnowledgeDocumentId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional uint64 knowledge_id = 4;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.getKnowledgeId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.setKnowledgeId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 4, value);\n};\n\n\n/**\n * optional uint64 project_id = 5;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.getProjectId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.setProjectId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 5, value);\n};\n\n\n/**\n * optional uint64 organization_id = 6;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.getOrganizationId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.setOrganizationId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 6, value);\n};\n\n\n/**\n * optional string document_name = 7;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.getDocumentName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.setDocumentName = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.repeatedFields_ = [1,2,3,4,5,6,7,8,9];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.KnowledgeDocumentSegment.Entities.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    organizationsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n    datesList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n    productsList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,\n    eventsList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f,\n    peopleList: (f = jspb.Message.getRepeatedField(msg, 5)) == null ? undefined : f,\n    timesList: (f = jspb.Message.getRepeatedField(msg, 6)) == null ? undefined : f,\n    quantitiesList: (f = jspb.Message.getRepeatedField(msg, 7)) == null ? undefined : f,\n    locationsList: (f = jspb.Message.getRepeatedField(msg, 8)) == null ? undefined : f,\n    industriesList: (f = jspb.Message.getRepeatedField(msg, 9)) == null ? undefined : f\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.KnowledgeDocumentSegment.Entities;\n  return proto.knowledge_api.KnowledgeDocumentSegment.Entities.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addOrganizations(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addDates(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addProducts(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addEvents(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addPeople(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addTimes(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addQuantities(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addLocations(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addIndustries(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.KnowledgeDocumentSegment.Entities.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getOrganizationsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      1,\n      f\n    );\n  }\n  f = message.getDatesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      2,\n      f\n    );\n  }\n  f = message.getProductsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      3,\n      f\n    );\n  }\n  f = message.getEventsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      4,\n      f\n    );\n  }\n  f = message.getPeopleList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      5,\n      f\n    );\n  }\n  f = message.getTimesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      6,\n      f\n    );\n  }\n  f = message.getQuantitiesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      7,\n      f\n    );\n  }\n  f = message.getLocationsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      8,\n      f\n    );\n  }\n  f = message.getIndustriesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      9,\n      f\n    );\n  }\n};\n\n\n/**\n * repeated string organizations = 1;\n * @return {!Array<string>}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.getOrganizationsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.setOrganizationsList = function(value) {\n  return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.addOrganizations = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.clearOrganizationsList = function() {\n  return this.setOrganizationsList([]);\n};\n\n\n/**\n * repeated string dates = 2;\n * @return {!Array<string>}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.getDatesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.setDatesList = function(value) {\n  return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.addDates = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.clearDatesList = function() {\n  return this.setDatesList([]);\n};\n\n\n/**\n * repeated string products = 3;\n * @return {!Array<string>}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.getProductsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.setProductsList = function(value) {\n  return jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.addProducts = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.clearProductsList = function() {\n  return this.setProductsList([]);\n};\n\n\n/**\n * repeated string events = 4;\n * @return {!Array<string>}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.getEventsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 4));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.setEventsList = function(value) {\n  return jspb.Message.setField(this, 4, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.addEvents = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.clearEventsList = function() {\n  return this.setEventsList([]);\n};\n\n\n/**\n * repeated string people = 5;\n * @return {!Array<string>}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.getPeopleList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 5));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.setPeopleList = function(value) {\n  return jspb.Message.setField(this, 5, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.addPeople = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 5, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.clearPeopleList = function() {\n  return this.setPeopleList([]);\n};\n\n\n/**\n * repeated string times = 6;\n * @return {!Array<string>}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.getTimesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 6));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.setTimesList = function(value) {\n  return jspb.Message.setField(this, 6, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.addTimes = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 6, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.clearTimesList = function() {\n  return this.setTimesList([]);\n};\n\n\n/**\n * repeated string quantities = 7;\n * @return {!Array<string>}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.getQuantitiesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 7));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.setQuantitiesList = function(value) {\n  return jspb.Message.setField(this, 7, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.addQuantities = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 7, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.clearQuantitiesList = function() {\n  return this.setQuantitiesList([]);\n};\n\n\n/**\n * repeated string locations = 8;\n * @return {!Array<string>}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.getLocationsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 8));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.setLocationsList = function(value) {\n  return jspb.Message.setField(this, 8, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.addLocations = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 8, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.clearLocationsList = function() {\n  return this.setLocationsList([]);\n};\n\n\n/**\n * repeated string industries = 9;\n * @return {!Array<string>}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.getIndustriesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 9));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.setIndustriesList = function(value) {\n  return jspb.Message.setField(this, 9, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.addIndustries = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 9, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.clearIndustriesList = function() {\n  return this.setIndustriesList([]);\n};\n\n\n/**\n * optional string index = 1;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.getIndex = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.setIndex = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string document_hash = 19;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.getDocumentHash = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 19, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.setDocumentHash = function(value) {\n  return jspb.Message.setProto3StringField(this, 19, value);\n};\n\n\n/**\n * optional string document_id = 20;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.getDocumentId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 20, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.setDocumentId = function(value) {\n  return jspb.Message.setProto3StringField(this, 20, value);\n};\n\n\n/**\n * optional string text = 21;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.getText = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 21, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.setText = function(value) {\n  return jspb.Message.setProto3StringField(this, 21, value);\n};\n\n\n/**\n * optional Metadata metadata = 22;\n * @return {?proto.knowledge_api.KnowledgeDocumentSegment.Metadata}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.getMetadata = function() {\n  return /** @type{?proto.knowledge_api.KnowledgeDocumentSegment.Metadata} */ (\n    jspb.Message.getWrapperField(this, proto.knowledge_api.KnowledgeDocumentSegment.Metadata, 22));\n};\n\n\n/**\n * @param {?proto.knowledge_api.KnowledgeDocumentSegment.Metadata|undefined} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment} returns this\n*/\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.setMetadata = function(value) {\n  return jspb.Message.setWrapperField(this, 22, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.clearMetadata = function() {\n  return this.setMetadata(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.hasMetadata = function() {\n  return jspb.Message.getField(this, 22) != null;\n};\n\n\n/**\n * optional Entities entities = 23;\n * @return {?proto.knowledge_api.KnowledgeDocumentSegment.Entities}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.getEntities = function() {\n  return /** @type{?proto.knowledge_api.KnowledgeDocumentSegment.Entities} */ (\n    jspb.Message.getWrapperField(this, proto.knowledge_api.KnowledgeDocumentSegment.Entities, 23));\n};\n\n\n/**\n * @param {?proto.knowledge_api.KnowledgeDocumentSegment.Entities|undefined} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment} returns this\n*/\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.setEntities = function(value) {\n  return jspb.Message.setWrapperField(this, 23, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.clearEntities = function() {\n  return this.setEntities(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.hasEntities = function() {\n  return jspb.Message.getField(this, 23) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    knowledgeid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest;\n  return proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeid(value);\n      break;\n    case 3:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 4:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getKnowledgeid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 knowledgeId = 1;\n * @return {string}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.getKnowledgeid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.setKnowledgeid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional Paginate paginate = 3;\n * @return {?proto.Paginate}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 3));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 4;\n * @return {!Array<!proto.Criteria>}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 4));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.knowledge_api.KnowledgeDocumentSegment.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse;\n  return proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.knowledge_api.KnowledgeDocumentSegment;\n      reader.readMessage(value,proto.knowledge_api.KnowledgeDocumentSegment.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.knowledge_api.KnowledgeDocumentSegment.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated KnowledgeDocumentSegment data = 3;\n * @return {!Array<!proto.knowledge_api.KnowledgeDocumentSegment>}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.knowledge_api.KnowledgeDocumentSegment>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.knowledge_api.KnowledgeDocumentSegment, 3));\n};\n\n\n/**\n * @param {!Array<!proto.knowledge_api.KnowledgeDocumentSegment>} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment=} opt_value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.knowledge_api.KnowledgeDocumentSegment, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.UpdateKnowledgeDetailRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.UpdateKnowledgeDetailRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    knowledgeid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.UpdateKnowledgeDetailRequest}\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.UpdateKnowledgeDetailRequest;\n  return proto.knowledge_api.UpdateKnowledgeDetailRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.UpdateKnowledgeDetailRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.UpdateKnowledgeDetailRequest}\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.UpdateKnowledgeDetailRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.UpdateKnowledgeDetailRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getKnowledgeid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 knowledgeId = 1;\n * @return {string}\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.prototype.getKnowledgeid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDetailRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.prototype.setKnowledgeid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDetailRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDetailRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.repeatedFields_ = [1,2,3,4,5,6,7,8,9];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    organizationsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n    datesList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n    productsList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,\n    eventsList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f,\n    peopleList: (f = jspb.Message.getRepeatedField(msg, 5)) == null ? undefined : f,\n    timesList: (f = jspb.Message.getRepeatedField(msg, 6)) == null ? undefined : f,\n    quantitiesList: (f = jspb.Message.getRepeatedField(msg, 7)) == null ? undefined : f,\n    locationsList: (f = jspb.Message.getRepeatedField(msg, 8)) == null ? undefined : f,\n    industriesList: (f = jspb.Message.getRepeatedField(msg, 9)) == null ? undefined : f,\n    documentname: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n    documentid: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n    index: jspb.Message.getFieldWithDefault(msg, 12, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest;\n  return proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addOrganizations(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addDates(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addProducts(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addEvents(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addPeople(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addTimes(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addQuantities(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addLocations(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addIndustries(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentname(value);\n      break;\n    case 11:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentid(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setIndex(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getOrganizationsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      1,\n      f\n    );\n  }\n  f = message.getDatesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      2,\n      f\n    );\n  }\n  f = message.getProductsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      3,\n      f\n    );\n  }\n  f = message.getEventsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      4,\n      f\n    );\n  }\n  f = message.getPeopleList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      5,\n      f\n    );\n  }\n  f = message.getTimesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      6,\n      f\n    );\n  }\n  f = message.getQuantitiesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      7,\n      f\n    );\n  }\n  f = message.getLocationsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      8,\n      f\n    );\n  }\n  f = message.getIndustriesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      9,\n      f\n    );\n  }\n  f = message.getDocumentname();\n  if (f.length > 0) {\n    writer.writeString(\n      10,\n      f\n    );\n  }\n  f = message.getDocumentid();\n  if (f.length > 0) {\n    writer.writeString(\n      11,\n      f\n    );\n  }\n  f = message.getIndex();\n  if (f.length > 0) {\n    writer.writeString(\n      12,\n      f\n    );\n  }\n};\n\n\n/**\n * repeated string organizations = 1;\n * @return {!Array<string>}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getOrganizationsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setOrganizationsList = function(value) {\n  return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.addOrganizations = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.clearOrganizationsList = function() {\n  return this.setOrganizationsList([]);\n};\n\n\n/**\n * repeated string dates = 2;\n * @return {!Array<string>}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getDatesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setDatesList = function(value) {\n  return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.addDates = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.clearDatesList = function() {\n  return this.setDatesList([]);\n};\n\n\n/**\n * repeated string products = 3;\n * @return {!Array<string>}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getProductsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setProductsList = function(value) {\n  return jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.addProducts = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.clearProductsList = function() {\n  return this.setProductsList([]);\n};\n\n\n/**\n * repeated string events = 4;\n * @return {!Array<string>}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getEventsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 4));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setEventsList = function(value) {\n  return jspb.Message.setField(this, 4, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.addEvents = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.clearEventsList = function() {\n  return this.setEventsList([]);\n};\n\n\n/**\n * repeated string people = 5;\n * @return {!Array<string>}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getPeopleList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 5));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setPeopleList = function(value) {\n  return jspb.Message.setField(this, 5, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.addPeople = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 5, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.clearPeopleList = function() {\n  return this.setPeopleList([]);\n};\n\n\n/**\n * repeated string times = 6;\n * @return {!Array<string>}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getTimesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 6));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setTimesList = function(value) {\n  return jspb.Message.setField(this, 6, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.addTimes = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 6, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.clearTimesList = function() {\n  return this.setTimesList([]);\n};\n\n\n/**\n * repeated string quantities = 7;\n * @return {!Array<string>}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getQuantitiesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 7));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setQuantitiesList = function(value) {\n  return jspb.Message.setField(this, 7, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.addQuantities = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 7, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.clearQuantitiesList = function() {\n  return this.setQuantitiesList([]);\n};\n\n\n/**\n * repeated string locations = 8;\n * @return {!Array<string>}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getLocationsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 8));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setLocationsList = function(value) {\n  return jspb.Message.setField(this, 8, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.addLocations = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 8, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.clearLocationsList = function() {\n  return this.setLocationsList([]);\n};\n\n\n/**\n * repeated string industries = 9;\n * @return {!Array<string>}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getIndustriesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 9));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setIndustriesList = function(value) {\n  return jspb.Message.setField(this, 9, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.addIndustries = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 9, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.clearIndustriesList = function() {\n  return this.setIndustriesList([]);\n};\n\n\n/**\n * optional string documentName = 10;\n * @return {string}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getDocumentname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setDocumentname = function(value) {\n  return jspb.Message.setProto3StringField(this, 10, value);\n};\n\n\n/**\n * optional string documentId = 11;\n * @return {string}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getDocumentid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setDocumentid = function(value) {\n  return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string index = 12;\n * @return {string}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getIndex = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setIndex = function(value) {\n  return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    documentid: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    index: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    reason: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest}\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest;\n  return proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest}\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setIndex(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setReason(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getDocumentid();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getIndex();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getReason();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string documentId = 1;\n * @return {string}\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.prototype.getDocumentid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.prototype.setDocumentid = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string index = 2;\n * @return {string}\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.prototype.getIndex = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.prototype.setIndex = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string reason = 3;\n * @return {string}\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.prototype.getReason = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.prototype.setReason = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.GetAllKnowledgeLogRequest.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetAllKnowledgeLogRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetAllKnowledgeLogRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetAllKnowledgeLogRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeLogRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    projectid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance),\n    order: (f = msg.getOrder()) && common_pb.Ordering.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetAllKnowledgeLogRequest}\n */\nproto.knowledge_api.GetAllKnowledgeLogRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetAllKnowledgeLogRequest;\n  return proto.knowledge_api.GetAllKnowledgeLogRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetAllKnowledgeLogRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetAllKnowledgeLogRequest}\n */\nproto.knowledge_api.GetAllKnowledgeLogRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 3:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 4:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 5:\n      var value = new common_pb.Ordering;\n      reader.readMessage(value,common_pb.Ordering.deserializeBinaryFromReader);\n      msg.setOrder(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetAllKnowledgeLogRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetAllKnowledgeLogRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetAllKnowledgeLogRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeLogRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getOrder();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Ordering.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 projectId = 2;\n * @return {string}\n */\nproto.knowledge_api.GetAllKnowledgeLogRequest.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.GetAllKnowledgeLogRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeLogRequest.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional Paginate paginate = 3;\n * @return {?proto.Paginate}\n */\nproto.knowledge_api.GetAllKnowledgeLogRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 3));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeLogRequest} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeLogRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeLogRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeLogRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeLogRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 4;\n * @return {!Array<!proto.Criteria>}\n */\nproto.knowledge_api.GetAllKnowledgeLogRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 4));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.knowledge_api.GetAllKnowledgeLogRequest} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeLogRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.knowledge_api.GetAllKnowledgeLogRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.GetAllKnowledgeLogRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeLogRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * optional Ordering order = 5;\n * @return {?proto.Ordering}\n */\nproto.knowledge_api.GetAllKnowledgeLogRequest.prototype.getOrder = function() {\n  return /** @type{?proto.Ordering} */ (\n    jspb.Message.getWrapperField(this, common_pb.Ordering, 5));\n};\n\n\n/**\n * @param {?proto.Ordering|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeLogRequest} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeLogRequest.prototype.setOrder = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeLogRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeLogRequest.prototype.clearOrder = function() {\n  return this.setOrder(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeLogRequest.prototype.hasOrder = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetKnowledgeLogRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetKnowledgeLogRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetKnowledgeLogRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetKnowledgeLogRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    projectid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    id: jspb.Message.getFieldWithDefault(msg, 3, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetKnowledgeLogRequest}\n */\nproto.knowledge_api.GetKnowledgeLogRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetKnowledgeLogRequest;\n  return proto.knowledge_api.GetKnowledgeLogRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetKnowledgeLogRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetKnowledgeLogRequest}\n */\nproto.knowledge_api.GetKnowledgeLogRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetKnowledgeLogRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetKnowledgeLogRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetKnowledgeLogRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetKnowledgeLogRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 projectId = 2;\n * @return {string}\n */\nproto.knowledge_api.GetKnowledgeLogRequest.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.GetKnowledgeLogRequest} returns this\n */\nproto.knowledge_api.GetKnowledgeLogRequest.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional uint64 id = 3;\n * @return {string}\n */\nproto.knowledge_api.GetKnowledgeLogRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.GetKnowledgeLogRequest} returns this\n */\nproto.knowledge_api.GetKnowledgeLogRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetKnowledgeLogResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetKnowledgeLogResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetKnowledgeLogResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetKnowledgeLogResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.knowledge_api.KnowledgeLog.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetKnowledgeLogResponse}\n */\nproto.knowledge_api.GetKnowledgeLogResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetKnowledgeLogResponse;\n  return proto.knowledge_api.GetKnowledgeLogResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetKnowledgeLogResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetKnowledgeLogResponse}\n */\nproto.knowledge_api.GetKnowledgeLogResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.knowledge_api.KnowledgeLog;\n      reader.readMessage(value,proto.knowledge_api.KnowledgeLog.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetKnowledgeLogResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetKnowledgeLogResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetKnowledgeLogResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetKnowledgeLogResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.knowledge_api.KnowledgeLog.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.knowledge_api.GetKnowledgeLogResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.GetKnowledgeLogResponse} returns this\n */\nproto.knowledge_api.GetKnowledgeLogResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.knowledge_api.GetKnowledgeLogResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.knowledge_api.GetKnowledgeLogResponse} returns this\n */\nproto.knowledge_api.GetKnowledgeLogResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional KnowledgeLog data = 3;\n * @return {?proto.knowledge_api.KnowledgeLog}\n */\nproto.knowledge_api.GetKnowledgeLogResponse.prototype.getData = function() {\n  return /** @type{?proto.knowledge_api.KnowledgeLog} */ (\n    jspb.Message.getWrapperField(this, proto.knowledge_api.KnowledgeLog, 3));\n};\n\n\n/**\n * @param {?proto.knowledge_api.KnowledgeLog|undefined} value\n * @return {!proto.knowledge_api.GetKnowledgeLogResponse} returns this\n*/\nproto.knowledge_api.GetKnowledgeLogResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetKnowledgeLogResponse} returns this\n */\nproto.knowledge_api.GetKnowledgeLogResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetKnowledgeLogResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.knowledge_api.GetKnowledgeLogResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.knowledge_api.GetKnowledgeLogResponse} returns this\n*/\nproto.knowledge_api.GetKnowledgeLogResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetKnowledgeLogResponse} returns this\n */\nproto.knowledge_api.GetKnowledgeLogResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetKnowledgeLogResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetAllKnowledgeLogResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetAllKnowledgeLogResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.knowledge_api.KnowledgeLog.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetAllKnowledgeLogResponse}\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetAllKnowledgeLogResponse;\n  return proto.knowledge_api.GetAllKnowledgeLogResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetAllKnowledgeLogResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetAllKnowledgeLogResponse}\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.knowledge_api.KnowledgeLog;\n      reader.readMessage(value,proto.knowledge_api.KnowledgeLog.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetAllKnowledgeLogResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetAllKnowledgeLogResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.knowledge_api.KnowledgeLog.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.GetAllKnowledgeLogResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.knowledge_api.GetAllKnowledgeLogResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated KnowledgeLog data = 3;\n * @return {!Array<!proto.knowledge_api.KnowledgeLog>}\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.knowledge_api.KnowledgeLog>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.knowledge_api.KnowledgeLog, 3));\n};\n\n\n/**\n * @param {!Array<!proto.knowledge_api.KnowledgeLog>} value\n * @return {!proto.knowledge_api.GetAllKnowledgeLogResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeLogResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.knowledge_api.KnowledgeLog=} opt_value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeLog}\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.knowledge_api.KnowledgeLog, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.GetAllKnowledgeLogResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeLogResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeLogResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeLogResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeLogResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeLogResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeLogResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeLogResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.KnowledgeLog.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.KnowledgeLog.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.KnowledgeLog} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.KnowledgeLog.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    action: (f = msg.getAction()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    request: (f = msg.getRequest()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    response: (f = msg.getResponse()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    status: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    knowledgeid: jspb.Message.getFieldWithDefault(msg, 8, \"0\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 9, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 10, \"0\"),\n    topk: jspb.Message.getFieldWithDefault(msg, 11, 0),\n    scorethreshold: jspb.Message.getFloatingPointFieldWithDefault(msg, 12, 0.0),\n    documentcount: jspb.Message.getFieldWithDefault(msg, 13, 0),\n    assetprefix: jspb.Message.getFieldWithDefault(msg, 14, \"\"),\n    retrievalmethod: jspb.Message.getFieldWithDefault(msg, 15, \"\"),\n    timetaken: jspb.Message.getFieldWithDefault(msg, 16, \"0\"),\n    additionaldataMap: (f = msg.getAdditionaldataMap()) ? f.toObject(includeInstance, undefined) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.KnowledgeLog}\n */\nproto.knowledge_api.KnowledgeLog.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.KnowledgeLog;\n  return proto.knowledge_api.KnowledgeLog.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.KnowledgeLog} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.KnowledgeLog}\n */\nproto.knowledge_api.KnowledgeLog.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setAction(value);\n      break;\n    case 3:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setRequest(value);\n      break;\n    case 4:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setResponse(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 6:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 7:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeid(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 11:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setTopk(value);\n      break;\n    case 12:\n      var value = /** @type {number} */ (reader.readFloat());\n      msg.setScorethreshold(value);\n      break;\n    case 13:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setDocumentcount(value);\n      break;\n    case 14:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setAssetprefix(value);\n      break;\n    case 15:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRetrievalmethod(value);\n      break;\n    case 16:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setTimetaken(value);\n      break;\n    case 17:\n      var value = msg.getAdditionaldataMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.KnowledgeLog.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.KnowledgeLog.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.KnowledgeLog} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.KnowledgeLog.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAction();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getRequest();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getResponse();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      6,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      7,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getKnowledgeid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      8,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      9,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      10,\n      f\n    );\n  }\n  f = message.getTopk();\n  if (f !== 0) {\n    writer.writeUint32(\n      11,\n      f\n    );\n  }\n  f = message.getScorethreshold();\n  if (f !== 0.0) {\n    writer.writeFloat(\n      12,\n      f\n    );\n  }\n  f = message.getDocumentcount();\n  if (f !== 0) {\n    writer.writeUint32(\n      13,\n      f\n    );\n  }\n  f = message.getAssetprefix();\n  if (f.length > 0) {\n    writer.writeString(\n      14,\n      f\n    );\n  }\n  f = message.getRetrievalmethod();\n  if (f.length > 0) {\n    writer.writeString(\n      15,\n      f\n    );\n  }\n  f = message.getTimetaken();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      16,\n      f\n    );\n  }\n  f = message.getAdditionaldataMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(17, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeLog.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n */\nproto.knowledge_api.KnowledgeLog.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional google.protobuf.Struct action = 2;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.knowledge_api.KnowledgeLog.prototype.getAction = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 2));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n*/\nproto.knowledge_api.KnowledgeLog.prototype.setAction = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n */\nproto.knowledge_api.KnowledgeLog.prototype.clearAction = function() {\n  return this.setAction(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.KnowledgeLog.prototype.hasAction = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional google.protobuf.Struct request = 3;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.knowledge_api.KnowledgeLog.prototype.getRequest = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 3));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n*/\nproto.knowledge_api.KnowledgeLog.prototype.setRequest = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n */\nproto.knowledge_api.KnowledgeLog.prototype.clearRequest = function() {\n  return this.setRequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.KnowledgeLog.prototype.hasRequest = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional google.protobuf.Struct response = 4;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.knowledge_api.KnowledgeLog.prototype.getResponse = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 4));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n*/\nproto.knowledge_api.KnowledgeLog.prototype.setResponse = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n */\nproto.knowledge_api.KnowledgeLog.prototype.clearResponse = function() {\n  return this.setResponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.KnowledgeLog.prototype.hasResponse = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional string status = 5;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeLog.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n */\nproto.knowledge_api.KnowledgeLog.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 6;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.knowledge_api.KnowledgeLog.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 6));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n*/\nproto.knowledge_api.KnowledgeLog.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 6, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n */\nproto.knowledge_api.KnowledgeLog.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.KnowledgeLog.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 6) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 7;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.knowledge_api.KnowledgeLog.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 7));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n*/\nproto.knowledge_api.KnowledgeLog.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 7, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n */\nproto.knowledge_api.KnowledgeLog.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.KnowledgeLog.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 7) != null;\n};\n\n\n/**\n * optional uint64 knowledgeId = 8;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeLog.prototype.getKnowledgeid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n */\nproto.knowledge_api.KnowledgeLog.prototype.setKnowledgeid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 8, value);\n};\n\n\n/**\n * optional uint64 projectId = 9;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeLog.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n */\nproto.knowledge_api.KnowledgeLog.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 9, value);\n};\n\n\n/**\n * optional uint64 organizationId = 10;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeLog.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n */\nproto.knowledge_api.KnowledgeLog.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 10, value);\n};\n\n\n/**\n * optional uint32 topK = 11;\n * @return {number}\n */\nproto.knowledge_api.KnowledgeLog.prototype.getTopk = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n */\nproto.knowledge_api.KnowledgeLog.prototype.setTopk = function(value) {\n  return jspb.Message.setProto3IntField(this, 11, value);\n};\n\n\n/**\n * optional float scoreThreshold = 12;\n * @return {number}\n */\nproto.knowledge_api.KnowledgeLog.prototype.getScorethreshold = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 12, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n */\nproto.knowledge_api.KnowledgeLog.prototype.setScorethreshold = function(value) {\n  return jspb.Message.setProto3FloatField(this, 12, value);\n};\n\n\n/**\n * optional uint32 documentCount = 13;\n * @return {number}\n */\nproto.knowledge_api.KnowledgeLog.prototype.getDocumentcount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n */\nproto.knowledge_api.KnowledgeLog.prototype.setDocumentcount = function(value) {\n  return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n/**\n * optional string assetPrefix = 14;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeLog.prototype.getAssetprefix = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 14, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n */\nproto.knowledge_api.KnowledgeLog.prototype.setAssetprefix = function(value) {\n  return jspb.Message.setProto3StringField(this, 14, value);\n};\n\n\n/**\n * optional string retrievalMethod = 15;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeLog.prototype.getRetrievalmethod = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n */\nproto.knowledge_api.KnowledgeLog.prototype.setRetrievalmethod = function(value) {\n  return jspb.Message.setProto3StringField(this, 15, value);\n};\n\n\n/**\n * optional uint64 timeTaken = 16;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeLog.prototype.getTimetaken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 16, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n */\nproto.knowledge_api.KnowledgeLog.prototype.setTimetaken = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 16, value);\n};\n\n\n/**\n * map<string, string> additionalData = 17;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.knowledge_api.KnowledgeLog.prototype.getAdditionaldataMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 17, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.knowledge_api.KnowledgeLog} returns this\n */\nproto.knowledge_api.KnowledgeLog.prototype.clearAdditionaldataMap = function() {\n  this.getAdditionaldataMap().clear();\n  return this;};\n\n\ngoog.object.extend(exports, proto.knowledge_api);\n","// package: knowledge_api\n// file: knowledge-api.proto\n\nvar knowledge_api_pb = require(\"./knowledge-api_pb\");\nvar common_pb = require(\"./common_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar KnowledgeService = (function () {\n  function KnowledgeService() {}\n  KnowledgeService.serviceName = \"knowledge_api.KnowledgeService\";\n  return KnowledgeService;\n}());\n\nKnowledgeService.GetKnowledge = {\n  methodName: \"GetKnowledge\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.GetKnowledgeRequest,\n  responseType: knowledge_api_pb.GetKnowledgeResponse\n};\n\nKnowledgeService.GetAllKnowledge = {\n  methodName: \"GetAllKnowledge\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.GetAllKnowledgeRequest,\n  responseType: knowledge_api_pb.GetAllKnowledgeResponse\n};\n\nKnowledgeService.CreateKnowledge = {\n  methodName: \"CreateKnowledge\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.CreateKnowledgeRequest,\n  responseType: knowledge_api_pb.CreateKnowledgeResponse\n};\n\nKnowledgeService.CreateKnowledgeTag = {\n  methodName: \"CreateKnowledgeTag\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.CreateKnowledgeTagRequest,\n  responseType: knowledge_api_pb.GetKnowledgeResponse\n};\n\nKnowledgeService.CreateKnowledgeDocument = {\n  methodName: \"CreateKnowledgeDocument\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.CreateKnowledgeDocumentRequest,\n  responseType: knowledge_api_pb.CreateKnowledgeDocumentResponse\n};\n\nKnowledgeService.GetAllKnowledgeDocument = {\n  methodName: \"GetAllKnowledgeDocument\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.GetAllKnowledgeDocumentRequest,\n  responseType: knowledge_api_pb.GetAllKnowledgeDocumentResponse\n};\n\nKnowledgeService.GetAllKnowledgeDocumentSegment = {\n  methodName: \"GetAllKnowledgeDocumentSegment\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.GetAllKnowledgeDocumentSegmentRequest,\n  responseType: knowledge_api_pb.GetAllKnowledgeDocumentSegmentResponse\n};\n\nKnowledgeService.UpdateKnowledgeDetail = {\n  methodName: \"UpdateKnowledgeDetail\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.UpdateKnowledgeDetailRequest,\n  responseType: knowledge_api_pb.GetKnowledgeResponse\n};\n\nKnowledgeService.UpdateKnowledgeDocumentSegment = {\n  methodName: \"UpdateKnowledgeDocumentSegment\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.UpdateKnowledgeDocumentSegmentRequest,\n  responseType: common_pb.BaseResponse\n};\n\nKnowledgeService.DeleteKnowledgeDocumentSegment = {\n  methodName: \"DeleteKnowledgeDocumentSegment\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.DeleteKnowledgeDocumentSegmentRequest,\n  responseType: common_pb.BaseResponse\n};\n\nKnowledgeService.GetAllKnowledgeLog = {\n  methodName: \"GetAllKnowledgeLog\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.GetAllKnowledgeLogRequest,\n  responseType: knowledge_api_pb.GetAllKnowledgeLogResponse\n};\n\nKnowledgeService.GetKnowledgeLog = {\n  methodName: \"GetKnowledgeLog\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.GetKnowledgeLogRequest,\n  responseType: knowledge_api_pb.GetKnowledgeLogResponse\n};\n\nexports.KnowledgeService = KnowledgeService;\n\nfunction KnowledgeServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nKnowledgeServiceClient.prototype.getKnowledge = function getKnowledge(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.GetKnowledge, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.getAllKnowledge = function getAllKnowledge(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.GetAllKnowledge, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.createKnowledge = function createKnowledge(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.CreateKnowledge, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.createKnowledgeTag = function createKnowledgeTag(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.CreateKnowledgeTag, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.createKnowledgeDocument = function createKnowledgeDocument(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.CreateKnowledgeDocument, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.getAllKnowledgeDocument = function getAllKnowledgeDocument(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.GetAllKnowledgeDocument, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.getAllKnowledgeDocumentSegment = function getAllKnowledgeDocumentSegment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.GetAllKnowledgeDocumentSegment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.updateKnowledgeDetail = function updateKnowledgeDetail(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.UpdateKnowledgeDetail, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.updateKnowledgeDocumentSegment = function updateKnowledgeDocumentSegment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.UpdateKnowledgeDocumentSegment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.deleteKnowledgeDocumentSegment = function deleteKnowledgeDocumentSegment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.DeleteKnowledgeDocumentSegment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.getAllKnowledgeLog = function getAllKnowledgeLog(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.GetAllKnowledgeLog, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.getKnowledgeLog = function getKnowledgeLog(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.GetKnowledgeLog, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.KnowledgeServiceClient = KnowledgeServiceClient;\n\n","// source: document-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\ngoog.exportSymbol('proto.document_api.IndexKnowledgeDocumentRequest', null, global);\ngoog.exportSymbol('proto.document_api.IndexKnowledgeDocumentResponse', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.document_api.IndexKnowledgeDocumentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.document_api.IndexKnowledgeDocumentRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.document_api.IndexKnowledgeDocumentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.document_api.IndexKnowledgeDocumentRequest.displayName = 'proto.document_api.IndexKnowledgeDocumentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.document_api.IndexKnowledgeDocumentResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.document_api.IndexKnowledgeDocumentResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.document_api.IndexKnowledgeDocumentResponse.displayName = 'proto.document_api.IndexKnowledgeDocumentResponse';\n}\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.document_api.IndexKnowledgeDocumentRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.document_api.IndexKnowledgeDocumentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.document_api.IndexKnowledgeDocumentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.document_api.IndexKnowledgeDocumentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    knowledgeid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    knowledgedocumentidList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n    indextype: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.document_api.IndexKnowledgeDocumentRequest}\n */\nproto.document_api.IndexKnowledgeDocumentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.document_api.IndexKnowledgeDocumentRequest;\n  return proto.document_api.IndexKnowledgeDocumentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.document_api.IndexKnowledgeDocumentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.document_api.IndexKnowledgeDocumentRequest}\n */\nproto.document_api.IndexKnowledgeDocumentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeid(value);\n      break;\n    case 2:\n      var values = /** @type {!Array<string>} */ (reader.isDelimited() ? reader.readPackedUint64String() : [reader.readUint64String()]);\n      for (var i = 0; i < values.length; i++) {\n        msg.addKnowledgedocumentid(values[i]);\n      }\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setIndextype(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.document_api.IndexKnowledgeDocumentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.document_api.IndexKnowledgeDocumentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.document_api.IndexKnowledgeDocumentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getKnowledgeid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getKnowledgedocumentidList();\n  if (f.length > 0) {\n    writer.writePackedUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getIndextype();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 knowledgeId = 1;\n * @return {string}\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.getKnowledgeid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.document_api.IndexKnowledgeDocumentRequest} returns this\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.setKnowledgeid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * repeated uint64 knowledgeDocumentId = 2;\n * @return {!Array<string>}\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.getKnowledgedocumentidList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.document_api.IndexKnowledgeDocumentRequest} returns this\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.setKnowledgedocumentidList = function(value) {\n  return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.document_api.IndexKnowledgeDocumentRequest} returns this\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.addKnowledgedocumentid = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.document_api.IndexKnowledgeDocumentRequest} returns this\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.clearKnowledgedocumentidList = function() {\n  return this.setKnowledgedocumentidList([]);\n};\n\n\n/**\n * optional string indexType = 3;\n * @return {string}\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.getIndextype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.document_api.IndexKnowledgeDocumentRequest} returns this\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.setIndextype = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.document_api.IndexKnowledgeDocumentResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.document_api.IndexKnowledgeDocumentResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.document_api.IndexKnowledgeDocumentResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.document_api.IndexKnowledgeDocumentResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.document_api.IndexKnowledgeDocumentResponse}\n */\nproto.document_api.IndexKnowledgeDocumentResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.document_api.IndexKnowledgeDocumentResponse;\n  return proto.document_api.IndexKnowledgeDocumentResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.document_api.IndexKnowledgeDocumentResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.document_api.IndexKnowledgeDocumentResponse}\n */\nproto.document_api.IndexKnowledgeDocumentResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.document_api.IndexKnowledgeDocumentResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.document_api.IndexKnowledgeDocumentResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.document_api.IndexKnowledgeDocumentResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.document_api.IndexKnowledgeDocumentResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.document_api.IndexKnowledgeDocumentResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.document_api.IndexKnowledgeDocumentResponse} returns this\n */\nproto.document_api.IndexKnowledgeDocumentResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.document_api.IndexKnowledgeDocumentResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.document_api.IndexKnowledgeDocumentResponse} returns this\n */\nproto.document_api.IndexKnowledgeDocumentResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\ngoog.object.extend(exports, proto.document_api);\n","// package: document_api\n// file: document-api.proto\n\nvar document_api_pb = require(\"./document-api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar DocumentService = (function () {\n  function DocumentService() {}\n  DocumentService.serviceName = \"document_api.DocumentService\";\n  return DocumentService;\n}());\n\nDocumentService.IndexKnowledgeDocument = {\n  methodName: \"IndexKnowledgeDocument\",\n  service: DocumentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: document_api_pb.IndexKnowledgeDocumentRequest,\n  responseType: document_api_pb.IndexKnowledgeDocumentResponse\n};\n\nexports.DocumentService = DocumentService;\n\nfunction DocumentServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nDocumentServiceClient.prototype.indexKnowledgeDocument = function indexKnowledgeDocument(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(DocumentService.IndexKnowledgeDocument, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.DocumentServiceClient = DocumentServiceClient;\n\n","// source: vault-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js');\ngoog.object.extend(proto, google_protobuf_struct_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.vault_api.CreateProviderCredentialRequest', null, global);\ngoog.exportSymbol('proto.vault_api.DeleteCredentialRequest', null, global);\ngoog.exportSymbol('proto.vault_api.GetAllOrganizationCredentialRequest', null, global);\ngoog.exportSymbol('proto.vault_api.GetAllOrganizationCredentialResponse', null, global);\ngoog.exportSymbol('proto.vault_api.GetCredentialRequest', null, global);\ngoog.exportSymbol('proto.vault_api.GetCredentialResponse', null, global);\ngoog.exportSymbol('proto.vault_api.VaultCredential', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.vault_api.VaultCredential = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.vault_api.VaultCredential, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.vault_api.VaultCredential.displayName = 'proto.vault_api.VaultCredential';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.vault_api.CreateProviderCredentialRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.vault_api.CreateProviderCredentialRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.vault_api.CreateProviderCredentialRequest.displayName = 'proto.vault_api.CreateProviderCredentialRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.vault_api.DeleteCredentialRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.vault_api.DeleteCredentialRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.vault_api.DeleteCredentialRequest.displayName = 'proto.vault_api.DeleteCredentialRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.vault_api.GetAllOrganizationCredentialRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.vault_api.GetAllOrganizationCredentialRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.vault_api.GetAllOrganizationCredentialRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.vault_api.GetAllOrganizationCredentialRequest.displayName = 'proto.vault_api.GetAllOrganizationCredentialRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.vault_api.GetAllOrganizationCredentialResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.vault_api.GetAllOrganizationCredentialResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.vault_api.GetAllOrganizationCredentialResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.vault_api.GetAllOrganizationCredentialResponse.displayName = 'proto.vault_api.GetAllOrganizationCredentialResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.vault_api.GetCredentialResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.vault_api.GetCredentialResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.vault_api.GetCredentialResponse.displayName = 'proto.vault_api.GetCredentialResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.vault_api.GetCredentialRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.vault_api.GetCredentialRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.vault_api.GetCredentialRequest.displayName = 'proto.vault_api.GetCredentialRequest';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.vault_api.VaultCredential.prototype.toObject = function(opt_includeInstance) {\n  return proto.vault_api.VaultCredential.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.vault_api.VaultCredential} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.VaultCredential.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    value: (f = msg.getValue()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    status: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    provider: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 6, \"0\"),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    lastuseddate: (f = msg.getLastuseddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.vault_api.VaultCredential}\n */\nproto.vault_api.VaultCredential.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.vault_api.VaultCredential;\n  return proto.vault_api.VaultCredential.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.vault_api.VaultCredential} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.vault_api.VaultCredential}\n */\nproto.vault_api.VaultCredential.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setValue(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProvider(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 9:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 11:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 10:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setLastuseddate(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.vault_api.VaultCredential.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.vault_api.VaultCredential.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.vault_api.VaultCredential} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.VaultCredential.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getValue();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getProvider();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      6,\n      f\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      9,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      11,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getLastuseddate();\n  if (f != null) {\n    writer.writeMessage(\n      10,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.vault_api.VaultCredential.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.vault_api.VaultCredential.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional google.protobuf.Struct value = 3;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.vault_api.VaultCredential.prototype.getValue = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 3));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.vault_api.VaultCredential} returns this\n*/\nproto.vault_api.VaultCredential.prototype.setValue = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.clearValue = function() {\n  return this.setValue(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.VaultCredential.prototype.hasValue = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional string status = 4;\n * @return {string}\n */\nproto.vault_api.VaultCredential.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string provider = 5;\n * @return {string}\n */\nproto.vault_api.VaultCredential.prototype.getProvider = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.setProvider = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional uint64 organizationId = 6;\n * @return {string}\n */\nproto.vault_api.VaultCredential.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 6, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 9;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.vault_api.VaultCredential.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 9));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.vault_api.VaultCredential} returns this\n*/\nproto.vault_api.VaultCredential.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 9, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.VaultCredential.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 9) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 11;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.vault_api.VaultCredential.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 11));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.vault_api.VaultCredential} returns this\n*/\nproto.vault_api.VaultCredential.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 11, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.VaultCredential.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 11) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp lastUsedDate = 10;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.vault_api.VaultCredential.prototype.getLastuseddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 10));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.vault_api.VaultCredential} returns this\n*/\nproto.vault_api.VaultCredential.prototype.setLastuseddate = function(value) {\n  return jspb.Message.setWrapperField(this, 10, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.clearLastuseddate = function() {\n  return this.setLastuseddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.VaultCredential.prototype.hasLastuseddate = function() {\n  return jspb.Message.getField(this, 10) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.vault_api.CreateProviderCredentialRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.vault_api.CreateProviderCredentialRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.CreateProviderCredentialRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    credential: (f = msg.getCredential()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    name: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    provider: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.vault_api.CreateProviderCredentialRequest}\n */\nproto.vault_api.CreateProviderCredentialRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.vault_api.CreateProviderCredentialRequest;\n  return proto.vault_api.CreateProviderCredentialRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.vault_api.CreateProviderCredentialRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.vault_api.CreateProviderCredentialRequest}\n */\nproto.vault_api.CreateProviderCredentialRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 2:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setCredential(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProvider(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.vault_api.CreateProviderCredentialRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.vault_api.CreateProviderCredentialRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.CreateProviderCredentialRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCredential();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getProvider();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional google.protobuf.Struct credential = 2;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.getCredential = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 2));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.vault_api.CreateProviderCredentialRequest} returns this\n*/\nproto.vault_api.CreateProviderCredentialRequest.prototype.setCredential = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.CreateProviderCredentialRequest} returns this\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.clearCredential = function() {\n  return this.setCredential(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.hasCredential = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string name = 3;\n * @return {string}\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.CreateProviderCredentialRequest} returns this\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string provider = 4;\n * @return {string}\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.getProvider = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.CreateProviderCredentialRequest} returns this\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.setProvider = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.vault_api.DeleteCredentialRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.vault_api.DeleteCredentialRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.vault_api.DeleteCredentialRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.DeleteCredentialRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    vaultid: jspb.Message.getFieldWithDefault(msg, 1, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.vault_api.DeleteCredentialRequest}\n */\nproto.vault_api.DeleteCredentialRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.vault_api.DeleteCredentialRequest;\n  return proto.vault_api.DeleteCredentialRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.vault_api.DeleteCredentialRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.vault_api.DeleteCredentialRequest}\n */\nproto.vault_api.DeleteCredentialRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setVaultid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.vault_api.DeleteCredentialRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.vault_api.DeleteCredentialRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.vault_api.DeleteCredentialRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.DeleteCredentialRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getVaultid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 vaultId = 1;\n * @return {string}\n */\nproto.vault_api.DeleteCredentialRequest.prototype.getVaultid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.DeleteCredentialRequest} returns this\n */\nproto.vault_api.DeleteCredentialRequest.prototype.setVaultid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.vault_api.GetAllOrganizationCredentialRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.vault_api.GetAllOrganizationCredentialRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.vault_api.GetAllOrganizationCredentialRequest}\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.vault_api.GetAllOrganizationCredentialRequest;\n  return proto.vault_api.GetAllOrganizationCredentialRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.vault_api.GetAllOrganizationCredentialRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.vault_api.GetAllOrganizationCredentialRequest}\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.vault_api.GetAllOrganizationCredentialRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.vault_api.GetAllOrganizationCredentialRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.vault_api.GetAllOrganizationCredentialRequest} returns this\n*/\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.GetAllOrganizationCredentialRequest} returns this\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.vault_api.GetAllOrganizationCredentialRequest} returns this\n*/\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.vault_api.GetAllOrganizationCredentialRequest} returns this\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.vault_api.GetAllOrganizationCredentialResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.vault_api.GetAllOrganizationCredentialResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.vault_api.VaultCredential.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.vault_api.GetAllOrganizationCredentialResponse;\n  return proto.vault_api.GetAllOrganizationCredentialResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.vault_api.GetAllOrganizationCredentialResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.vault_api.VaultCredential;\n      reader.readMessage(value,proto.vault_api.VaultCredential.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.vault_api.GetAllOrganizationCredentialResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.vault_api.GetAllOrganizationCredentialResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.vault_api.VaultCredential.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse} returns this\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse} returns this\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated VaultCredential data = 3;\n * @return {!Array<!proto.vault_api.VaultCredential>}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.vault_api.VaultCredential>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.vault_api.VaultCredential, 3));\n};\n\n\n/**\n * @param {!Array<!proto.vault_api.VaultCredential>} value\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse} returns this\n*/\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.vault_api.VaultCredential=} opt_value\n * @param {number=} opt_index\n * @return {!proto.vault_api.VaultCredential}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.vault_api.VaultCredential, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse} returns this\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse} returns this\n*/\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse} returns this\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse} returns this\n*/\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse} returns this\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.vault_api.GetCredentialResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.vault_api.GetCredentialResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.vault_api.GetCredentialResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.GetCredentialResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.vault_api.VaultCredential.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.vault_api.GetCredentialResponse}\n */\nproto.vault_api.GetCredentialResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.vault_api.GetCredentialResponse;\n  return proto.vault_api.GetCredentialResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.vault_api.GetCredentialResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.vault_api.GetCredentialResponse}\n */\nproto.vault_api.GetCredentialResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.vault_api.VaultCredential;\n      reader.readMessage(value,proto.vault_api.VaultCredential.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.vault_api.GetCredentialResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.vault_api.GetCredentialResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.vault_api.GetCredentialResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.GetCredentialResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.vault_api.VaultCredential.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.vault_api.GetCredentialResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.vault_api.GetCredentialResponse} returns this\n */\nproto.vault_api.GetCredentialResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.vault_api.GetCredentialResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.vault_api.GetCredentialResponse} returns this\n */\nproto.vault_api.GetCredentialResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional VaultCredential data = 3;\n * @return {?proto.vault_api.VaultCredential}\n */\nproto.vault_api.GetCredentialResponse.prototype.getData = function() {\n  return /** @type{?proto.vault_api.VaultCredential} */ (\n    jspb.Message.getWrapperField(this, proto.vault_api.VaultCredential, 3));\n};\n\n\n/**\n * @param {?proto.vault_api.VaultCredential|undefined} value\n * @return {!proto.vault_api.GetCredentialResponse} returns this\n*/\nproto.vault_api.GetCredentialResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.GetCredentialResponse} returns this\n */\nproto.vault_api.GetCredentialResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.GetCredentialResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.vault_api.GetCredentialResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.vault_api.GetCredentialResponse} returns this\n*/\nproto.vault_api.GetCredentialResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.GetCredentialResponse} returns this\n */\nproto.vault_api.GetCredentialResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.GetCredentialResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.vault_api.GetCredentialRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.vault_api.GetCredentialRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.vault_api.GetCredentialRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.GetCredentialRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    vaultid: jspb.Message.getFieldWithDefault(msg, 1, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.vault_api.GetCredentialRequest}\n */\nproto.vault_api.GetCredentialRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.vault_api.GetCredentialRequest;\n  return proto.vault_api.GetCredentialRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.vault_api.GetCredentialRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.vault_api.GetCredentialRequest}\n */\nproto.vault_api.GetCredentialRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setVaultid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.vault_api.GetCredentialRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.vault_api.GetCredentialRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.vault_api.GetCredentialRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.GetCredentialRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getVaultid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 vaultId = 1;\n * @return {string}\n */\nproto.vault_api.GetCredentialRequest.prototype.getVaultid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.GetCredentialRequest} returns this\n */\nproto.vault_api.GetCredentialRequest.prototype.setVaultid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\ngoog.object.extend(exports, proto.vault_api);\n","// package: vault_api\n// file: vault-api.proto\n\nvar vault_api_pb = require(\"./vault-api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar VaultService = (function () {\n  function VaultService() {}\n  VaultService.serviceName = \"vault_api.VaultService\";\n  return VaultService;\n}());\n\nVaultService.CreateProviderCredential = {\n  methodName: \"CreateProviderCredential\",\n  service: VaultService,\n  requestStream: false,\n  responseStream: false,\n  requestType: vault_api_pb.CreateProviderCredentialRequest,\n  responseType: vault_api_pb.GetCredentialResponse\n};\n\nVaultService.GetAllOrganizationCredential = {\n  methodName: \"GetAllOrganizationCredential\",\n  service: VaultService,\n  requestStream: false,\n  responseStream: false,\n  requestType: vault_api_pb.GetAllOrganizationCredentialRequest,\n  responseType: vault_api_pb.GetAllOrganizationCredentialResponse\n};\n\nVaultService.DeleteCredential = {\n  methodName: \"DeleteCredential\",\n  service: VaultService,\n  requestStream: false,\n  responseStream: false,\n  requestType: vault_api_pb.DeleteCredentialRequest,\n  responseType: vault_api_pb.GetCredentialResponse\n};\n\nVaultService.GetCredential = {\n  methodName: \"GetCredential\",\n  service: VaultService,\n  requestStream: false,\n  responseStream: false,\n  requestType: vault_api_pb.GetCredentialRequest,\n  responseType: vault_api_pb.GetCredentialResponse\n};\n\nVaultService.GetOauth2Credential = {\n  methodName: \"GetOauth2Credential\",\n  service: VaultService,\n  requestStream: false,\n  responseStream: false,\n  requestType: vault_api_pb.GetCredentialRequest,\n  responseType: vault_api_pb.GetCredentialResponse\n};\n\nexports.VaultService = VaultService;\n\nfunction VaultServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nVaultServiceClient.prototype.createProviderCredential = function createProviderCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(VaultService.CreateProviderCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nVaultServiceClient.prototype.getAllOrganizationCredential = function getAllOrganizationCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(VaultService.GetAllOrganizationCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nVaultServiceClient.prototype.deleteCredential = function deleteCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(VaultService.DeleteCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nVaultServiceClient.prototype.getCredential = function getCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(VaultService.GetCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nVaultServiceClient.prototype.getOauth2Credential = function getOauth2Credential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(VaultService.GetOauth2Credential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.VaultServiceClient = VaultServiceClient;\n\n","// source: endpoint-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.endpoint_api.AggregatedEndpointAnalytics', null, global);\ngoog.exportSymbol('proto.endpoint_api.CreateEndpointCacheConfigurationRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.CreateEndpointCacheConfigurationResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.CreateEndpointProviderModelRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.CreateEndpointProviderModelResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.CreateEndpointRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.CreateEndpointResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.CreateEndpointRetryConfigurationRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.CreateEndpointRetryConfigurationResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.CreateEndpointTagRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.Endpoint', null, global);\ngoog.exportSymbol('proto.endpoint_api.EndpointAttribute', null, global);\ngoog.exportSymbol('proto.endpoint_api.EndpointCacheConfiguration', null, global);\ngoog.exportSymbol('proto.endpoint_api.EndpointLog', null, global);\ngoog.exportSymbol('proto.endpoint_api.EndpointProviderModel', null, global);\ngoog.exportSymbol('proto.endpoint_api.EndpointProviderModelAttribute', null, global);\ngoog.exportSymbol('proto.endpoint_api.EndpointRetryConfiguration', null, global);\ngoog.exportSymbol('proto.endpoint_api.ForkEndpointRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetAllEndpointLogRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetAllEndpointLogResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetAllEndpointProviderModelRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetAllEndpointProviderModelResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetAllEndpointRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetAllEndpointResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetEndpointLogRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetEndpointLogResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetEndpointRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetEndpointResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.UpdateEndpointDetailRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.UpdateEndpointVersionRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.UpdateEndpointVersionResponse', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.EndpointAttribute = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.EndpointAttribute, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.EndpointAttribute.displayName = 'proto.endpoint_api.EndpointAttribute';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.EndpointProviderModelAttribute = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.EndpointProviderModelAttribute.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.EndpointProviderModelAttribute, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.EndpointProviderModelAttribute.displayName = 'proto.endpoint_api.EndpointProviderModelAttribute';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.CreateEndpointRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.CreateEndpointRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.CreateEndpointRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.CreateEndpointRequest.displayName = 'proto.endpoint_api.CreateEndpointRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.CreateEndpointResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.CreateEndpointResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.CreateEndpointResponse.displayName = 'proto.endpoint_api.CreateEndpointResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.EndpointProviderModel = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, 500, proto.endpoint_api.EndpointProviderModel.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.EndpointProviderModel, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.EndpointProviderModel.displayName = 'proto.endpoint_api.EndpointProviderModel';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.AggregatedEndpointAnalytics = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.AggregatedEndpointAnalytics, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.AggregatedEndpointAnalytics.displayName = 'proto.endpoint_api.AggregatedEndpointAnalytics';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.Endpoint = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, 500, null, null);\n};\ngoog.inherits(proto.endpoint_api.Endpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.Endpoint.displayName = 'proto.endpoint_api.Endpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.CreateEndpointProviderModelRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.CreateEndpointProviderModelRequest.displayName = 'proto.endpoint_api.CreateEndpointProviderModelRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.CreateEndpointProviderModelResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.CreateEndpointProviderModelResponse.displayName = 'proto.endpoint_api.CreateEndpointProviderModelResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetEndpointRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.GetEndpointRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetEndpointRequest.displayName = 'proto.endpoint_api.GetEndpointRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetEndpointResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.GetEndpointResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetEndpointResponse.displayName = 'proto.endpoint_api.GetEndpointResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetAllEndpointRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.GetAllEndpointRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.GetAllEndpointRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetAllEndpointRequest.displayName = 'proto.endpoint_api.GetAllEndpointRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetAllEndpointResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.GetAllEndpointResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.GetAllEndpointResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetAllEndpointResponse.displayName = 'proto.endpoint_api.GetAllEndpointResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.GetAllEndpointProviderModelRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.GetAllEndpointProviderModelRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetAllEndpointProviderModelRequest.displayName = 'proto.endpoint_api.GetAllEndpointProviderModelRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.GetAllEndpointProviderModelResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.GetAllEndpointProviderModelResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetAllEndpointProviderModelResponse.displayName = 'proto.endpoint_api.GetAllEndpointProviderModelResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.UpdateEndpointVersionRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.UpdateEndpointVersionRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.UpdateEndpointVersionRequest.displayName = 'proto.endpoint_api.UpdateEndpointVersionRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.UpdateEndpointVersionResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.UpdateEndpointVersionResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.UpdateEndpointVersionResponse.displayName = 'proto.endpoint_api.UpdateEndpointVersionResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.EndpointRetryConfiguration = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, 500, proto.endpoint_api.EndpointRetryConfiguration.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.EndpointRetryConfiguration, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.EndpointRetryConfiguration.displayName = 'proto.endpoint_api.EndpointRetryConfiguration';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.EndpointCacheConfiguration = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, 500, null, null);\n};\ngoog.inherits(proto.endpoint_api.EndpointCacheConfiguration, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.EndpointCacheConfiguration.displayName = 'proto.endpoint_api.EndpointCacheConfiguration';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.CreateEndpointRetryConfigurationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.CreateEndpointRetryConfigurationRequest.displayName = 'proto.endpoint_api.CreateEndpointRetryConfigurationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.CreateEndpointRetryConfigurationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.CreateEndpointRetryConfigurationResponse.displayName = 'proto.endpoint_api.CreateEndpointRetryConfigurationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.CreateEndpointCacheConfigurationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.CreateEndpointCacheConfigurationRequest.displayName = 'proto.endpoint_api.CreateEndpointCacheConfigurationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.CreateEndpointCacheConfigurationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.CreateEndpointCacheConfigurationResponse.displayName = 'proto.endpoint_api.CreateEndpointCacheConfigurationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.CreateEndpointTagRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.CreateEndpointTagRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.CreateEndpointTagRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.CreateEndpointTagRequest.displayName = 'proto.endpoint_api.CreateEndpointTagRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.ForkEndpointRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.ForkEndpointRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.ForkEndpointRequest.displayName = 'proto.endpoint_api.ForkEndpointRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.UpdateEndpointDetailRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.UpdateEndpointDetailRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.UpdateEndpointDetailRequest.displayName = 'proto.endpoint_api.UpdateEndpointDetailRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.EndpointLog = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.EndpointLog.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.EndpointLog, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.EndpointLog.displayName = 'proto.endpoint_api.EndpointLog';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetAllEndpointLogRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.GetAllEndpointLogRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.GetAllEndpointLogRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetAllEndpointLogRequest.displayName = 'proto.endpoint_api.GetAllEndpointLogRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetAllEndpointLogResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.GetAllEndpointLogResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.GetAllEndpointLogResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetAllEndpointLogResponse.displayName = 'proto.endpoint_api.GetAllEndpointLogResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetEndpointLogRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.GetEndpointLogRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetEndpointLogRequest.displayName = 'proto.endpoint_api.GetEndpointLogRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetEndpointLogResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.GetEndpointLogResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetEndpointLogResponse.displayName = 'proto.endpoint_api.GetEndpointLogResponse';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.EndpointAttribute.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.EndpointAttribute.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.EndpointAttribute} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointAttribute.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    source: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    sourceidentifier: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    visibility: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    language: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    name: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 8, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.EndpointAttribute}\n */\nproto.endpoint_api.EndpointAttribute.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.EndpointAttribute;\n  return proto.endpoint_api.EndpointAttribute.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.EndpointAttribute} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.EndpointAttribute}\n */\nproto.endpoint_api.EndpointAttribute.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setSource(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setSourceidentifier(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVisibility(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLanguage(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.EndpointAttribute.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.EndpointAttribute.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.EndpointAttribute} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointAttribute.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSource();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getSourceidentifier();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getVisibility();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getLanguage();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string source = 1;\n * @return {string}\n */\nproto.endpoint_api.EndpointAttribute.prototype.getSource = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointAttribute} returns this\n */\nproto.endpoint_api.EndpointAttribute.prototype.setSource = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional uint64 sourceIdentifier = 2;\n * @return {string}\n */\nproto.endpoint_api.EndpointAttribute.prototype.getSourceidentifier = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointAttribute} returns this\n */\nproto.endpoint_api.EndpointAttribute.prototype.setSourceidentifier = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional string visibility = 4;\n * @return {string}\n */\nproto.endpoint_api.EndpointAttribute.prototype.getVisibility = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointAttribute} returns this\n */\nproto.endpoint_api.EndpointAttribute.prototype.setVisibility = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string language = 6;\n * @return {string}\n */\nproto.endpoint_api.EndpointAttribute.prototype.getLanguage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointAttribute} returns this\n */\nproto.endpoint_api.EndpointAttribute.prototype.setLanguage = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string name = 7;\n * @return {string}\n */\nproto.endpoint_api.EndpointAttribute.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointAttribute} returns this\n */\nproto.endpoint_api.EndpointAttribute.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional string description = 8;\n * @return {string}\n */\nproto.endpoint_api.EndpointAttribute.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointAttribute} returns this\n */\nproto.endpoint_api.EndpointAttribute.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.EndpointProviderModelAttribute.repeatedFields_ = [8];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.EndpointProviderModelAttribute.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.EndpointProviderModelAttribute} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointProviderModelAttribute.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    description: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    chatcompleteprompt: (f = msg.getChatcompleteprompt()) && common_pb.TextChatCompletePrompt.toObject(includeInstance, f),\n    modelprovidername: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    endpointmodeloptionsList: jspb.Message.toObjectList(msg.getEndpointmodeloptionsList(),\n    common_pb.Metadata.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.EndpointProviderModelAttribute}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.EndpointProviderModelAttribute;\n  return proto.endpoint_api.EndpointProviderModelAttribute.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.EndpointProviderModelAttribute} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.EndpointProviderModelAttribute}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 2:\n      var value = new common_pb.TextChatCompletePrompt;\n      reader.readMessage(value,common_pb.TextChatCompletePrompt.deserializeBinaryFromReader);\n      msg.setChatcompleteprompt(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setModelprovidername(value);\n      break;\n    case 8:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addEndpointmodeloptions(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.EndpointProviderModelAttribute.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.EndpointProviderModelAttribute} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointProviderModelAttribute.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getChatcompleteprompt();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      common_pb.TextChatCompletePrompt.serializeBinaryToWriter\n    );\n  }\n  f = message.getModelprovidername();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getEndpointmodeloptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      8,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string description = 1;\n * @return {string}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointProviderModelAttribute} returns this\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional TextChatCompletePrompt chatCompletePrompt = 2;\n * @return {?proto.TextChatCompletePrompt}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.getChatcompleteprompt = function() {\n  return /** @type{?proto.TextChatCompletePrompt} */ (\n    jspb.Message.getWrapperField(this, common_pb.TextChatCompletePrompt, 2));\n};\n\n\n/**\n * @param {?proto.TextChatCompletePrompt|undefined} value\n * @return {!proto.endpoint_api.EndpointProviderModelAttribute} returns this\n*/\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.setChatcompleteprompt = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointProviderModelAttribute} returns this\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.clearChatcompleteprompt = function() {\n  return this.setChatcompleteprompt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.hasChatcompleteprompt = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string modelProviderName = 7;\n * @return {string}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.getModelprovidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointProviderModelAttribute} returns this\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.setModelprovidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * repeated Metadata endpointModelOptions = 8;\n * @return {!Array<!proto.Metadata>}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.getEndpointmodeloptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 8));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.endpoint_api.EndpointProviderModelAttribute} returns this\n*/\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.setEndpointmodeloptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 8, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.addEndpointmodeloptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 8, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.EndpointProviderModelAttribute} returns this\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.clearEndpointmodeloptionsList = function() {\n  return this.setEndpointmodeloptionsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.CreateEndpointRequest.repeatedFields_ = [5];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.CreateEndpointRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.CreateEndpointRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointprovidermodelattribute: (f = msg.getEndpointprovidermodelattribute()) && proto.endpoint_api.EndpointProviderModelAttribute.toObject(includeInstance, f),\n    endpointattribute: (f = msg.getEndpointattribute()) && proto.endpoint_api.EndpointAttribute.toObject(includeInstance, f),\n    retryconfiguration: (f = msg.getRetryconfiguration()) && proto.endpoint_api.EndpointRetryConfiguration.toObject(includeInstance, f),\n    cacheconfiguration: (f = msg.getCacheconfiguration()) && proto.endpoint_api.EndpointCacheConfiguration.toObject(includeInstance, f),\n    tagsList: (f = jspb.Message.getRepeatedField(msg, 5)) == null ? undefined : f\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.CreateEndpointRequest}\n */\nproto.endpoint_api.CreateEndpointRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.CreateEndpointRequest;\n  return proto.endpoint_api.CreateEndpointRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.CreateEndpointRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.CreateEndpointRequest}\n */\nproto.endpoint_api.CreateEndpointRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.endpoint_api.EndpointProviderModelAttribute;\n      reader.readMessage(value,proto.endpoint_api.EndpointProviderModelAttribute.deserializeBinaryFromReader);\n      msg.setEndpointprovidermodelattribute(value);\n      break;\n    case 2:\n      var value = new proto.endpoint_api.EndpointAttribute;\n      reader.readMessage(value,proto.endpoint_api.EndpointAttribute.deserializeBinaryFromReader);\n      msg.setEndpointattribute(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.EndpointRetryConfiguration;\n      reader.readMessage(value,proto.endpoint_api.EndpointRetryConfiguration.deserializeBinaryFromReader);\n      msg.setRetryconfiguration(value);\n      break;\n    case 4:\n      var value = new proto.endpoint_api.EndpointCacheConfiguration;\n      reader.readMessage(value,proto.endpoint_api.EndpointCacheConfiguration.deserializeBinaryFromReader);\n      msg.setCacheconfiguration(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addTags(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.CreateEndpointRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.CreateEndpointRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointprovidermodelattribute();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.endpoint_api.EndpointProviderModelAttribute.serializeBinaryToWriter\n    );\n  }\n  f = message.getEndpointattribute();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.endpoint_api.EndpointAttribute.serializeBinaryToWriter\n    );\n  }\n  f = message.getRetryconfiguration();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.endpoint_api.EndpointRetryConfiguration.serializeBinaryToWriter\n    );\n  }\n  f = message.getCacheconfiguration();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.endpoint_api.EndpointCacheConfiguration.serializeBinaryToWriter\n    );\n  }\n  f = message.getTagsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      5,\n      f\n    );\n  }\n};\n\n\n/**\n * optional EndpointProviderModelAttribute endpointProviderModelAttribute = 1;\n * @return {?proto.endpoint_api.EndpointProviderModelAttribute}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.getEndpointprovidermodelattribute = function() {\n  return /** @type{?proto.endpoint_api.EndpointProviderModelAttribute} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointProviderModelAttribute, 1));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointProviderModelAttribute|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n*/\nproto.endpoint_api.CreateEndpointRequest.prototype.setEndpointprovidermodelattribute = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.clearEndpointprovidermodelattribute = function() {\n  return this.setEndpointprovidermodelattribute(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.hasEndpointprovidermodelattribute = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional EndpointAttribute endpointAttribute = 2;\n * @return {?proto.endpoint_api.EndpointAttribute}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.getEndpointattribute = function() {\n  return /** @type{?proto.endpoint_api.EndpointAttribute} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointAttribute, 2));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointAttribute|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n*/\nproto.endpoint_api.CreateEndpointRequest.prototype.setEndpointattribute = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.clearEndpointattribute = function() {\n  return this.setEndpointattribute(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.hasEndpointattribute = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional EndpointRetryConfiguration retryConfiguration = 3;\n * @return {?proto.endpoint_api.EndpointRetryConfiguration}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.getRetryconfiguration = function() {\n  return /** @type{?proto.endpoint_api.EndpointRetryConfiguration} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointRetryConfiguration, 3));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointRetryConfiguration|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n*/\nproto.endpoint_api.CreateEndpointRequest.prototype.setRetryconfiguration = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.clearRetryconfiguration = function() {\n  return this.setRetryconfiguration(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.hasRetryconfiguration = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional EndpointCacheConfiguration cacheConfiguration = 4;\n * @return {?proto.endpoint_api.EndpointCacheConfiguration}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.getCacheconfiguration = function() {\n  return /** @type{?proto.endpoint_api.EndpointCacheConfiguration} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointCacheConfiguration, 4));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointCacheConfiguration|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n*/\nproto.endpoint_api.CreateEndpointRequest.prototype.setCacheconfiguration = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.clearCacheconfiguration = function() {\n  return this.setCacheconfiguration(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.hasCacheconfiguration = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * repeated string tags = 5;\n * @return {!Array<string>}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.getTagsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 5));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.setTagsList = function(value) {\n  return jspb.Message.setField(this, 5, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.addTags = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 5, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.clearTagsList = function() {\n  return this.setTagsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.CreateEndpointResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.CreateEndpointResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.endpoint_api.Endpoint.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.CreateEndpointResponse}\n */\nproto.endpoint_api.CreateEndpointResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.CreateEndpointResponse;\n  return proto.endpoint_api.CreateEndpointResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.CreateEndpointResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.CreateEndpointResponse}\n */\nproto.endpoint_api.CreateEndpointResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.Endpoint;\n      reader.readMessage(value,proto.endpoint_api.Endpoint.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.CreateEndpointResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.CreateEndpointResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.endpoint_api.Endpoint.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.CreateEndpointResponse} returns this\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.CreateEndpointResponse} returns this\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Endpoint data = 3;\n * @return {?proto.endpoint_api.Endpoint}\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.getData = function() {\n  return /** @type{?proto.endpoint_api.Endpoint} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.Endpoint, 3));\n};\n\n\n/**\n * @param {?proto.endpoint_api.Endpoint|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointResponse} returns this\n*/\nproto.endpoint_api.CreateEndpointResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointResponse} returns this\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointResponse} returns this\n*/\nproto.endpoint_api.CreateEndpointResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointResponse} returns this\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.EndpointProviderModel.repeatedFields_ = [5];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.EndpointProviderModel.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.EndpointProviderModel} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointProviderModel.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    chatcompleteprompt: (f = msg.getChatcompleteprompt()) && common_pb.TextChatCompletePrompt.toObject(includeInstance, f),\n    modelprovidername: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    endpointmodeloptionsList: jspb.Message.toObjectList(msg.getEndpointmodeloptionsList(),\n    common_pb.Metadata.toObject, includeInstance),\n    status: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n    createdactor: (f = msg.getCreatedactor()) && common_pb.AuditActor.toObject(includeInstance, f),\n    updatedactor: (f = msg.getUpdatedactor()) && common_pb.AuditActor.toObject(includeInstance, f),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    endpointid: jspb.Message.getFieldWithDefault(msg, 19, \"0\"),\n    description: jspb.Message.getFieldWithDefault(msg, 20, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.EndpointProviderModel}\n */\nproto.endpoint_api.EndpointProviderModel.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.EndpointProviderModel;\n  return proto.endpoint_api.EndpointProviderModel.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.EndpointProviderModel} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.EndpointProviderModel}\n */\nproto.endpoint_api.EndpointProviderModel.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = new common_pb.TextChatCompletePrompt;\n      reader.readMessage(value,common_pb.TextChatCompletePrompt.deserializeBinaryFromReader);\n      msg.setChatcompleteprompt(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setModelprovidername(value);\n      break;\n    case 5:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addEndpointmodeloptions(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 1000:\n      var value = new common_pb.AuditActor;\n      reader.readMessage(value,common_pb.AuditActor.deserializeBinaryFromReader);\n      msg.setCreatedactor(value);\n      break;\n    case 1001:\n      var value = new common_pb.AuditActor;\n      reader.readMessage(value,common_pb.AuditActor.deserializeBinaryFromReader);\n      msg.setUpdatedactor(value);\n      break;\n    case 17:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 18:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 19:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 20:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.EndpointProviderModel.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.EndpointProviderModel} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointProviderModel.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getChatcompleteprompt();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      common_pb.TextChatCompletePrompt.serializeBinaryToWriter\n    );\n  }\n  f = message.getModelprovidername();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getEndpointmodeloptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      5,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      12,\n      f\n    );\n  }\n  f = message.getCreatedactor();\n  if (f != null) {\n    writer.writeMessage(\n      1000,\n      f,\n      common_pb.AuditActor.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdatedactor();\n  if (f != null) {\n    writer.writeMessage(\n      1001,\n      f,\n      common_pb.AuditActor.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      17,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      18,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      19,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      20,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional TextChatCompletePrompt chatCompletePrompt = 2;\n * @return {?proto.TextChatCompletePrompt}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getChatcompleteprompt = function() {\n  return /** @type{?proto.TextChatCompletePrompt} */ (\n    jspb.Message.getWrapperField(this, common_pb.TextChatCompletePrompt, 2));\n};\n\n\n/**\n * @param {?proto.TextChatCompletePrompt|undefined} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n*/\nproto.endpoint_api.EndpointProviderModel.prototype.setChatcompleteprompt = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.clearChatcompleteprompt = function() {\n  return this.setChatcompleteprompt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.hasChatcompleteprompt = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string modelProviderName = 4;\n * @return {string}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getModelprovidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.setModelprovidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * repeated Metadata endpointModelOptions = 5;\n * @return {!Array<!proto.Metadata>}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getEndpointmodeloptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 5));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n*/\nproto.endpoint_api.EndpointProviderModel.prototype.setEndpointmodeloptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 5, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.addEndpointmodeloptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.clearEndpointmodeloptionsList = function() {\n  return this.setEndpointmodeloptionsList([]);\n};\n\n\n/**\n * optional string status = 12;\n * @return {string}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional AuditActor createdActor = 1000;\n * @return {?proto.AuditActor}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getCreatedactor = function() {\n  return /** @type{?proto.AuditActor} */ (\n    jspb.Message.getWrapperField(this, common_pb.AuditActor, 1000));\n};\n\n\n/**\n * @param {?proto.AuditActor|undefined} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n*/\nproto.endpoint_api.EndpointProviderModel.prototype.setCreatedactor = function(value) {\n  return jspb.Message.setWrapperField(this, 1000, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.clearCreatedactor = function() {\n  return this.setCreatedactor(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.hasCreatedactor = function() {\n  return jspb.Message.getField(this, 1000) != null;\n};\n\n\n/**\n * optional AuditActor updatedActor = 1001;\n * @return {?proto.AuditActor}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getUpdatedactor = function() {\n  return /** @type{?proto.AuditActor} */ (\n    jspb.Message.getWrapperField(this, common_pb.AuditActor, 1001));\n};\n\n\n/**\n * @param {?proto.AuditActor|undefined} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n*/\nproto.endpoint_api.EndpointProviderModel.prototype.setUpdatedactor = function(value) {\n  return jspb.Message.setWrapperField(this, 1001, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.clearUpdatedactor = function() {\n  return this.setUpdatedactor(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.hasUpdatedactor = function() {\n  return jspb.Message.getField(this, 1001) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 17;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 17));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n*/\nproto.endpoint_api.EndpointProviderModel.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 17, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 17) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 18;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 18));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n*/\nproto.endpoint_api.EndpointProviderModel.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 18, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 18) != null;\n};\n\n\n/**\n * optional uint64 endpointId = 19;\n * @return {string}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 19, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 19, value);\n};\n\n\n/**\n * optional string description = 20;\n * @return {string}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 20, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 20, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.AggregatedEndpointAnalytics.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.AggregatedEndpointAnalytics} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    count: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    totalinputcost: jspb.Message.getFloatingPointFieldWithDefault(msg, 2, 0.0),\n    totaloutputcost: jspb.Message.getFloatingPointFieldWithDefault(msg, 3, 0.0),\n    totaltoken: jspb.Message.getFieldWithDefault(msg, 4, \"0\"),\n    successcount: jspb.Message.getFieldWithDefault(msg, 5, \"0\"),\n    errorcount: jspb.Message.getFieldWithDefault(msg, 6, \"0\"),\n    p50latency: jspb.Message.getFloatingPointFieldWithDefault(msg, 7, 0.0),\n    p99latency: jspb.Message.getFloatingPointFieldWithDefault(msg, 8, 0.0),\n    lastactivity: (f = msg.getLastactivity()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.AggregatedEndpointAnalytics;\n  return proto.endpoint_api.AggregatedEndpointAnalytics.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.AggregatedEndpointAnalytics} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setCount(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readFloat());\n      msg.setTotalinputcost(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readFloat());\n      msg.setTotaloutputcost(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setTotaltoken(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setSuccesscount(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setErrorcount(value);\n      break;\n    case 7:\n      var value = /** @type {number} */ (reader.readFloat());\n      msg.setP50latency(value);\n      break;\n    case 8:\n      var value = /** @type {number} */ (reader.readFloat());\n      msg.setP99latency(value);\n      break;\n    case 9:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setLastactivity(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.AggregatedEndpointAnalytics.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.AggregatedEndpointAnalytics} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCount();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getTotalinputcost();\n  if (f !== 0.0) {\n    writer.writeFloat(\n      2,\n      f\n    );\n  }\n  f = message.getTotaloutputcost();\n  if (f !== 0.0) {\n    writer.writeFloat(\n      3,\n      f\n    );\n  }\n  f = message.getTotaltoken();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n  f = message.getSuccesscount();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      5,\n      f\n    );\n  }\n  f = message.getErrorcount();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      6,\n      f\n    );\n  }\n  f = message.getP50latency();\n  if (f !== 0.0) {\n    writer.writeFloat(\n      7,\n      f\n    );\n  }\n  f = message.getP99latency();\n  if (f !== 0.0) {\n    writer.writeFloat(\n      8,\n      f\n    );\n  }\n  f = message.getLastactivity();\n  if (f != null) {\n    writer.writeMessage(\n      9,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 count = 1;\n * @return {string}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.getCount = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.setCount = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional float totalInputCost = 2;\n * @return {number}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.getTotalinputcost = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 2, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.setTotalinputcost = function(value) {\n  return jspb.Message.setProto3FloatField(this, 2, value);\n};\n\n\n/**\n * optional float totalOutputCost = 3;\n * @return {number}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.getTotaloutputcost = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 3, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.setTotaloutputcost = function(value) {\n  return jspb.Message.setProto3FloatField(this, 3, value);\n};\n\n\n/**\n * optional uint64 totalToken = 4;\n * @return {string}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.getTotaltoken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.setTotaltoken = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 4, value);\n};\n\n\n/**\n * optional uint64 successCount = 5;\n * @return {string}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.getSuccesscount = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.setSuccesscount = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 5, value);\n};\n\n\n/**\n * optional uint64 errorCount = 6;\n * @return {string}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.getErrorcount = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.setErrorcount = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 6, value);\n};\n\n\n/**\n * optional float p50Latency = 7;\n * @return {number}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.getP50latency = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 7, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.setP50latency = function(value) {\n  return jspb.Message.setProto3FloatField(this, 7, value);\n};\n\n\n/**\n * optional float p99Latency = 8;\n * @return {number}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.getP99latency = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 8, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.setP99latency = function(value) {\n  return jspb.Message.setProto3FloatField(this, 8, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp lastActivity = 9;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.getLastactivity = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 9));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n*/\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.setLastactivity = function(value) {\n  return jspb.Message.setWrapperField(this, 9, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.clearLastactivity = function() {\n  return this.setLastactivity(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.hasLastactivity = function() {\n  return jspb.Message.getField(this, 9) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.Endpoint.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.Endpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.Endpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.Endpoint.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    status: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    visibility: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    source: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    sourceidentifier: jspb.Message.getFieldWithDefault(msg, 5, \"0\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 7, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 8, \"0\"),\n    endpointprovidermodelid: jspb.Message.getFieldWithDefault(msg, 9, \"0\"),\n    endpointprovidermodel: (f = msg.getEndpointprovidermodel()) && proto.endpoint_api.EndpointProviderModel.toObject(includeInstance, f),\n    endpointanalytics: (f = msg.getEndpointanalytics()) && proto.endpoint_api.AggregatedEndpointAnalytics.toObject(includeInstance, f),\n    endpointretry: (f = msg.getEndpointretry()) && proto.endpoint_api.EndpointRetryConfiguration.toObject(includeInstance, f),\n    endpointcaching: (f = msg.getEndpointcaching()) && proto.endpoint_api.EndpointCacheConfiguration.toObject(includeInstance, f),\n    endpointtag: (f = msg.getEndpointtag()) && common_pb.Tag.toObject(includeInstance, f),\n    language: jspb.Message.getFieldWithDefault(msg, 16, \"\"),\n    organization: (f = msg.getOrganization()) && common_pb.Organization.toObject(includeInstance, f),\n    name: jspb.Message.getFieldWithDefault(msg, 18, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 19, \"\"),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    createdactor: (f = msg.getCreatedactor()) && common_pb.AuditActor.toObject(includeInstance, f),\n    updatedactor: (f = msg.getUpdatedactor()) && common_pb.AuditActor.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.Endpoint}\n */\nproto.endpoint_api.Endpoint.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.Endpoint;\n  return proto.endpoint_api.Endpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.Endpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.Endpoint}\n */\nproto.endpoint_api.Endpoint.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVisibility(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setSource(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setSourceidentifier(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointprovidermodelid(value);\n      break;\n    case 10:\n      var value = new proto.endpoint_api.EndpointProviderModel;\n      reader.readMessage(value,proto.endpoint_api.EndpointProviderModel.deserializeBinaryFromReader);\n      msg.setEndpointprovidermodel(value);\n      break;\n    case 11:\n      var value = new proto.endpoint_api.AggregatedEndpointAnalytics;\n      reader.readMessage(value,proto.endpoint_api.AggregatedEndpointAnalytics.deserializeBinaryFromReader);\n      msg.setEndpointanalytics(value);\n      break;\n    case 12:\n      var value = new proto.endpoint_api.EndpointRetryConfiguration;\n      reader.readMessage(value,proto.endpoint_api.EndpointRetryConfiguration.deserializeBinaryFromReader);\n      msg.setEndpointretry(value);\n      break;\n    case 13:\n      var value = new proto.endpoint_api.EndpointCacheConfiguration;\n      reader.readMessage(value,proto.endpoint_api.EndpointCacheConfiguration.deserializeBinaryFromReader);\n      msg.setEndpointcaching(value);\n      break;\n    case 14:\n      var value = new common_pb.Tag;\n      reader.readMessage(value,common_pb.Tag.deserializeBinaryFromReader);\n      msg.setEndpointtag(value);\n      break;\n    case 16:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLanguage(value);\n      break;\n    case 17:\n      var value = new common_pb.Organization;\n      reader.readMessage(value,common_pb.Organization.deserializeBinaryFromReader);\n      msg.setOrganization(value);\n      break;\n    case 18:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 19:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 20:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 21:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 1000:\n      var value = new common_pb.AuditActor;\n      reader.readMessage(value,common_pb.AuditActor.deserializeBinaryFromReader);\n      msg.setCreatedactor(value);\n      break;\n    case 1001:\n      var value = new common_pb.AuditActor;\n      reader.readMessage(value,common_pb.AuditActor.deserializeBinaryFromReader);\n      msg.setUpdatedactor(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.Endpoint.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.Endpoint.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.Endpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.Endpoint.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getVisibility();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getSource();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getSourceidentifier();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      5,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      7,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      8,\n      f\n    );\n  }\n  f = message.getEndpointprovidermodelid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      9,\n      f\n    );\n  }\n  f = message.getEndpointprovidermodel();\n  if (f != null) {\n    writer.writeMessage(\n      10,\n      f,\n      proto.endpoint_api.EndpointProviderModel.serializeBinaryToWriter\n    );\n  }\n  f = message.getEndpointanalytics();\n  if (f != null) {\n    writer.writeMessage(\n      11,\n      f,\n      proto.endpoint_api.AggregatedEndpointAnalytics.serializeBinaryToWriter\n    );\n  }\n  f = message.getEndpointretry();\n  if (f != null) {\n    writer.writeMessage(\n      12,\n      f,\n      proto.endpoint_api.EndpointRetryConfiguration.serializeBinaryToWriter\n    );\n  }\n  f = message.getEndpointcaching();\n  if (f != null) {\n    writer.writeMessage(\n      13,\n      f,\n      proto.endpoint_api.EndpointCacheConfiguration.serializeBinaryToWriter\n    );\n  }\n  f = message.getEndpointtag();\n  if (f != null) {\n    writer.writeMessage(\n      14,\n      f,\n      common_pb.Tag.serializeBinaryToWriter\n    );\n  }\n  f = message.getLanguage();\n  if (f.length > 0) {\n    writer.writeString(\n      16,\n      f\n    );\n  }\n  f = message.getOrganization();\n  if (f != null) {\n    writer.writeMessage(\n      17,\n      f,\n      common_pb.Organization.serializeBinaryToWriter\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      18,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      19,\n      f\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      20,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      21,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreatedactor();\n  if (f != null) {\n    writer.writeMessage(\n      1000,\n      f,\n      common_pb.AuditActor.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdatedactor();\n  if (f != null) {\n    writer.writeMessage(\n      1001,\n      f,\n      common_pb.AuditActor.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string status = 2;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string visibility = 3;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getVisibility = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setVisibility = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string source = 4;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getSource = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setSource = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional uint64 sourceIdentifier = 5;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getSourceidentifier = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setSourceidentifier = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 5, value);\n};\n\n\n/**\n * optional uint64 projectId = 7;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 7, value);\n};\n\n\n/**\n * optional uint64 organizationId = 8;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 8, value);\n};\n\n\n/**\n * optional uint64 endpointProviderModelId = 9;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getEndpointprovidermodelid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setEndpointprovidermodelid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 9, value);\n};\n\n\n/**\n * optional EndpointProviderModel endpointProviderModel = 10;\n * @return {?proto.endpoint_api.EndpointProviderModel}\n */\nproto.endpoint_api.Endpoint.prototype.getEndpointprovidermodel = function() {\n  return /** @type{?proto.endpoint_api.EndpointProviderModel} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointProviderModel, 10));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointProviderModel|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setEndpointprovidermodel = function(value) {\n  return jspb.Message.setWrapperField(this, 10, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearEndpointprovidermodel = function() {\n  return this.setEndpointprovidermodel(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasEndpointprovidermodel = function() {\n  return jspb.Message.getField(this, 10) != null;\n};\n\n\n/**\n * optional AggregatedEndpointAnalytics endpointAnalytics = 11;\n * @return {?proto.endpoint_api.AggregatedEndpointAnalytics}\n */\nproto.endpoint_api.Endpoint.prototype.getEndpointanalytics = function() {\n  return /** @type{?proto.endpoint_api.AggregatedEndpointAnalytics} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.AggregatedEndpointAnalytics, 11));\n};\n\n\n/**\n * @param {?proto.endpoint_api.AggregatedEndpointAnalytics|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setEndpointanalytics = function(value) {\n  return jspb.Message.setWrapperField(this, 11, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearEndpointanalytics = function() {\n  return this.setEndpointanalytics(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasEndpointanalytics = function() {\n  return jspb.Message.getField(this, 11) != null;\n};\n\n\n/**\n * optional EndpointRetryConfiguration endpointRetry = 12;\n * @return {?proto.endpoint_api.EndpointRetryConfiguration}\n */\nproto.endpoint_api.Endpoint.prototype.getEndpointretry = function() {\n  return /** @type{?proto.endpoint_api.EndpointRetryConfiguration} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointRetryConfiguration, 12));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointRetryConfiguration|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setEndpointretry = function(value) {\n  return jspb.Message.setWrapperField(this, 12, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearEndpointretry = function() {\n  return this.setEndpointretry(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasEndpointretry = function() {\n  return jspb.Message.getField(this, 12) != null;\n};\n\n\n/**\n * optional EndpointCacheConfiguration endpointCaching = 13;\n * @return {?proto.endpoint_api.EndpointCacheConfiguration}\n */\nproto.endpoint_api.Endpoint.prototype.getEndpointcaching = function() {\n  return /** @type{?proto.endpoint_api.EndpointCacheConfiguration} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointCacheConfiguration, 13));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointCacheConfiguration|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setEndpointcaching = function(value) {\n  return jspb.Message.setWrapperField(this, 13, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearEndpointcaching = function() {\n  return this.setEndpointcaching(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasEndpointcaching = function() {\n  return jspb.Message.getField(this, 13) != null;\n};\n\n\n/**\n * optional Tag endpointTag = 14;\n * @return {?proto.Tag}\n */\nproto.endpoint_api.Endpoint.prototype.getEndpointtag = function() {\n  return /** @type{?proto.Tag} */ (\n    jspb.Message.getWrapperField(this, common_pb.Tag, 14));\n};\n\n\n/**\n * @param {?proto.Tag|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setEndpointtag = function(value) {\n  return jspb.Message.setWrapperField(this, 14, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearEndpointtag = function() {\n  return this.setEndpointtag(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasEndpointtag = function() {\n  return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * optional string language = 16;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getLanguage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 16, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setLanguage = function(value) {\n  return jspb.Message.setProto3StringField(this, 16, value);\n};\n\n\n/**\n * optional Organization organization = 17;\n * @return {?proto.Organization}\n */\nproto.endpoint_api.Endpoint.prototype.getOrganization = function() {\n  return /** @type{?proto.Organization} */ (\n    jspb.Message.getWrapperField(this, common_pb.Organization, 17));\n};\n\n\n/**\n * @param {?proto.Organization|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setOrganization = function(value) {\n  return jspb.Message.setWrapperField(this, 17, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearOrganization = function() {\n  return this.setOrganization(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasOrganization = function() {\n  return jspb.Message.getField(this, 17) != null;\n};\n\n\n/**\n * optional string name = 18;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 18, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 18, value);\n};\n\n\n/**\n * optional string description = 19;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 19, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 19, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 20;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.endpoint_api.Endpoint.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 20));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 20, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 20) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 21;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.endpoint_api.Endpoint.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 21));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 21, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 21) != null;\n};\n\n\n/**\n * optional AuditActor createdActor = 1000;\n * @return {?proto.AuditActor}\n */\nproto.endpoint_api.Endpoint.prototype.getCreatedactor = function() {\n  return /** @type{?proto.AuditActor} */ (\n    jspb.Message.getWrapperField(this, common_pb.AuditActor, 1000));\n};\n\n\n/**\n * @param {?proto.AuditActor|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setCreatedactor = function(value) {\n  return jspb.Message.setWrapperField(this, 1000, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearCreatedactor = function() {\n  return this.setCreatedactor(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasCreatedactor = function() {\n  return jspb.Message.getField(this, 1000) != null;\n};\n\n\n/**\n * optional AuditActor updatedActor = 1001;\n * @return {?proto.AuditActor}\n */\nproto.endpoint_api.Endpoint.prototype.getUpdatedactor = function() {\n  return /** @type{?proto.AuditActor} */ (\n    jspb.Message.getWrapperField(this, common_pb.AuditActor, 1001));\n};\n\n\n/**\n * @param {?proto.AuditActor|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setUpdatedactor = function(value) {\n  return jspb.Message.setWrapperField(this, 1001, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearUpdatedactor = function() {\n  return this.setUpdatedactor(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasUpdatedactor = function() {\n  return jspb.Message.getField(this, 1001) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.CreateEndpointProviderModelRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.CreateEndpointProviderModelRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    endpointprovidermodelattribute: (f = msg.getEndpointprovidermodelattribute()) && proto.endpoint_api.EndpointProviderModelAttribute.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.CreateEndpointProviderModelRequest}\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.CreateEndpointProviderModelRequest;\n  return proto.endpoint_api.CreateEndpointProviderModelRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.CreateEndpointProviderModelRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.CreateEndpointProviderModelRequest}\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 2:\n      var value = new proto.endpoint_api.EndpointProviderModelAttribute;\n      reader.readMessage(value,proto.endpoint_api.EndpointProviderModelAttribute.deserializeBinaryFromReader);\n      msg.setEndpointprovidermodelattribute(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.CreateEndpointProviderModelRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.CreateEndpointProviderModelRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getEndpointprovidermodelattribute();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.endpoint_api.EndpointProviderModelAttribute.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 endpointId = 1;\n * @return {string}\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.CreateEndpointProviderModelRequest} returns this\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional EndpointProviderModelAttribute endpointProviderModelAttribute = 2;\n * @return {?proto.endpoint_api.EndpointProviderModelAttribute}\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.prototype.getEndpointprovidermodelattribute = function() {\n  return /** @type{?proto.endpoint_api.EndpointProviderModelAttribute} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointProviderModelAttribute, 2));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointProviderModelAttribute|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointProviderModelRequest} returns this\n*/\nproto.endpoint_api.CreateEndpointProviderModelRequest.prototype.setEndpointprovidermodelattribute = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointProviderModelRequest} returns this\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.prototype.clearEndpointprovidermodelattribute = function() {\n  return this.setEndpointprovidermodelattribute(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.prototype.hasEndpointprovidermodelattribute = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.CreateEndpointProviderModelResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.CreateEndpointProviderModelResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.endpoint_api.EndpointProviderModel.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.CreateEndpointProviderModelResponse}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.CreateEndpointProviderModelResponse;\n  return proto.endpoint_api.CreateEndpointProviderModelResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.CreateEndpointProviderModelResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.CreateEndpointProviderModelResponse}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.EndpointProviderModel;\n      reader.readMessage(value,proto.endpoint_api.EndpointProviderModel.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.CreateEndpointProviderModelResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.CreateEndpointProviderModelResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.endpoint_api.EndpointProviderModel.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.CreateEndpointProviderModelResponse} returns this\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.CreateEndpointProviderModelResponse} returns this\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional EndpointProviderModel data = 3;\n * @return {?proto.endpoint_api.EndpointProviderModel}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.getData = function() {\n  return /** @type{?proto.endpoint_api.EndpointProviderModel} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointProviderModel, 3));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointProviderModel|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointProviderModelResponse} returns this\n*/\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointProviderModelResponse} returns this\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointProviderModelResponse} returns this\n*/\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointProviderModelResponse} returns this\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetEndpointRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetEndpointRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetEndpointRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetEndpointRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    endpointprovidermodelid: jspb.Message.getFieldWithDefault(msg, 4, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetEndpointRequest}\n */\nproto.endpoint_api.GetEndpointRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetEndpointRequest;\n  return proto.endpoint_api.GetEndpointRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetEndpointRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetEndpointRequest}\n */\nproto.endpoint_api.GetEndpointRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointprovidermodelid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetEndpointRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetEndpointRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetEndpointRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetEndpointRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 4));\n  if (f != null) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.endpoint_api.GetEndpointRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.GetEndpointRequest} returns this\n */\nproto.endpoint_api.GetEndpointRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 endpointProviderModelId = 4;\n * @return {string}\n */\nproto.endpoint_api.GetEndpointRequest.prototype.getEndpointprovidermodelid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.GetEndpointRequest} returns this\n */\nproto.endpoint_api.GetEndpointRequest.prototype.setEndpointprovidermodelid = function(value) {\n  return jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.endpoint_api.GetEndpointRequest} returns this\n */\nproto.endpoint_api.GetEndpointRequest.prototype.clearEndpointprovidermodelid = function() {\n  return jspb.Message.setField(this, 4, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetEndpointRequest.prototype.hasEndpointprovidermodelid = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetEndpointResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetEndpointResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetEndpointResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetEndpointResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.endpoint_api.Endpoint.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetEndpointResponse}\n */\nproto.endpoint_api.GetEndpointResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetEndpointResponse;\n  return proto.endpoint_api.GetEndpointResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetEndpointResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetEndpointResponse}\n */\nproto.endpoint_api.GetEndpointResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.Endpoint;\n      reader.readMessage(value,proto.endpoint_api.Endpoint.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetEndpointResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetEndpointResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetEndpointResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetEndpointResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.endpoint_api.Endpoint.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.GetEndpointResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.GetEndpointResponse} returns this\n */\nproto.endpoint_api.GetEndpointResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.GetEndpointResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.GetEndpointResponse} returns this\n */\nproto.endpoint_api.GetEndpointResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Endpoint data = 3;\n * @return {?proto.endpoint_api.Endpoint}\n */\nproto.endpoint_api.GetEndpointResponse.prototype.getData = function() {\n  return /** @type{?proto.endpoint_api.Endpoint} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.Endpoint, 3));\n};\n\n\n/**\n * @param {?proto.endpoint_api.Endpoint|undefined} value\n * @return {!proto.endpoint_api.GetEndpointResponse} returns this\n*/\nproto.endpoint_api.GetEndpointResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetEndpointResponse} returns this\n */\nproto.endpoint_api.GetEndpointResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetEndpointResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.GetEndpointResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.GetEndpointResponse} returns this\n*/\nproto.endpoint_api.GetEndpointResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetEndpointResponse} returns this\n */\nproto.endpoint_api.GetEndpointResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetEndpointResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.GetAllEndpointRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetAllEndpointRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetAllEndpointRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetAllEndpointRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetAllEndpointRequest}\n */\nproto.endpoint_api.GetAllEndpointRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetAllEndpointRequest;\n  return proto.endpoint_api.GetAllEndpointRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetAllEndpointRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetAllEndpointRequest}\n */\nproto.endpoint_api.GetAllEndpointRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetAllEndpointRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetAllEndpointRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetAllEndpointRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.endpoint_api.GetAllEndpointRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.endpoint_api.GetAllEndpointRequest} returns this\n*/\nproto.endpoint_api.GetAllEndpointRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetAllEndpointRequest} returns this\n */\nproto.endpoint_api.GetAllEndpointRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.endpoint_api.GetAllEndpointRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.endpoint_api.GetAllEndpointRequest} returns this\n*/\nproto.endpoint_api.GetAllEndpointRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.endpoint_api.GetAllEndpointRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.GetAllEndpointRequest} returns this\n */\nproto.endpoint_api.GetAllEndpointRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.GetAllEndpointResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetAllEndpointResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetAllEndpointResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.endpoint_api.Endpoint.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetAllEndpointResponse}\n */\nproto.endpoint_api.GetAllEndpointResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetAllEndpointResponse;\n  return proto.endpoint_api.GetAllEndpointResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetAllEndpointResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetAllEndpointResponse}\n */\nproto.endpoint_api.GetAllEndpointResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.Endpoint;\n      reader.readMessage(value,proto.endpoint_api.Endpoint.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetAllEndpointResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetAllEndpointResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.endpoint_api.Endpoint.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.GetAllEndpointResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.GetAllEndpointResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated Endpoint data = 3;\n * @return {!Array<!proto.endpoint_api.Endpoint>}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.endpoint_api.Endpoint>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.endpoint_api.Endpoint, 3));\n};\n\n\n/**\n * @param {!Array<!proto.endpoint_api.Endpoint>} value\n * @return {!proto.endpoint_api.GetAllEndpointResponse} returns this\n*/\nproto.endpoint_api.GetAllEndpointResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.endpoint_api.Endpoint=} opt_value\n * @param {number=} opt_index\n * @return {!proto.endpoint_api.Endpoint}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.endpoint_api.Endpoint, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.GetAllEndpointResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.GetAllEndpointResponse} returns this\n*/\nproto.endpoint_api.GetAllEndpointResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetAllEndpointResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.endpoint_api.GetAllEndpointResponse} returns this\n*/\nproto.endpoint_api.GetAllEndpointResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetAllEndpointResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetAllEndpointProviderModelRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetAllEndpointProviderModelRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance),\n    endpointid: jspb.Message.getFieldWithDefault(msg, 5, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelRequest}\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetAllEndpointProviderModelRequest;\n  return proto.endpoint_api.GetAllEndpointProviderModelRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetAllEndpointProviderModelRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelRequest}\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetAllEndpointProviderModelRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetAllEndpointProviderModelRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      5,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelRequest} returns this\n*/\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelRequest} returns this\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelRequest} returns this\n*/\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelRequest} returns this\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * optional uint64 endpointId = 5;\n * @return {string}\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelRequest} returns this\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 5, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetAllEndpointProviderModelResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetAllEndpointProviderModelResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.endpoint_api.EndpointProviderModel.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetAllEndpointProviderModelResponse;\n  return proto.endpoint_api.GetAllEndpointProviderModelResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetAllEndpointProviderModelResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.EndpointProviderModel;\n      reader.readMessage(value,proto.endpoint_api.EndpointProviderModel.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetAllEndpointProviderModelResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetAllEndpointProviderModelResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.endpoint_api.EndpointProviderModel.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated EndpointProviderModel data = 3;\n * @return {!Array<!proto.endpoint_api.EndpointProviderModel>}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.endpoint_api.EndpointProviderModel>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.endpoint_api.EndpointProviderModel, 3));\n};\n\n\n/**\n * @param {!Array<!proto.endpoint_api.EndpointProviderModel>} value\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse} returns this\n*/\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.endpoint_api.EndpointProviderModel=} opt_value\n * @param {number=} opt_index\n * @return {!proto.endpoint_api.EndpointProviderModel}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.endpoint_api.EndpointProviderModel, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse} returns this\n*/\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse} returns this\n*/\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.UpdateEndpointVersionRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.UpdateEndpointVersionRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    endpointprovidermodelid: jspb.Message.getFieldWithDefault(msg, 2, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.UpdateEndpointVersionRequest}\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.UpdateEndpointVersionRequest;\n  return proto.endpoint_api.UpdateEndpointVersionRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.UpdateEndpointVersionRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.UpdateEndpointVersionRequest}\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointprovidermodelid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.UpdateEndpointVersionRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.UpdateEndpointVersionRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getEndpointprovidermodelid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 endpointId = 1;\n * @return {string}\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.UpdateEndpointVersionRequest} returns this\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 endpointProviderModelId = 2;\n * @return {string}\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.prototype.getEndpointprovidermodelid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.UpdateEndpointVersionRequest} returns this\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.prototype.setEndpointprovidermodelid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.UpdateEndpointVersionResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.UpdateEndpointVersionResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.endpoint_api.Endpoint.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.UpdateEndpointVersionResponse}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.UpdateEndpointVersionResponse;\n  return proto.endpoint_api.UpdateEndpointVersionResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.UpdateEndpointVersionResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.UpdateEndpointVersionResponse}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.Endpoint;\n      reader.readMessage(value,proto.endpoint_api.Endpoint.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.UpdateEndpointVersionResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.UpdateEndpointVersionResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.endpoint_api.Endpoint.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.UpdateEndpointVersionResponse} returns this\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.UpdateEndpointVersionResponse} returns this\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Endpoint data = 3;\n * @return {?proto.endpoint_api.Endpoint}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.getData = function() {\n  return /** @type{?proto.endpoint_api.Endpoint} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.Endpoint, 3));\n};\n\n\n/**\n * @param {?proto.endpoint_api.Endpoint|undefined} value\n * @return {!proto.endpoint_api.UpdateEndpointVersionResponse} returns this\n*/\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.UpdateEndpointVersionResponse} returns this\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.UpdateEndpointVersionResponse} returns this\n*/\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.UpdateEndpointVersionResponse} returns this\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.EndpointRetryConfiguration.repeatedFields_ = [6];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.EndpointRetryConfiguration.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.EndpointRetryConfiguration} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointRetryConfiguration.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    retrytype: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    maxattempts: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    delayseconds: jspb.Message.getFieldWithDefault(msg, 4, \"0\"),\n    exponentialbackoff: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),\n    retryablesList: (f = jspb.Message.getRepeatedField(msg, 6)) == null ? undefined : f,\n    createdactor: (f = msg.getCreatedactor()) && common_pb.AuditActor.toObject(includeInstance, f),\n    updatedactor: (f = msg.getUpdatedactor()) && common_pb.AuditActor.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.EndpointRetryConfiguration}\n */\nproto.endpoint_api.EndpointRetryConfiguration.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.EndpointRetryConfiguration;\n  return proto.endpoint_api.EndpointRetryConfiguration.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.EndpointRetryConfiguration} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.EndpointRetryConfiguration}\n */\nproto.endpoint_api.EndpointRetryConfiguration.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRetrytype(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setMaxattempts(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setDelayseconds(value);\n      break;\n    case 5:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setExponentialbackoff(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addRetryables(value);\n      break;\n    case 1000:\n      var value = new common_pb.AuditActor;\n      reader.readMessage(value,common_pb.AuditActor.deserializeBinaryFromReader);\n      msg.setCreatedactor(value);\n      break;\n    case 1001:\n      var value = new common_pb.AuditActor;\n      reader.readMessage(value,common_pb.AuditActor.deserializeBinaryFromReader);\n      msg.setUpdatedactor(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.EndpointRetryConfiguration.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.EndpointRetryConfiguration} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointRetryConfiguration.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getRetrytype();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getMaxattempts();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getDelayseconds();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n  f = message.getExponentialbackoff();\n  if (f) {\n    writer.writeBool(\n      5,\n      f\n    );\n  }\n  f = message.getRetryablesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      6,\n      f\n    );\n  }\n  f = message.getCreatedactor();\n  if (f != null) {\n    writer.writeMessage(\n      1000,\n      f,\n      common_pb.AuditActor.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdatedactor();\n  if (f != null) {\n    writer.writeMessage(\n      1001,\n      f,\n      common_pb.AuditActor.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string retryType = 2;\n * @return {string}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.getRetrytype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.setRetrytype = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional uint64 maxAttempts = 3;\n * @return {string}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.getMaxattempts = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.setMaxattempts = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional uint64 delaySeconds = 4;\n * @return {string}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.getDelayseconds = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.setDelayseconds = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 4, value);\n};\n\n\n/**\n * optional bool exponentialBackoff = 5;\n * @return {boolean}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.getExponentialbackoff = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.setExponentialbackoff = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 5, value);\n};\n\n\n/**\n * repeated string retryables = 6;\n * @return {!Array<string>}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.getRetryablesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 6));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.setRetryablesList = function(value) {\n  return jspb.Message.setField(this, 6, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.addRetryables = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 6, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.clearRetryablesList = function() {\n  return this.setRetryablesList([]);\n};\n\n\n/**\n * optional AuditActor createdActor = 1000;\n * @return {?proto.AuditActor}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.getCreatedactor = function() {\n  return /** @type{?proto.AuditActor} */ (\n    jspb.Message.getWrapperField(this, common_pb.AuditActor, 1000));\n};\n\n\n/**\n * @param {?proto.AuditActor|undefined} value\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n*/\nproto.endpoint_api.EndpointRetryConfiguration.prototype.setCreatedactor = function(value) {\n  return jspb.Message.setWrapperField(this, 1000, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.clearCreatedactor = function() {\n  return this.setCreatedactor(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.hasCreatedactor = function() {\n  return jspb.Message.getField(this, 1000) != null;\n};\n\n\n/**\n * optional AuditActor updatedActor = 1001;\n * @return {?proto.AuditActor}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.getUpdatedactor = function() {\n  return /** @type{?proto.AuditActor} */ (\n    jspb.Message.getWrapperField(this, common_pb.AuditActor, 1001));\n};\n\n\n/**\n * @param {?proto.AuditActor|undefined} value\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n*/\nproto.endpoint_api.EndpointRetryConfiguration.prototype.setUpdatedactor = function(value) {\n  return jspb.Message.setWrapperField(this, 1001, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.clearUpdatedactor = function() {\n  return this.setUpdatedactor(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.hasUpdatedactor = function() {\n  return jspb.Message.getField(this, 1001) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.EndpointCacheConfiguration.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.EndpointCacheConfiguration} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointCacheConfiguration.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    cachetype: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    expiryinterval: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    matchthreshold: jspb.Message.getFloatingPointFieldWithDefault(msg, 4, 0.0),\n    createdactor: (f = msg.getCreatedactor()) && common_pb.AuditActor.toObject(includeInstance, f),\n    updatedactor: (f = msg.getUpdatedactor()) && common_pb.AuditActor.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.EndpointCacheConfiguration}\n */\nproto.endpoint_api.EndpointCacheConfiguration.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.EndpointCacheConfiguration;\n  return proto.endpoint_api.EndpointCacheConfiguration.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.EndpointCacheConfiguration} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.EndpointCacheConfiguration}\n */\nproto.endpoint_api.EndpointCacheConfiguration.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCachetype(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setExpiryinterval(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readFloat());\n      msg.setMatchthreshold(value);\n      break;\n    case 1000:\n      var value = new common_pb.AuditActor;\n      reader.readMessage(value,common_pb.AuditActor.deserializeBinaryFromReader);\n      msg.setCreatedactor(value);\n      break;\n    case 1001:\n      var value = new common_pb.AuditActor;\n      reader.readMessage(value,common_pb.AuditActor.deserializeBinaryFromReader);\n      msg.setUpdatedactor(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.EndpointCacheConfiguration.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.EndpointCacheConfiguration} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointCacheConfiguration.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCachetype();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getExpiryinterval();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getMatchthreshold();\n  if (f !== 0.0) {\n    writer.writeFloat(\n      4,\n      f\n    );\n  }\n  f = message.getCreatedactor();\n  if (f != null) {\n    writer.writeMessage(\n      1000,\n      f,\n      common_pb.AuditActor.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdatedactor();\n  if (f != null) {\n    writer.writeMessage(\n      1001,\n      f,\n      common_pb.AuditActor.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string cacheType = 2;\n * @return {string}\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.getCachetype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointCacheConfiguration} returns this\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.setCachetype = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional uint64 expiryInterval = 3;\n * @return {string}\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.getExpiryinterval = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointCacheConfiguration} returns this\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.setExpiryinterval = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional float matchThreshold = 4;\n * @return {number}\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.getMatchthreshold = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 4, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.EndpointCacheConfiguration} returns this\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.setMatchthreshold = function(value) {\n  return jspb.Message.setProto3FloatField(this, 4, value);\n};\n\n\n/**\n * optional AuditActor createdActor = 1000;\n * @return {?proto.AuditActor}\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.getCreatedactor = function() {\n  return /** @type{?proto.AuditActor} */ (\n    jspb.Message.getWrapperField(this, common_pb.AuditActor, 1000));\n};\n\n\n/**\n * @param {?proto.AuditActor|undefined} value\n * @return {!proto.endpoint_api.EndpointCacheConfiguration} returns this\n*/\nproto.endpoint_api.EndpointCacheConfiguration.prototype.setCreatedactor = function(value) {\n  return jspb.Message.setWrapperField(this, 1000, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointCacheConfiguration} returns this\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.clearCreatedactor = function() {\n  return this.setCreatedactor(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.hasCreatedactor = function() {\n  return jspb.Message.getField(this, 1000) != null;\n};\n\n\n/**\n * optional AuditActor updatedActor = 1001;\n * @return {?proto.AuditActor}\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.getUpdatedactor = function() {\n  return /** @type{?proto.AuditActor} */ (\n    jspb.Message.getWrapperField(this, common_pb.AuditActor, 1001));\n};\n\n\n/**\n * @param {?proto.AuditActor|undefined} value\n * @return {!proto.endpoint_api.EndpointCacheConfiguration} returns this\n*/\nproto.endpoint_api.EndpointCacheConfiguration.prototype.setUpdatedactor = function(value) {\n  return jspb.Message.setWrapperField(this, 1001, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointCacheConfiguration} returns this\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.clearUpdatedactor = function() {\n  return this.setUpdatedactor(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.hasUpdatedactor = function() {\n  return jspb.Message.getField(this, 1001) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.CreateEndpointRetryConfigurationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.CreateEndpointRetryConfigurationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    data: (f = msg.getData()) && proto.endpoint_api.EndpointRetryConfiguration.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationRequest}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.CreateEndpointRetryConfigurationRequest;\n  return proto.endpoint_api.CreateEndpointRetryConfigurationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.CreateEndpointRetryConfigurationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationRequest}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 2:\n      var value = new proto.endpoint_api.EndpointRetryConfiguration;\n      reader.readMessage(value,proto.endpoint_api.EndpointRetryConfiguration.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.CreateEndpointRetryConfigurationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.CreateEndpointRetryConfigurationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.endpoint_api.EndpointRetryConfiguration.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 endpointId = 1;\n * @return {string}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationRequest} returns this\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional EndpointRetryConfiguration data = 2;\n * @return {?proto.endpoint_api.EndpointRetryConfiguration}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.prototype.getData = function() {\n  return /** @type{?proto.endpoint_api.EndpointRetryConfiguration} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointRetryConfiguration, 2));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointRetryConfiguration|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationRequest} returns this\n*/\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationRequest} returns this\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.prototype.hasData = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.CreateEndpointRetryConfigurationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.endpoint_api.EndpointRetryConfiguration.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.CreateEndpointRetryConfigurationResponse;\n  return proto.endpoint_api.CreateEndpointRetryConfigurationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.EndpointRetryConfiguration;\n      reader.readMessage(value,proto.endpoint_api.EndpointRetryConfiguration.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.CreateEndpointRetryConfigurationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.endpoint_api.EndpointRetryConfiguration.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse} returns this\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse} returns this\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional EndpointRetryConfiguration data = 3;\n * @return {?proto.endpoint_api.EndpointRetryConfiguration}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.getData = function() {\n  return /** @type{?proto.endpoint_api.EndpointRetryConfiguration} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointRetryConfiguration, 3));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointRetryConfiguration|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse} returns this\n*/\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse} returns this\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse} returns this\n*/\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse} returns this\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.CreateEndpointCacheConfigurationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.CreateEndpointCacheConfigurationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    data: (f = msg.getData()) && proto.endpoint_api.EndpointCacheConfiguration.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationRequest}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.CreateEndpointCacheConfigurationRequest;\n  return proto.endpoint_api.CreateEndpointCacheConfigurationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.CreateEndpointCacheConfigurationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationRequest}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 2:\n      var value = new proto.endpoint_api.EndpointCacheConfiguration;\n      reader.readMessage(value,proto.endpoint_api.EndpointCacheConfiguration.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.CreateEndpointCacheConfigurationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.CreateEndpointCacheConfigurationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.endpoint_api.EndpointCacheConfiguration.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 endpointId = 1;\n * @return {string}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationRequest} returns this\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional EndpointCacheConfiguration data = 2;\n * @return {?proto.endpoint_api.EndpointCacheConfiguration}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.prototype.getData = function() {\n  return /** @type{?proto.endpoint_api.EndpointCacheConfiguration} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointCacheConfiguration, 2));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointCacheConfiguration|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationRequest} returns this\n*/\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationRequest} returns this\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.prototype.hasData = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.CreateEndpointCacheConfigurationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.endpoint_api.EndpointCacheConfiguration.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.CreateEndpointCacheConfigurationResponse;\n  return proto.endpoint_api.CreateEndpointCacheConfigurationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.EndpointCacheConfiguration;\n      reader.readMessage(value,proto.endpoint_api.EndpointCacheConfiguration.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.CreateEndpointCacheConfigurationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.endpoint_api.EndpointCacheConfiguration.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse} returns this\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse} returns this\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional EndpointCacheConfiguration data = 3;\n * @return {?proto.endpoint_api.EndpointCacheConfiguration}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.getData = function() {\n  return /** @type{?proto.endpoint_api.EndpointCacheConfiguration} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointCacheConfiguration, 3));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointCacheConfiguration|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse} returns this\n*/\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse} returns this\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse} returns this\n*/\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse} returns this\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.CreateEndpointTagRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.CreateEndpointTagRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.CreateEndpointTagRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.CreateEndpointTagRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointTagRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    tagsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.CreateEndpointTagRequest}\n */\nproto.endpoint_api.CreateEndpointTagRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.CreateEndpointTagRequest;\n  return proto.endpoint_api.CreateEndpointTagRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.CreateEndpointTagRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.CreateEndpointTagRequest}\n */\nproto.endpoint_api.CreateEndpointTagRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addTags(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.CreateEndpointTagRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.CreateEndpointTagRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.CreateEndpointTagRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointTagRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getTagsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 endpointId = 1;\n * @return {string}\n */\nproto.endpoint_api.CreateEndpointTagRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.CreateEndpointTagRequest} returns this\n */\nproto.endpoint_api.CreateEndpointTagRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * repeated string tags = 2;\n * @return {!Array<string>}\n */\nproto.endpoint_api.CreateEndpointTagRequest.prototype.getTagsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.endpoint_api.CreateEndpointTagRequest} returns this\n */\nproto.endpoint_api.CreateEndpointTagRequest.prototype.setTagsList = function(value) {\n  return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.endpoint_api.CreateEndpointTagRequest} returns this\n */\nproto.endpoint_api.CreateEndpointTagRequest.prototype.addTags = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.CreateEndpointTagRequest} returns this\n */\nproto.endpoint_api.CreateEndpointTagRequest.prototype.clearTagsList = function() {\n  return this.setTagsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.ForkEndpointRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.ForkEndpointRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.ForkEndpointRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.ForkEndpointRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    endpointproviderid: jspb.Message.getFieldWithDefault(msg, 3, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.ForkEndpointRequest}\n */\nproto.endpoint_api.ForkEndpointRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.ForkEndpointRequest;\n  return proto.endpoint_api.ForkEndpointRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.ForkEndpointRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.ForkEndpointRequest}\n */\nproto.endpoint_api.ForkEndpointRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointproviderid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.ForkEndpointRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.ForkEndpointRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.ForkEndpointRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.ForkEndpointRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getEndpointproviderid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 endpointId = 1;\n * @return {string}\n */\nproto.endpoint_api.ForkEndpointRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.ForkEndpointRequest} returns this\n */\nproto.endpoint_api.ForkEndpointRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 endpointProviderId = 3;\n * @return {string}\n */\nproto.endpoint_api.ForkEndpointRequest.prototype.getEndpointproviderid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.ForkEndpointRequest} returns this\n */\nproto.endpoint_api.ForkEndpointRequest.prototype.setEndpointproviderid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.UpdateEndpointDetailRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.UpdateEndpointDetailRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.UpdateEndpointDetailRequest}\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.UpdateEndpointDetailRequest;\n  return proto.endpoint_api.UpdateEndpointDetailRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.UpdateEndpointDetailRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.UpdateEndpointDetailRequest}\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.UpdateEndpointDetailRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.UpdateEndpointDetailRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 endpointId = 1;\n * @return {string}\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.UpdateEndpointDetailRequest} returns this\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.UpdateEndpointDetailRequest} returns this\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.UpdateEndpointDetailRequest} returns this\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.EndpointLog.repeatedFields_ = [30,32,31,33];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.EndpointLog.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.EndpointLog.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.EndpointLog} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointLog.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    endpointid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    source: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    status: jspb.Message.getFieldWithDefault(msg, 15, \"\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 16, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 17, \"0\"),\n    endpointprovidermodelid: jspb.Message.getFieldWithDefault(msg, 19, \"0\"),\n    timetaken: jspb.Message.getFieldWithDefault(msg, 25, \"0\"),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    metricsList: jspb.Message.toObjectList(msg.getMetricsList(),\n    common_pb.Metric.toObject, includeInstance),\n    metadataList: jspb.Message.toObjectList(msg.getMetadataList(),\n    common_pb.Metadata.toObject, includeInstance),\n    argumentsList: jspb.Message.toObjectList(msg.getArgumentsList(),\n    common_pb.Argument.toObject, includeInstance),\n    optionsList: jspb.Message.toObjectList(msg.getOptionsList(),\n    common_pb.Metadata.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.EndpointLog}\n */\nproto.endpoint_api.EndpointLog.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.EndpointLog;\n  return proto.endpoint_api.EndpointLog.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.EndpointLog} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.EndpointLog}\n */\nproto.endpoint_api.EndpointLog.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setSource(value);\n      break;\n    case 15:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 16:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 17:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 19:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointprovidermodelid(value);\n      break;\n    case 25:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setTimetaken(value);\n      break;\n    case 26:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 27:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 30:\n      var value = new common_pb.Metric;\n      reader.readMessage(value,common_pb.Metric.deserializeBinaryFromReader);\n      msg.addMetrics(value);\n      break;\n    case 32:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addMetadata(value);\n      break;\n    case 31:\n      var value = new common_pb.Argument;\n      reader.readMessage(value,common_pb.Argument.deserializeBinaryFromReader);\n      msg.addArguments(value);\n      break;\n    case 33:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addOptions(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.EndpointLog.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.EndpointLog.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.EndpointLog} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointLog.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getSource();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      15,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      16,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      17,\n      f\n    );\n  }\n  f = message.getEndpointprovidermodelid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      19,\n      f\n    );\n  }\n  f = message.getTimetaken();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      25,\n      f\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      26,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      27,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getMetricsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      30,\n      f,\n      common_pb.Metric.serializeBinaryToWriter\n    );\n  }\n  f = message.getMetadataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      32,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n  f = message.getArgumentsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      31,\n      f,\n      common_pb.Argument.serializeBinaryToWriter\n    );\n  }\n  f = message.getOptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      33,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.endpoint_api.EndpointLog.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 endpointId = 2;\n * @return {string}\n */\nproto.endpoint_api.EndpointLog.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional string source = 3;\n * @return {string}\n */\nproto.endpoint_api.EndpointLog.prototype.getSource = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.setSource = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string status = 15;\n * @return {string}\n */\nproto.endpoint_api.EndpointLog.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 15, value);\n};\n\n\n/**\n * optional uint64 projectId = 16;\n * @return {string}\n */\nproto.endpoint_api.EndpointLog.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 16, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 16, value);\n};\n\n\n/**\n * optional uint64 organizationId = 17;\n * @return {string}\n */\nproto.endpoint_api.EndpointLog.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 17, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 17, value);\n};\n\n\n/**\n * optional uint64 endpointProviderModelId = 19;\n * @return {string}\n */\nproto.endpoint_api.EndpointLog.prototype.getEndpointprovidermodelid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 19, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.setEndpointprovidermodelid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 19, value);\n};\n\n\n/**\n * optional uint64 timeTaken = 25;\n * @return {string}\n */\nproto.endpoint_api.EndpointLog.prototype.getTimetaken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 25, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.setTimetaken = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 25, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 26;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.endpoint_api.EndpointLog.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 26));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n*/\nproto.endpoint_api.EndpointLog.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 26, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointLog.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 26) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 27;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.endpoint_api.EndpointLog.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 27));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n*/\nproto.endpoint_api.EndpointLog.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 27, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointLog.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 27) != null;\n};\n\n\n/**\n * repeated Metric metrics = 30;\n * @return {!Array<!proto.Metric>}\n */\nproto.endpoint_api.EndpointLog.prototype.getMetricsList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metric, 30));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n*/\nproto.endpoint_api.EndpointLog.prototype.setMetricsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 30, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.endpoint_api.EndpointLog.prototype.addMetrics = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 30, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.clearMetricsList = function() {\n  return this.setMetricsList([]);\n};\n\n\n/**\n * repeated Metadata metadata = 32;\n * @return {!Array<!proto.Metadata>}\n */\nproto.endpoint_api.EndpointLog.prototype.getMetadataList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 32));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n*/\nproto.endpoint_api.EndpointLog.prototype.setMetadataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 32, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.endpoint_api.EndpointLog.prototype.addMetadata = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 32, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.clearMetadataList = function() {\n  return this.setMetadataList([]);\n};\n\n\n/**\n * repeated Argument arguments = 31;\n * @return {!Array<!proto.Argument>}\n */\nproto.endpoint_api.EndpointLog.prototype.getArgumentsList = function() {\n  return /** @type{!Array<!proto.Argument>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Argument, 31));\n};\n\n\n/**\n * @param {!Array<!proto.Argument>} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n*/\nproto.endpoint_api.EndpointLog.prototype.setArgumentsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 31, value);\n};\n\n\n/**\n * @param {!proto.Argument=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Argument}\n */\nproto.endpoint_api.EndpointLog.prototype.addArguments = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 31, opt_value, proto.Argument, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.clearArgumentsList = function() {\n  return this.setArgumentsList([]);\n};\n\n\n/**\n * repeated Metadata options = 33;\n * @return {!Array<!proto.Metadata>}\n */\nproto.endpoint_api.EndpointLog.prototype.getOptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 33));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n*/\nproto.endpoint_api.EndpointLog.prototype.setOptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 33, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.endpoint_api.EndpointLog.prototype.addOptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 33, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.clearOptionsList = function() {\n  return this.setOptionsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.GetAllEndpointLogRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetAllEndpointLogRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetAllEndpointLogRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointLogRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance),\n    endpointid: jspb.Message.getFieldWithDefault(msg, 3, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetAllEndpointLogRequest}\n */\nproto.endpoint_api.GetAllEndpointLogRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetAllEndpointLogRequest;\n  return proto.endpoint_api.GetAllEndpointLogRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetAllEndpointLogRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetAllEndpointLogRequest}\n */\nproto.endpoint_api.GetAllEndpointLogRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetAllEndpointLogRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetAllEndpointLogRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointLogRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.endpoint_api.GetAllEndpointLogRequest} returns this\n*/\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetAllEndpointLogRequest} returns this\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.endpoint_api.GetAllEndpointLogRequest} returns this\n*/\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.GetAllEndpointLogRequest} returns this\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * optional uint64 endpointId = 3;\n * @return {string}\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.GetAllEndpointLogRequest} returns this\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.GetAllEndpointLogResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetAllEndpointLogResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetAllEndpointLogResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointLogResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.endpoint_api.EndpointLog.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetAllEndpointLogResponse;\n  return proto.endpoint_api.GetAllEndpointLogResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetAllEndpointLogResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.EndpointLog;\n      reader.readMessage(value,proto.endpoint_api.EndpointLog.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetAllEndpointLogResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetAllEndpointLogResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointLogResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.endpoint_api.EndpointLog.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated EndpointLog data = 3;\n * @return {!Array<!proto.endpoint_api.EndpointLog>}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.endpoint_api.EndpointLog>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.endpoint_api.EndpointLog, 3));\n};\n\n\n/**\n * @param {!Array<!proto.endpoint_api.EndpointLog>} value\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse} returns this\n*/\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.endpoint_api.EndpointLog=} opt_value\n * @param {number=} opt_index\n * @return {!proto.endpoint_api.EndpointLog}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.endpoint_api.EndpointLog, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse} returns this\n*/\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse} returns this\n*/\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetEndpointLogRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetEndpointLogRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetEndpointLogRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetEndpointLogRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    id: jspb.Message.getFieldWithDefault(msg, 2, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetEndpointLogRequest}\n */\nproto.endpoint_api.GetEndpointLogRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetEndpointLogRequest;\n  return proto.endpoint_api.GetEndpointLogRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetEndpointLogRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetEndpointLogRequest}\n */\nproto.endpoint_api.GetEndpointLogRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetEndpointLogRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetEndpointLogRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetEndpointLogRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetEndpointLogRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 endpointId = 1;\n * @return {string}\n */\nproto.endpoint_api.GetEndpointLogRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.GetEndpointLogRequest} returns this\n */\nproto.endpoint_api.GetEndpointLogRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 id = 2;\n * @return {string}\n */\nproto.endpoint_api.GetEndpointLogRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.GetEndpointLogRequest} returns this\n */\nproto.endpoint_api.GetEndpointLogRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetEndpointLogResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetEndpointLogResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetEndpointLogResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.endpoint_api.EndpointLog.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetEndpointLogResponse}\n */\nproto.endpoint_api.GetEndpointLogResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetEndpointLogResponse;\n  return proto.endpoint_api.GetEndpointLogResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetEndpointLogResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetEndpointLogResponse}\n */\nproto.endpoint_api.GetEndpointLogResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.EndpointLog;\n      reader.readMessage(value,proto.endpoint_api.EndpointLog.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetEndpointLogResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetEndpointLogResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetEndpointLogResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.endpoint_api.EndpointLog.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.GetEndpointLogResponse} returns this\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.GetEndpointLogResponse} returns this\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional EndpointLog data = 3;\n * @return {?proto.endpoint_api.EndpointLog}\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.getData = function() {\n  return /** @type{?proto.endpoint_api.EndpointLog} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointLog, 3));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointLog|undefined} value\n * @return {!proto.endpoint_api.GetEndpointLogResponse} returns this\n*/\nproto.endpoint_api.GetEndpointLogResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetEndpointLogResponse} returns this\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.GetEndpointLogResponse} returns this\n*/\nproto.endpoint_api.GetEndpointLogResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetEndpointLogResponse} returns this\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\ngoog.object.extend(exports, proto.endpoint_api);\n","// package: endpoint_api\n// file: endpoint-api.proto\n\nvar endpoint_api_pb = require(\"./endpoint-api_pb\");\nvar common_pb = require(\"./common_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar EndpointService = (function () {\n  function EndpointService() {}\n  EndpointService.serviceName = \"endpoint_api.EndpointService\";\n  return EndpointService;\n}());\n\nEndpointService.GetEndpoint = {\n  methodName: \"GetEndpoint\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.GetEndpointRequest,\n  responseType: endpoint_api_pb.GetEndpointResponse\n};\n\nEndpointService.GetAllEndpoint = {\n  methodName: \"GetAllEndpoint\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.GetAllEndpointRequest,\n  responseType: endpoint_api_pb.GetAllEndpointResponse\n};\n\nEndpointService.GetAllEndpointProviderModel = {\n  methodName: \"GetAllEndpointProviderModel\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.GetAllEndpointProviderModelRequest,\n  responseType: endpoint_api_pb.GetAllEndpointProviderModelResponse\n};\n\nEndpointService.UpdateEndpointVersion = {\n  methodName: \"UpdateEndpointVersion\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.UpdateEndpointVersionRequest,\n  responseType: endpoint_api_pb.UpdateEndpointVersionResponse\n};\n\nEndpointService.CreateEndpoint = {\n  methodName: \"CreateEndpoint\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.CreateEndpointRequest,\n  responseType: endpoint_api_pb.CreateEndpointResponse\n};\n\nEndpointService.CreateEndpointProviderModel = {\n  methodName: \"CreateEndpointProviderModel\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.CreateEndpointProviderModelRequest,\n  responseType: endpoint_api_pb.CreateEndpointProviderModelResponse\n};\n\nEndpointService.CreateEndpointCacheConfiguration = {\n  methodName: \"CreateEndpointCacheConfiguration\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.CreateEndpointCacheConfigurationRequest,\n  responseType: endpoint_api_pb.CreateEndpointCacheConfigurationResponse\n};\n\nEndpointService.CreateEndpointRetryConfiguration = {\n  methodName: \"CreateEndpointRetryConfiguration\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.CreateEndpointRetryConfigurationRequest,\n  responseType: endpoint_api_pb.CreateEndpointRetryConfigurationResponse\n};\n\nEndpointService.CreateEndpointTag = {\n  methodName: \"CreateEndpointTag\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.CreateEndpointTagRequest,\n  responseType: endpoint_api_pb.GetEndpointResponse\n};\n\nEndpointService.ForkEndpoint = {\n  methodName: \"ForkEndpoint\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.ForkEndpointRequest,\n  responseType: common_pb.BaseResponse\n};\n\nEndpointService.UpdateEndpointDetail = {\n  methodName: \"UpdateEndpointDetail\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.UpdateEndpointDetailRequest,\n  responseType: endpoint_api_pb.GetEndpointResponse\n};\n\nEndpointService.GetAllEndpointLog = {\n  methodName: \"GetAllEndpointLog\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.GetAllEndpointLogRequest,\n  responseType: endpoint_api_pb.GetAllEndpointLogResponse\n};\n\nEndpointService.GetEndpointLog = {\n  methodName: \"GetEndpointLog\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.GetEndpointLogRequest,\n  responseType: endpoint_api_pb.GetEndpointLogResponse\n};\n\nexports.EndpointService = EndpointService;\n\nfunction EndpointServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nEndpointServiceClient.prototype.getEndpoint = function getEndpoint(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.GetEndpoint, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.getAllEndpoint = function getAllEndpoint(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.GetAllEndpoint, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.getAllEndpointProviderModel = function getAllEndpointProviderModel(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.GetAllEndpointProviderModel, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.updateEndpointVersion = function updateEndpointVersion(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.UpdateEndpointVersion, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.createEndpoint = function createEndpoint(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.CreateEndpoint, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.createEndpointProviderModel = function createEndpointProviderModel(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.CreateEndpointProviderModel, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.createEndpointCacheConfiguration = function createEndpointCacheConfiguration(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.CreateEndpointCacheConfiguration, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.createEndpointRetryConfiguration = function createEndpointRetryConfiguration(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.CreateEndpointRetryConfiguration, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.createEndpointTag = function createEndpointTag(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.CreateEndpointTag, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.forkEndpoint = function forkEndpoint(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.ForkEndpoint, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.updateEndpointDetail = function updateEndpointDetail(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.UpdateEndpointDetail, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.getAllEndpointLog = function getAllEndpointLog(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.GetAllEndpointLog, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.getEndpointLog = function getEndpointLog(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.GetEndpointLog, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.EndpointServiceClient = EndpointServiceClient;\n\n","// source: audit-logging-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js');\ngoog.object.extend(proto, google_protobuf_struct_pb);\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.integration_api.AuditLog', null, global);\ngoog.exportSymbol('proto.integration_api.CreateMetadataRequest', null, global);\ngoog.exportSymbol('proto.integration_api.CreateMetadataResponse', null, global);\ngoog.exportSymbol('proto.integration_api.GetAllAuditLogRequest', null, global);\ngoog.exportSymbol('proto.integration_api.GetAllAuditLogResponse', null, global);\ngoog.exportSymbol('proto.integration_api.GetAuditLogRequest', null, global);\ngoog.exportSymbol('proto.integration_api.GetAuditLogResponse', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.AuditLog = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.AuditLog.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.AuditLog, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.AuditLog.displayName = 'proto.integration_api.AuditLog';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.GetAllAuditLogRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.GetAllAuditLogRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.GetAllAuditLogRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.GetAllAuditLogRequest.displayName = 'proto.integration_api.GetAllAuditLogRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.GetAllAuditLogResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.GetAllAuditLogResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.GetAllAuditLogResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.GetAllAuditLogResponse.displayName = 'proto.integration_api.GetAllAuditLogResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.GetAuditLogRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.GetAuditLogRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.GetAuditLogRequest.displayName = 'proto.integration_api.GetAuditLogRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.GetAuditLogResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.GetAuditLogResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.GetAuditLogResponse.displayName = 'proto.integration_api.GetAuditLogResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.CreateMetadataRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.CreateMetadataRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.CreateMetadataRequest.displayName = 'proto.integration_api.CreateMetadataRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.CreateMetadataResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.CreateMetadataResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.CreateMetadataResponse.displayName = 'proto.integration_api.CreateMetadataResponse';\n}\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.AuditLog.repeatedFields_ = [10,15];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.AuditLog.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.AuditLog.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.AuditLog} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.AuditLog.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    integrationname: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    assetprefix: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    responsestatus: jspb.Message.getFieldWithDefault(msg, 4, 0),\n    timetaken: jspb.Message.getFieldWithDefault(msg, 5, 0),\n    status: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 7, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 8, \"0\"),\n    credentialid: jspb.Message.getFieldWithDefault(msg, 9, \"0\"),\n    externalauditmetadatasList: jspb.Message.toObjectList(msg.getExternalauditmetadatasList(),\n    common_pb.Metadata.toObject, includeInstance),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    request: (f = msg.getRequest()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    response: (f = msg.getResponse()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    metricsList: jspb.Message.toObjectList(msg.getMetricsList(),\n    common_pb.Metric.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.AuditLog}\n */\nproto.integration_api.AuditLog.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.AuditLog;\n  return proto.integration_api.AuditLog.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.AuditLog} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.AuditLog}\n */\nproto.integration_api.AuditLog.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setIntegrationname(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setAssetprefix(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setResponsestatus(value);\n      break;\n    case 5:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setTimetaken(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setCredentialid(value);\n      break;\n    case 10:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addExternalauditmetadatas(value);\n      break;\n    case 11:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 12:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 13:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setRequest(value);\n      break;\n    case 14:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setResponse(value);\n      break;\n    case 15:\n      var value = new common_pb.Metric;\n      reader.readMessage(value,common_pb.Metric.deserializeBinaryFromReader);\n      msg.addMetrics(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.AuditLog.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.AuditLog.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.AuditLog} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.AuditLog.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getIntegrationname();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getAssetprefix();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getResponsestatus();\n  if (f !== 0) {\n    writer.writeInt64(\n      4,\n      f\n    );\n  }\n  f = message.getTimetaken();\n  if (f !== 0) {\n    writer.writeInt64(\n      5,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      7,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      8,\n      f\n    );\n  }\n  f = message.getCredentialid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      9,\n      f\n    );\n  }\n  f = message.getExternalauditmetadatasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      10,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      11,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      12,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getRequest();\n  if (f != null) {\n    writer.writeMessage(\n      13,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getResponse();\n  if (f != null) {\n    writer.writeMessage(\n      14,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getMetricsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      15,\n      f,\n      common_pb.Metric.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.integration_api.AuditLog.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string integrationName = 2;\n * @return {string}\n */\nproto.integration_api.AuditLog.prototype.getIntegrationname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.setIntegrationname = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string assetPrefix = 3;\n * @return {string}\n */\nproto.integration_api.AuditLog.prototype.getAssetprefix = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.setAssetprefix = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional int64 responseStatus = 4;\n * @return {number}\n */\nproto.integration_api.AuditLog.prototype.getResponsestatus = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.setResponsestatus = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * optional int64 timeTaken = 5;\n * @return {number}\n */\nproto.integration_api.AuditLog.prototype.getTimetaken = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.setTimetaken = function(value) {\n  return jspb.Message.setProto3IntField(this, 5, value);\n};\n\n\n/**\n * optional string status = 6;\n * @return {string}\n */\nproto.integration_api.AuditLog.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional uint64 projectId = 7;\n * @return {string}\n */\nproto.integration_api.AuditLog.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 7, value);\n};\n\n\n/**\n * optional uint64 organizationId = 8;\n * @return {string}\n */\nproto.integration_api.AuditLog.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 8, value);\n};\n\n\n/**\n * optional uint64 credentialId = 9;\n * @return {string}\n */\nproto.integration_api.AuditLog.prototype.getCredentialid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.setCredentialid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 9, value);\n};\n\n\n/**\n * repeated Metadata externalAuditMetadatas = 10;\n * @return {!Array<!proto.Metadata>}\n */\nproto.integration_api.AuditLog.prototype.getExternalauditmetadatasList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 10));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.integration_api.AuditLog} returns this\n*/\nproto.integration_api.AuditLog.prototype.setExternalauditmetadatasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 10, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.integration_api.AuditLog.prototype.addExternalauditmetadatas = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 10, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.clearExternalauditmetadatasList = function() {\n  return this.setExternalauditmetadatasList([]);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 11;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.integration_api.AuditLog.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 11));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.integration_api.AuditLog} returns this\n*/\nproto.integration_api.AuditLog.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 11, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.AuditLog.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 11) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 12;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.integration_api.AuditLog.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 12));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.integration_api.AuditLog} returns this\n*/\nproto.integration_api.AuditLog.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 12, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.AuditLog.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 12) != null;\n};\n\n\n/**\n * optional google.protobuf.Struct request = 13;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.integration_api.AuditLog.prototype.getRequest = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 13));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.integration_api.AuditLog} returns this\n*/\nproto.integration_api.AuditLog.prototype.setRequest = function(value) {\n  return jspb.Message.setWrapperField(this, 13, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.clearRequest = function() {\n  return this.setRequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.AuditLog.prototype.hasRequest = function() {\n  return jspb.Message.getField(this, 13) != null;\n};\n\n\n/**\n * optional google.protobuf.Struct response = 14;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.integration_api.AuditLog.prototype.getResponse = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 14));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.integration_api.AuditLog} returns this\n*/\nproto.integration_api.AuditLog.prototype.setResponse = function(value) {\n  return jspb.Message.setWrapperField(this, 14, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.clearResponse = function() {\n  return this.setResponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.AuditLog.prototype.hasResponse = function() {\n  return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * repeated Metric metrics = 15;\n * @return {!Array<!proto.Metric>}\n */\nproto.integration_api.AuditLog.prototype.getMetricsList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metric, 15));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.integration_api.AuditLog} returns this\n*/\nproto.integration_api.AuditLog.prototype.setMetricsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 15, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.integration_api.AuditLog.prototype.addMetrics = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 15, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.clearMetricsList = function() {\n  return this.setMetricsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.GetAllAuditLogRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.GetAllAuditLogRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.GetAllAuditLogRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetAllAuditLogRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance),\n    projectid: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 4, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.GetAllAuditLogRequest}\n */\nproto.integration_api.GetAllAuditLogRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.GetAllAuditLogRequest;\n  return proto.integration_api.GetAllAuditLogRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.GetAllAuditLogRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.GetAllAuditLogRequest}\n */\nproto.integration_api.GetAllAuditLogRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.GetAllAuditLogRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.GetAllAuditLogRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetAllAuditLogRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.integration_api.GetAllAuditLogRequest} returns this\n*/\nproto.integration_api.GetAllAuditLogRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.GetAllAuditLogRequest} returns this\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.integration_api.GetAllAuditLogRequest} returns this\n*/\nproto.integration_api.GetAllAuditLogRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.GetAllAuditLogRequest} returns this\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * optional uint64 projectId = 3;\n * @return {string}\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.GetAllAuditLogRequest} returns this\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional uint64 organizationId = 4;\n * @return {string}\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.GetAllAuditLogRequest} returns this\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 4, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.GetAllAuditLogResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.GetAllAuditLogResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.GetAllAuditLogResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetAllAuditLogResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.integration_api.AuditLog.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.GetAllAuditLogResponse}\n */\nproto.integration_api.GetAllAuditLogResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.GetAllAuditLogResponse;\n  return proto.integration_api.GetAllAuditLogResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.GetAllAuditLogResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.GetAllAuditLogResponse}\n */\nproto.integration_api.GetAllAuditLogResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.integration_api.AuditLog;\n      reader.readMessage(value,proto.integration_api.AuditLog.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.GetAllAuditLogResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.GetAllAuditLogResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetAllAuditLogResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.integration_api.AuditLog.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.GetAllAuditLogResponse} returns this\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.GetAllAuditLogResponse} returns this\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated AuditLog data = 3;\n * @return {!Array<!proto.integration_api.AuditLog>}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.integration_api.AuditLog>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.integration_api.AuditLog, 3));\n};\n\n\n/**\n * @param {!Array<!proto.integration_api.AuditLog>} value\n * @return {!proto.integration_api.GetAllAuditLogResponse} returns this\n*/\nproto.integration_api.GetAllAuditLogResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.integration_api.AuditLog=} opt_value\n * @param {number=} opt_index\n * @return {!proto.integration_api.AuditLog}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.integration_api.AuditLog, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.GetAllAuditLogResponse} returns this\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.integration_api.GetAllAuditLogResponse} returns this\n*/\nproto.integration_api.GetAllAuditLogResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.GetAllAuditLogResponse} returns this\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.integration_api.GetAllAuditLogResponse} returns this\n*/\nproto.integration_api.GetAllAuditLogResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.GetAllAuditLogResponse} returns this\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.GetAuditLogRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.GetAuditLogRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.GetAuditLogRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetAuditLogRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 4, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.GetAuditLogRequest}\n */\nproto.integration_api.GetAuditLogRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.GetAuditLogRequest;\n  return proto.integration_api.GetAuditLogRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.GetAuditLogRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.GetAuditLogRequest}\n */\nproto.integration_api.GetAuditLogRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.GetAuditLogRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.GetAuditLogRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.GetAuditLogRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetAuditLogRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.integration_api.GetAuditLogRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.GetAuditLogRequest} returns this\n */\nproto.integration_api.GetAuditLogRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 projectId = 3;\n * @return {string}\n */\nproto.integration_api.GetAuditLogRequest.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.GetAuditLogRequest} returns this\n */\nproto.integration_api.GetAuditLogRequest.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional uint64 organizationId = 4;\n * @return {string}\n */\nproto.integration_api.GetAuditLogRequest.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.GetAuditLogRequest} returns this\n */\nproto.integration_api.GetAuditLogRequest.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.GetAuditLogResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.GetAuditLogResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.GetAuditLogResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetAuditLogResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.integration_api.AuditLog.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.GetAuditLogResponse}\n */\nproto.integration_api.GetAuditLogResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.GetAuditLogResponse;\n  return proto.integration_api.GetAuditLogResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.GetAuditLogResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.GetAuditLogResponse}\n */\nproto.integration_api.GetAuditLogResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.integration_api.AuditLog;\n      reader.readMessage(value,proto.integration_api.AuditLog.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.GetAuditLogResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.GetAuditLogResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.GetAuditLogResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetAuditLogResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.integration_api.AuditLog.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.integration_api.GetAuditLogResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.GetAuditLogResponse} returns this\n */\nproto.integration_api.GetAuditLogResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.GetAuditLogResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.GetAuditLogResponse} returns this\n */\nproto.integration_api.GetAuditLogResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional AuditLog data = 3;\n * @return {?proto.integration_api.AuditLog}\n */\nproto.integration_api.GetAuditLogResponse.prototype.getData = function() {\n  return /** @type{?proto.integration_api.AuditLog} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.AuditLog, 3));\n};\n\n\n/**\n * @param {?proto.integration_api.AuditLog|undefined} value\n * @return {!proto.integration_api.GetAuditLogResponse} returns this\n*/\nproto.integration_api.GetAuditLogResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.GetAuditLogResponse} returns this\n */\nproto.integration_api.GetAuditLogResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.GetAuditLogResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.integration_api.GetAuditLogResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.integration_api.GetAuditLogResponse} returns this\n*/\nproto.integration_api.GetAuditLogResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.GetAuditLogResponse} returns this\n */\nproto.integration_api.GetAuditLogResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.GetAuditLogResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.CreateMetadataRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.CreateMetadataRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.CreateMetadataRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.CreateMetadataRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    additionaldataMap: (f = msg.getAdditionaldataMap()) ? f.toObject(includeInstance, undefined) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.CreateMetadataRequest}\n */\nproto.integration_api.CreateMetadataRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.CreateMetadataRequest;\n  return proto.integration_api.CreateMetadataRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.CreateMetadataRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.CreateMetadataRequest}\n */\nproto.integration_api.CreateMetadataRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = msg.getAdditionaldataMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.CreateMetadataRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.CreateMetadataRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.CreateMetadataRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.CreateMetadataRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAdditionaldataMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(2, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.integration_api.CreateMetadataRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.CreateMetadataRequest} returns this\n */\nproto.integration_api.CreateMetadataRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * map<string, string> additionalData = 2;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.integration_api.CreateMetadataRequest.prototype.getAdditionaldataMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 2, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.CreateMetadataRequest} returns this\n */\nproto.integration_api.CreateMetadataRequest.prototype.clearAdditionaldataMap = function() {\n  this.getAdditionaldataMap().clear();\n  return this;};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.CreateMetadataResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.CreateMetadataResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.CreateMetadataResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.CreateMetadataResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.integration_api.AuditLog.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.CreateMetadataResponse}\n */\nproto.integration_api.CreateMetadataResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.CreateMetadataResponse;\n  return proto.integration_api.CreateMetadataResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.CreateMetadataResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.CreateMetadataResponse}\n */\nproto.integration_api.CreateMetadataResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.integration_api.AuditLog;\n      reader.readMessage(value,proto.integration_api.AuditLog.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.CreateMetadataResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.CreateMetadataResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.CreateMetadataResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.CreateMetadataResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.integration_api.AuditLog.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.integration_api.CreateMetadataResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.CreateMetadataResponse} returns this\n */\nproto.integration_api.CreateMetadataResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.CreateMetadataResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.CreateMetadataResponse} returns this\n */\nproto.integration_api.CreateMetadataResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional AuditLog data = 3;\n * @return {?proto.integration_api.AuditLog}\n */\nproto.integration_api.CreateMetadataResponse.prototype.getData = function() {\n  return /** @type{?proto.integration_api.AuditLog} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.AuditLog, 3));\n};\n\n\n/**\n * @param {?proto.integration_api.AuditLog|undefined} value\n * @return {!proto.integration_api.CreateMetadataResponse} returns this\n*/\nproto.integration_api.CreateMetadataResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.CreateMetadataResponse} returns this\n */\nproto.integration_api.CreateMetadataResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.CreateMetadataResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.integration_api.CreateMetadataResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.integration_api.CreateMetadataResponse} returns this\n*/\nproto.integration_api.CreateMetadataResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.CreateMetadataResponse} returns this\n */\nproto.integration_api.CreateMetadataResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.CreateMetadataResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\ngoog.object.extend(exports, proto.integration_api);\n","// package: integration_api\n// file: audit-logging-api.proto\n\nvar audit_logging_api_pb = require(\"./audit-logging-api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar AuditLoggingService = (function () {\n  function AuditLoggingService() {}\n  AuditLoggingService.serviceName = \"integration_api.AuditLoggingService\";\n  return AuditLoggingService;\n}());\n\nAuditLoggingService.GetAllAuditLog = {\n  methodName: \"GetAllAuditLog\",\n  service: AuditLoggingService,\n  requestStream: false,\n  responseStream: false,\n  requestType: audit_logging_api_pb.GetAllAuditLogRequest,\n  responseType: audit_logging_api_pb.GetAllAuditLogResponse\n};\n\nAuditLoggingService.GetAuditLog = {\n  methodName: \"GetAuditLog\",\n  service: AuditLoggingService,\n  requestStream: false,\n  responseStream: false,\n  requestType: audit_logging_api_pb.GetAuditLogRequest,\n  responseType: audit_logging_api_pb.GetAuditLogResponse\n};\n\nAuditLoggingService.CreateMetadata = {\n  methodName: \"CreateMetadata\",\n  service: AuditLoggingService,\n  requestStream: false,\n  responseStream: false,\n  requestType: audit_logging_api_pb.CreateMetadataRequest,\n  responseType: audit_logging_api_pb.CreateMetadataResponse\n};\n\nexports.AuditLoggingService = AuditLoggingService;\n\nfunction AuditLoggingServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nAuditLoggingServiceClient.prototype.getAllAuditLog = function getAllAuditLog(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuditLoggingService.GetAllAuditLog, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuditLoggingServiceClient.prototype.getAuditLog = function getAuditLog(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuditLoggingService.GetAuditLog, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuditLoggingServiceClient.prototype.createMetadata = function createMetadata(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuditLoggingService.CreateMetadata, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.AuditLoggingServiceClient = AuditLoggingServiceClient;\n\n","// package: assistant_api\n// file: assistant-deployment.proto\n\nvar assistant_deployment_pb = require(\"./assistant-deployment_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar AssistantDeploymentService = (function () {\n  function AssistantDeploymentService() {}\n  AssistantDeploymentService.serviceName = \"assistant_api.AssistantDeploymentService\";\n  return AssistantDeploymentService;\n}());\n\nAssistantDeploymentService.CreateAssistantApiDeployment = {\n  methodName: \"CreateAssistantApiDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.CreateAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAssistantApiDeploymentResponse\n};\n\nAssistantDeploymentService.GetAssistantApiDeployment = {\n  methodName: \"GetAssistantApiDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAssistantApiDeploymentResponse\n};\n\nAssistantDeploymentService.GetAllAssistantApiDeployment = {\n  methodName: \"GetAllAssistantApiDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAllAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAllAssistantApiDeploymentResponse\n};\n\nAssistantDeploymentService.DisableAssistantApiDeployment = {\n  methodName: \"DisableAssistantApiDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAssistantApiDeploymentResponse\n};\n\nAssistantDeploymentService.CreateAssistantWebpluginDeployment = {\n  methodName: \"CreateAssistantWebpluginDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.CreateAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAssistantWebpluginDeploymentResponse\n};\n\nAssistantDeploymentService.GetAssistantWebpluginDeployment = {\n  methodName: \"GetAssistantWebpluginDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAssistantWebpluginDeploymentResponse\n};\n\nAssistantDeploymentService.GetAllAssistantWebpluginDeployment = {\n  methodName: \"GetAllAssistantWebpluginDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAllAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAllAssistantWebpluginDeploymentResponse\n};\n\nAssistantDeploymentService.DisableAssistantWebpluginDeployment = {\n  methodName: \"DisableAssistantWebpluginDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAssistantWebpluginDeploymentResponse\n};\n\nAssistantDeploymentService.CreateAssistantDebuggerDeployment = {\n  methodName: \"CreateAssistantDebuggerDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.CreateAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAssistantDebuggerDeploymentResponse\n};\n\nAssistantDeploymentService.GetAssistantDebuggerDeployment = {\n  methodName: \"GetAssistantDebuggerDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAssistantDebuggerDeploymentResponse\n};\n\nAssistantDeploymentService.GetAllAssistantDebuggerDeployment = {\n  methodName: \"GetAllAssistantDebuggerDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAllAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAllAssistantDebuggerDeploymentResponse\n};\n\nAssistantDeploymentService.DisableAssistantDebuggerDeployment = {\n  methodName: \"DisableAssistantDebuggerDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAssistantDebuggerDeploymentResponse\n};\n\nAssistantDeploymentService.CreateAssistantWhatsappDeployment = {\n  methodName: \"CreateAssistantWhatsappDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.CreateAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAssistantWhatsappDeploymentResponse\n};\n\nAssistantDeploymentService.GetAssistantWhatsappDeployment = {\n  methodName: \"GetAssistantWhatsappDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAssistantWhatsappDeploymentResponse\n};\n\nAssistantDeploymentService.GetAllAssistantWhatsappDeployment = {\n  methodName: \"GetAllAssistantWhatsappDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAllAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAllAssistantWhatsappDeploymentResponse\n};\n\nAssistantDeploymentService.DisableAssistantWhatsappDeployment = {\n  methodName: \"DisableAssistantWhatsappDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAssistantWhatsappDeploymentResponse\n};\n\nAssistantDeploymentService.CreateAssistantPhoneDeployment = {\n  methodName: \"CreateAssistantPhoneDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.CreateAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAssistantPhoneDeploymentResponse\n};\n\nAssistantDeploymentService.GetAssistantPhoneDeployment = {\n  methodName: \"GetAssistantPhoneDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAssistantPhoneDeploymentResponse\n};\n\nAssistantDeploymentService.GetAllAssistantPhoneDeployment = {\n  methodName: \"GetAllAssistantPhoneDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAllAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAllAssistantPhoneDeploymentResponse\n};\n\nAssistantDeploymentService.DisableAssistantPhoneDeployment = {\n  methodName: \"DisableAssistantPhoneDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.GetAssistantPhoneDeploymentResponse\n};\n\nexports.AssistantDeploymentService = AssistantDeploymentService;\n\nfunction AssistantDeploymentServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nAssistantDeploymentServiceClient.prototype.createAssistantApiDeployment = function createAssistantApiDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.CreateAssistantApiDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.getAssistantApiDeployment = function getAssistantApiDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.GetAssistantApiDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.getAllAssistantApiDeployment = function getAllAssistantApiDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.GetAllAssistantApiDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.disableAssistantApiDeployment = function disableAssistantApiDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.DisableAssistantApiDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.createAssistantWebpluginDeployment = function createAssistantWebpluginDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.CreateAssistantWebpluginDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.getAssistantWebpluginDeployment = function getAssistantWebpluginDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.GetAssistantWebpluginDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.getAllAssistantWebpluginDeployment = function getAllAssistantWebpluginDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.GetAllAssistantWebpluginDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.disableAssistantWebpluginDeployment = function disableAssistantWebpluginDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.DisableAssistantWebpluginDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.createAssistantDebuggerDeployment = function createAssistantDebuggerDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.CreateAssistantDebuggerDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.getAssistantDebuggerDeployment = function getAssistantDebuggerDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.GetAssistantDebuggerDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.getAllAssistantDebuggerDeployment = function getAllAssistantDebuggerDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.GetAllAssistantDebuggerDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.disableAssistantDebuggerDeployment = function disableAssistantDebuggerDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.DisableAssistantDebuggerDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.createAssistantWhatsappDeployment = function createAssistantWhatsappDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.CreateAssistantWhatsappDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.getAssistantWhatsappDeployment = function getAssistantWhatsappDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.GetAssistantWhatsappDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.getAllAssistantWhatsappDeployment = function getAllAssistantWhatsappDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.GetAllAssistantWhatsappDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.disableAssistantWhatsappDeployment = function disableAssistantWhatsappDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.DisableAssistantWhatsappDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.createAssistantPhoneDeployment = function createAssistantPhoneDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.CreateAssistantPhoneDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.getAssistantPhoneDeployment = function getAssistantPhoneDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.GetAssistantPhoneDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.getAllAssistantPhoneDeployment = function getAllAssistantPhoneDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.GetAllAssistantPhoneDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.disableAssistantPhoneDeployment = function disableAssistantPhoneDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.DisableAssistantPhoneDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.AssistantDeploymentServiceClient = AssistantDeploymentServiceClient;\n\n","// source: connect-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js');\ngoog.object.extend(proto, google_protobuf_struct_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.connect_api.GeneralConnectRequest', null, global);\ngoog.exportSymbol('proto.connect_api.GeneralConnectResponse', null, global);\ngoog.exportSymbol('proto.connect_api.GetConnectorFilesRequest', null, global);\ngoog.exportSymbol('proto.connect_api.GetConnectorFilesResponse', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.connect_api.GeneralConnectRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.connect_api.GeneralConnectRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.connect_api.GeneralConnectRequest.displayName = 'proto.connect_api.GeneralConnectRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.connect_api.GeneralConnectResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.connect_api.GeneralConnectResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.connect_api.GeneralConnectResponse.displayName = 'proto.connect_api.GeneralConnectResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.connect_api.GetConnectorFilesRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.connect_api.GetConnectorFilesRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.connect_api.GetConnectorFilesRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.connect_api.GetConnectorFilesRequest.displayName = 'proto.connect_api.GetConnectorFilesRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.connect_api.GetConnectorFilesResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.connect_api.GetConnectorFilesResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.connect_api.GetConnectorFilesResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.connect_api.GetConnectorFilesResponse.displayName = 'proto.connect_api.GetConnectorFilesResponse';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.connect_api.GeneralConnectRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.connect_api.GeneralConnectRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.connect_api.GeneralConnectRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.GeneralConnectRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    state: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    code: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    scope: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    connect: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.connect_api.GeneralConnectRequest}\n */\nproto.connect_api.GeneralConnectRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.connect_api.GeneralConnectRequest;\n  return proto.connect_api.GeneralConnectRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.connect_api.GeneralConnectRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.connect_api.GeneralConnectRequest}\n */\nproto.connect_api.GeneralConnectRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setState(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCode(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setScope(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setConnect(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.connect_api.GeneralConnectRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.connect_api.GeneralConnectRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.connect_api.GeneralConnectRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.GeneralConnectRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getState();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getCode();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getScope();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getConnect();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string state = 1;\n * @return {string}\n */\nproto.connect_api.GeneralConnectRequest.prototype.getState = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.GeneralConnectRequest} returns this\n */\nproto.connect_api.GeneralConnectRequest.prototype.setState = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string code = 2;\n * @return {string}\n */\nproto.connect_api.GeneralConnectRequest.prototype.getCode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.GeneralConnectRequest} returns this\n */\nproto.connect_api.GeneralConnectRequest.prototype.setCode = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string scope = 3;\n * @return {string}\n */\nproto.connect_api.GeneralConnectRequest.prototype.getScope = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.GeneralConnectRequest} returns this\n */\nproto.connect_api.GeneralConnectRequest.prototype.setScope = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string connect = 4;\n * @return {string}\n */\nproto.connect_api.GeneralConnectRequest.prototype.getConnect = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.GeneralConnectRequest} returns this\n */\nproto.connect_api.GeneralConnectRequest.prototype.setConnect = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.connect_api.GeneralConnectResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.connect_api.GeneralConnectResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.connect_api.GeneralConnectResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.GeneralConnectResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    provider: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    redirectto: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.connect_api.GeneralConnectResponse}\n */\nproto.connect_api.GeneralConnectResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.connect_api.GeneralConnectResponse;\n  return proto.connect_api.GeneralConnectResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.connect_api.GeneralConnectResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.connect_api.GeneralConnectResponse}\n */\nproto.connect_api.GeneralConnectResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProvider(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRedirectto(value);\n      break;\n    case 5:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.connect_api.GeneralConnectResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.connect_api.GeneralConnectResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.connect_api.GeneralConnectResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.GeneralConnectResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getProvider();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getRedirectto();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.connect_api.GeneralConnectResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.connect_api.GeneralConnectResponse} returns this\n */\nproto.connect_api.GeneralConnectResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.connect_api.GeneralConnectResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.connect_api.GeneralConnectResponse} returns this\n */\nproto.connect_api.GeneralConnectResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional string provider = 3;\n * @return {string}\n */\nproto.connect_api.GeneralConnectResponse.prototype.getProvider = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.GeneralConnectResponse} returns this\n */\nproto.connect_api.GeneralConnectResponse.prototype.setProvider = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string redirectTo = 4;\n * @return {string}\n */\nproto.connect_api.GeneralConnectResponse.prototype.getRedirectto = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.GeneralConnectResponse} returns this\n */\nproto.connect_api.GeneralConnectResponse.prototype.setRedirectto = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional Error error = 5;\n * @return {?proto.Error}\n */\nproto.connect_api.GeneralConnectResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 5));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.connect_api.GeneralConnectResponse} returns this\n*/\nproto.connect_api.GeneralConnectResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.connect_api.GeneralConnectResponse} returns this\n */\nproto.connect_api.GeneralConnectResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.connect_api.GeneralConnectResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.connect_api.GetConnectorFilesRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.connect_api.GetConnectorFilesRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.connect_api.GetConnectorFilesRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.GetConnectorFilesRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance),\n    provider: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.connect_api.GetConnectorFilesRequest}\n */\nproto.connect_api.GetConnectorFilesRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.connect_api.GetConnectorFilesRequest;\n  return proto.connect_api.GetConnectorFilesRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.connect_api.GetConnectorFilesRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.connect_api.GetConnectorFilesRequest}\n */\nproto.connect_api.GetConnectorFilesRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProvider(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.connect_api.GetConnectorFilesRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.connect_api.GetConnectorFilesRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.GetConnectorFilesRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getProvider();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.connect_api.GetConnectorFilesRequest} returns this\n*/\nproto.connect_api.GetConnectorFilesRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.connect_api.GetConnectorFilesRequest} returns this\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.connect_api.GetConnectorFilesRequest} returns this\n*/\nproto.connect_api.GetConnectorFilesRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.connect_api.GetConnectorFilesRequest} returns this\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * optional string provider = 3;\n * @return {string}\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.getProvider = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.GetConnectorFilesRequest} returns this\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.setProvider = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.connect_api.GetConnectorFilesResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.connect_api.GetConnectorFilesResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.connect_api.GetConnectorFilesResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.GetConnectorFilesResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    google_protobuf_struct_pb.Struct.toObject, includeInstance),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    argsMap: (f = msg.getArgsMap()) ? f.toObject(includeInstance, undefined) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.connect_api.GetConnectorFilesResponse}\n */\nproto.connect_api.GetConnectorFilesResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.connect_api.GetConnectorFilesResponse;\n  return proto.connect_api.GetConnectorFilesResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.connect_api.GetConnectorFilesResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.connect_api.GetConnectorFilesResponse}\n */\nproto.connect_api.GetConnectorFilesResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    case 5:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 6:\n      var value = msg.getArgsMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.connect_api.GetConnectorFilesResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.connect_api.GetConnectorFilesResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.GetConnectorFilesResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getArgsMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(6, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.connect_api.GetConnectorFilesResponse} returns this\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.connect_api.GetConnectorFilesResponse} returns this\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated google.protobuf.Struct data = 3;\n * @return {!Array<!proto.google.protobuf.Struct>}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.google.protobuf.Struct>} */ (\n    jspb.Message.getRepeatedWrapperField(this, google_protobuf_struct_pb.Struct, 3));\n};\n\n\n/**\n * @param {!Array<!proto.google.protobuf.Struct>} value\n * @return {!proto.connect_api.GetConnectorFilesResponse} returns this\n*/\nproto.connect_api.GetConnectorFilesResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.google.protobuf.Struct=} opt_value\n * @param {number=} opt_index\n * @return {!proto.google.protobuf.Struct}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.google.protobuf.Struct, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.connect_api.GetConnectorFilesResponse} returns this\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Paginated paginated = 4;\n * @return {?proto.Paginated}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 4));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.connect_api.GetConnectorFilesResponse} returns this\n*/\nproto.connect_api.GetConnectorFilesResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.connect_api.GetConnectorFilesResponse} returns this\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Error error = 5;\n * @return {?proto.Error}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 5));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.connect_api.GetConnectorFilesResponse} returns this\n*/\nproto.connect_api.GetConnectorFilesResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.connect_api.GetConnectorFilesResponse} returns this\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * map<string, string> args = 6;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.getArgsMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 6, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.connect_api.GetConnectorFilesResponse} returns this\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.clearArgsMap = function() {\n  this.getArgsMap().clear();\n  return this;};\n\n\ngoog.object.extend(exports, proto.connect_api);\n","// package: connect_api\n// file: connect-api.proto\n\nvar connect_api_pb = require(\"./connect-api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar ConnectService = (function () {\n  function ConnectService() {}\n  ConnectService.serviceName = \"connect_api.ConnectService\";\n  return ConnectService;\n}());\n\nConnectService.GeneralConnect = {\n  methodName: \"GeneralConnect\",\n  service: ConnectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: connect_api_pb.GeneralConnectRequest,\n  responseType: connect_api_pb.GeneralConnectResponse\n};\n\nConnectService.GetConnectorFiles = {\n  methodName: \"GetConnectorFiles\",\n  service: ConnectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: connect_api_pb.GetConnectorFilesRequest,\n  responseType: connect_api_pb.GetConnectorFilesResponse\n};\n\nexports.ConnectService = ConnectService;\n\nfunction ConnectServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nConnectServiceClient.prototype.generalConnect = function generalConnect(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ConnectService.GeneralConnect, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nConnectServiceClient.prototype.getConnectorFiles = function getConnectorFiles(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ConnectService.GetConnectorFiles, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.ConnectServiceClient = ConnectServiceClient;\n\n","// source: invoker-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js');\ngoog.object.extend(proto, google_protobuf_struct_pb);\nvar google_protobuf_any_pb = require('google-protobuf/google/protobuf/any_pb.js');\ngoog.object.extend(proto, google_protobuf_any_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.endpoint_api.EndpointDefinition', null, global);\ngoog.exportSymbol('proto.endpoint_api.InvokeRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.InvokeResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.ProbeRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.ProbeResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.UpdateRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.UpdateResponse', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.EndpointDefinition = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.EndpointDefinition, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.EndpointDefinition.displayName = 'proto.endpoint_api.EndpointDefinition';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.InvokeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.InvokeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.InvokeRequest.displayName = 'proto.endpoint_api.InvokeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.InvokeResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.InvokeResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.InvokeResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.InvokeResponse.displayName = 'proto.endpoint_api.InvokeResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.UpdateRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.UpdateRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.UpdateRequest.displayName = 'proto.endpoint_api.UpdateRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.UpdateResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.UpdateResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.UpdateResponse.displayName = 'proto.endpoint_api.UpdateResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.ProbeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.ProbeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.ProbeRequest.displayName = 'proto.endpoint_api.ProbeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.ProbeResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.ProbeResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.ProbeResponse.displayName = 'proto.endpoint_api.ProbeResponse';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.EndpointDefinition.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.EndpointDefinition.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.EndpointDefinition} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointDefinition.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    version: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.EndpointDefinition}\n */\nproto.endpoint_api.EndpointDefinition.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.EndpointDefinition;\n  return proto.endpoint_api.EndpointDefinition.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.EndpointDefinition} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.EndpointDefinition}\n */\nproto.endpoint_api.EndpointDefinition.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVersion(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.EndpointDefinition.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.EndpointDefinition.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.EndpointDefinition} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointDefinition.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getVersion();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 endpointId = 1;\n * @return {string}\n */\nproto.endpoint_api.EndpointDefinition.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointDefinition} returns this\n */\nproto.endpoint_api.EndpointDefinition.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string version = 2;\n * @return {string}\n */\nproto.endpoint_api.EndpointDefinition.prototype.getVersion = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointDefinition} returns this\n */\nproto.endpoint_api.EndpointDefinition.prototype.setVersion = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.InvokeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.InvokeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.InvokeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.InvokeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpoint: (f = msg.getEndpoint()) && proto.endpoint_api.EndpointDefinition.toObject(includeInstance, f),\n    argsMap: (f = msg.getArgsMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : [],\n    metadataMap: (f = msg.getMetadataMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : [],\n    optionsMap: (f = msg.getOptionsMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.InvokeRequest}\n */\nproto.endpoint_api.InvokeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.InvokeRequest;\n  return proto.endpoint_api.InvokeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.InvokeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.InvokeRequest}\n */\nproto.endpoint_api.InvokeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.endpoint_api.EndpointDefinition;\n      reader.readMessage(value,proto.endpoint_api.EndpointDefinition.deserializeBinaryFromReader);\n      msg.setEndpoint(value);\n      break;\n    case 5:\n      var value = msg.getArgsMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    case 6:\n      var value = msg.getMetadataMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    case 7:\n      var value = msg.getOptionsMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.InvokeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.InvokeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.InvokeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.InvokeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpoint();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.endpoint_api.EndpointDefinition.serializeBinaryToWriter\n    );\n  }\n  f = message.getArgsMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(5, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n  f = message.getMetadataMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(6, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n  f = message.getOptionsMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(7, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n};\n\n\n/**\n * optional EndpointDefinition endpoint = 1;\n * @return {?proto.endpoint_api.EndpointDefinition}\n */\nproto.endpoint_api.InvokeRequest.prototype.getEndpoint = function() {\n  return /** @type{?proto.endpoint_api.EndpointDefinition} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointDefinition, 1));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointDefinition|undefined} value\n * @return {!proto.endpoint_api.InvokeRequest} returns this\n*/\nproto.endpoint_api.InvokeRequest.prototype.setEndpoint = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.InvokeRequest} returns this\n */\nproto.endpoint_api.InvokeRequest.prototype.clearEndpoint = function() {\n  return this.setEndpoint(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.InvokeRequest.prototype.hasEndpoint = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * map<string, google.protobuf.Any> args = 5;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.endpoint_api.InvokeRequest.prototype.getArgsMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 5, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.endpoint_api.InvokeRequest} returns this\n */\nproto.endpoint_api.InvokeRequest.prototype.clearArgsMap = function() {\n  this.getArgsMap().clear();\n  return this;};\n\n\n/**\n * map<string, google.protobuf.Any> metadata = 6;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.endpoint_api.InvokeRequest.prototype.getMetadataMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 6, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.endpoint_api.InvokeRequest} returns this\n */\nproto.endpoint_api.InvokeRequest.prototype.clearMetadataMap = function() {\n  this.getMetadataMap().clear();\n  return this;};\n\n\n/**\n * map<string, google.protobuf.Any> options = 7;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.endpoint_api.InvokeRequest.prototype.getOptionsMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 7, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.endpoint_api.InvokeRequest} returns this\n */\nproto.endpoint_api.InvokeRequest.prototype.clearOptionsMap = function() {\n  this.getOptionsMap().clear();\n  return this;};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.InvokeResponse.repeatedFields_ = [3,7];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.InvokeResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.InvokeResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.InvokeResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.InvokeResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    requestid: jspb.Message.getFieldWithDefault(msg, 5, 0),\n    timetaken: jspb.Message.getFieldWithDefault(msg, 6, 0),\n    metricsList: jspb.Message.toObjectList(msg.getMetricsList(),\n    common_pb.Metric.toObject, includeInstance),\n    meta: (f = msg.getMeta()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.InvokeResponse}\n */\nproto.endpoint_api.InvokeResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.InvokeResponse;\n  return proto.endpoint_api.InvokeResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.InvokeResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.InvokeResponse}\n */\nproto.endpoint_api.InvokeResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setRequestid(value);\n      break;\n    case 6:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setTimetaken(value);\n      break;\n    case 7:\n      var value = new common_pb.Metric;\n      reader.readMessage(value,common_pb.Metric.deserializeBinaryFromReader);\n      msg.addMetrics(value);\n      break;\n    case 8:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setMeta(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.InvokeResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.InvokeResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.InvokeResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.InvokeResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      3,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getRequestid();\n  if (f !== 0) {\n    writer.writeUint64(\n      5,\n      f\n    );\n  }\n  f = message.getTimetaken();\n  if (f !== 0) {\n    writer.writeUint64(\n      6,\n      f\n    );\n  }\n  f = message.getMetricsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      7,\n      f,\n      common_pb.Metric.serializeBinaryToWriter\n    );\n  }\n  f = message.getMeta();\n  if (f != null) {\n    writer.writeMessage(\n      8,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.InvokeResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n */\nproto.endpoint_api.InvokeResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.InvokeResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n */\nproto.endpoint_api.InvokeResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated string data = 3;\n * @return {!Array<string>}\n */\nproto.endpoint_api.InvokeResponse.prototype.getDataList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n */\nproto.endpoint_api.InvokeResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n */\nproto.endpoint_api.InvokeResponse.prototype.addData = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n */\nproto.endpoint_api.InvokeResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.InvokeResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n*/\nproto.endpoint_api.InvokeResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n */\nproto.endpoint_api.InvokeResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.InvokeResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional uint64 requestId = 5;\n * @return {number}\n */\nproto.endpoint_api.InvokeResponse.prototype.getRequestid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n */\nproto.endpoint_api.InvokeResponse.prototype.setRequestid = function(value) {\n  return jspb.Message.setProto3IntField(this, 5, value);\n};\n\n\n/**\n * optional uint64 timeTaken = 6;\n * @return {number}\n */\nproto.endpoint_api.InvokeResponse.prototype.getTimetaken = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n */\nproto.endpoint_api.InvokeResponse.prototype.setTimetaken = function(value) {\n  return jspb.Message.setProto3IntField(this, 6, value);\n};\n\n\n/**\n * repeated Metric metrics = 7;\n * @return {!Array<!proto.Metric>}\n */\nproto.endpoint_api.InvokeResponse.prototype.getMetricsList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metric, 7));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n*/\nproto.endpoint_api.InvokeResponse.prototype.setMetricsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 7, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.endpoint_api.InvokeResponse.prototype.addMetrics = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 7, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n */\nproto.endpoint_api.InvokeResponse.prototype.clearMetricsList = function() {\n  return this.setMetricsList([]);\n};\n\n\n/**\n * optional google.protobuf.Struct meta = 8;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.endpoint_api.InvokeResponse.prototype.getMeta = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 8));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n*/\nproto.endpoint_api.InvokeResponse.prototype.setMeta = function(value) {\n  return jspb.Message.setWrapperField(this, 8, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n */\nproto.endpoint_api.InvokeResponse.prototype.clearMeta = function() {\n  return this.setMeta(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.InvokeResponse.prototype.hasMeta = function() {\n  return jspb.Message.getField(this, 8) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.UpdateRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.UpdateRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.UpdateRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    requestid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    metadata: (f = msg.getMetadata()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.UpdateRequest}\n */\nproto.endpoint_api.UpdateRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.UpdateRequest;\n  return proto.endpoint_api.UpdateRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.UpdateRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.UpdateRequest}\n */\nproto.endpoint_api.UpdateRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setRequestid(value);\n      break;\n    case 2:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setMetadata(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.UpdateRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.UpdateRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.UpdateRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getRequestid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getMetadata();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 requestId = 1;\n * @return {string}\n */\nproto.endpoint_api.UpdateRequest.prototype.getRequestid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.UpdateRequest} returns this\n */\nproto.endpoint_api.UpdateRequest.prototype.setRequestid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional google.protobuf.Struct metadata = 2;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.endpoint_api.UpdateRequest.prototype.getMetadata = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 2));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.endpoint_api.UpdateRequest} returns this\n*/\nproto.endpoint_api.UpdateRequest.prototype.setMetadata = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.UpdateRequest} returns this\n */\nproto.endpoint_api.UpdateRequest.prototype.clearMetadata = function() {\n  return this.setMetadata(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.UpdateRequest.prototype.hasMetadata = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.UpdateResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.UpdateResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.UpdateResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.UpdateResponse}\n */\nproto.endpoint_api.UpdateResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.UpdateResponse;\n  return proto.endpoint_api.UpdateResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.UpdateResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.UpdateResponse}\n */\nproto.endpoint_api.UpdateResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.UpdateResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.UpdateResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.UpdateResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.UpdateResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.UpdateResponse} returns this\n */\nproto.endpoint_api.UpdateResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.UpdateResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.UpdateResponse} returns this\n */\nproto.endpoint_api.UpdateResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Error error = 3;\n * @return {?proto.Error}\n */\nproto.endpoint_api.UpdateResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 3));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.UpdateResponse} returns this\n*/\nproto.endpoint_api.UpdateResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.UpdateResponse} returns this\n */\nproto.endpoint_api.UpdateResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.UpdateResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.ProbeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.ProbeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.ProbeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.ProbeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    requestid: jspb.Message.getFieldWithDefault(msg, 1, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.ProbeRequest}\n */\nproto.endpoint_api.ProbeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.ProbeRequest;\n  return proto.endpoint_api.ProbeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.ProbeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.ProbeRequest}\n */\nproto.endpoint_api.ProbeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setRequestid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.ProbeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.ProbeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.ProbeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.ProbeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getRequestid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 requestId = 1;\n * @return {string}\n */\nproto.endpoint_api.ProbeRequest.prototype.getRequestid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.ProbeRequest} returns this\n */\nproto.endpoint_api.ProbeRequest.prototype.setRequestid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.ProbeResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.ProbeResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.ProbeResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.ProbeResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.ProbeResponse}\n */\nproto.endpoint_api.ProbeResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.ProbeResponse;\n  return proto.endpoint_api.ProbeResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.ProbeResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.ProbeResponse}\n */\nproto.endpoint_api.ProbeResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.ProbeResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.ProbeResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.ProbeResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.ProbeResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.ProbeResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.ProbeResponse} returns this\n */\nproto.endpoint_api.ProbeResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.ProbeResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.ProbeResponse} returns this\n */\nproto.endpoint_api.ProbeResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional google.protobuf.Struct data = 3;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.endpoint_api.ProbeResponse.prototype.getData = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 3));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.endpoint_api.ProbeResponse} returns this\n*/\nproto.endpoint_api.ProbeResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.ProbeResponse} returns this\n */\nproto.endpoint_api.ProbeResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.ProbeResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.ProbeResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.ProbeResponse} returns this\n*/\nproto.endpoint_api.ProbeResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.ProbeResponse} returns this\n */\nproto.endpoint_api.ProbeResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.ProbeResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\ngoog.object.extend(exports, proto.endpoint_api);\n","// package: endpoint_api\n// file: invoker-api.proto\n\nvar invoker_api_pb = require(\"./invoker-api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar Deployment = (function () {\n  function Deployment() {}\n  Deployment.serviceName = \"endpoint_api.Deployment\";\n  return Deployment;\n}());\n\nDeployment.Invoke = {\n  methodName: \"Invoke\",\n  service: Deployment,\n  requestStream: false,\n  responseStream: false,\n  requestType: invoker_api_pb.InvokeRequest,\n  responseType: invoker_api_pb.InvokeResponse\n};\n\nDeployment.Update = {\n  methodName: \"Update\",\n  service: Deployment,\n  requestStream: false,\n  responseStream: false,\n  requestType: invoker_api_pb.UpdateRequest,\n  responseType: invoker_api_pb.UpdateResponse\n};\n\nDeployment.Probe = {\n  methodName: \"Probe\",\n  service: Deployment,\n  requestStream: false,\n  responseStream: false,\n  requestType: invoker_api_pb.ProbeRequest,\n  responseType: invoker_api_pb.ProbeResponse\n};\n\nexports.Deployment = Deployment;\n\nfunction DeploymentClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nDeploymentClient.prototype.invoke = function invoke(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(Deployment.Invoke, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nDeploymentClient.prototype.update = function update(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(Deployment.Update, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nDeploymentClient.prototype.probe = function probe(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(Deployment.Probe, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.DeploymentClient = DeploymentClient;\n\n","// source: observability-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\ngoog.exportSymbol('proto.observability_api.GetAllTelemetryRequest', null, global);\ngoog.exportSymbol('proto.observability_api.GetAllTelemetryResponse', null, global);\ngoog.exportSymbol('proto.observability_api.ObservabilityEventRecord', null, global);\ngoog.exportSymbol('proto.observability_api.ObservabilityLogRecord', null, global);\ngoog.exportSymbol('proto.observability_api.ObservabilityMetricRecord', null, global);\ngoog.exportSymbol('proto.observability_api.ObservabilityRecord', null, global);\ngoog.exportSymbol('proto.observability_api.ObservabilityRecord.RecordCase', null, global);\ngoog.exportSymbol('proto.observability_api.ObservabilityRecordKind', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.observability_api.GetAllTelemetryRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.observability_api.GetAllTelemetryRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.observability_api.GetAllTelemetryRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.observability_api.GetAllTelemetryRequest.displayName = 'proto.observability_api.GetAllTelemetryRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.observability_api.ObservabilityLogRecord = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.observability_api.ObservabilityLogRecord, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.observability_api.ObservabilityLogRecord.displayName = 'proto.observability_api.ObservabilityLogRecord';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.observability_api.ObservabilityEventRecord = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.observability_api.ObservabilityEventRecord, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.observability_api.ObservabilityEventRecord.displayName = 'proto.observability_api.ObservabilityEventRecord';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.observability_api.ObservabilityMetricRecord = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.observability_api.ObservabilityMetricRecord, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.observability_api.ObservabilityMetricRecord.displayName = 'proto.observability_api.ObservabilityMetricRecord';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.observability_api.ObservabilityRecord = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.observability_api.ObservabilityRecord.oneofGroups_);\n};\ngoog.inherits(proto.observability_api.ObservabilityRecord, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.observability_api.ObservabilityRecord.displayName = 'proto.observability_api.ObservabilityRecord';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.observability_api.GetAllTelemetryResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.observability_api.GetAllTelemetryResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.observability_api.GetAllTelemetryResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.observability_api.GetAllTelemetryResponse.displayName = 'proto.observability_api.GetAllTelemetryResponse';\n}\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.observability_api.GetAllTelemetryRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.observability_api.GetAllTelemetryRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.observability_api.GetAllTelemetryRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.observability_api.GetAllTelemetryRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.observability_api.GetAllTelemetryRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance),\n    order: (f = msg.getOrder()) && common_pb.Ordering.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.observability_api.GetAllTelemetryRequest}\n */\nproto.observability_api.GetAllTelemetryRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.observability_api.GetAllTelemetryRequest;\n  return proto.observability_api.GetAllTelemetryRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.observability_api.GetAllTelemetryRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.observability_api.GetAllTelemetryRequest}\n */\nproto.observability_api.GetAllTelemetryRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 3:\n      var value = new common_pb.Ordering;\n      reader.readMessage(value,common_pb.Ordering.deserializeBinaryFromReader);\n      msg.setOrder(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.observability_api.GetAllTelemetryRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.observability_api.GetAllTelemetryRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.observability_api.GetAllTelemetryRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.observability_api.GetAllTelemetryRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getOrder();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Ordering.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.observability_api.GetAllTelemetryRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.observability_api.GetAllTelemetryRequest} returns this\n*/\nproto.observability_api.GetAllTelemetryRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.observability_api.GetAllTelemetryRequest} returns this\n */\nproto.observability_api.GetAllTelemetryRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.observability_api.GetAllTelemetryRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.observability_api.GetAllTelemetryRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.observability_api.GetAllTelemetryRequest} returns this\n*/\nproto.observability_api.GetAllTelemetryRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.observability_api.GetAllTelemetryRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.observability_api.GetAllTelemetryRequest} returns this\n */\nproto.observability_api.GetAllTelemetryRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * optional Ordering order = 3;\n * @return {?proto.Ordering}\n */\nproto.observability_api.GetAllTelemetryRequest.prototype.getOrder = function() {\n  return /** @type{?proto.Ordering} */ (\n    jspb.Message.getWrapperField(this, common_pb.Ordering, 3));\n};\n\n\n/**\n * @param {?proto.Ordering|undefined} value\n * @return {!proto.observability_api.GetAllTelemetryRequest} returns this\n*/\nproto.observability_api.GetAllTelemetryRequest.prototype.setOrder = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.observability_api.GetAllTelemetryRequest} returns this\n */\nproto.observability_api.GetAllTelemetryRequest.prototype.clearOrder = function() {\n  return this.setOrder(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.observability_api.GetAllTelemetryRequest.prototype.hasOrder = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.observability_api.ObservabilityLogRecord.prototype.toObject = function(opt_includeInstance) {\n  return proto.observability_api.ObservabilityLogRecord.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.observability_api.ObservabilityLogRecord} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.observability_api.ObservabilityLogRecord.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    kind: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    level: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    message: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 5, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 6, \"0\"),\n    scope: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    scopeattributesMap: (f = msg.getScopeattributesMap()) ? f.toObject(includeInstance, undefined) : [],\n    attributesMap: (f = msg.getAttributesMap()) ? f.toObject(includeInstance, undefined) : [],\n    occurredat: (f = msg.getOccurredat()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    contextMap: (f = msg.getContextMap()) ? f.toObject(includeInstance, undefined) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.observability_api.ObservabilityLogRecord}\n */\nproto.observability_api.ObservabilityLogRecord.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.observability_api.ObservabilityLogRecord;\n  return proto.observability_api.ObservabilityLogRecord.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.observability_api.ObservabilityLogRecord} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.observability_api.ObservabilityLogRecord}\n */\nproto.observability_api.ObservabilityLogRecord.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {!proto.observability_api.ObservabilityRecordKind} */ (reader.readEnum());\n      msg.setKind(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLevel(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setMessage(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setScope(value);\n      break;\n    case 8:\n      var value = msg.getScopeattributesMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 9:\n      var value = msg.getAttributesMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 10:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setOccurredat(value);\n      break;\n    case 11:\n      var value = msg.getContextMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.observability_api.ObservabilityLogRecord.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.observability_api.ObservabilityLogRecord.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.observability_api.ObservabilityLogRecord} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.observability_api.ObservabilityLogRecord.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getKind();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      2,\n      f\n    );\n  }\n  f = message.getLevel();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getMessage();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      5,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      6,\n      f\n    );\n  }\n  f = message.getScope();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getScopeattributesMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(8, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getAttributesMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(9, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getOccurredat();\n  if (f != null) {\n    writer.writeMessage(\n      10,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getContextMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(11, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n};\n\n\n/**\n * optional string id = 1;\n * @return {string}\n */\nproto.observability_api.ObservabilityLogRecord.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.observability_api.ObservabilityLogRecord} returns this\n */\nproto.observability_api.ObservabilityLogRecord.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional ObservabilityRecordKind kind = 2;\n * @return {!proto.observability_api.ObservabilityRecordKind}\n */\nproto.observability_api.ObservabilityLogRecord.prototype.getKind = function() {\n  return /** @type {!proto.observability_api.ObservabilityRecordKind} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.observability_api.ObservabilityRecordKind} value\n * @return {!proto.observability_api.ObservabilityLogRecord} returns this\n */\nproto.observability_api.ObservabilityLogRecord.prototype.setKind = function(value) {\n  return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n/**\n * optional string level = 3;\n * @return {string}\n */\nproto.observability_api.ObservabilityLogRecord.prototype.getLevel = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.observability_api.ObservabilityLogRecord} returns this\n */\nproto.observability_api.ObservabilityLogRecord.prototype.setLevel = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string message = 4;\n * @return {string}\n */\nproto.observability_api.ObservabilityLogRecord.prototype.getMessage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.observability_api.ObservabilityLogRecord} returns this\n */\nproto.observability_api.ObservabilityLogRecord.prototype.setMessage = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional uint64 projectId = 5;\n * @return {string}\n */\nproto.observability_api.ObservabilityLogRecord.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.observability_api.ObservabilityLogRecord} returns this\n */\nproto.observability_api.ObservabilityLogRecord.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 5, value);\n};\n\n\n/**\n * optional uint64 organizationId = 6;\n * @return {string}\n */\nproto.observability_api.ObservabilityLogRecord.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.observability_api.ObservabilityLogRecord} returns this\n */\nproto.observability_api.ObservabilityLogRecord.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 6, value);\n};\n\n\n/**\n * optional string scope = 7;\n * @return {string}\n */\nproto.observability_api.ObservabilityLogRecord.prototype.getScope = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.observability_api.ObservabilityLogRecord} returns this\n */\nproto.observability_api.ObservabilityLogRecord.prototype.setScope = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * map<string, string> scopeAttributes = 8;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.observability_api.ObservabilityLogRecord.prototype.getScopeattributesMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 8, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.observability_api.ObservabilityLogRecord} returns this\n */\nproto.observability_api.ObservabilityLogRecord.prototype.clearScopeattributesMap = function() {\n  this.getScopeattributesMap().clear();\n  return this;};\n\n\n/**\n * map<string, string> attributes = 9;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.observability_api.ObservabilityLogRecord.prototype.getAttributesMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 9, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.observability_api.ObservabilityLogRecord} returns this\n */\nproto.observability_api.ObservabilityLogRecord.prototype.clearAttributesMap = function() {\n  this.getAttributesMap().clear();\n  return this;};\n\n\n/**\n * optional google.protobuf.Timestamp occurredAt = 10;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.observability_api.ObservabilityLogRecord.prototype.getOccurredat = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 10));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.observability_api.ObservabilityLogRecord} returns this\n*/\nproto.observability_api.ObservabilityLogRecord.prototype.setOccurredat = function(value) {\n  return jspb.Message.setWrapperField(this, 10, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.observability_api.ObservabilityLogRecord} returns this\n */\nproto.observability_api.ObservabilityLogRecord.prototype.clearOccurredat = function() {\n  return this.setOccurredat(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.observability_api.ObservabilityLogRecord.prototype.hasOccurredat = function() {\n  return jspb.Message.getField(this, 10) != null;\n};\n\n\n/**\n * map<string, string> context = 11;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.observability_api.ObservabilityLogRecord.prototype.getContextMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 11, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.observability_api.ObservabilityLogRecord} returns this\n */\nproto.observability_api.ObservabilityLogRecord.prototype.clearContextMap = function() {\n  this.getContextMap().clear();\n  return this;};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.observability_api.ObservabilityEventRecord.prototype.toObject = function(opt_includeInstance) {\n  return proto.observability_api.ObservabilityEventRecord.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.observability_api.ObservabilityEventRecord} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.observability_api.ObservabilityEventRecord.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    kind: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    event: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    component: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 5, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 6, \"0\"),\n    scope: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    scopeattributesMap: (f = msg.getScopeattributesMap()) ? f.toObject(includeInstance, undefined) : [],\n    attributesMap: (f = msg.getAttributesMap()) ? f.toObject(includeInstance, undefined) : [],\n    occurredat: (f = msg.getOccurredat()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    contextMap: (f = msg.getContextMap()) ? f.toObject(includeInstance, undefined) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.observability_api.ObservabilityEventRecord}\n */\nproto.observability_api.ObservabilityEventRecord.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.observability_api.ObservabilityEventRecord;\n  return proto.observability_api.ObservabilityEventRecord.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.observability_api.ObservabilityEventRecord} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.observability_api.ObservabilityEventRecord}\n */\nproto.observability_api.ObservabilityEventRecord.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {!proto.observability_api.ObservabilityRecordKind} */ (reader.readEnum());\n      msg.setKind(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEvent(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setComponent(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setScope(value);\n      break;\n    case 8:\n      var value = msg.getScopeattributesMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 9:\n      var value = msg.getAttributesMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 10:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setOccurredat(value);\n      break;\n    case 11:\n      var value = msg.getContextMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.observability_api.ObservabilityEventRecord.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.observability_api.ObservabilityEventRecord.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.observability_api.ObservabilityEventRecord} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.observability_api.ObservabilityEventRecord.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getKind();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      2,\n      f\n    );\n  }\n  f = message.getEvent();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getComponent();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      5,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      6,\n      f\n    );\n  }\n  f = message.getScope();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getScopeattributesMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(8, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getAttributesMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(9, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getOccurredat();\n  if (f != null) {\n    writer.writeMessage(\n      10,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getContextMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(11, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n};\n\n\n/**\n * optional string id = 1;\n * @return {string}\n */\nproto.observability_api.ObservabilityEventRecord.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.observability_api.ObservabilityEventRecord} returns this\n */\nproto.observability_api.ObservabilityEventRecord.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional ObservabilityRecordKind kind = 2;\n * @return {!proto.observability_api.ObservabilityRecordKind}\n */\nproto.observability_api.ObservabilityEventRecord.prototype.getKind = function() {\n  return /** @type {!proto.observability_api.ObservabilityRecordKind} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.observability_api.ObservabilityRecordKind} value\n * @return {!proto.observability_api.ObservabilityEventRecord} returns this\n */\nproto.observability_api.ObservabilityEventRecord.prototype.setKind = function(value) {\n  return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n/**\n * optional string event = 3;\n * @return {string}\n */\nproto.observability_api.ObservabilityEventRecord.prototype.getEvent = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.observability_api.ObservabilityEventRecord} returns this\n */\nproto.observability_api.ObservabilityEventRecord.prototype.setEvent = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string component = 4;\n * @return {string}\n */\nproto.observability_api.ObservabilityEventRecord.prototype.getComponent = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.observability_api.ObservabilityEventRecord} returns this\n */\nproto.observability_api.ObservabilityEventRecord.prototype.setComponent = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional uint64 projectId = 5;\n * @return {string}\n */\nproto.observability_api.ObservabilityEventRecord.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.observability_api.ObservabilityEventRecord} returns this\n */\nproto.observability_api.ObservabilityEventRecord.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 5, value);\n};\n\n\n/**\n * optional uint64 organizationId = 6;\n * @return {string}\n */\nproto.observability_api.ObservabilityEventRecord.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.observability_api.ObservabilityEventRecord} returns this\n */\nproto.observability_api.ObservabilityEventRecord.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 6, value);\n};\n\n\n/**\n * optional string scope = 7;\n * @return {string}\n */\nproto.observability_api.ObservabilityEventRecord.prototype.getScope = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.observability_api.ObservabilityEventRecord} returns this\n */\nproto.observability_api.ObservabilityEventRecord.prototype.setScope = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * map<string, string> scopeAttributes = 8;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.observability_api.ObservabilityEventRecord.prototype.getScopeattributesMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 8, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.observability_api.ObservabilityEventRecord} returns this\n */\nproto.observability_api.ObservabilityEventRecord.prototype.clearScopeattributesMap = function() {\n  this.getScopeattributesMap().clear();\n  return this;};\n\n\n/**\n * map<string, string> attributes = 9;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.observability_api.ObservabilityEventRecord.prototype.getAttributesMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 9, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.observability_api.ObservabilityEventRecord} returns this\n */\nproto.observability_api.ObservabilityEventRecord.prototype.clearAttributesMap = function() {\n  this.getAttributesMap().clear();\n  return this;};\n\n\n/**\n * optional google.protobuf.Timestamp occurredAt = 10;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.observability_api.ObservabilityEventRecord.prototype.getOccurredat = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 10));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.observability_api.ObservabilityEventRecord} returns this\n*/\nproto.observability_api.ObservabilityEventRecord.prototype.setOccurredat = function(value) {\n  return jspb.Message.setWrapperField(this, 10, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.observability_api.ObservabilityEventRecord} returns this\n */\nproto.observability_api.ObservabilityEventRecord.prototype.clearOccurredat = function() {\n  return this.setOccurredat(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.observability_api.ObservabilityEventRecord.prototype.hasOccurredat = function() {\n  return jspb.Message.getField(this, 10) != null;\n};\n\n\n/**\n * map<string, string> context = 11;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.observability_api.ObservabilityEventRecord.prototype.getContextMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 11, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.observability_api.ObservabilityEventRecord} returns this\n */\nproto.observability_api.ObservabilityEventRecord.prototype.clearContextMap = function() {\n  this.getContextMap().clear();\n  return this;};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.toObject = function(opt_includeInstance) {\n  return proto.observability_api.ObservabilityMetricRecord.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.observability_api.ObservabilityMetricRecord} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.observability_api.ObservabilityMetricRecord.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    kind: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    name: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    value: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 6, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 7, \"0\"),\n    scope: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n    scopeattributesMap: (f = msg.getScopeattributesMap()) ? f.toObject(includeInstance, undefined) : [],\n    attributesMap: (f = msg.getAttributesMap()) ? f.toObject(includeInstance, undefined) : [],\n    occurredat: (f = msg.getOccurredat()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    contextMap: (f = msg.getContextMap()) ? f.toObject(includeInstance, undefined) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.observability_api.ObservabilityMetricRecord}\n */\nproto.observability_api.ObservabilityMetricRecord.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.observability_api.ObservabilityMetricRecord;\n  return proto.observability_api.ObservabilityMetricRecord.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.observability_api.ObservabilityMetricRecord} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.observability_api.ObservabilityMetricRecord}\n */\nproto.observability_api.ObservabilityMetricRecord.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {!proto.observability_api.ObservabilityRecordKind} */ (reader.readEnum());\n      msg.setKind(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setValue(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setScope(value);\n      break;\n    case 9:\n      var value = msg.getScopeattributesMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 10:\n      var value = msg.getAttributesMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 11:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setOccurredat(value);\n      break;\n    case 12:\n      var value = msg.getContextMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.observability_api.ObservabilityMetricRecord.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.observability_api.ObservabilityMetricRecord} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.observability_api.ObservabilityMetricRecord.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getKind();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      2,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getValue();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      6,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      7,\n      f\n    );\n  }\n  f = message.getScope();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n  f = message.getScopeattributesMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(9, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getAttributesMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(10, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getOccurredat();\n  if (f != null) {\n    writer.writeMessage(\n      11,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getContextMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(12, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n};\n\n\n/**\n * optional string id = 1;\n * @return {string}\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.observability_api.ObservabilityMetricRecord} returns this\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional ObservabilityRecordKind kind = 2;\n * @return {!proto.observability_api.ObservabilityRecordKind}\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.getKind = function() {\n  return /** @type {!proto.observability_api.ObservabilityRecordKind} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.observability_api.ObservabilityRecordKind} value\n * @return {!proto.observability_api.ObservabilityMetricRecord} returns this\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.setKind = function(value) {\n  return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n/**\n * optional string name = 3;\n * @return {string}\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.observability_api.ObservabilityMetricRecord} returns this\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string value = 4;\n * @return {string}\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.getValue = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.observability_api.ObservabilityMetricRecord} returns this\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.setValue = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string description = 5;\n * @return {string}\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.observability_api.ObservabilityMetricRecord} returns this\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional uint64 projectId = 6;\n * @return {string}\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.observability_api.ObservabilityMetricRecord} returns this\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 6, value);\n};\n\n\n/**\n * optional uint64 organizationId = 7;\n * @return {string}\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.observability_api.ObservabilityMetricRecord} returns this\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 7, value);\n};\n\n\n/**\n * optional string scope = 8;\n * @return {string}\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.getScope = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.observability_api.ObservabilityMetricRecord} returns this\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.setScope = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n/**\n * map<string, string> scopeAttributes = 9;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.getScopeattributesMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 9, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.observability_api.ObservabilityMetricRecord} returns this\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.clearScopeattributesMap = function() {\n  this.getScopeattributesMap().clear();\n  return this;};\n\n\n/**\n * map<string, string> attributes = 10;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.getAttributesMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 10, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.observability_api.ObservabilityMetricRecord} returns this\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.clearAttributesMap = function() {\n  this.getAttributesMap().clear();\n  return this;};\n\n\n/**\n * optional google.protobuf.Timestamp occurredAt = 11;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.getOccurredat = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 11));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.observability_api.ObservabilityMetricRecord} returns this\n*/\nproto.observability_api.ObservabilityMetricRecord.prototype.setOccurredat = function(value) {\n  return jspb.Message.setWrapperField(this, 11, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.observability_api.ObservabilityMetricRecord} returns this\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.clearOccurredat = function() {\n  return this.setOccurredat(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.hasOccurredat = function() {\n  return jspb.Message.getField(this, 11) != null;\n};\n\n\n/**\n * map<string, string> context = 12;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.getContextMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 12, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.observability_api.ObservabilityMetricRecord} returns this\n */\nproto.observability_api.ObservabilityMetricRecord.prototype.clearContextMap = function() {\n  this.getContextMap().clear();\n  return this;};\n\n\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array<!Array<number>>}\n * @const\n */\nproto.observability_api.ObservabilityRecord.oneofGroups_ = [[1,2,3]];\n\n/**\n * @enum {number}\n */\nproto.observability_api.ObservabilityRecord.RecordCase = {\n  RECORD_NOT_SET: 0,\n  LOG: 1,\n  EVENT: 2,\n  METRIC: 3\n};\n\n/**\n * @return {proto.observability_api.ObservabilityRecord.RecordCase}\n */\nproto.observability_api.ObservabilityRecord.prototype.getRecordCase = function() {\n  return /** @type {proto.observability_api.ObservabilityRecord.RecordCase} */(jspb.Message.computeOneofCase(this, proto.observability_api.ObservabilityRecord.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.observability_api.ObservabilityRecord.prototype.toObject = function(opt_includeInstance) {\n  return proto.observability_api.ObservabilityRecord.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.observability_api.ObservabilityRecord} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.observability_api.ObservabilityRecord.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    log: (f = msg.getLog()) && proto.observability_api.ObservabilityLogRecord.toObject(includeInstance, f),\n    event: (f = msg.getEvent()) && proto.observability_api.ObservabilityEventRecord.toObject(includeInstance, f),\n    metric: (f = msg.getMetric()) && proto.observability_api.ObservabilityMetricRecord.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.observability_api.ObservabilityRecord}\n */\nproto.observability_api.ObservabilityRecord.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.observability_api.ObservabilityRecord;\n  return proto.observability_api.ObservabilityRecord.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.observability_api.ObservabilityRecord} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.observability_api.ObservabilityRecord}\n */\nproto.observability_api.ObservabilityRecord.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.observability_api.ObservabilityLogRecord;\n      reader.readMessage(value,proto.observability_api.ObservabilityLogRecord.deserializeBinaryFromReader);\n      msg.setLog(value);\n      break;\n    case 2:\n      var value = new proto.observability_api.ObservabilityEventRecord;\n      reader.readMessage(value,proto.observability_api.ObservabilityEventRecord.deserializeBinaryFromReader);\n      msg.setEvent(value);\n      break;\n    case 3:\n      var value = new proto.observability_api.ObservabilityMetricRecord;\n      reader.readMessage(value,proto.observability_api.ObservabilityMetricRecord.deserializeBinaryFromReader);\n      msg.setMetric(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.observability_api.ObservabilityRecord.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.observability_api.ObservabilityRecord.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.observability_api.ObservabilityRecord} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.observability_api.ObservabilityRecord.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getLog();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.observability_api.ObservabilityLogRecord.serializeBinaryToWriter\n    );\n  }\n  f = message.getEvent();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.observability_api.ObservabilityEventRecord.serializeBinaryToWriter\n    );\n  }\n  f = message.getMetric();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.observability_api.ObservabilityMetricRecord.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional ObservabilityLogRecord log = 1;\n * @return {?proto.observability_api.ObservabilityLogRecord}\n */\nproto.observability_api.ObservabilityRecord.prototype.getLog = function() {\n  return /** @type{?proto.observability_api.ObservabilityLogRecord} */ (\n    jspb.Message.getWrapperField(this, proto.observability_api.ObservabilityLogRecord, 1));\n};\n\n\n/**\n * @param {?proto.observability_api.ObservabilityLogRecord|undefined} value\n * @return {!proto.observability_api.ObservabilityRecord} returns this\n*/\nproto.observability_api.ObservabilityRecord.prototype.setLog = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 1, proto.observability_api.ObservabilityRecord.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.observability_api.ObservabilityRecord} returns this\n */\nproto.observability_api.ObservabilityRecord.prototype.clearLog = function() {\n  return this.setLog(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.observability_api.ObservabilityRecord.prototype.hasLog = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional ObservabilityEventRecord event = 2;\n * @return {?proto.observability_api.ObservabilityEventRecord}\n */\nproto.observability_api.ObservabilityRecord.prototype.getEvent = function() {\n  return /** @type{?proto.observability_api.ObservabilityEventRecord} */ (\n    jspb.Message.getWrapperField(this, proto.observability_api.ObservabilityEventRecord, 2));\n};\n\n\n/**\n * @param {?proto.observability_api.ObservabilityEventRecord|undefined} value\n * @return {!proto.observability_api.ObservabilityRecord} returns this\n*/\nproto.observability_api.ObservabilityRecord.prototype.setEvent = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 2, proto.observability_api.ObservabilityRecord.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.observability_api.ObservabilityRecord} returns this\n */\nproto.observability_api.ObservabilityRecord.prototype.clearEvent = function() {\n  return this.setEvent(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.observability_api.ObservabilityRecord.prototype.hasEvent = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional ObservabilityMetricRecord metric = 3;\n * @return {?proto.observability_api.ObservabilityMetricRecord}\n */\nproto.observability_api.ObservabilityRecord.prototype.getMetric = function() {\n  return /** @type{?proto.observability_api.ObservabilityMetricRecord} */ (\n    jspb.Message.getWrapperField(this, proto.observability_api.ObservabilityMetricRecord, 3));\n};\n\n\n/**\n * @param {?proto.observability_api.ObservabilityMetricRecord|undefined} value\n * @return {!proto.observability_api.ObservabilityRecord} returns this\n*/\nproto.observability_api.ObservabilityRecord.prototype.setMetric = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 3, proto.observability_api.ObservabilityRecord.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.observability_api.ObservabilityRecord} returns this\n */\nproto.observability_api.ObservabilityRecord.prototype.clearMetric = function() {\n  return this.setMetric(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.observability_api.ObservabilityRecord.prototype.hasMetric = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.observability_api.GetAllTelemetryResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.observability_api.GetAllTelemetryResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.observability_api.GetAllTelemetryResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.observability_api.GetAllTelemetryResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.observability_api.GetAllTelemetryResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.observability_api.ObservabilityRecord.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.observability_api.GetAllTelemetryResponse}\n */\nproto.observability_api.GetAllTelemetryResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.observability_api.GetAllTelemetryResponse;\n  return proto.observability_api.GetAllTelemetryResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.observability_api.GetAllTelemetryResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.observability_api.GetAllTelemetryResponse}\n */\nproto.observability_api.GetAllTelemetryResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.observability_api.ObservabilityRecord;\n      reader.readMessage(value,proto.observability_api.ObservabilityRecord.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.observability_api.GetAllTelemetryResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.observability_api.GetAllTelemetryResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.observability_api.GetAllTelemetryResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.observability_api.GetAllTelemetryResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.observability_api.ObservabilityRecord.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.observability_api.GetAllTelemetryResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.observability_api.GetAllTelemetryResponse} returns this\n */\nproto.observability_api.GetAllTelemetryResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.observability_api.GetAllTelemetryResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.observability_api.GetAllTelemetryResponse} returns this\n */\nproto.observability_api.GetAllTelemetryResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated ObservabilityRecord data = 3;\n * @return {!Array<!proto.observability_api.ObservabilityRecord>}\n */\nproto.observability_api.GetAllTelemetryResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.observability_api.ObservabilityRecord>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.observability_api.ObservabilityRecord, 3));\n};\n\n\n/**\n * @param {!Array<!proto.observability_api.ObservabilityRecord>} value\n * @return {!proto.observability_api.GetAllTelemetryResponse} returns this\n*/\nproto.observability_api.GetAllTelemetryResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.observability_api.ObservabilityRecord=} opt_value\n * @param {number=} opt_index\n * @return {!proto.observability_api.ObservabilityRecord}\n */\nproto.observability_api.GetAllTelemetryResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.observability_api.ObservabilityRecord, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.observability_api.GetAllTelemetryResponse} returns this\n */\nproto.observability_api.GetAllTelemetryResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.observability_api.GetAllTelemetryResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.observability_api.GetAllTelemetryResponse} returns this\n*/\nproto.observability_api.GetAllTelemetryResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.observability_api.GetAllTelemetryResponse} returns this\n */\nproto.observability_api.GetAllTelemetryResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.observability_api.GetAllTelemetryResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.observability_api.GetAllTelemetryResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.observability_api.GetAllTelemetryResponse} returns this\n*/\nproto.observability_api.GetAllTelemetryResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.observability_api.GetAllTelemetryResponse} returns this\n */\nproto.observability_api.GetAllTelemetryResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.observability_api.GetAllTelemetryResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * @enum {number}\n */\nproto.observability_api.ObservabilityRecordKind = {\n  OBSERVABILITY_RECORD_KIND_UNSPECIFIED: 0,\n  OBSERVABILITY_RECORD_KIND_LOG: 1,\n  OBSERVABILITY_RECORD_KIND_EVENT: 2,\n  OBSERVABILITY_RECORD_KIND_METRIC: 3\n};\n\ngoog.object.extend(exports, proto.observability_api);\n","// package: observability_api\n// file: observability-api.proto\n\nvar observability_api_pb = require(\"./observability-api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar ObservabilityService = (function () {\n  function ObservabilityService() {}\n  ObservabilityService.serviceName = \"observability_api.ObservabilityService\";\n  return ObservabilityService;\n}());\n\nObservabilityService.GetAllTelemetry = {\n  methodName: \"GetAllTelemetry\",\n  service: ObservabilityService,\n  requestStream: false,\n  responseStream: false,\n  requestType: observability_api_pb.GetAllTelemetryRequest,\n  responseType: observability_api_pb.GetAllTelemetryResponse\n};\n\nexports.ObservabilityService = ObservabilityService;\n\nfunction ObservabilityServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nObservabilityServiceClient.prototype.getAllTelemetry = function getAllTelemetry(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ObservabilityService.GetAllTelemetry, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.ObservabilityServiceClient = ObservabilityServiceClient;\n\n","// source: notification-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.notification_api.GetNotificationSettingRequest', null, global);\ngoog.exportSymbol('proto.notification_api.NotificationSetting', null, global);\ngoog.exportSymbol('proto.notification_api.NotificationSettingResponse', null, global);\ngoog.exportSymbol('proto.notification_api.UpdateNotificationSettingRequest', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.notification_api.NotificationSetting = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.notification_api.NotificationSetting, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.notification_api.NotificationSetting.displayName = 'proto.notification_api.NotificationSetting';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.notification_api.UpdateNotificationSettingRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.notification_api.UpdateNotificationSettingRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.notification_api.UpdateNotificationSettingRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.notification_api.UpdateNotificationSettingRequest.displayName = 'proto.notification_api.UpdateNotificationSettingRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.notification_api.GetNotificationSettingRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.notification_api.GetNotificationSettingRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.notification_api.GetNotificationSettingRequest.displayName = 'proto.notification_api.GetNotificationSettingRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.notification_api.NotificationSettingResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.notification_api.NotificationSettingResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.notification_api.NotificationSettingResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.notification_api.NotificationSettingResponse.displayName = 'proto.notification_api.NotificationSettingResponse';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.notification_api.NotificationSetting.prototype.toObject = function(opt_includeInstance) {\n  return proto.notification_api.NotificationSetting.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.notification_api.NotificationSetting} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.notification_api.NotificationSetting.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    authuserid: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    channel: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    eventtype: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    enabled: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),\n    status: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.notification_api.NotificationSetting}\n */\nproto.notification_api.NotificationSetting.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.notification_api.NotificationSetting;\n  return proto.notification_api.NotificationSetting.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.notification_api.NotificationSetting} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.notification_api.NotificationSetting}\n */\nproto.notification_api.NotificationSetting.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setAuthuserid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setChannel(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEventtype(value);\n      break;\n    case 5:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setEnabled(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 9:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 11:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.notification_api.NotificationSetting.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.notification_api.NotificationSetting.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.notification_api.NotificationSetting} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.notification_api.NotificationSetting.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAuthuserid();\n  if (f !== 0) {\n    writer.writeUint64(\n      2,\n      f\n    );\n  }\n  f = message.getChannel();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getEventtype();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getEnabled();\n  if (f) {\n    writer.writeBool(\n      5,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      9,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      11,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.notification_api.NotificationSetting.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.notification_api.NotificationSetting} returns this\n */\nproto.notification_api.NotificationSetting.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 authUserId = 2;\n * @return {number}\n */\nproto.notification_api.NotificationSetting.prototype.getAuthuserid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.notification_api.NotificationSetting} returns this\n */\nproto.notification_api.NotificationSetting.prototype.setAuthuserid = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional string channel = 3;\n * @return {string}\n */\nproto.notification_api.NotificationSetting.prototype.getChannel = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.notification_api.NotificationSetting} returns this\n */\nproto.notification_api.NotificationSetting.prototype.setChannel = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string eventType = 4;\n * @return {string}\n */\nproto.notification_api.NotificationSetting.prototype.getEventtype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.notification_api.NotificationSetting} returns this\n */\nproto.notification_api.NotificationSetting.prototype.setEventtype = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional bool enabled = 5;\n * @return {boolean}\n */\nproto.notification_api.NotificationSetting.prototype.getEnabled = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.notification_api.NotificationSetting} returns this\n */\nproto.notification_api.NotificationSetting.prototype.setEnabled = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 5, value);\n};\n\n\n/**\n * optional string status = 8;\n * @return {string}\n */\nproto.notification_api.NotificationSetting.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.notification_api.NotificationSetting} returns this\n */\nproto.notification_api.NotificationSetting.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 9;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.notification_api.NotificationSetting.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 9));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.notification_api.NotificationSetting} returns this\n*/\nproto.notification_api.NotificationSetting.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 9, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.notification_api.NotificationSetting} returns this\n */\nproto.notification_api.NotificationSetting.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.notification_api.NotificationSetting.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 9) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 11;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.notification_api.NotificationSetting.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 11));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.notification_api.NotificationSetting} returns this\n*/\nproto.notification_api.NotificationSetting.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 11, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.notification_api.NotificationSetting} returns this\n */\nproto.notification_api.NotificationSetting.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.notification_api.NotificationSetting.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 11) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.notification_api.UpdateNotificationSettingRequest.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.notification_api.UpdateNotificationSettingRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.notification_api.UpdateNotificationSettingRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.notification_api.UpdateNotificationSettingRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.notification_api.UpdateNotificationSettingRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    settingsList: jspb.Message.toObjectList(msg.getSettingsList(),\n    proto.notification_api.NotificationSetting.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.notification_api.UpdateNotificationSettingRequest}\n */\nproto.notification_api.UpdateNotificationSettingRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.notification_api.UpdateNotificationSettingRequest;\n  return proto.notification_api.UpdateNotificationSettingRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.notification_api.UpdateNotificationSettingRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.notification_api.UpdateNotificationSettingRequest}\n */\nproto.notification_api.UpdateNotificationSettingRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.notification_api.NotificationSetting;\n      reader.readMessage(value,proto.notification_api.NotificationSetting.deserializeBinaryFromReader);\n      msg.addSettings(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.notification_api.UpdateNotificationSettingRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.notification_api.UpdateNotificationSettingRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.notification_api.UpdateNotificationSettingRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.notification_api.UpdateNotificationSettingRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSettingsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      1,\n      f,\n      proto.notification_api.NotificationSetting.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * repeated NotificationSetting settings = 1;\n * @return {!Array<!proto.notification_api.NotificationSetting>}\n */\nproto.notification_api.UpdateNotificationSettingRequest.prototype.getSettingsList = function() {\n  return /** @type{!Array<!proto.notification_api.NotificationSetting>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.notification_api.NotificationSetting, 1));\n};\n\n\n/**\n * @param {!Array<!proto.notification_api.NotificationSetting>} value\n * @return {!proto.notification_api.UpdateNotificationSettingRequest} returns this\n*/\nproto.notification_api.UpdateNotificationSettingRequest.prototype.setSettingsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.notification_api.NotificationSetting=} opt_value\n * @param {number=} opt_index\n * @return {!proto.notification_api.NotificationSetting}\n */\nproto.notification_api.UpdateNotificationSettingRequest.prototype.addSettings = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.notification_api.NotificationSetting, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.notification_api.UpdateNotificationSettingRequest} returns this\n */\nproto.notification_api.UpdateNotificationSettingRequest.prototype.clearSettingsList = function() {\n  return this.setSettingsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.notification_api.GetNotificationSettingRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.notification_api.GetNotificationSettingRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.notification_api.GetNotificationSettingRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.notification_api.GetNotificationSettingRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.notification_api.GetNotificationSettingRequest}\n */\nproto.notification_api.GetNotificationSettingRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.notification_api.GetNotificationSettingRequest;\n  return proto.notification_api.GetNotificationSettingRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.notification_api.GetNotificationSettingRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.notification_api.GetNotificationSettingRequest}\n */\nproto.notification_api.GetNotificationSettingRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.notification_api.GetNotificationSettingRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.notification_api.GetNotificationSettingRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.notification_api.GetNotificationSettingRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.notification_api.GetNotificationSettingRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.notification_api.NotificationSettingResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.notification_api.NotificationSettingResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.notification_api.NotificationSettingResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.notification_api.NotificationSettingResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.notification_api.NotificationSettingResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.notification_api.NotificationSetting.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.notification_api.NotificationSettingResponse}\n */\nproto.notification_api.NotificationSettingResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.notification_api.NotificationSettingResponse;\n  return proto.notification_api.NotificationSettingResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.notification_api.NotificationSettingResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.notification_api.NotificationSettingResponse}\n */\nproto.notification_api.NotificationSettingResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.notification_api.NotificationSetting;\n      reader.readMessage(value,proto.notification_api.NotificationSetting.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.notification_api.NotificationSettingResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.notification_api.NotificationSettingResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.notification_api.NotificationSettingResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.notification_api.NotificationSettingResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.notification_api.NotificationSetting.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.notification_api.NotificationSettingResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.notification_api.NotificationSettingResponse} returns this\n */\nproto.notification_api.NotificationSettingResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.notification_api.NotificationSettingResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.notification_api.NotificationSettingResponse} returns this\n */\nproto.notification_api.NotificationSettingResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated NotificationSetting data = 3;\n * @return {!Array<!proto.notification_api.NotificationSetting>}\n */\nproto.notification_api.NotificationSettingResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.notification_api.NotificationSetting>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.notification_api.NotificationSetting, 3));\n};\n\n\n/**\n * @param {!Array<!proto.notification_api.NotificationSetting>} value\n * @return {!proto.notification_api.NotificationSettingResponse} returns this\n*/\nproto.notification_api.NotificationSettingResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.notification_api.NotificationSetting=} opt_value\n * @param {number=} opt_index\n * @return {!proto.notification_api.NotificationSetting}\n */\nproto.notification_api.NotificationSettingResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.notification_api.NotificationSetting, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.notification_api.NotificationSettingResponse} returns this\n */\nproto.notification_api.NotificationSettingResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.notification_api.NotificationSettingResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.notification_api.NotificationSettingResponse} returns this\n*/\nproto.notification_api.NotificationSettingResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.notification_api.NotificationSettingResponse} returns this\n */\nproto.notification_api.NotificationSettingResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.notification_api.NotificationSettingResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\ngoog.object.extend(exports, proto.notification_api);\n","// package: notification_api\n// file: notification-api.proto\n\nvar notification_api_pb = require(\"./notification-api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar NotificationService = (function () {\n  function NotificationService() {}\n  NotificationService.serviceName = \"notification_api.NotificationService\";\n  return NotificationService;\n}());\n\nNotificationService.UpdateNotificationSetting = {\n  methodName: \"UpdateNotificationSetting\",\n  service: NotificationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: notification_api_pb.UpdateNotificationSettingRequest,\n  responseType: notification_api_pb.NotificationSettingResponse\n};\n\nNotificationService.GetNotificationSettting = {\n  methodName: \"GetNotificationSettting\",\n  service: NotificationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: notification_api_pb.GetNotificationSettingRequest,\n  responseType: notification_api_pb.NotificationSettingResponse\n};\n\nexports.NotificationService = NotificationService;\n\nfunction NotificationServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nNotificationServiceClient.prototype.updateNotificationSetting = function updateNotificationSetting(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(NotificationService.UpdateNotificationSetting, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nNotificationServiceClient.prototype.getNotificationSettting = function getNotificationSettting(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(NotificationService.GetNotificationSettting, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.NotificationServiceClient = NotificationServiceClient;\n\n","// package: talk_api\n// file: webrtc.proto\n\nvar webrtc_pb = require(\"./webrtc_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar WebRTC = (function () {\n  function WebRTC() {}\n  WebRTC.serviceName = \"talk_api.WebRTC\";\n  return WebRTC;\n}());\n\nWebRTC.WebTalk = {\n  methodName: \"WebTalk\",\n  service: WebRTC,\n  requestStream: true,\n  responseStream: true,\n  requestType: webrtc_pb.WebTalkRequest,\n  responseType: webrtc_pb.WebTalkResponse\n};\n\nexports.WebRTC = WebRTC;\n\nfunction WebRTCClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nWebRTCClient.prototype.webTalk = function webTalk(metadata) {\n  var listeners = {\n    data: [],\n    end: [],\n    status: []\n  };\n  var client = grpc.client(WebRTC.WebTalk, {\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport\n  });\n  client.onEnd(function (status, statusMessage, trailers) {\n    listeners.status.forEach(function (handler) {\n      handler({ code: status, details: statusMessage, metadata: trailers });\n    });\n    listeners.end.forEach(function (handler) {\n      handler({ code: status, details: statusMessage, metadata: trailers });\n    });\n    listeners = null;\n  });\n  client.onMessage(function (message) {\n    listeners.data.forEach(function (handler) {\n      handler(message);\n    })\n  });\n  client.start(metadata);\n  return {\n    on: function (type, handler) {\n      listeners[type].push(handler);\n      return this;\n    },\n    write: function (requestMessage) {\n      client.send(requestMessage);\n      return this;\n    },\n    end: function () {\n      client.finishSend();\n    },\n    cancel: function () {\n      listeners = null;\n      client.close();\n    }\n  };\n};\n\nexports.WebRTCClient = WebRTCClient;\n\n","// source: billing-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.billing_api.BillingPlan', null, global);\ngoog.exportSymbol('proto.billing_api.BillingPlanQuota', null, global);\ngoog.exportSymbol('proto.billing_api.BillingSubscription', null, global);\ngoog.exportSymbol('proto.billing_api.GetAllPlansRequest', null, global);\ngoog.exportSymbol('proto.billing_api.GetAllPlansResponse', null, global);\ngoog.exportSymbol('proto.billing_api.GetSubscriptionRequest', null, global);\ngoog.exportSymbol('proto.billing_api.GetSubscriptionResponse', null, global);\ngoog.exportSymbol('proto.billing_api.UpdateSubscriptionRequest', null, global);\ngoog.exportSymbol('proto.billing_api.UpdateSubscriptionResponse', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.billing_api.BillingPlanQuota = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.billing_api.BillingPlanQuota, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.billing_api.BillingPlanQuota.displayName = 'proto.billing_api.BillingPlanQuota';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.billing_api.BillingPlan = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.billing_api.BillingPlan.repeatedFields_, null);\n};\ngoog.inherits(proto.billing_api.BillingPlan, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.billing_api.BillingPlan.displayName = 'proto.billing_api.BillingPlan';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.billing_api.BillingSubscription = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.billing_api.BillingSubscription, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.billing_api.BillingSubscription.displayName = 'proto.billing_api.BillingSubscription';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.billing_api.GetAllPlansRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.billing_api.GetAllPlansRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.billing_api.GetAllPlansRequest.displayName = 'proto.billing_api.GetAllPlansRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.billing_api.GetAllPlansResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.billing_api.GetAllPlansResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.billing_api.GetAllPlansResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.billing_api.GetAllPlansResponse.displayName = 'proto.billing_api.GetAllPlansResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.billing_api.GetSubscriptionRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.billing_api.GetSubscriptionRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.billing_api.GetSubscriptionRequest.displayName = 'proto.billing_api.GetSubscriptionRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.billing_api.GetSubscriptionResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.billing_api.GetSubscriptionResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.billing_api.GetSubscriptionResponse.displayName = 'proto.billing_api.GetSubscriptionResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.billing_api.UpdateSubscriptionRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.billing_api.UpdateSubscriptionRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.billing_api.UpdateSubscriptionRequest.displayName = 'proto.billing_api.UpdateSubscriptionRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.billing_api.UpdateSubscriptionResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.billing_api.UpdateSubscriptionResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.billing_api.UpdateSubscriptionResponse.displayName = 'proto.billing_api.UpdateSubscriptionResponse';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.billing_api.BillingPlanQuota.prototype.toObject = function(opt_includeInstance) {\n  return proto.billing_api.BillingPlanQuota.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.billing_api.BillingPlanQuota} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.billing_api.BillingPlanQuota.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    resourcetype: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    quotalimit: jspb.Message.getFieldWithDefault(msg, 3, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.billing_api.BillingPlanQuota}\n */\nproto.billing_api.BillingPlanQuota.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.billing_api.BillingPlanQuota;\n  return proto.billing_api.BillingPlanQuota.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.billing_api.BillingPlanQuota} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.billing_api.BillingPlanQuota}\n */\nproto.billing_api.BillingPlanQuota.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setResourcetype(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setQuotalimit(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.billing_api.BillingPlanQuota.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.billing_api.BillingPlanQuota.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.billing_api.BillingPlanQuota} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.billing_api.BillingPlanQuota.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getResourcetype();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getQuotalimit();\n  if (f !== 0) {\n    writer.writeInt64(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.billing_api.BillingPlanQuota.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.billing_api.BillingPlanQuota} returns this\n */\nproto.billing_api.BillingPlanQuota.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string resourceType = 2;\n * @return {string}\n */\nproto.billing_api.BillingPlanQuota.prototype.getResourcetype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.billing_api.BillingPlanQuota} returns this\n */\nproto.billing_api.BillingPlanQuota.prototype.setResourcetype = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional int64 quotaLimit = 3;\n * @return {number}\n */\nproto.billing_api.BillingPlanQuota.prototype.getQuotalimit = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.billing_api.BillingPlanQuota} returns this\n */\nproto.billing_api.BillingPlanQuota.prototype.setQuotalimit = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.billing_api.BillingPlan.repeatedFields_ = [12];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.billing_api.BillingPlan.prototype.toObject = function(opt_includeInstance) {\n  return proto.billing_api.BillingPlan.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.billing_api.BillingPlan} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.billing_api.BillingPlan.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    slug: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    isdefault: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),\n    isactive: jspb.Message.getBooleanFieldWithDefault(msg, 6, false),\n    sortorder: jspb.Message.getFieldWithDefault(msg, 7, 0),\n    pricemonthly: jspb.Message.getFieldWithDefault(msg, 8, 0),\n    priceyearly: jspb.Message.getFieldWithDefault(msg, 9, 0),\n    currency: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n    stripeurl: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n    quotasList: jspb.Message.toObjectList(msg.getQuotasList(),\n    proto.billing_api.BillingPlanQuota.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.billing_api.BillingPlan}\n */\nproto.billing_api.BillingPlan.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.billing_api.BillingPlan;\n  return proto.billing_api.BillingPlan.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.billing_api.BillingPlan} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.billing_api.BillingPlan}\n */\nproto.billing_api.BillingPlan.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setSlug(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 5:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIsdefault(value);\n      break;\n    case 6:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIsactive(value);\n      break;\n    case 7:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setSortorder(value);\n      break;\n    case 8:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setPricemonthly(value);\n      break;\n    case 9:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setPriceyearly(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCurrency(value);\n      break;\n    case 11:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStripeurl(value);\n      break;\n    case 12:\n      var value = new proto.billing_api.BillingPlanQuota;\n      reader.readMessage(value,proto.billing_api.BillingPlanQuota.deserializeBinaryFromReader);\n      msg.addQuotas(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.billing_api.BillingPlan.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.billing_api.BillingPlan.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.billing_api.BillingPlan} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.billing_api.BillingPlan.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getSlug();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getIsdefault();\n  if (f) {\n    writer.writeBool(\n      5,\n      f\n    );\n  }\n  f = message.getIsactive();\n  if (f) {\n    writer.writeBool(\n      6,\n      f\n    );\n  }\n  f = message.getSortorder();\n  if (f !== 0) {\n    writer.writeInt32(\n      7,\n      f\n    );\n  }\n  f = message.getPricemonthly();\n  if (f !== 0) {\n    writer.writeInt64(\n      8,\n      f\n    );\n  }\n  f = message.getPriceyearly();\n  if (f !== 0) {\n    writer.writeInt64(\n      9,\n      f\n    );\n  }\n  f = message.getCurrency();\n  if (f.length > 0) {\n    writer.writeString(\n      10,\n      f\n    );\n  }\n  f = message.getStripeurl();\n  if (f.length > 0) {\n    writer.writeString(\n      11,\n      f\n    );\n  }\n  f = message.getQuotasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      12,\n      f,\n      proto.billing_api.BillingPlanQuota.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.billing_api.BillingPlan.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.billing_api.BillingPlan} returns this\n */\nproto.billing_api.BillingPlan.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.billing_api.BillingPlan.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.billing_api.BillingPlan} returns this\n */\nproto.billing_api.BillingPlan.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string slug = 3;\n * @return {string}\n */\nproto.billing_api.BillingPlan.prototype.getSlug = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.billing_api.BillingPlan} returns this\n */\nproto.billing_api.BillingPlan.prototype.setSlug = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string description = 4;\n * @return {string}\n */\nproto.billing_api.BillingPlan.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.billing_api.BillingPlan} returns this\n */\nproto.billing_api.BillingPlan.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional bool isDefault = 5;\n * @return {boolean}\n */\nproto.billing_api.BillingPlan.prototype.getIsdefault = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.billing_api.BillingPlan} returns this\n */\nproto.billing_api.BillingPlan.prototype.setIsdefault = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 5, value);\n};\n\n\n/**\n * optional bool isActive = 6;\n * @return {boolean}\n */\nproto.billing_api.BillingPlan.prototype.getIsactive = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.billing_api.BillingPlan} returns this\n */\nproto.billing_api.BillingPlan.prototype.setIsactive = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 6, value);\n};\n\n\n/**\n * optional int32 sortOrder = 7;\n * @return {number}\n */\nproto.billing_api.BillingPlan.prototype.getSortorder = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.billing_api.BillingPlan} returns this\n */\nproto.billing_api.BillingPlan.prototype.setSortorder = function(value) {\n  return jspb.Message.setProto3IntField(this, 7, value);\n};\n\n\n/**\n * optional int64 priceMonthly = 8;\n * @return {number}\n */\nproto.billing_api.BillingPlan.prototype.getPricemonthly = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.billing_api.BillingPlan} returns this\n */\nproto.billing_api.BillingPlan.prototype.setPricemonthly = function(value) {\n  return jspb.Message.setProto3IntField(this, 8, value);\n};\n\n\n/**\n * optional int64 priceYearly = 9;\n * @return {number}\n */\nproto.billing_api.BillingPlan.prototype.getPriceyearly = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.billing_api.BillingPlan} returns this\n */\nproto.billing_api.BillingPlan.prototype.setPriceyearly = function(value) {\n  return jspb.Message.setProto3IntField(this, 9, value);\n};\n\n\n/**\n * optional string currency = 10;\n * @return {string}\n */\nproto.billing_api.BillingPlan.prototype.getCurrency = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.billing_api.BillingPlan} returns this\n */\nproto.billing_api.BillingPlan.prototype.setCurrency = function(value) {\n  return jspb.Message.setProto3StringField(this, 10, value);\n};\n\n\n/**\n * optional string stripeUrl = 11;\n * @return {string}\n */\nproto.billing_api.BillingPlan.prototype.getStripeurl = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.billing_api.BillingPlan} returns this\n */\nproto.billing_api.BillingPlan.prototype.setStripeurl = function(value) {\n  return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * repeated BillingPlanQuota quotas = 12;\n * @return {!Array<!proto.billing_api.BillingPlanQuota>}\n */\nproto.billing_api.BillingPlan.prototype.getQuotasList = function() {\n  return /** @type{!Array<!proto.billing_api.BillingPlanQuota>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.billing_api.BillingPlanQuota, 12));\n};\n\n\n/**\n * @param {!Array<!proto.billing_api.BillingPlanQuota>} value\n * @return {!proto.billing_api.BillingPlan} returns this\n*/\nproto.billing_api.BillingPlan.prototype.setQuotasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 12, value);\n};\n\n\n/**\n * @param {!proto.billing_api.BillingPlanQuota=} opt_value\n * @param {number=} opt_index\n * @return {!proto.billing_api.BillingPlanQuota}\n */\nproto.billing_api.BillingPlan.prototype.addQuotas = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 12, opt_value, proto.billing_api.BillingPlanQuota, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.billing_api.BillingPlan} returns this\n */\nproto.billing_api.BillingPlan.prototype.clearQuotasList = function() {\n  return this.setQuotasList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.billing_api.BillingSubscription.prototype.toObject = function(opt_includeInstance) {\n  return proto.billing_api.BillingSubscription.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.billing_api.BillingSubscription} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.billing_api.BillingSubscription.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    billingplanid: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    status: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    billinginterval: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    currentperiodstart: (f = msg.getCurrentperiodstart()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    currentperiodend: (f = msg.getCurrentperiodend()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    plan: (f = msg.getPlan()) && proto.billing_api.BillingPlan.toObject(includeInstance, f),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.billing_api.BillingSubscription}\n */\nproto.billing_api.BillingSubscription.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.billing_api.BillingSubscription;\n  return proto.billing_api.BillingSubscription.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.billing_api.BillingSubscription} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.billing_api.BillingSubscription}\n */\nproto.billing_api.BillingSubscription.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setBillingplanid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setBillinginterval(value);\n      break;\n    case 6:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCurrentperiodstart(value);\n      break;\n    case 7:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCurrentperiodend(value);\n      break;\n    case 8:\n      var value = new proto.billing_api.BillingPlan;\n      reader.readMessage(value,proto.billing_api.BillingPlan.deserializeBinaryFromReader);\n      msg.setPlan(value);\n      break;\n    case 9:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 10:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.billing_api.BillingSubscription.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.billing_api.BillingSubscription.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.billing_api.BillingSubscription} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.billing_api.BillingSubscription.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getBillingplanid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getBillinginterval();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getCurrentperiodstart();\n  if (f != null) {\n    writer.writeMessage(\n      6,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getCurrentperiodend();\n  if (f != null) {\n    writer.writeMessage(\n      7,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getPlan();\n  if (f != null) {\n    writer.writeMessage(\n      8,\n      f,\n      proto.billing_api.BillingPlan.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      9,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      10,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.billing_api.BillingSubscription.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.billing_api.BillingSubscription} returns this\n */\nproto.billing_api.BillingSubscription.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 organizationId = 2;\n * @return {string}\n */\nproto.billing_api.BillingSubscription.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.billing_api.BillingSubscription} returns this\n */\nproto.billing_api.BillingSubscription.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional uint64 billingPlanId = 3;\n * @return {string}\n */\nproto.billing_api.BillingSubscription.prototype.getBillingplanid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.billing_api.BillingSubscription} returns this\n */\nproto.billing_api.BillingSubscription.prototype.setBillingplanid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional string status = 4;\n * @return {string}\n */\nproto.billing_api.BillingSubscription.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.billing_api.BillingSubscription} returns this\n */\nproto.billing_api.BillingSubscription.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string billingInterval = 5;\n * @return {string}\n */\nproto.billing_api.BillingSubscription.prototype.getBillinginterval = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.billing_api.BillingSubscription} returns this\n */\nproto.billing_api.BillingSubscription.prototype.setBillinginterval = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp currentPeriodStart = 6;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.billing_api.BillingSubscription.prototype.getCurrentperiodstart = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 6));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.billing_api.BillingSubscription} returns this\n*/\nproto.billing_api.BillingSubscription.prototype.setCurrentperiodstart = function(value) {\n  return jspb.Message.setWrapperField(this, 6, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.billing_api.BillingSubscription} returns this\n */\nproto.billing_api.BillingSubscription.prototype.clearCurrentperiodstart = function() {\n  return this.setCurrentperiodstart(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.billing_api.BillingSubscription.prototype.hasCurrentperiodstart = function() {\n  return jspb.Message.getField(this, 6) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp currentPeriodEnd = 7;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.billing_api.BillingSubscription.prototype.getCurrentperiodend = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 7));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.billing_api.BillingSubscription} returns this\n*/\nproto.billing_api.BillingSubscription.prototype.setCurrentperiodend = function(value) {\n  return jspb.Message.setWrapperField(this, 7, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.billing_api.BillingSubscription} returns this\n */\nproto.billing_api.BillingSubscription.prototype.clearCurrentperiodend = function() {\n  return this.setCurrentperiodend(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.billing_api.BillingSubscription.prototype.hasCurrentperiodend = function() {\n  return jspb.Message.getField(this, 7) != null;\n};\n\n\n/**\n * optional BillingPlan plan = 8;\n * @return {?proto.billing_api.BillingPlan}\n */\nproto.billing_api.BillingSubscription.prototype.getPlan = function() {\n  return /** @type{?proto.billing_api.BillingPlan} */ (\n    jspb.Message.getWrapperField(this, proto.billing_api.BillingPlan, 8));\n};\n\n\n/**\n * @param {?proto.billing_api.BillingPlan|undefined} value\n * @return {!proto.billing_api.BillingSubscription} returns this\n*/\nproto.billing_api.BillingSubscription.prototype.setPlan = function(value) {\n  return jspb.Message.setWrapperField(this, 8, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.billing_api.BillingSubscription} returns this\n */\nproto.billing_api.BillingSubscription.prototype.clearPlan = function() {\n  return this.setPlan(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.billing_api.BillingSubscription.prototype.hasPlan = function() {\n  return jspb.Message.getField(this, 8) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 9;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.billing_api.BillingSubscription.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 9));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.billing_api.BillingSubscription} returns this\n*/\nproto.billing_api.BillingSubscription.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 9, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.billing_api.BillingSubscription} returns this\n */\nproto.billing_api.BillingSubscription.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.billing_api.BillingSubscription.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 9) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 10;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.billing_api.BillingSubscription.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 10));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.billing_api.BillingSubscription} returns this\n*/\nproto.billing_api.BillingSubscription.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 10, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.billing_api.BillingSubscription} returns this\n */\nproto.billing_api.BillingSubscription.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.billing_api.BillingSubscription.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 10) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.billing_api.GetAllPlansRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.billing_api.GetAllPlansRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.billing_api.GetAllPlansRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.billing_api.GetAllPlansRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.billing_api.GetAllPlansRequest}\n */\nproto.billing_api.GetAllPlansRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.billing_api.GetAllPlansRequest;\n  return proto.billing_api.GetAllPlansRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.billing_api.GetAllPlansRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.billing_api.GetAllPlansRequest}\n */\nproto.billing_api.GetAllPlansRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.billing_api.GetAllPlansRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.billing_api.GetAllPlansRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.billing_api.GetAllPlansRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.billing_api.GetAllPlansRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.billing_api.GetAllPlansResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.billing_api.GetAllPlansResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.billing_api.GetAllPlansResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.billing_api.GetAllPlansResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.billing_api.GetAllPlansResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.billing_api.BillingPlan.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.billing_api.GetAllPlansResponse}\n */\nproto.billing_api.GetAllPlansResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.billing_api.GetAllPlansResponse;\n  return proto.billing_api.GetAllPlansResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.billing_api.GetAllPlansResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.billing_api.GetAllPlansResponse}\n */\nproto.billing_api.GetAllPlansResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.billing_api.BillingPlan;\n      reader.readMessage(value,proto.billing_api.BillingPlan.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.billing_api.GetAllPlansResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.billing_api.GetAllPlansResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.billing_api.GetAllPlansResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.billing_api.GetAllPlansResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.billing_api.BillingPlan.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.billing_api.GetAllPlansResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.billing_api.GetAllPlansResponse} returns this\n */\nproto.billing_api.GetAllPlansResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.billing_api.GetAllPlansResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.billing_api.GetAllPlansResponse} returns this\n */\nproto.billing_api.GetAllPlansResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated BillingPlan data = 3;\n * @return {!Array<!proto.billing_api.BillingPlan>}\n */\nproto.billing_api.GetAllPlansResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.billing_api.BillingPlan>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.billing_api.BillingPlan, 3));\n};\n\n\n/**\n * @param {!Array<!proto.billing_api.BillingPlan>} value\n * @return {!proto.billing_api.GetAllPlansResponse} returns this\n*/\nproto.billing_api.GetAllPlansResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.billing_api.BillingPlan=} opt_value\n * @param {number=} opt_index\n * @return {!proto.billing_api.BillingPlan}\n */\nproto.billing_api.GetAllPlansResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.billing_api.BillingPlan, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.billing_api.GetAllPlansResponse} returns this\n */\nproto.billing_api.GetAllPlansResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.billing_api.GetAllPlansResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.billing_api.GetAllPlansResponse} returns this\n*/\nproto.billing_api.GetAllPlansResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.billing_api.GetAllPlansResponse} returns this\n */\nproto.billing_api.GetAllPlansResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.billing_api.GetAllPlansResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.billing_api.GetSubscriptionRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.billing_api.GetSubscriptionRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.billing_api.GetSubscriptionRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.billing_api.GetSubscriptionRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.billing_api.GetSubscriptionRequest}\n */\nproto.billing_api.GetSubscriptionRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.billing_api.GetSubscriptionRequest;\n  return proto.billing_api.GetSubscriptionRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.billing_api.GetSubscriptionRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.billing_api.GetSubscriptionRequest}\n */\nproto.billing_api.GetSubscriptionRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.billing_api.GetSubscriptionRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.billing_api.GetSubscriptionRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.billing_api.GetSubscriptionRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.billing_api.GetSubscriptionRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.billing_api.GetSubscriptionResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.billing_api.GetSubscriptionResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.billing_api.GetSubscriptionResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.billing_api.GetSubscriptionResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.billing_api.BillingSubscription.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.billing_api.GetSubscriptionResponse}\n */\nproto.billing_api.GetSubscriptionResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.billing_api.GetSubscriptionResponse;\n  return proto.billing_api.GetSubscriptionResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.billing_api.GetSubscriptionResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.billing_api.GetSubscriptionResponse}\n */\nproto.billing_api.GetSubscriptionResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.billing_api.BillingSubscription;\n      reader.readMessage(value,proto.billing_api.BillingSubscription.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.billing_api.GetSubscriptionResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.billing_api.GetSubscriptionResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.billing_api.GetSubscriptionResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.billing_api.GetSubscriptionResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.billing_api.BillingSubscription.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.billing_api.GetSubscriptionResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.billing_api.GetSubscriptionResponse} returns this\n */\nproto.billing_api.GetSubscriptionResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.billing_api.GetSubscriptionResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.billing_api.GetSubscriptionResponse} returns this\n */\nproto.billing_api.GetSubscriptionResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional BillingSubscription data = 3;\n * @return {?proto.billing_api.BillingSubscription}\n */\nproto.billing_api.GetSubscriptionResponse.prototype.getData = function() {\n  return /** @type{?proto.billing_api.BillingSubscription} */ (\n    jspb.Message.getWrapperField(this, proto.billing_api.BillingSubscription, 3));\n};\n\n\n/**\n * @param {?proto.billing_api.BillingSubscription|undefined} value\n * @return {!proto.billing_api.GetSubscriptionResponse} returns this\n*/\nproto.billing_api.GetSubscriptionResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.billing_api.GetSubscriptionResponse} returns this\n */\nproto.billing_api.GetSubscriptionResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.billing_api.GetSubscriptionResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.billing_api.GetSubscriptionResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.billing_api.GetSubscriptionResponse} returns this\n*/\nproto.billing_api.GetSubscriptionResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.billing_api.GetSubscriptionResponse} returns this\n */\nproto.billing_api.GetSubscriptionResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.billing_api.GetSubscriptionResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.billing_api.UpdateSubscriptionRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.billing_api.UpdateSubscriptionRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.billing_api.UpdateSubscriptionRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.billing_api.UpdateSubscriptionRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    planslug: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.billing_api.UpdateSubscriptionRequest}\n */\nproto.billing_api.UpdateSubscriptionRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.billing_api.UpdateSubscriptionRequest;\n  return proto.billing_api.UpdateSubscriptionRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.billing_api.UpdateSubscriptionRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.billing_api.UpdateSubscriptionRequest}\n */\nproto.billing_api.UpdateSubscriptionRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPlanslug(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.billing_api.UpdateSubscriptionRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.billing_api.UpdateSubscriptionRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.billing_api.UpdateSubscriptionRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.billing_api.UpdateSubscriptionRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPlanslug();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string planSlug = 1;\n * @return {string}\n */\nproto.billing_api.UpdateSubscriptionRequest.prototype.getPlanslug = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.billing_api.UpdateSubscriptionRequest} returns this\n */\nproto.billing_api.UpdateSubscriptionRequest.prototype.setPlanslug = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.billing_api.UpdateSubscriptionResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.billing_api.UpdateSubscriptionResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.billing_api.UpdateSubscriptionResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.billing_api.UpdateSubscriptionResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.billing_api.BillingSubscription.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.billing_api.UpdateSubscriptionResponse}\n */\nproto.billing_api.UpdateSubscriptionResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.billing_api.UpdateSubscriptionResponse;\n  return proto.billing_api.UpdateSubscriptionResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.billing_api.UpdateSubscriptionResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.billing_api.UpdateSubscriptionResponse}\n */\nproto.billing_api.UpdateSubscriptionResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.billing_api.BillingSubscription;\n      reader.readMessage(value,proto.billing_api.BillingSubscription.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.billing_api.UpdateSubscriptionResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.billing_api.UpdateSubscriptionResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.billing_api.UpdateSubscriptionResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.billing_api.UpdateSubscriptionResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.billing_api.BillingSubscription.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.billing_api.UpdateSubscriptionResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.billing_api.UpdateSubscriptionResponse} returns this\n */\nproto.billing_api.UpdateSubscriptionResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.billing_api.UpdateSubscriptionResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.billing_api.UpdateSubscriptionResponse} returns this\n */\nproto.billing_api.UpdateSubscriptionResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional BillingSubscription data = 3;\n * @return {?proto.billing_api.BillingSubscription}\n */\nproto.billing_api.UpdateSubscriptionResponse.prototype.getData = function() {\n  return /** @type{?proto.billing_api.BillingSubscription} */ (\n    jspb.Message.getWrapperField(this, proto.billing_api.BillingSubscription, 3));\n};\n\n\n/**\n * @param {?proto.billing_api.BillingSubscription|undefined} value\n * @return {!proto.billing_api.UpdateSubscriptionResponse} returns this\n*/\nproto.billing_api.UpdateSubscriptionResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.billing_api.UpdateSubscriptionResponse} returns this\n */\nproto.billing_api.UpdateSubscriptionResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.billing_api.UpdateSubscriptionResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.billing_api.UpdateSubscriptionResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.billing_api.UpdateSubscriptionResponse} returns this\n*/\nproto.billing_api.UpdateSubscriptionResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.billing_api.UpdateSubscriptionResponse} returns this\n */\nproto.billing_api.UpdateSubscriptionResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.billing_api.UpdateSubscriptionResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\ngoog.object.extend(exports, proto.billing_api);\n","// package: billing_api\n// file: billing-api.proto\n\nvar billing_api_pb = require(\"./billing-api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar BillingService = (function () {\n  function BillingService() {}\n  BillingService.serviceName = \"billing_api.BillingService\";\n  return BillingService;\n}());\n\nBillingService.GetAllPlans = {\n  methodName: \"GetAllPlans\",\n  service: BillingService,\n  requestStream: false,\n  responseStream: false,\n  requestType: billing_api_pb.GetAllPlansRequest,\n  responseType: billing_api_pb.GetAllPlansResponse\n};\n\nBillingService.GetSubscription = {\n  methodName: \"GetSubscription\",\n  service: BillingService,\n  requestStream: false,\n  responseStream: false,\n  requestType: billing_api_pb.GetSubscriptionRequest,\n  responseType: billing_api_pb.GetSubscriptionResponse\n};\n\nBillingService.UpdateSubscription = {\n  methodName: \"UpdateSubscription\",\n  service: BillingService,\n  requestStream: false,\n  responseStream: false,\n  requestType: billing_api_pb.UpdateSubscriptionRequest,\n  responseType: billing_api_pb.UpdateSubscriptionResponse\n};\n\nexports.BillingService = BillingService;\n\nfunction BillingServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nBillingServiceClient.prototype.getAllPlans = function getAllPlans(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(BillingService.GetAllPlans, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nBillingServiceClient.prototype.getSubscription = function getSubscription(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(BillingService.GetSubscription, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nBillingServiceClient.prototype.updateSubscription = function updateSubscription(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(BillingService.UpdateSubscription, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.BillingServiceClient = BillingServiceClient;\n\n","// source: integration-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\nvar google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js');\ngoog.object.extend(proto, google_protobuf_struct_pb);\nvar google_protobuf_any_pb = require('google-protobuf/google/protobuf/any_pb.js');\ngoog.object.extend(proto, google_protobuf_any_pb);\ngoog.exportSymbol('proto.integration_api.ChatRequest', null, global);\ngoog.exportSymbol('proto.integration_api.ChatResponse', null, global);\ngoog.exportSymbol('proto.integration_api.Credential', null, global);\ngoog.exportSymbol('proto.integration_api.Embedding', null, global);\ngoog.exportSymbol('proto.integration_api.EmbeddingRequest', null, global);\ngoog.exportSymbol('proto.integration_api.EmbeddingResponse', null, global);\ngoog.exportSymbol('proto.integration_api.FunctionDefinition', null, global);\ngoog.exportSymbol('proto.integration_api.FunctionParameter', null, global);\ngoog.exportSymbol('proto.integration_api.FunctionParameterProperty', null, global);\ngoog.exportSymbol('proto.integration_api.GetModerationRequest', null, global);\ngoog.exportSymbol('proto.integration_api.GetModerationResponse', null, global);\ngoog.exportSymbol('proto.integration_api.Moderation', null, global);\ngoog.exportSymbol('proto.integration_api.Reranking', null, global);\ngoog.exportSymbol('proto.integration_api.RerankingRequest', null, global);\ngoog.exportSymbol('proto.integration_api.RerankingResponse', null, global);\ngoog.exportSymbol('proto.integration_api.StreamChatClose', null, global);\ngoog.exportSymbol('proto.integration_api.StreamChatConfiguration', null, global);\ngoog.exportSymbol('proto.integration_api.StreamChatConfigured', null, global);\ngoog.exportSymbol('proto.integration_api.StreamChatInput', null, global);\ngoog.exportSymbol('proto.integration_api.StreamChatOutput', null, global);\ngoog.exportSymbol('proto.integration_api.StreamChatRequest', null, global);\ngoog.exportSymbol('proto.integration_api.StreamChatRequest.RequestCase', null, global);\ngoog.exportSymbol('proto.integration_api.StreamChatResponse', null, global);\ngoog.exportSymbol('proto.integration_api.StreamChatResponse.ResponseCase', null, global);\ngoog.exportSymbol('proto.integration_api.ToolDefinition', null, global);\ngoog.exportSymbol('proto.integration_api.VerifyCredentialRequest', null, global);\ngoog.exportSymbol('proto.integration_api.VerifyCredentialResponse', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.Credential = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.Credential, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.Credential.displayName = 'proto.integration_api.Credential';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.ToolDefinition = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.ToolDefinition, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.ToolDefinition.displayName = 'proto.integration_api.ToolDefinition';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.FunctionDefinition = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.FunctionDefinition, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.FunctionDefinition.displayName = 'proto.integration_api.FunctionDefinition';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.FunctionParameter = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.FunctionParameter.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.FunctionParameter, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.FunctionParameter.displayName = 'proto.integration_api.FunctionParameter';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.FunctionParameterProperty = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.FunctionParameterProperty.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.FunctionParameterProperty, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.FunctionParameterProperty.displayName = 'proto.integration_api.FunctionParameterProperty';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.Embedding = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.Embedding.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.Embedding, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.Embedding.displayName = 'proto.integration_api.Embedding';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.EmbeddingRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.EmbeddingRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.EmbeddingRequest.displayName = 'proto.integration_api.EmbeddingRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.EmbeddingResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.EmbeddingResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.EmbeddingResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.EmbeddingResponse.displayName = 'proto.integration_api.EmbeddingResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.Reranking = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.Reranking, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.Reranking.displayName = 'proto.integration_api.Reranking';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.RerankingRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.RerankingRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.RerankingRequest.displayName = 'proto.integration_api.RerankingRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.RerankingResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.RerankingResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.RerankingResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.RerankingResponse.displayName = 'proto.integration_api.RerankingResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.ChatResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.ChatResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.ChatResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.ChatResponse.displayName = 'proto.integration_api.ChatResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.ChatRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.ChatRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.ChatRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.ChatRequest.displayName = 'proto.integration_api.ChatRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.StreamChatConfiguration = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.StreamChatConfiguration, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.StreamChatConfiguration.displayName = 'proto.integration_api.StreamChatConfiguration';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.StreamChatConfigured = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.StreamChatConfigured, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.StreamChatConfigured.displayName = 'proto.integration_api.StreamChatConfigured';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.StreamChatInput = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.StreamChatInput.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.StreamChatInput, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.StreamChatInput.displayName = 'proto.integration_api.StreamChatInput';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.StreamChatOutput = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.StreamChatOutput.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.StreamChatOutput, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.StreamChatOutput.displayName = 'proto.integration_api.StreamChatOutput';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.StreamChatClose = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.StreamChatClose, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.StreamChatClose.displayName = 'proto.integration_api.StreamChatClose';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.StreamChatRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.integration_api.StreamChatRequest.oneofGroups_);\n};\ngoog.inherits(proto.integration_api.StreamChatRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.StreamChatRequest.displayName = 'proto.integration_api.StreamChatRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.StreamChatResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.integration_api.StreamChatResponse.oneofGroups_);\n};\ngoog.inherits(proto.integration_api.StreamChatResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.StreamChatResponse.displayName = 'proto.integration_api.StreamChatResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.VerifyCredentialRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.VerifyCredentialRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.VerifyCredentialRequest.displayName = 'proto.integration_api.VerifyCredentialRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.VerifyCredentialResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.VerifyCredentialResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.VerifyCredentialResponse.displayName = 'proto.integration_api.VerifyCredentialResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.Moderation = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.Moderation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.Moderation.displayName = 'proto.integration_api.Moderation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.GetModerationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.GetModerationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.GetModerationRequest.displayName = 'proto.integration_api.GetModerationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.GetModerationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.GetModerationResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.GetModerationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.GetModerationResponse.displayName = 'proto.integration_api.GetModerationResponse';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.Credential.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.Credential.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.Credential} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.Credential.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    value: (f = msg.getValue()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.Credential}\n */\nproto.integration_api.Credential.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.Credential;\n  return proto.integration_api.Credential.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.Credential} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.Credential}\n */\nproto.integration_api.Credential.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setValue(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.Credential.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.Credential.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.Credential} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.Credential.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getValue();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.integration_api.Credential.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.Credential} returns this\n */\nproto.integration_api.Credential.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional google.protobuf.Struct value = 2;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.integration_api.Credential.prototype.getValue = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 2));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.integration_api.Credential} returns this\n*/\nproto.integration_api.Credential.prototype.setValue = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.Credential} returns this\n */\nproto.integration_api.Credential.prototype.clearValue = function() {\n  return this.setValue(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.Credential.prototype.hasValue = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.ToolDefinition.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.ToolDefinition.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.ToolDefinition} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.ToolDefinition.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    type: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    functiondefinition: (f = msg.getFunctiondefinition()) && proto.integration_api.FunctionDefinition.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.ToolDefinition}\n */\nproto.integration_api.ToolDefinition.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.ToolDefinition;\n  return proto.integration_api.ToolDefinition.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.ToolDefinition} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.ToolDefinition}\n */\nproto.integration_api.ToolDefinition.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setType(value);\n      break;\n    case 2:\n      var value = new proto.integration_api.FunctionDefinition;\n      reader.readMessage(value,proto.integration_api.FunctionDefinition.deserializeBinaryFromReader);\n      msg.setFunctiondefinition(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.ToolDefinition.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.ToolDefinition.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.ToolDefinition} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.ToolDefinition.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getType();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getFunctiondefinition();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.integration_api.FunctionDefinition.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string type = 1;\n * @return {string}\n */\nproto.integration_api.ToolDefinition.prototype.getType = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.ToolDefinition} returns this\n */\nproto.integration_api.ToolDefinition.prototype.setType = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional FunctionDefinition functionDefinition = 2;\n * @return {?proto.integration_api.FunctionDefinition}\n */\nproto.integration_api.ToolDefinition.prototype.getFunctiondefinition = function() {\n  return /** @type{?proto.integration_api.FunctionDefinition} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.FunctionDefinition, 2));\n};\n\n\n/**\n * @param {?proto.integration_api.FunctionDefinition|undefined} value\n * @return {!proto.integration_api.ToolDefinition} returns this\n*/\nproto.integration_api.ToolDefinition.prototype.setFunctiondefinition = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.ToolDefinition} returns this\n */\nproto.integration_api.ToolDefinition.prototype.clearFunctiondefinition = function() {\n  return this.setFunctiondefinition(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.ToolDefinition.prototype.hasFunctiondefinition = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.FunctionDefinition.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.FunctionDefinition.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.FunctionDefinition} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.FunctionDefinition.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    name: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    parameters: (f = msg.getParameters()) && proto.integration_api.FunctionParameter.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.FunctionDefinition}\n */\nproto.integration_api.FunctionDefinition.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.FunctionDefinition;\n  return proto.integration_api.FunctionDefinition.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.FunctionDefinition} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.FunctionDefinition}\n */\nproto.integration_api.FunctionDefinition.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 3:\n      var value = new proto.integration_api.FunctionParameter;\n      reader.readMessage(value,proto.integration_api.FunctionParameter.deserializeBinaryFromReader);\n      msg.setParameters(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.FunctionDefinition.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.FunctionDefinition.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.FunctionDefinition} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.FunctionDefinition.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getParameters();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.integration_api.FunctionParameter.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.integration_api.FunctionDefinition.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.FunctionDefinition} returns this\n */\nproto.integration_api.FunctionDefinition.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string description = 2;\n * @return {string}\n */\nproto.integration_api.FunctionDefinition.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.FunctionDefinition} returns this\n */\nproto.integration_api.FunctionDefinition.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional FunctionParameter parameters = 3;\n * @return {?proto.integration_api.FunctionParameter}\n */\nproto.integration_api.FunctionDefinition.prototype.getParameters = function() {\n  return /** @type{?proto.integration_api.FunctionParameter} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.FunctionParameter, 3));\n};\n\n\n/**\n * @param {?proto.integration_api.FunctionParameter|undefined} value\n * @return {!proto.integration_api.FunctionDefinition} returns this\n*/\nproto.integration_api.FunctionDefinition.prototype.setParameters = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.FunctionDefinition} returns this\n */\nproto.integration_api.FunctionDefinition.prototype.clearParameters = function() {\n  return this.setParameters(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.FunctionDefinition.prototype.hasParameters = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.FunctionParameter.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.FunctionParameter.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.FunctionParameter.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.FunctionParameter} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.FunctionParameter.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    requiredList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n    type: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    propertiesMap: (f = msg.getPropertiesMap()) ? f.toObject(includeInstance, proto.integration_api.FunctionParameterProperty.toObject) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.FunctionParameter}\n */\nproto.integration_api.FunctionParameter.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.FunctionParameter;\n  return proto.integration_api.FunctionParameter.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.FunctionParameter} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.FunctionParameter}\n */\nproto.integration_api.FunctionParameter.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addRequired(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setType(value);\n      break;\n    case 3:\n      var value = msg.getPropertiesMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.integration_api.FunctionParameterProperty.deserializeBinaryFromReader, \"\", new proto.integration_api.FunctionParameterProperty());\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.FunctionParameter.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.FunctionParameter.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.FunctionParameter} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.FunctionParameter.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getRequiredList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      1,\n      f\n    );\n  }\n  f = message.getType();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getPropertiesMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(3, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.integration_api.FunctionParameterProperty.serializeBinaryToWriter);\n  }\n};\n\n\n/**\n * repeated string required = 1;\n * @return {!Array<string>}\n */\nproto.integration_api.FunctionParameter.prototype.getRequiredList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.integration_api.FunctionParameter} returns this\n */\nproto.integration_api.FunctionParameter.prototype.setRequiredList = function(value) {\n  return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.integration_api.FunctionParameter} returns this\n */\nproto.integration_api.FunctionParameter.prototype.addRequired = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.FunctionParameter} returns this\n */\nproto.integration_api.FunctionParameter.prototype.clearRequiredList = function() {\n  return this.setRequiredList([]);\n};\n\n\n/**\n * optional string type = 2;\n * @return {string}\n */\nproto.integration_api.FunctionParameter.prototype.getType = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.FunctionParameter} returns this\n */\nproto.integration_api.FunctionParameter.prototype.setType = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * map<string, FunctionParameterProperty> properties = 3;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.integration_api.FunctionParameterProperty>}\n */\nproto.integration_api.FunctionParameter.prototype.getPropertiesMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.integration_api.FunctionParameterProperty>} */ (\n      jspb.Message.getMapField(this, 3, opt_noLazyCreate,\n      proto.integration_api.FunctionParameterProperty));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.FunctionParameter} returns this\n */\nproto.integration_api.FunctionParameter.prototype.clearPropertiesMap = function() {\n  this.getPropertiesMap().clear();\n  return this;};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.FunctionParameterProperty.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.FunctionParameterProperty.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.FunctionParameterProperty.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.FunctionParameterProperty} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.FunctionParameterProperty.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    type: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    enumList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,\n    items: (f = msg.getItems()) && proto.integration_api.FunctionParameter.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.FunctionParameterProperty}\n */\nproto.integration_api.FunctionParameterProperty.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.FunctionParameterProperty;\n  return proto.integration_api.FunctionParameterProperty.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.FunctionParameterProperty} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.FunctionParameterProperty}\n */\nproto.integration_api.FunctionParameterProperty.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setType(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addEnum(value);\n      break;\n    case 4:\n      var value = new proto.integration_api.FunctionParameter;\n      reader.readMessage(value,proto.integration_api.FunctionParameter.deserializeBinaryFromReader);\n      msg.setItems(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.FunctionParameterProperty.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.FunctionParameterProperty.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.FunctionParameterProperty} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.FunctionParameterProperty.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getType();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getEnumList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      3,\n      f\n    );\n  }\n  f = message.getItems();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.integration_api.FunctionParameter.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string type = 1;\n * @return {string}\n */\nproto.integration_api.FunctionParameterProperty.prototype.getType = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.FunctionParameterProperty} returns this\n */\nproto.integration_api.FunctionParameterProperty.prototype.setType = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string description = 2;\n * @return {string}\n */\nproto.integration_api.FunctionParameterProperty.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.FunctionParameterProperty} returns this\n */\nproto.integration_api.FunctionParameterProperty.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * repeated string enum = 3;\n * @return {!Array<string>}\n */\nproto.integration_api.FunctionParameterProperty.prototype.getEnumList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.integration_api.FunctionParameterProperty} returns this\n */\nproto.integration_api.FunctionParameterProperty.prototype.setEnumList = function(value) {\n  return jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.integration_api.FunctionParameterProperty} returns this\n */\nproto.integration_api.FunctionParameterProperty.prototype.addEnum = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.FunctionParameterProperty} returns this\n */\nproto.integration_api.FunctionParameterProperty.prototype.clearEnumList = function() {\n  return this.setEnumList([]);\n};\n\n\n/**\n * optional FunctionParameter items = 4;\n * @return {?proto.integration_api.FunctionParameter}\n */\nproto.integration_api.FunctionParameterProperty.prototype.getItems = function() {\n  return /** @type{?proto.integration_api.FunctionParameter} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.FunctionParameter, 4));\n};\n\n\n/**\n * @param {?proto.integration_api.FunctionParameter|undefined} value\n * @return {!proto.integration_api.FunctionParameterProperty} returns this\n*/\nproto.integration_api.FunctionParameterProperty.prototype.setItems = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.FunctionParameterProperty} returns this\n */\nproto.integration_api.FunctionParameterProperty.prototype.clearItems = function() {\n  return this.setItems(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.FunctionParameterProperty.prototype.hasItems = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.Embedding.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.Embedding.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.Embedding.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.Embedding} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.Embedding.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    index: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    embeddingList: (f = jspb.Message.getRepeatedFloatingPointField(msg, 2)) == null ? undefined : f,\n    base64: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.Embedding}\n */\nproto.integration_api.Embedding.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.Embedding;\n  return proto.integration_api.Embedding.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.Embedding} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.Embedding}\n */\nproto.integration_api.Embedding.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setIndex(value);\n      break;\n    case 2:\n      var values = /** @type {!Array<number>} */ (reader.isDelimited() ? reader.readPackedDouble() : [reader.readDouble()]);\n      for (var i = 0; i < values.length; i++) {\n        msg.addEmbedding(values[i]);\n      }\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setBase64(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.Embedding.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.Embedding.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.Embedding} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.Embedding.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getIndex();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getEmbeddingList();\n  if (f.length > 0) {\n    writer.writePackedDouble(\n      2,\n      f\n    );\n  }\n  f = message.getBase64();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 index = 1;\n * @return {number}\n */\nproto.integration_api.Embedding.prototype.getIndex = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.Embedding} returns this\n */\nproto.integration_api.Embedding.prototype.setIndex = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * repeated double embedding = 2;\n * @return {!Array<number>}\n */\nproto.integration_api.Embedding.prototype.getEmbeddingList = function() {\n  return /** @type {!Array<number>} */ (jspb.Message.getRepeatedFloatingPointField(this, 2));\n};\n\n\n/**\n * @param {!Array<number>} value\n * @return {!proto.integration_api.Embedding} returns this\n */\nproto.integration_api.Embedding.prototype.setEmbeddingList = function(value) {\n  return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.integration_api.Embedding} returns this\n */\nproto.integration_api.Embedding.prototype.addEmbedding = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.Embedding} returns this\n */\nproto.integration_api.Embedding.prototype.clearEmbeddingList = function() {\n  return this.setEmbeddingList([]);\n};\n\n\n/**\n * optional string base64 = 3;\n * @return {string}\n */\nproto.integration_api.Embedding.prototype.getBase64 = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.Embedding} returns this\n */\nproto.integration_api.Embedding.prototype.setBase64 = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.EmbeddingRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.EmbeddingRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.EmbeddingRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.EmbeddingRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    credential: (f = msg.getCredential()) && proto.integration_api.Credential.toObject(includeInstance, f),\n    contentMap: (f = msg.getContentMap()) ? f.toObject(includeInstance, undefined) : [],\n    modelparametersMap: (f = msg.getModelparametersMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : [],\n    additionaldataMap: (f = msg.getAdditionaldataMap()) ? f.toObject(includeInstance, undefined) : [],\n    providername: jspb.Message.getFieldWithDefault(msg, 7, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.EmbeddingRequest}\n */\nproto.integration_api.EmbeddingRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.EmbeddingRequest;\n  return proto.integration_api.EmbeddingRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.EmbeddingRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.EmbeddingRequest}\n */\nproto.integration_api.EmbeddingRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.integration_api.Credential;\n      reader.readMessage(value,proto.integration_api.Credential.deserializeBinaryFromReader);\n      msg.setCredential(value);\n      break;\n    case 4:\n      var value = msg.getContentMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readInt32, jspb.BinaryReader.prototype.readString, null, 0, \"\");\n         });\n      break;\n    case 5:\n      var value = msg.getModelparametersMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    case 6:\n      var value = msg.getAdditionaldataMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProvidername(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.EmbeddingRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.EmbeddingRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.EmbeddingRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.EmbeddingRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCredential();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.integration_api.Credential.serializeBinaryToWriter\n    );\n  }\n  f = message.getContentMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(4, writer, jspb.BinaryWriter.prototype.writeInt32, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getModelparametersMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(5, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n  f = message.getAdditionaldataMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(6, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getProvidername();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Credential credential = 1;\n * @return {?proto.integration_api.Credential}\n */\nproto.integration_api.EmbeddingRequest.prototype.getCredential = function() {\n  return /** @type{?proto.integration_api.Credential} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.Credential, 1));\n};\n\n\n/**\n * @param {?proto.integration_api.Credential|undefined} value\n * @return {!proto.integration_api.EmbeddingRequest} returns this\n*/\nproto.integration_api.EmbeddingRequest.prototype.setCredential = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.EmbeddingRequest} returns this\n */\nproto.integration_api.EmbeddingRequest.prototype.clearCredential = function() {\n  return this.setCredential(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.EmbeddingRequest.prototype.hasCredential = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * map<int32, string> content = 4;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<number,string>}\n */\nproto.integration_api.EmbeddingRequest.prototype.getContentMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<number,string>} */ (\n      jspb.Message.getMapField(this, 4, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.EmbeddingRequest} returns this\n */\nproto.integration_api.EmbeddingRequest.prototype.clearContentMap = function() {\n  this.getContentMap().clear();\n  return this;};\n\n\n/**\n * map<string, google.protobuf.Any> modelParameters = 5;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.integration_api.EmbeddingRequest.prototype.getModelparametersMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 5, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.EmbeddingRequest} returns this\n */\nproto.integration_api.EmbeddingRequest.prototype.clearModelparametersMap = function() {\n  this.getModelparametersMap().clear();\n  return this;};\n\n\n/**\n * map<string, string> additionalData = 6;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.integration_api.EmbeddingRequest.prototype.getAdditionaldataMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 6, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.EmbeddingRequest} returns this\n */\nproto.integration_api.EmbeddingRequest.prototype.clearAdditionaldataMap = function() {\n  this.getAdditionaldataMap().clear();\n  return this;};\n\n\n/**\n * optional string providerName = 7;\n * @return {string}\n */\nproto.integration_api.EmbeddingRequest.prototype.getProvidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.EmbeddingRequest} returns this\n */\nproto.integration_api.EmbeddingRequest.prototype.setProvidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.EmbeddingResponse.repeatedFields_ = [4,6];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.EmbeddingResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.EmbeddingResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.EmbeddingResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.EmbeddingResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    requestid: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.integration_api.Embedding.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    metricsList: jspb.Message.toObjectList(msg.getMetricsList(),\n    common_pb.Metric.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.EmbeddingResponse}\n */\nproto.integration_api.EmbeddingResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.EmbeddingResponse;\n  return proto.integration_api.EmbeddingResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.EmbeddingResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.EmbeddingResponse}\n */\nproto.integration_api.EmbeddingResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setRequestid(value);\n      break;\n    case 4:\n      var value = new proto.integration_api.Embedding;\n      reader.readMessage(value,proto.integration_api.Embedding.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 5:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 6:\n      var value = new common_pb.Metric;\n      reader.readMessage(value,common_pb.Metric.deserializeBinaryFromReader);\n      msg.addMetrics(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.EmbeddingResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.EmbeddingResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.EmbeddingResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.EmbeddingResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getRequestid();\n  if (f !== 0) {\n    writer.writeUint64(\n      3,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      proto.integration_api.Embedding.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getMetricsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      6,\n      f,\n      common_pb.Metric.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.integration_api.EmbeddingResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.EmbeddingResponse} returns this\n */\nproto.integration_api.EmbeddingResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.EmbeddingResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.EmbeddingResponse} returns this\n */\nproto.integration_api.EmbeddingResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional uint64 requestId = 3;\n * @return {number}\n */\nproto.integration_api.EmbeddingResponse.prototype.getRequestid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.EmbeddingResponse} returns this\n */\nproto.integration_api.EmbeddingResponse.prototype.setRequestid = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * repeated Embedding data = 4;\n * @return {!Array<!proto.integration_api.Embedding>}\n */\nproto.integration_api.EmbeddingResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.integration_api.Embedding>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.integration_api.Embedding, 4));\n};\n\n\n/**\n * @param {!Array<!proto.integration_api.Embedding>} value\n * @return {!proto.integration_api.EmbeddingResponse} returns this\n*/\nproto.integration_api.EmbeddingResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.integration_api.Embedding=} opt_value\n * @param {number=} opt_index\n * @return {!proto.integration_api.Embedding}\n */\nproto.integration_api.EmbeddingResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.integration_api.Embedding, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.EmbeddingResponse} returns this\n */\nproto.integration_api.EmbeddingResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 5;\n * @return {?proto.Error}\n */\nproto.integration_api.EmbeddingResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 5));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.integration_api.EmbeddingResponse} returns this\n*/\nproto.integration_api.EmbeddingResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.EmbeddingResponse} returns this\n */\nproto.integration_api.EmbeddingResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.EmbeddingResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * repeated Metric metrics = 6;\n * @return {!Array<!proto.Metric>}\n */\nproto.integration_api.EmbeddingResponse.prototype.getMetricsList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metric, 6));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.integration_api.EmbeddingResponse} returns this\n*/\nproto.integration_api.EmbeddingResponse.prototype.setMetricsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 6, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.integration_api.EmbeddingResponse.prototype.addMetrics = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.EmbeddingResponse} returns this\n */\nproto.integration_api.EmbeddingResponse.prototype.clearMetricsList = function() {\n  return this.setMetricsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.Reranking.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.Reranking.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.Reranking} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.Reranking.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    index: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    content: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    relevancescore: jspb.Message.getFloatingPointFieldWithDefault(msg, 3, 0.0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.Reranking}\n */\nproto.integration_api.Reranking.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.Reranking;\n  return proto.integration_api.Reranking.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.Reranking} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.Reranking}\n */\nproto.integration_api.Reranking.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setIndex(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setContent(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readDouble());\n      msg.setRelevancescore(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.Reranking.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.Reranking.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.Reranking} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.Reranking.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getIndex();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getContent();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getRelevancescore();\n  if (f !== 0.0) {\n    writer.writeDouble(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 index = 1;\n * @return {number}\n */\nproto.integration_api.Reranking.prototype.getIndex = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.Reranking} returns this\n */\nproto.integration_api.Reranking.prototype.setIndex = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string content = 2;\n * @return {string}\n */\nproto.integration_api.Reranking.prototype.getContent = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.Reranking} returns this\n */\nproto.integration_api.Reranking.prototype.setContent = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional double relevanceScore = 3;\n * @return {number}\n */\nproto.integration_api.Reranking.prototype.getRelevancescore = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 3, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.Reranking} returns this\n */\nproto.integration_api.Reranking.prototype.setRelevancescore = function(value) {\n  return jspb.Message.setProto3FloatField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.RerankingRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.RerankingRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.RerankingRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.RerankingRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    credential: (f = msg.getCredential()) && proto.integration_api.Credential.toObject(includeInstance, f),\n    query: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    contentMap: (f = msg.getContentMap()) ? f.toObject(includeInstance, undefined) : [],\n    modelparametersMap: (f = msg.getModelparametersMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : [],\n    additionaldataMap: (f = msg.getAdditionaldataMap()) ? f.toObject(includeInstance, undefined) : [],\n    providername: jspb.Message.getFieldWithDefault(msg, 8, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.RerankingRequest}\n */\nproto.integration_api.RerankingRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.RerankingRequest;\n  return proto.integration_api.RerankingRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.RerankingRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.RerankingRequest}\n */\nproto.integration_api.RerankingRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.integration_api.Credential;\n      reader.readMessage(value,proto.integration_api.Credential.deserializeBinaryFromReader);\n      msg.setCredential(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setQuery(value);\n      break;\n    case 5:\n      var value = msg.getContentMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readInt32, jspb.BinaryReader.prototype.readString, null, 0, \"\");\n         });\n      break;\n    case 6:\n      var value = msg.getModelparametersMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    case 7:\n      var value = msg.getAdditionaldataMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProvidername(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.RerankingRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.RerankingRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.RerankingRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.RerankingRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCredential();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.integration_api.Credential.serializeBinaryToWriter\n    );\n  }\n  f = message.getQuery();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getContentMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(5, writer, jspb.BinaryWriter.prototype.writeInt32, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getModelparametersMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(6, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n  f = message.getAdditionaldataMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(7, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getProvidername();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Credential credential = 1;\n * @return {?proto.integration_api.Credential}\n */\nproto.integration_api.RerankingRequest.prototype.getCredential = function() {\n  return /** @type{?proto.integration_api.Credential} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.Credential, 1));\n};\n\n\n/**\n * @param {?proto.integration_api.Credential|undefined} value\n * @return {!proto.integration_api.RerankingRequest} returns this\n*/\nproto.integration_api.RerankingRequest.prototype.setCredential = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.RerankingRequest} returns this\n */\nproto.integration_api.RerankingRequest.prototype.clearCredential = function() {\n  return this.setCredential(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.RerankingRequest.prototype.hasCredential = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string query = 4;\n * @return {string}\n */\nproto.integration_api.RerankingRequest.prototype.getQuery = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.RerankingRequest} returns this\n */\nproto.integration_api.RerankingRequest.prototype.setQuery = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * map<int32, string> content = 5;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<number,string>}\n */\nproto.integration_api.RerankingRequest.prototype.getContentMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<number,string>} */ (\n      jspb.Message.getMapField(this, 5, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.RerankingRequest} returns this\n */\nproto.integration_api.RerankingRequest.prototype.clearContentMap = function() {\n  this.getContentMap().clear();\n  return this;};\n\n\n/**\n * map<string, google.protobuf.Any> modelParameters = 6;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.integration_api.RerankingRequest.prototype.getModelparametersMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 6, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.RerankingRequest} returns this\n */\nproto.integration_api.RerankingRequest.prototype.clearModelparametersMap = function() {\n  this.getModelparametersMap().clear();\n  return this;};\n\n\n/**\n * map<string, string> additionalData = 7;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.integration_api.RerankingRequest.prototype.getAdditionaldataMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 7, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.RerankingRequest} returns this\n */\nproto.integration_api.RerankingRequest.prototype.clearAdditionaldataMap = function() {\n  this.getAdditionaldataMap().clear();\n  return this;};\n\n\n/**\n * optional string providerName = 8;\n * @return {string}\n */\nproto.integration_api.RerankingRequest.prototype.getProvidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.RerankingRequest} returns this\n */\nproto.integration_api.RerankingRequest.prototype.setProvidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.RerankingResponse.repeatedFields_ = [4,6];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.RerankingResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.RerankingResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.RerankingResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.RerankingResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    requestid: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.integration_api.Reranking.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    metricsList: jspb.Message.toObjectList(msg.getMetricsList(),\n    common_pb.Metric.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.RerankingResponse}\n */\nproto.integration_api.RerankingResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.RerankingResponse;\n  return proto.integration_api.RerankingResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.RerankingResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.RerankingResponse}\n */\nproto.integration_api.RerankingResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setRequestid(value);\n      break;\n    case 4:\n      var value = new proto.integration_api.Reranking;\n      reader.readMessage(value,proto.integration_api.Reranking.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 5:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 6:\n      var value = new common_pb.Metric;\n      reader.readMessage(value,common_pb.Metric.deserializeBinaryFromReader);\n      msg.addMetrics(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.RerankingResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.RerankingResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.RerankingResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.RerankingResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getRequestid();\n  if (f !== 0) {\n    writer.writeUint64(\n      3,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      proto.integration_api.Reranking.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getMetricsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      6,\n      f,\n      common_pb.Metric.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.integration_api.RerankingResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.RerankingResponse} returns this\n */\nproto.integration_api.RerankingResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.RerankingResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.RerankingResponse} returns this\n */\nproto.integration_api.RerankingResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional uint64 requestId = 3;\n * @return {number}\n */\nproto.integration_api.RerankingResponse.prototype.getRequestid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.RerankingResponse} returns this\n */\nproto.integration_api.RerankingResponse.prototype.setRequestid = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * repeated Reranking data = 4;\n * @return {!Array<!proto.integration_api.Reranking>}\n */\nproto.integration_api.RerankingResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.integration_api.Reranking>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.integration_api.Reranking, 4));\n};\n\n\n/**\n * @param {!Array<!proto.integration_api.Reranking>} value\n * @return {!proto.integration_api.RerankingResponse} returns this\n*/\nproto.integration_api.RerankingResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.integration_api.Reranking=} opt_value\n * @param {number=} opt_index\n * @return {!proto.integration_api.Reranking}\n */\nproto.integration_api.RerankingResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.integration_api.Reranking, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.RerankingResponse} returns this\n */\nproto.integration_api.RerankingResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 5;\n * @return {?proto.Error}\n */\nproto.integration_api.RerankingResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 5));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.integration_api.RerankingResponse} returns this\n*/\nproto.integration_api.RerankingResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.RerankingResponse} returns this\n */\nproto.integration_api.RerankingResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.RerankingResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * repeated Metric metrics = 6;\n * @return {!Array<!proto.Metric>}\n */\nproto.integration_api.RerankingResponse.prototype.getMetricsList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metric, 6));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.integration_api.RerankingResponse} returns this\n*/\nproto.integration_api.RerankingResponse.prototype.setMetricsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 6, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.integration_api.RerankingResponse.prototype.addMetrics = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.RerankingResponse} returns this\n */\nproto.integration_api.RerankingResponse.prototype.clearMetricsList = function() {\n  return this.setMetricsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.ChatResponse.repeatedFields_ = [7];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.ChatResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.ChatResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.ChatResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.ChatResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    requestid: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    data: (f = msg.getData()) && common_pb.Message.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    metricsList: jspb.Message.toObjectList(msg.getMetricsList(),\n    common_pb.Metric.toObject, includeInstance),\n    finishreason: jspb.Message.getFieldWithDefault(msg, 8, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.ChatResponse}\n */\nproto.integration_api.ChatResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.ChatResponse;\n  return proto.integration_api.ChatResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.ChatResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.ChatResponse}\n */\nproto.integration_api.ChatResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRequestid(value);\n      break;\n    case 4:\n      var value = new common_pb.Message;\n      reader.readMessage(value,common_pb.Message.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 6:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 7:\n      var value = new common_pb.Metric;\n      reader.readMessage(value,common_pb.Metric.deserializeBinaryFromReader);\n      msg.addMetrics(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setFinishreason(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.ChatResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.ChatResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.ChatResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.ChatResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getRequestid();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Message.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      6,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getMetricsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      7,\n      f,\n      common_pb.Metric.serializeBinaryToWriter\n    );\n  }\n  f = message.getFinishreason();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.integration_api.ChatResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.ChatResponse} returns this\n */\nproto.integration_api.ChatResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.ChatResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.ChatResponse} returns this\n */\nproto.integration_api.ChatResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional string requestId = 3;\n * @return {string}\n */\nproto.integration_api.ChatResponse.prototype.getRequestid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.ChatResponse} returns this\n */\nproto.integration_api.ChatResponse.prototype.setRequestid = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional Message data = 4;\n * @return {?proto.Message}\n */\nproto.integration_api.ChatResponse.prototype.getData = function() {\n  return /** @type{?proto.Message} */ (\n    jspb.Message.getWrapperField(this, common_pb.Message, 4));\n};\n\n\n/**\n * @param {?proto.Message|undefined} value\n * @return {!proto.integration_api.ChatResponse} returns this\n*/\nproto.integration_api.ChatResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.ChatResponse} returns this\n */\nproto.integration_api.ChatResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.ChatResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Error error = 6;\n * @return {?proto.Error}\n */\nproto.integration_api.ChatResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 6));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.integration_api.ChatResponse} returns this\n*/\nproto.integration_api.ChatResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 6, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.ChatResponse} returns this\n */\nproto.integration_api.ChatResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.ChatResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 6) != null;\n};\n\n\n/**\n * repeated Metric metrics = 7;\n * @return {!Array<!proto.Metric>}\n */\nproto.integration_api.ChatResponse.prototype.getMetricsList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metric, 7));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.integration_api.ChatResponse} returns this\n*/\nproto.integration_api.ChatResponse.prototype.setMetricsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 7, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.integration_api.ChatResponse.prototype.addMetrics = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 7, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.ChatResponse} returns this\n */\nproto.integration_api.ChatResponse.prototype.clearMetricsList = function() {\n  return this.setMetricsList([]);\n};\n\n\n/**\n * optional string finishReason = 8;\n * @return {string}\n */\nproto.integration_api.ChatResponse.prototype.getFinishreason = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.ChatResponse} returns this\n */\nproto.integration_api.ChatResponse.prototype.setFinishreason = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.ChatRequest.repeatedFields_ = [4,7];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.ChatRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.ChatRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.ChatRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.ChatRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    credential: (f = msg.getCredential()) && proto.integration_api.Credential.toObject(includeInstance, f),\n    requestid: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    conversationsList: jspb.Message.toObjectList(msg.getConversationsList(),\n    common_pb.Message.toObject, includeInstance),\n    additionaldataMap: (f = msg.getAdditionaldataMap()) ? f.toObject(includeInstance, undefined) : [],\n    modelparametersMap: (f = msg.getModelparametersMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : [],\n    tooldefinitionsList: jspb.Message.toObjectList(msg.getTooldefinitionsList(),\n    proto.integration_api.ToolDefinition.toObject, includeInstance),\n    providername: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n    connectionoptionsMap: (f = msg.getConnectionoptionsMap()) ? f.toObject(includeInstance, undefined) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.ChatRequest}\n */\nproto.integration_api.ChatRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.ChatRequest;\n  return proto.integration_api.ChatRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.ChatRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.ChatRequest}\n */\nproto.integration_api.ChatRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.integration_api.Credential;\n      reader.readMessage(value,proto.integration_api.Credential.deserializeBinaryFromReader);\n      msg.setCredential(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRequestid(value);\n      break;\n    case 4:\n      var value = new common_pb.Message;\n      reader.readMessage(value,common_pb.Message.deserializeBinaryFromReader);\n      msg.addConversations(value);\n      break;\n    case 5:\n      var value = msg.getAdditionaldataMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 6:\n      var value = msg.getModelparametersMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    case 7:\n      var value = new proto.integration_api.ToolDefinition;\n      reader.readMessage(value,proto.integration_api.ToolDefinition.deserializeBinaryFromReader);\n      msg.addTooldefinitions(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProvidername(value);\n      break;\n    case 9:\n      var value = msg.getConnectionoptionsMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.ChatRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.ChatRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.ChatRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.ChatRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCredential();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.integration_api.Credential.serializeBinaryToWriter\n    );\n  }\n  f = message.getRequestid();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getConversationsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      common_pb.Message.serializeBinaryToWriter\n    );\n  }\n  f = message.getAdditionaldataMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(5, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getModelparametersMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(6, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n  f = message.getTooldefinitionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      7,\n      f,\n      proto.integration_api.ToolDefinition.serializeBinaryToWriter\n    );\n  }\n  f = message.getProvidername();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n  f = message.getConnectionoptionsMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(9, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n};\n\n\n/**\n * optional Credential credential = 1;\n * @return {?proto.integration_api.Credential}\n */\nproto.integration_api.ChatRequest.prototype.getCredential = function() {\n  return /** @type{?proto.integration_api.Credential} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.Credential, 1));\n};\n\n\n/**\n * @param {?proto.integration_api.Credential|undefined} value\n * @return {!proto.integration_api.ChatRequest} returns this\n*/\nproto.integration_api.ChatRequest.prototype.setCredential = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.ChatRequest} returns this\n */\nproto.integration_api.ChatRequest.prototype.clearCredential = function() {\n  return this.setCredential(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.ChatRequest.prototype.hasCredential = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string requestId = 3;\n * @return {string}\n */\nproto.integration_api.ChatRequest.prototype.getRequestid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.ChatRequest} returns this\n */\nproto.integration_api.ChatRequest.prototype.setRequestid = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * repeated Message conversations = 4;\n * @return {!Array<!proto.Message>}\n */\nproto.integration_api.ChatRequest.prototype.getConversationsList = function() {\n  return /** @type{!Array<!proto.Message>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Message, 4));\n};\n\n\n/**\n * @param {!Array<!proto.Message>} value\n * @return {!proto.integration_api.ChatRequest} returns this\n*/\nproto.integration_api.ChatRequest.prototype.setConversationsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.Message=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Message}\n */\nproto.integration_api.ChatRequest.prototype.addConversations = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.Message, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.ChatRequest} returns this\n */\nproto.integration_api.ChatRequest.prototype.clearConversationsList = function() {\n  return this.setConversationsList([]);\n};\n\n\n/**\n * map<string, string> additionalData = 5;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.integration_api.ChatRequest.prototype.getAdditionaldataMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 5, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.ChatRequest} returns this\n */\nproto.integration_api.ChatRequest.prototype.clearAdditionaldataMap = function() {\n  this.getAdditionaldataMap().clear();\n  return this;};\n\n\n/**\n * map<string, google.protobuf.Any> modelParameters = 6;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.integration_api.ChatRequest.prototype.getModelparametersMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 6, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.ChatRequest} returns this\n */\nproto.integration_api.ChatRequest.prototype.clearModelparametersMap = function() {\n  this.getModelparametersMap().clear();\n  return this;};\n\n\n/**\n * repeated ToolDefinition toolDefinitions = 7;\n * @return {!Array<!proto.integration_api.ToolDefinition>}\n */\nproto.integration_api.ChatRequest.prototype.getTooldefinitionsList = function() {\n  return /** @type{!Array<!proto.integration_api.ToolDefinition>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.integration_api.ToolDefinition, 7));\n};\n\n\n/**\n * @param {!Array<!proto.integration_api.ToolDefinition>} value\n * @return {!proto.integration_api.ChatRequest} returns this\n*/\nproto.integration_api.ChatRequest.prototype.setTooldefinitionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 7, value);\n};\n\n\n/**\n * @param {!proto.integration_api.ToolDefinition=} opt_value\n * @param {number=} opt_index\n * @return {!proto.integration_api.ToolDefinition}\n */\nproto.integration_api.ChatRequest.prototype.addTooldefinitions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 7, opt_value, proto.integration_api.ToolDefinition, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.ChatRequest} returns this\n */\nproto.integration_api.ChatRequest.prototype.clearTooldefinitionsList = function() {\n  return this.setTooldefinitionsList([]);\n};\n\n\n/**\n * optional string providerName = 8;\n * @return {string}\n */\nproto.integration_api.ChatRequest.prototype.getProvidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.ChatRequest} returns this\n */\nproto.integration_api.ChatRequest.prototype.setProvidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n/**\n * map<string, string> connectionOptions = 9;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.integration_api.ChatRequest.prototype.getConnectionoptionsMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 9, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.ChatRequest} returns this\n */\nproto.integration_api.ChatRequest.prototype.clearConnectionoptionsMap = function() {\n  this.getConnectionoptionsMap().clear();\n  return this;};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.StreamChatConfiguration.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.StreamChatConfiguration.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.StreamChatConfiguration} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.StreamChatConfiguration.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    credential: (f = msg.getCredential()) && proto.integration_api.Credential.toObject(includeInstance, f),\n    providername: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    connectionoptionsMap: (f = msg.getConnectionoptionsMap()) ? f.toObject(includeInstance, undefined) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.StreamChatConfiguration}\n */\nproto.integration_api.StreamChatConfiguration.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.StreamChatConfiguration;\n  return proto.integration_api.StreamChatConfiguration.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.StreamChatConfiguration} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.StreamChatConfiguration}\n */\nproto.integration_api.StreamChatConfiguration.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.integration_api.Credential;\n      reader.readMessage(value,proto.integration_api.Credential.deserializeBinaryFromReader);\n      msg.setCredential(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProvidername(value);\n      break;\n    case 3:\n      var value = msg.getConnectionoptionsMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.StreamChatConfiguration.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.StreamChatConfiguration.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.StreamChatConfiguration} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.StreamChatConfiguration.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCredential();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.integration_api.Credential.serializeBinaryToWriter\n    );\n  }\n  f = message.getProvidername();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getConnectionoptionsMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(3, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n};\n\n\n/**\n * optional Credential credential = 1;\n * @return {?proto.integration_api.Credential}\n */\nproto.integration_api.StreamChatConfiguration.prototype.getCredential = function() {\n  return /** @type{?proto.integration_api.Credential} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.Credential, 1));\n};\n\n\n/**\n * @param {?proto.integration_api.Credential|undefined} value\n * @return {!proto.integration_api.StreamChatConfiguration} returns this\n*/\nproto.integration_api.StreamChatConfiguration.prototype.setCredential = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.StreamChatConfiguration} returns this\n */\nproto.integration_api.StreamChatConfiguration.prototype.clearCredential = function() {\n  return this.setCredential(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.StreamChatConfiguration.prototype.hasCredential = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string providerName = 2;\n * @return {string}\n */\nproto.integration_api.StreamChatConfiguration.prototype.getProvidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.StreamChatConfiguration} returns this\n */\nproto.integration_api.StreamChatConfiguration.prototype.setProvidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * map<string, string> connectionOptions = 3;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.integration_api.StreamChatConfiguration.prototype.getConnectionoptionsMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 3, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.StreamChatConfiguration} returns this\n */\nproto.integration_api.StreamChatConfiguration.prototype.clearConnectionoptionsMap = function() {\n  this.getConnectionoptionsMap().clear();\n  return this;};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.StreamChatConfigured.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.StreamChatConfigured.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.StreamChatConfigured} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.StreamChatConfigured.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    providername: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.StreamChatConfigured}\n */\nproto.integration_api.StreamChatConfigured.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.StreamChatConfigured;\n  return proto.integration_api.StreamChatConfigured.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.StreamChatConfigured} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.StreamChatConfigured}\n */\nproto.integration_api.StreamChatConfigured.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProvidername(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.StreamChatConfigured.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.StreamChatConfigured.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.StreamChatConfigured} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.StreamChatConfigured.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getProvidername();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string providerName = 1;\n * @return {string}\n */\nproto.integration_api.StreamChatConfigured.prototype.getProvidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.StreamChatConfigured} returns this\n */\nproto.integration_api.StreamChatConfigured.prototype.setProvidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.StreamChatConfigured.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.StreamChatConfigured} returns this\n */\nproto.integration_api.StreamChatConfigured.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Error error = 3;\n * @return {?proto.Error}\n */\nproto.integration_api.StreamChatConfigured.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 3));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.integration_api.StreamChatConfigured} returns this\n*/\nproto.integration_api.StreamChatConfigured.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.StreamChatConfigured} returns this\n */\nproto.integration_api.StreamChatConfigured.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.StreamChatConfigured.prototype.hasError = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.StreamChatInput.repeatedFields_ = [3,6];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.StreamChatInput.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.StreamChatInput.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.StreamChatInput} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.StreamChatInput.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    requestid: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    providername: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    conversationsList: jspb.Message.toObjectList(msg.getConversationsList(),\n    common_pb.Message.toObject, includeInstance),\n    additionaldataMap: (f = msg.getAdditionaldataMap()) ? f.toObject(includeInstance, undefined) : [],\n    modelparametersMap: (f = msg.getModelparametersMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : [],\n    tooldefinitionsList: jspb.Message.toObjectList(msg.getTooldefinitionsList(),\n    proto.integration_api.ToolDefinition.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.StreamChatInput}\n */\nproto.integration_api.StreamChatInput.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.StreamChatInput;\n  return proto.integration_api.StreamChatInput.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.StreamChatInput} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.StreamChatInput}\n */\nproto.integration_api.StreamChatInput.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRequestid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProvidername(value);\n      break;\n    case 3:\n      var value = new common_pb.Message;\n      reader.readMessage(value,common_pb.Message.deserializeBinaryFromReader);\n      msg.addConversations(value);\n      break;\n    case 4:\n      var value = msg.getAdditionaldataMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 5:\n      var value = msg.getModelparametersMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    case 6:\n      var value = new proto.integration_api.ToolDefinition;\n      reader.readMessage(value,proto.integration_api.ToolDefinition.deserializeBinaryFromReader);\n      msg.addTooldefinitions(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.StreamChatInput.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.StreamChatInput.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.StreamChatInput} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.StreamChatInput.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getRequestid();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getProvidername();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getConversationsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.Message.serializeBinaryToWriter\n    );\n  }\n  f = message.getAdditionaldataMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(4, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getModelparametersMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(5, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n  f = message.getTooldefinitionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      6,\n      f,\n      proto.integration_api.ToolDefinition.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string requestId = 1;\n * @return {string}\n */\nproto.integration_api.StreamChatInput.prototype.getRequestid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.StreamChatInput} returns this\n */\nproto.integration_api.StreamChatInput.prototype.setRequestid = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string providerName = 2;\n * @return {string}\n */\nproto.integration_api.StreamChatInput.prototype.getProvidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.StreamChatInput} returns this\n */\nproto.integration_api.StreamChatInput.prototype.setProvidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * repeated Message conversations = 3;\n * @return {!Array<!proto.Message>}\n */\nproto.integration_api.StreamChatInput.prototype.getConversationsList = function() {\n  return /** @type{!Array<!proto.Message>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Message, 3));\n};\n\n\n/**\n * @param {!Array<!proto.Message>} value\n * @return {!proto.integration_api.StreamChatInput} returns this\n*/\nproto.integration_api.StreamChatInput.prototype.setConversationsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.Message=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Message}\n */\nproto.integration_api.StreamChatInput.prototype.addConversations = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.Message, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.StreamChatInput} returns this\n */\nproto.integration_api.StreamChatInput.prototype.clearConversationsList = function() {\n  return this.setConversationsList([]);\n};\n\n\n/**\n * map<string, string> additionalData = 4;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.integration_api.StreamChatInput.prototype.getAdditionaldataMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 4, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.StreamChatInput} returns this\n */\nproto.integration_api.StreamChatInput.prototype.clearAdditionaldataMap = function() {\n  this.getAdditionaldataMap().clear();\n  return this;};\n\n\n/**\n * map<string, google.protobuf.Any> modelParameters = 5;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.integration_api.StreamChatInput.prototype.getModelparametersMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 5, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.StreamChatInput} returns this\n */\nproto.integration_api.StreamChatInput.prototype.clearModelparametersMap = function() {\n  this.getModelparametersMap().clear();\n  return this;};\n\n\n/**\n * repeated ToolDefinition toolDefinitions = 6;\n * @return {!Array<!proto.integration_api.ToolDefinition>}\n */\nproto.integration_api.StreamChatInput.prototype.getTooldefinitionsList = function() {\n  return /** @type{!Array<!proto.integration_api.ToolDefinition>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.integration_api.ToolDefinition, 6));\n};\n\n\n/**\n * @param {!Array<!proto.integration_api.ToolDefinition>} value\n * @return {!proto.integration_api.StreamChatInput} returns this\n*/\nproto.integration_api.StreamChatInput.prototype.setTooldefinitionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 6, value);\n};\n\n\n/**\n * @param {!proto.integration_api.ToolDefinition=} opt_value\n * @param {number=} opt_index\n * @return {!proto.integration_api.ToolDefinition}\n */\nproto.integration_api.StreamChatInput.prototype.addTooldefinitions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.integration_api.ToolDefinition, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.StreamChatInput} returns this\n */\nproto.integration_api.StreamChatInput.prototype.clearTooldefinitionsList = function() {\n  return this.setTooldefinitionsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.StreamChatOutput.repeatedFields_ = [7];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.StreamChatOutput.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.StreamChatOutput.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.StreamChatOutput} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.StreamChatOutput.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    requestid: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    data: (f = msg.getData()) && common_pb.Message.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    metricsList: jspb.Message.toObjectList(msg.getMetricsList(),\n    common_pb.Metric.toObject, includeInstance),\n    finishreason: jspb.Message.getFieldWithDefault(msg, 8, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.StreamChatOutput}\n */\nproto.integration_api.StreamChatOutput.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.StreamChatOutput;\n  return proto.integration_api.StreamChatOutput.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.StreamChatOutput} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.StreamChatOutput}\n */\nproto.integration_api.StreamChatOutput.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRequestid(value);\n      break;\n    case 4:\n      var value = new common_pb.Message;\n      reader.readMessage(value,common_pb.Message.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 6:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 7:\n      var value = new common_pb.Metric;\n      reader.readMessage(value,common_pb.Metric.deserializeBinaryFromReader);\n      msg.addMetrics(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setFinishreason(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.StreamChatOutput.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.StreamChatOutput.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.StreamChatOutput} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.StreamChatOutput.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getRequestid();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Message.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      6,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getMetricsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      7,\n      f,\n      common_pb.Metric.serializeBinaryToWriter\n    );\n  }\n  f = message.getFinishreason();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string requestId = 3;\n * @return {string}\n */\nproto.integration_api.StreamChatOutput.prototype.getRequestid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.StreamChatOutput} returns this\n */\nproto.integration_api.StreamChatOutput.prototype.setRequestid = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional Message data = 4;\n * @return {?proto.Message}\n */\nproto.integration_api.StreamChatOutput.prototype.getData = function() {\n  return /** @type{?proto.Message} */ (\n    jspb.Message.getWrapperField(this, common_pb.Message, 4));\n};\n\n\n/**\n * @param {?proto.Message|undefined} value\n * @return {!proto.integration_api.StreamChatOutput} returns this\n*/\nproto.integration_api.StreamChatOutput.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.StreamChatOutput} returns this\n */\nproto.integration_api.StreamChatOutput.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.StreamChatOutput.prototype.hasData = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Error error = 6;\n * @return {?proto.Error}\n */\nproto.integration_api.StreamChatOutput.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 6));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.integration_api.StreamChatOutput} returns this\n*/\nproto.integration_api.StreamChatOutput.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 6, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.StreamChatOutput} returns this\n */\nproto.integration_api.StreamChatOutput.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.StreamChatOutput.prototype.hasError = function() {\n  return jspb.Message.getField(this, 6) != null;\n};\n\n\n/**\n * repeated Metric metrics = 7;\n * @return {!Array<!proto.Metric>}\n */\nproto.integration_api.StreamChatOutput.prototype.getMetricsList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metric, 7));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.integration_api.StreamChatOutput} returns this\n*/\nproto.integration_api.StreamChatOutput.prototype.setMetricsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 7, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.integration_api.StreamChatOutput.prototype.addMetrics = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 7, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.StreamChatOutput} returns this\n */\nproto.integration_api.StreamChatOutput.prototype.clearMetricsList = function() {\n  return this.setMetricsList([]);\n};\n\n\n/**\n * optional string finishReason = 8;\n * @return {string}\n */\nproto.integration_api.StreamChatOutput.prototype.getFinishreason = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.StreamChatOutput} returns this\n */\nproto.integration_api.StreamChatOutput.prototype.setFinishreason = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.StreamChatClose.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.StreamChatClose.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.StreamChatClose} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.StreamChatClose.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    reason: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.StreamChatClose}\n */\nproto.integration_api.StreamChatClose.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.StreamChatClose;\n  return proto.integration_api.StreamChatClose.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.StreamChatClose} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.StreamChatClose}\n */\nproto.integration_api.StreamChatClose.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setReason(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.StreamChatClose.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.StreamChatClose.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.StreamChatClose} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.StreamChatClose.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getReason();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string reason = 1;\n * @return {string}\n */\nproto.integration_api.StreamChatClose.prototype.getReason = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.StreamChatClose} returns this\n */\nproto.integration_api.StreamChatClose.prototype.setReason = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array<!Array<number>>}\n * @const\n */\nproto.integration_api.StreamChatRequest.oneofGroups_ = [[1,2,3]];\n\n/**\n * @enum {number}\n */\nproto.integration_api.StreamChatRequest.RequestCase = {\n  REQUEST_NOT_SET: 0,\n  CONFIGURATION: 1,\n  CHAT: 2,\n  CLOSE: 3\n};\n\n/**\n * @return {proto.integration_api.StreamChatRequest.RequestCase}\n */\nproto.integration_api.StreamChatRequest.prototype.getRequestCase = function() {\n  return /** @type {proto.integration_api.StreamChatRequest.RequestCase} */(jspb.Message.computeOneofCase(this, proto.integration_api.StreamChatRequest.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.StreamChatRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.StreamChatRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.StreamChatRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.StreamChatRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    configuration: (f = msg.getConfiguration()) && proto.integration_api.StreamChatConfiguration.toObject(includeInstance, f),\n    chat: (f = msg.getChat()) && proto.integration_api.StreamChatInput.toObject(includeInstance, f),\n    close: (f = msg.getClose()) && proto.integration_api.StreamChatClose.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.StreamChatRequest}\n */\nproto.integration_api.StreamChatRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.StreamChatRequest;\n  return proto.integration_api.StreamChatRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.StreamChatRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.StreamChatRequest}\n */\nproto.integration_api.StreamChatRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.integration_api.StreamChatConfiguration;\n      reader.readMessage(value,proto.integration_api.StreamChatConfiguration.deserializeBinaryFromReader);\n      msg.setConfiguration(value);\n      break;\n    case 2:\n      var value = new proto.integration_api.StreamChatInput;\n      reader.readMessage(value,proto.integration_api.StreamChatInput.deserializeBinaryFromReader);\n      msg.setChat(value);\n      break;\n    case 3:\n      var value = new proto.integration_api.StreamChatClose;\n      reader.readMessage(value,proto.integration_api.StreamChatClose.deserializeBinaryFromReader);\n      msg.setClose(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.StreamChatRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.StreamChatRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.StreamChatRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.StreamChatRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getConfiguration();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.integration_api.StreamChatConfiguration.serializeBinaryToWriter\n    );\n  }\n  f = message.getChat();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.integration_api.StreamChatInput.serializeBinaryToWriter\n    );\n  }\n  f = message.getClose();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.integration_api.StreamChatClose.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional StreamChatConfiguration configuration = 1;\n * @return {?proto.integration_api.StreamChatConfiguration}\n */\nproto.integration_api.StreamChatRequest.prototype.getConfiguration = function() {\n  return /** @type{?proto.integration_api.StreamChatConfiguration} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.StreamChatConfiguration, 1));\n};\n\n\n/**\n * @param {?proto.integration_api.StreamChatConfiguration|undefined} value\n * @return {!proto.integration_api.StreamChatRequest} returns this\n*/\nproto.integration_api.StreamChatRequest.prototype.setConfiguration = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 1, proto.integration_api.StreamChatRequest.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.StreamChatRequest} returns this\n */\nproto.integration_api.StreamChatRequest.prototype.clearConfiguration = function() {\n  return this.setConfiguration(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.StreamChatRequest.prototype.hasConfiguration = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional StreamChatInput chat = 2;\n * @return {?proto.integration_api.StreamChatInput}\n */\nproto.integration_api.StreamChatRequest.prototype.getChat = function() {\n  return /** @type{?proto.integration_api.StreamChatInput} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.StreamChatInput, 2));\n};\n\n\n/**\n * @param {?proto.integration_api.StreamChatInput|undefined} value\n * @return {!proto.integration_api.StreamChatRequest} returns this\n*/\nproto.integration_api.StreamChatRequest.prototype.setChat = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 2, proto.integration_api.StreamChatRequest.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.StreamChatRequest} returns this\n */\nproto.integration_api.StreamChatRequest.prototype.clearChat = function() {\n  return this.setChat(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.StreamChatRequest.prototype.hasChat = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional StreamChatClose close = 3;\n * @return {?proto.integration_api.StreamChatClose}\n */\nproto.integration_api.StreamChatRequest.prototype.getClose = function() {\n  return /** @type{?proto.integration_api.StreamChatClose} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.StreamChatClose, 3));\n};\n\n\n/**\n * @param {?proto.integration_api.StreamChatClose|undefined} value\n * @return {!proto.integration_api.StreamChatRequest} returns this\n*/\nproto.integration_api.StreamChatRequest.prototype.setClose = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 3, proto.integration_api.StreamChatRequest.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.StreamChatRequest} returns this\n */\nproto.integration_api.StreamChatRequest.prototype.clearClose = function() {\n  return this.setClose(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.StreamChatRequest.prototype.hasClose = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array<!Array<number>>}\n * @const\n */\nproto.integration_api.StreamChatResponse.oneofGroups_ = [[1,2,3]];\n\n/**\n * @enum {number}\n */\nproto.integration_api.StreamChatResponse.ResponseCase = {\n  RESPONSE_NOT_SET: 0,\n  CONFIGURATION: 1,\n  CHAT: 2,\n  CLOSE: 3\n};\n\n/**\n * @return {proto.integration_api.StreamChatResponse.ResponseCase}\n */\nproto.integration_api.StreamChatResponse.prototype.getResponseCase = function() {\n  return /** @type {proto.integration_api.StreamChatResponse.ResponseCase} */(jspb.Message.computeOneofCase(this, proto.integration_api.StreamChatResponse.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.StreamChatResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.StreamChatResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.StreamChatResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.StreamChatResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    configuration: (f = msg.getConfiguration()) && proto.integration_api.StreamChatConfigured.toObject(includeInstance, f),\n    chat: (f = msg.getChat()) && proto.integration_api.StreamChatOutput.toObject(includeInstance, f),\n    close: (f = msg.getClose()) && proto.integration_api.StreamChatClose.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.StreamChatResponse}\n */\nproto.integration_api.StreamChatResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.StreamChatResponse;\n  return proto.integration_api.StreamChatResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.StreamChatResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.StreamChatResponse}\n */\nproto.integration_api.StreamChatResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.integration_api.StreamChatConfigured;\n      reader.readMessage(value,proto.integration_api.StreamChatConfigured.deserializeBinaryFromReader);\n      msg.setConfiguration(value);\n      break;\n    case 2:\n      var value = new proto.integration_api.StreamChatOutput;\n      reader.readMessage(value,proto.integration_api.StreamChatOutput.deserializeBinaryFromReader);\n      msg.setChat(value);\n      break;\n    case 3:\n      var value = new proto.integration_api.StreamChatClose;\n      reader.readMessage(value,proto.integration_api.StreamChatClose.deserializeBinaryFromReader);\n      msg.setClose(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.StreamChatResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.StreamChatResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.StreamChatResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.StreamChatResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getConfiguration();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.integration_api.StreamChatConfigured.serializeBinaryToWriter\n    );\n  }\n  f = message.getChat();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.integration_api.StreamChatOutput.serializeBinaryToWriter\n    );\n  }\n  f = message.getClose();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.integration_api.StreamChatClose.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional StreamChatConfigured configuration = 1;\n * @return {?proto.integration_api.StreamChatConfigured}\n */\nproto.integration_api.StreamChatResponse.prototype.getConfiguration = function() {\n  return /** @type{?proto.integration_api.StreamChatConfigured} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.StreamChatConfigured, 1));\n};\n\n\n/**\n * @param {?proto.integration_api.StreamChatConfigured|undefined} value\n * @return {!proto.integration_api.StreamChatResponse} returns this\n*/\nproto.integration_api.StreamChatResponse.prototype.setConfiguration = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 1, proto.integration_api.StreamChatResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.StreamChatResponse} returns this\n */\nproto.integration_api.StreamChatResponse.prototype.clearConfiguration = function() {\n  return this.setConfiguration(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.StreamChatResponse.prototype.hasConfiguration = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional StreamChatOutput chat = 2;\n * @return {?proto.integration_api.StreamChatOutput}\n */\nproto.integration_api.StreamChatResponse.prototype.getChat = function() {\n  return /** @type{?proto.integration_api.StreamChatOutput} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.StreamChatOutput, 2));\n};\n\n\n/**\n * @param {?proto.integration_api.StreamChatOutput|undefined} value\n * @return {!proto.integration_api.StreamChatResponse} returns this\n*/\nproto.integration_api.StreamChatResponse.prototype.setChat = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 2, proto.integration_api.StreamChatResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.StreamChatResponse} returns this\n */\nproto.integration_api.StreamChatResponse.prototype.clearChat = function() {\n  return this.setChat(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.StreamChatResponse.prototype.hasChat = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional StreamChatClose close = 3;\n * @return {?proto.integration_api.StreamChatClose}\n */\nproto.integration_api.StreamChatResponse.prototype.getClose = function() {\n  return /** @type{?proto.integration_api.StreamChatClose} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.StreamChatClose, 3));\n};\n\n\n/**\n * @param {?proto.integration_api.StreamChatClose|undefined} value\n * @return {!proto.integration_api.StreamChatResponse} returns this\n*/\nproto.integration_api.StreamChatResponse.prototype.setClose = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 3, proto.integration_api.StreamChatResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.StreamChatResponse} returns this\n */\nproto.integration_api.StreamChatResponse.prototype.clearClose = function() {\n  return this.setClose(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.StreamChatResponse.prototype.hasClose = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.VerifyCredentialRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.VerifyCredentialRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.VerifyCredentialRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.VerifyCredentialRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    credential: (f = msg.getCredential()) && proto.integration_api.Credential.toObject(includeInstance, f),\n    providername: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.VerifyCredentialRequest}\n */\nproto.integration_api.VerifyCredentialRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.VerifyCredentialRequest;\n  return proto.integration_api.VerifyCredentialRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.VerifyCredentialRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.VerifyCredentialRequest}\n */\nproto.integration_api.VerifyCredentialRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.integration_api.Credential;\n      reader.readMessage(value,proto.integration_api.Credential.deserializeBinaryFromReader);\n      msg.setCredential(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProvidername(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.VerifyCredentialRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.VerifyCredentialRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.VerifyCredentialRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.VerifyCredentialRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCredential();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.integration_api.Credential.serializeBinaryToWriter\n    );\n  }\n  f = message.getProvidername();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Credential credential = 1;\n * @return {?proto.integration_api.Credential}\n */\nproto.integration_api.VerifyCredentialRequest.prototype.getCredential = function() {\n  return /** @type{?proto.integration_api.Credential} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.Credential, 1));\n};\n\n\n/**\n * @param {?proto.integration_api.Credential|undefined} value\n * @return {!proto.integration_api.VerifyCredentialRequest} returns this\n*/\nproto.integration_api.VerifyCredentialRequest.prototype.setCredential = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.VerifyCredentialRequest} returns this\n */\nproto.integration_api.VerifyCredentialRequest.prototype.clearCredential = function() {\n  return this.setCredential(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.VerifyCredentialRequest.prototype.hasCredential = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string providerName = 2;\n * @return {string}\n */\nproto.integration_api.VerifyCredentialRequest.prototype.getProvidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.VerifyCredentialRequest} returns this\n */\nproto.integration_api.VerifyCredentialRequest.prototype.setProvidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.VerifyCredentialResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.VerifyCredentialResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.VerifyCredentialResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.VerifyCredentialResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    requestid: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    response: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    errormessage: jspb.Message.getFieldWithDefault(msg, 5, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.VerifyCredentialResponse}\n */\nproto.integration_api.VerifyCredentialResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.VerifyCredentialResponse;\n  return proto.integration_api.VerifyCredentialResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.VerifyCredentialResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.VerifyCredentialResponse}\n */\nproto.integration_api.VerifyCredentialResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setRequestid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setResponse(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setErrormessage(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.VerifyCredentialResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.VerifyCredentialResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.VerifyCredentialResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.VerifyCredentialResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getRequestid();\n  if (f !== 0) {\n    writer.writeUint64(\n      3,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 4));\n  if (f != null) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getErrormessage();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.integration_api.VerifyCredentialResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.VerifyCredentialResponse} returns this\n */\nproto.integration_api.VerifyCredentialResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.VerifyCredentialResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.VerifyCredentialResponse} returns this\n */\nproto.integration_api.VerifyCredentialResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional uint64 requestId = 3;\n * @return {number}\n */\nproto.integration_api.VerifyCredentialResponse.prototype.getRequestid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.VerifyCredentialResponse} returns this\n */\nproto.integration_api.VerifyCredentialResponse.prototype.setRequestid = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional string response = 4;\n * @return {string}\n */\nproto.integration_api.VerifyCredentialResponse.prototype.getResponse = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.VerifyCredentialResponse} returns this\n */\nproto.integration_api.VerifyCredentialResponse.prototype.setResponse = function(value) {\n  return jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.integration_api.VerifyCredentialResponse} returns this\n */\nproto.integration_api.VerifyCredentialResponse.prototype.clearResponse = function() {\n  return jspb.Message.setField(this, 4, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.VerifyCredentialResponse.prototype.hasResponse = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional string errorMessage = 5;\n * @return {string}\n */\nproto.integration_api.VerifyCredentialResponse.prototype.getErrormessage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.VerifyCredentialResponse} returns this\n */\nproto.integration_api.VerifyCredentialResponse.prototype.setErrormessage = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.Moderation.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.Moderation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.Moderation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.Moderation.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    name: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    value: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.Moderation}\n */\nproto.integration_api.Moderation.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.Moderation;\n  return proto.integration_api.Moderation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.Moderation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.Moderation}\n */\nproto.integration_api.Moderation.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setValue(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.Moderation.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.Moderation.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.Moderation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.Moderation.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getValue();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.integration_api.Moderation.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.Moderation} returns this\n */\nproto.integration_api.Moderation.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string value = 2;\n * @return {string}\n */\nproto.integration_api.Moderation.prototype.getValue = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.Moderation} returns this\n */\nproto.integration_api.Moderation.prototype.setValue = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.GetModerationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.GetModerationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.GetModerationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetModerationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    credential: (f = msg.getCredential()) && proto.integration_api.Credential.toObject(includeInstance, f),\n    model: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    version: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    content: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    additionaldataMap: (f = msg.getAdditionaldataMap()) ? f.toObject(includeInstance, undefined) : [],\n    modelparametersMap: (f = msg.getModelparametersMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.GetModerationRequest}\n */\nproto.integration_api.GetModerationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.GetModerationRequest;\n  return proto.integration_api.GetModerationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.GetModerationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.GetModerationRequest}\n */\nproto.integration_api.GetModerationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.integration_api.Credential;\n      reader.readMessage(value,proto.integration_api.Credential.deserializeBinaryFromReader);\n      msg.setCredential(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setModel(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVersion(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setContent(value);\n      break;\n    case 5:\n      var value = msg.getAdditionaldataMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 6:\n      var value = msg.getModelparametersMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.GetModerationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.GetModerationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.GetModerationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetModerationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCredential();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.integration_api.Credential.serializeBinaryToWriter\n    );\n  }\n  f = message.getModel();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getVersion();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getContent();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getAdditionaldataMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(5, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getModelparametersMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(6, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n};\n\n\n/**\n * optional Credential credential = 1;\n * @return {?proto.integration_api.Credential}\n */\nproto.integration_api.GetModerationRequest.prototype.getCredential = function() {\n  return /** @type{?proto.integration_api.Credential} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.Credential, 1));\n};\n\n\n/**\n * @param {?proto.integration_api.Credential|undefined} value\n * @return {!proto.integration_api.GetModerationRequest} returns this\n*/\nproto.integration_api.GetModerationRequest.prototype.setCredential = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.GetModerationRequest} returns this\n */\nproto.integration_api.GetModerationRequest.prototype.clearCredential = function() {\n  return this.setCredential(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.GetModerationRequest.prototype.hasCredential = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string model = 2;\n * @return {string}\n */\nproto.integration_api.GetModerationRequest.prototype.getModel = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.GetModerationRequest} returns this\n */\nproto.integration_api.GetModerationRequest.prototype.setModel = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string version = 3;\n * @return {string}\n */\nproto.integration_api.GetModerationRequest.prototype.getVersion = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.GetModerationRequest} returns this\n */\nproto.integration_api.GetModerationRequest.prototype.setVersion = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string content = 4;\n * @return {string}\n */\nproto.integration_api.GetModerationRequest.prototype.getContent = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.GetModerationRequest} returns this\n */\nproto.integration_api.GetModerationRequest.prototype.setContent = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * map<string, string> additionalData = 5;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.integration_api.GetModerationRequest.prototype.getAdditionaldataMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 5, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.GetModerationRequest} returns this\n */\nproto.integration_api.GetModerationRequest.prototype.clearAdditionaldataMap = function() {\n  this.getAdditionaldataMap().clear();\n  return this;};\n\n\n/**\n * map<string, google.protobuf.Any> modelParameters = 6;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.integration_api.GetModerationRequest.prototype.getModelparametersMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 6, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.GetModerationRequest} returns this\n */\nproto.integration_api.GetModerationRequest.prototype.clearModelparametersMap = function() {\n  this.getModelparametersMap().clear();\n  return this;};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.GetModerationResponse.repeatedFields_ = [4,6];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.GetModerationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.GetModerationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.GetModerationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetModerationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    requestid: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.integration_api.Moderation.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    metricsList: jspb.Message.toObjectList(msg.getMetricsList(),\n    common_pb.Metric.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.GetModerationResponse}\n */\nproto.integration_api.GetModerationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.GetModerationResponse;\n  return proto.integration_api.GetModerationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.GetModerationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.GetModerationResponse}\n */\nproto.integration_api.GetModerationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setRequestid(value);\n      break;\n    case 4:\n      var value = new proto.integration_api.Moderation;\n      reader.readMessage(value,proto.integration_api.Moderation.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 5:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 6:\n      var value = new common_pb.Metric;\n      reader.readMessage(value,common_pb.Metric.deserializeBinaryFromReader);\n      msg.addMetrics(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.GetModerationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.GetModerationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.GetModerationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetModerationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getRequestid();\n  if (f !== 0) {\n    writer.writeUint64(\n      3,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      proto.integration_api.Moderation.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getMetricsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      6,\n      f,\n      common_pb.Metric.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.integration_api.GetModerationResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.GetModerationResponse} returns this\n */\nproto.integration_api.GetModerationResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.GetModerationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.GetModerationResponse} returns this\n */\nproto.integration_api.GetModerationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional uint64 requestId = 3;\n * @return {number}\n */\nproto.integration_api.GetModerationResponse.prototype.getRequestid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.GetModerationResponse} returns this\n */\nproto.integration_api.GetModerationResponse.prototype.setRequestid = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * repeated Moderation data = 4;\n * @return {!Array<!proto.integration_api.Moderation>}\n */\nproto.integration_api.GetModerationResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.integration_api.Moderation>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.integration_api.Moderation, 4));\n};\n\n\n/**\n * @param {!Array<!proto.integration_api.Moderation>} value\n * @return {!proto.integration_api.GetModerationResponse} returns this\n*/\nproto.integration_api.GetModerationResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.integration_api.Moderation=} opt_value\n * @param {number=} opt_index\n * @return {!proto.integration_api.Moderation}\n */\nproto.integration_api.GetModerationResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.integration_api.Moderation, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.GetModerationResponse} returns this\n */\nproto.integration_api.GetModerationResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 5;\n * @return {?proto.Error}\n */\nproto.integration_api.GetModerationResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 5));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.integration_api.GetModerationResponse} returns this\n*/\nproto.integration_api.GetModerationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.GetModerationResponse} returns this\n */\nproto.integration_api.GetModerationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.GetModerationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * repeated Metric metrics = 6;\n * @return {!Array<!proto.Metric>}\n */\nproto.integration_api.GetModerationResponse.prototype.getMetricsList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metric, 6));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.integration_api.GetModerationResponse} returns this\n*/\nproto.integration_api.GetModerationResponse.prototype.setMetricsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 6, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.integration_api.GetModerationResponse.prototype.addMetrics = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.GetModerationResponse} returns this\n */\nproto.integration_api.GetModerationResponse.prototype.clearMetricsList = function() {\n  return this.setMetricsList([]);\n};\n\n\ngoog.object.extend(exports, proto.integration_api);\n","// package: integration_api\n// file: integration-api.proto\n\nvar integration_api_pb = require(\"./integration-api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar UnifiedProviderService = (function () {\n  function UnifiedProviderService() {}\n  UnifiedProviderService.serviceName = \"integration_api.UnifiedProviderService\";\n  return UnifiedProviderService;\n}());\n\nUnifiedProviderService.Chat = {\n  methodName: \"Chat\",\n  service: UnifiedProviderService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.ChatRequest,\n  responseType: integration_api_pb.ChatResponse\n};\n\nUnifiedProviderService.StreamChat = {\n  methodName: \"StreamChat\",\n  service: UnifiedProviderService,\n  requestStream: true,\n  responseStream: true,\n  requestType: integration_api_pb.StreamChatRequest,\n  responseType: integration_api_pb.StreamChatResponse\n};\n\nUnifiedProviderService.Embedding = {\n  methodName: \"Embedding\",\n  service: UnifiedProviderService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.EmbeddingRequest,\n  responseType: integration_api_pb.EmbeddingResponse\n};\n\nUnifiedProviderService.Reranking = {\n  methodName: \"Reranking\",\n  service: UnifiedProviderService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.RerankingRequest,\n  responseType: integration_api_pb.RerankingResponse\n};\n\nUnifiedProviderService.VerifyCredential = {\n  methodName: \"VerifyCredential\",\n  service: UnifiedProviderService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.VerifyCredentialRequest,\n  responseType: integration_api_pb.VerifyCredentialResponse\n};\n\nexports.UnifiedProviderService = UnifiedProviderService;\n\nfunction UnifiedProviderServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nUnifiedProviderServiceClient.prototype.chat = function chat(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(UnifiedProviderService.Chat, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nUnifiedProviderServiceClient.prototype.streamChat = function streamChat(metadata) {\n  var listeners = {\n    data: [],\n    end: [],\n    status: []\n  };\n  var client = grpc.client(UnifiedProviderService.StreamChat, {\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport\n  });\n  client.onEnd(function (status, statusMessage, trailers) {\n    listeners.status.forEach(function (handler) {\n      handler({ code: status, details: statusMessage, metadata: trailers });\n    });\n    listeners.end.forEach(function (handler) {\n      handler({ code: status, details: statusMessage, metadata: trailers });\n    });\n    listeners = null;\n  });\n  client.onMessage(function (message) {\n    listeners.data.forEach(function (handler) {\n      handler(message);\n    })\n  });\n  client.start(metadata);\n  return {\n    on: function (type, handler) {\n      listeners[type].push(handler);\n      return this;\n    },\n    write: function (requestMessage) {\n      client.send(requestMessage);\n      return this;\n    },\n    end: function () {\n      client.finishSend();\n    },\n    cancel: function () {\n      listeners = null;\n      client.close();\n    }\n  };\n};\n\nUnifiedProviderServiceClient.prototype.embedding = function embedding(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(UnifiedProviderService.Embedding, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nUnifiedProviderServiceClient.prototype.reranking = function reranking(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(UnifiedProviderService.Reranking, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nUnifiedProviderServiceClient.prototype.verifyCredential = function verifyCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(UnifiedProviderService.VerifyCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.UnifiedProviderServiceClient = UnifiedProviderServiceClient;\n\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport * as React from \"react\";\nimport { VoiceAgent } from \"@/rapida/agents/voice-agent\";\nimport { Feedback } from \"@/rapida/types/feedback\";\n\n/**\n * Custom hook for managing agent connection in a voice system.\n * @returns An object containing the connection handler and connection status.\n */\nexport function useMessageFeedback(agent: VoiceAgent) {\n  // Set up the connect agent and memoize the result\n  const { handleMessageFeedback, handleHelpfulnessFeedback } = React.useMemo(\n    () => setupMessageFeedback(agent),\n    []\n  );\n\n  // Return the connection handler and the current connection status\n  return { handleMessageFeedback, handleHelpfulnessFeedback };\n}\n\n/**\n * Sets up the connection for a voice agent.\n *\n * @returns An object containing the agent connection state observable and a function to handle agent connection.\n */\nfunction setupMessageFeedback(agent: VoiceAgent) {\n  /**\n   * Handles the connection of a voice agent.\n   *\n   * @param agent - The VoiceAgent to be connected.\n   * @returns A promise that resolves when the agent is connected.\n   */\n  const handleMessageFeedback = async (\n    messageId: string,\n    name: string,\n    description: string,\n    value: string\n  ) => {\n    await agent.createMessageMetric(messageId, [\n      {\n        name: name,\n        description: description,\n        value: value,\n      },\n    ]);\n  };\n\n  const handleHelpfulnessFeedback = async (\n    messageId: string,\n    value: Feedback\n  ) => {\n    await agent.createMessageMetric(messageId, [\n      {\n        name: \"feedback\",\n        description: \"feedback given by end-user\",\n        value: value,\n      },\n    ]);\n  };\n\n  return {\n    handleHelpfulnessFeedback,\n    handleMessageFeedback,\n  };\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport * as React from \"react\";\nimport { VoiceAgent } from \"@/rapida/agents/voice-agent\";\nimport { Feedback } from \"@/rapida/types/feedback\";\n\n/**\n * Custom hook for managing agent connection in a voice system.\n * @returns An object containing the connection handler and connection status.\n */\nexport function useConversationFeedback(agent: VoiceAgent) {\n  // Set up the connect agent and memoize the result\n  const { handleHelpfulnessFeedback, handleConversationFeedback } =\n    React.useMemo(() => setupConversationFeedback(agent), []);\n\n  // Return the connection handler and the current connection status\n  return { handleHelpfulnessFeedback, handleConversationFeedback };\n}\n\n/**\n * Sets up the connection for a voice agent.\n *\n * @returns An object containing the agent connection state observable and a function to handle agent connection.\n */\nfunction setupConversationFeedback(agent: VoiceAgent) {\n  /**\n   * Handles the connection of a voice agent.\n   *\n   * @param agent - The VoiceAgent to be connected.\n   * @returns A promise that resolves when the agent is connected.\n   */\n  const handleConversationFeedback = async (\n    name: string,\n    description: string,\n    value: string\n  ) => {\n    await agent.createConversationMetric([\n      {\n        name: name,\n        description: description,\n        value: value,\n      },\n    ]);\n  };\n\n  const handleHelpfulnessFeedback = async (value: Feedback) => {\n    await agent.createConversationMetric([\n      {\n        name: \"feedback\",\n        description: \"feedback given by end-user\",\n        value: value,\n      },\n    ]);\n  };\n\n  return {\n    handleHelpfulnessFeedback,\n    handleConversationFeedback,\n  };\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport * as React from \"react\";\nimport { VoiceAgent } from \"@/rapida/agents/voice-agent\";\nimport { useObservableState } from \"@/rapida/hooks/use-observable-state\";\nimport { observeAgentConnectionState } from \"@/rapida/hooks/observables/voice-agent\";\nimport { ConnectionState } from \"@/rapida/types/connection-state\";\n\n/**\n * Custom hook for managing agent connection in a voice system.\n * @returns An object containing the connection handler and connection status.\n */\nexport function useConnectAgent(agent: VoiceAgent) {\n  // Ensure the VoiceAgent instance is available\n\n  // Memoize the connection handlers to ensure stable references\n  const { handleConnectAgent, handleDisconnectAgent } = React.useMemo(\n    () => ({\n      handleConnectAgent: async () => {\n        if (!agent) throw new Error(\"VoiceAgent instance not available\");\n        await agent.connect();\n      },\n      handleDisconnectAgent: async () => {\n        if (!agent) throw new Error(\"VoiceAgent instance not available\");\n        await agent.disconnect();\n      },\n    }),\n    [agent] // Re-create handlers only when agent changes\n  );\n\n  // Observe the connection state using RxJS\n  const observable = React.useMemo(\n    () => (agent ? observeAgentConnectionState(agent) : undefined),\n    [agent] // Update observable when agent changes\n  );\n\n  // Subscribe to the observable and manage component state\n  const { isConnected, isConnecting } = useObservableState(observable, {\n    isConnected: agent?.isConnected ?? false, // Default connection state\n    isConnecting: agent?.state === ConnectionState.Connecting,\n  });\n\n  // Return the connection handlers and current connection state\n  return { handleConnectAgent, handleDisconnectAgent, isConnected, isConnecting };\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\n\nimport { useObservableState } from \"@/rapida/hooks/use-observable-state\";\nimport * as React from \"react\";\nimport { observeAgentInputChannel } from \"@/rapida/hooks/observables/voice-agent\";\nimport { Channel } from \"@/rapida/types/channel\";\nimport { VoiceAgent } from \"@/rapida/agents/voice-agent\";\n\n/**\n * Custom hook for toggling input mode (voice/text) for the agent.\n * @returns An object containing toggle handlers and the current input channel.\n */\nexport function useInputModeToggleAgent(agent: VoiceAgent) {\n  const { handleTextToggle, handleVoiceToggle } = React.useMemo(\n    () => ({\n      handleTextToggle: async () => {\n        if (!agent) throw new Error(\"VoiceAgent instance not available\");\n        if (agent.agentConfiguration.inputOptions.channel === Channel.Text) return;\n        await agent.setInputChannel(Channel.Text);\n      },\n      handleVoiceToggle: async () => {\n        if (!agent) throw new Error(\"VoiceAgent instance not available\");\n        if (agent.agentConfiguration.inputOptions.channel === Channel.Audio) return;\n        await agent.setInputChannel(Channel.Audio);\n      },\n    }),\n    [agent]\n  );\n\n  const observable = React.useMemo(\n    () => (agent ? observeAgentInputChannel(agent) : undefined),\n    [agent]\n  );\n\n  const { channel } = useObservableState(observable, {\n    channel: agent.agentConfiguration.inputOptions.channel ?? Channel.Text,\n  });\n\n  return { handleTextToggle, handleVoiceToggle, channel };\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\n\nimport * as React from \"react\";\nimport { VoiceAgent } from \"@/rapida/agents/voice-agent\";\nimport { useObservableState } from \"@/rapida/hooks/use-observable-state\";\nimport { observeAgentMuteState } from \"@/rapida/hooks/observables/voice-agent\";\n\n/**\n * Custom hook for managing microphone mute state in a voice agent.\n * @param agent The VoiceAgent instance\n * @returns An object containing mute handlers and the current mute state.\n */\nexport function useMuteAgent(agent: VoiceAgent) {\n  // Memoize the mute handlers to ensure stable references\n  const { handleMute, handleUnmute, handleToggleMute } = React.useMemo(\n    () => ({\n      handleMute: () => {\n        if (!agent) throw new Error(\"VoiceAgent instance not available\");\n        agent.mute();\n      },\n      handleUnmute: () => {\n        if (!agent) throw new Error(\"VoiceAgent instance not available\");\n        agent.unmute();\n      },\n      handleToggleMute: () => {\n        if (!agent) throw new Error(\"VoiceAgent instance not available\");\n        return agent.toggleMute();\n      },\n    }),\n    [agent]\n  );\n\n  // Observe the mute state using RxJS\n  const observable = React.useMemo(\n    () => (agent ? observeAgentMuteState(agent) : undefined),\n    [agent]\n  );\n\n  // Subscribe to the observable and manage component state\n  const { isMuted } = useObservableState(observable, {\n    isMuted: agent?.isMuted ?? false,\n  });\n\n  // Return the mute handlers and current mute state\n  return { handleMute, handleUnmute, handleToggleMute, isMuted };\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nexport enum MediaDeviceFailure {\n  // user rejected permissions\n  PermissionDenied = \"PermissionDenied\",\n\n  // device is not available\n  NotFound = \"NotFound\",\n\n  // device is in use. On Windows, only a single tab may get access to a device at a time.\n  DeviceInUse = \"DeviceInUse\",\n\n  //\n  Other = \"Other\",\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { AssistantDefinition, User } from \"@/rapida/clients/protos/common_pb\";\nimport * as google_protobuf_any_pb from \"google-protobuf/google/protobuf/any_pb\";\nimport { StringArrayToAny, StringToAny } from \"@/rapida/utils/rapida_value\";\nimport { Channel } from \"@/rapida/types/channel\";\n// For constructing default stream options\nimport {\n  StreamConfig,\n  AudioConfig,\n  TextConfig,\n} from \"@/rapida/clients/protos/talk-api_pb\";\n\n/**\n * Input options for the agent (microphone/recording settings)\n */\nexport class InputOptions {\n  /** Enabled channels for input */\n  channels: Channel[] = [Channel.Audio, Channel.Text];\n\n  /** Default input channel */\n  channel: Channel = Channel.Audio;\n\n  /** Input device ID (microphone) */\n  device?: string;\n\n  /** ICE servers for WebRTC (STUN/TURN) */\n  iceServers?: RTCIceServer[];\n\n  /**\n   * Returns a default stream configuration based on the currently selected\n   * channel.  This mirrors the protobuf `StreamConfig` type used by the\n   * backend so consumers can easily build conversation initialization\n   * payloads.\n   */\n  get defaultInputStreamOption(): StreamConfig {\n    const cfg = new StreamConfig();\n    if (this.channel === Channel.Audio) {\n      const audio = new AudioConfig();\n      // additional defaults (samplerate, audioformat, channels) may be set by\n      // caller after obtaining the config if desired.\n      cfg.setAudio(audio);\n    } else if (this.channel === Channel.Text) {\n      const text = new TextConfig();\n      cfg.setText(text);\n    }\n    return cfg;\n  }\n\n  constructor(\n    channels: Channel[],\n    channel?: Channel,\n    deviceId?: string,\n    iceServers?: RTCIceServer[]\n  ) {\n    this.channels = channels;\n    if (channel) this.channel = channel;\n    if (deviceId) this.device = deviceId;\n    this.iceServers = iceServers;\n  }\n\n}\n\n/**\n * Output options for the agent (speaker/playback settings)\n */\nexport class OutputOptions {\n  /** Enabled channels for output */\n  channels: Channel[] = [Channel.Audio, Channel.Text];\n\n  /** Default output channel */\n  channel: Channel = Channel.Audio;\n\n  /** Output device ID (speaker) */\n  device?: string;\n\n  /**\n   * Default stream configuration for output.  Returns a protobuf-style\n   * `StreamConfig` instance matching the current channel.\n   */\n  get defaultOutputStreamOption(): StreamConfig {\n    const cfg = new StreamConfig();\n    if (this.channel === Channel.Audio) {\n      const audio = new AudioConfig();\n      cfg.setAudio(audio);\n    } else if (this.channel === Channel.Text) {\n      const text = new TextConfig();\n      cfg.setText(text);\n    }\n    return cfg;\n  }\n\n  constructor(channels: Channel[], channel?: Channel, deviceId?: string) {\n    this.channels = channels;\n    if (channel) this.channel = channel;\n    if (deviceId) this.device = deviceId;\n  }\n}\n\nexport class UserIdentifier {\n  /** User identifier type */\n  id: string;\n\n  // name of user identifier\n  name?: string;\n\n\n  constructor(id: string, name?: string) {\n    this.id = id;\n    this.name = name;\n\n  }\n}\n/**\n * Represents the configuration settings for an agent.\n * This includes the agent's unique identifier, version, and configurable arguments.\n */\nexport class AgentConfig {\n  /**\n   * Unique identifier for the agent.\n   */\n  id: string;\n\n  /**\n   * (Optional) Version number of the agent.\n   */\n  version?: string;\n\n  /**\n   * arguments for assistant\n   */\n  arguments?: Map<string, google_protobuf_any_pb.Any>;\n\n  /**\n   * options for assistants\n   */\n  options?: Map<string, google_protobuf_any_pb.Any>;\n\n  /**\n   * metadata for assistant request\n   */\n  metadata?: Map<string, google_protobuf_any_pb.Any>;\n\n  /**\n   *\n   */\n  inputOptions: InputOptions;\n\n  /**\n   *\n   */\n  outputOptions: OutputOptions;\n\n\n  /**\n   * user identifier for conversation\n   */\n  userIdentifier?: UserIdentifier;\n\n  /**\n   * Initializes a new instance of `AgentConfig`.\n   *\n   * @param id - Unique identifier for the agent.\n   * @param version - (Optional) Version number of the agent.\n   * @param argument - (Optional) Configuration arguments for the agent.\n   */\n  constructor(\n    id: string,\n    inputOptions: InputOptions = new InputOptions([\n      Channel.Audio,\n      Channel.Text,\n    ], Channel.Text),\n    outputOptions: OutputOptions = new OutputOptions([Channel.Audio, Channel.Text], Channel.Text),\n    version?: string,\n    argument?: Map<string, google_protobuf_any_pb.Any>,\n    options?: Map<string, google_protobuf_any_pb.Any>,\n    metadata?: Map<string, google_protobuf_any_pb.Any>,\n    userIdentifier?: UserIdentifier,\n  ) {\n    this.id = id;\n    this.version = version;\n    this.arguments = argument;\n    this.options = options;\n    this.metadata = metadata;\n    this.inputOptions = inputOptions;\n    this.outputOptions = outputOptions;\n    this.userIdentifier = userIdentifier;\n  }\n\n  /**\n   * Retrieves the assistant definition for this agent.\n   *\n   * @returns {AssistantDefinition} A configured `AssistantDefinition` instance with the agent's details.\n   */\n  get definition(): AssistantDefinition {\n    const def = new AssistantDefinition();\n    def.setAssistantid(this.id); // Sets the agent's unique ID.\n    if (this.version) {\n      def.setVersion(this.version); // Sets the agent's version if provided.\n    }\n\n    return def;\n  }\n\n  /**\n   * for adding custom dictionary\n   * it allows user to add custom keywords to given agent it will perform correction\n   * @param keywords\n   */\n  addKeywords(keywords: string[]): this {\n    if (this.options == undefined) this.options = new Map();\n    this.options[\"keywords\"] = StringArrayToAny(keywords);\n    return this;\n  }\n\n  /**\n   * Want to add other options to override\n   * @param k\n   * @param otp\n   * @returns\n   */\n  addCustomOption(k: string, otp: google_protobuf_any_pb.Any): this {\n    if (this.options == undefined) this.options = new Map();\n    this.options.set(k, otp);\n    return this;\n  }\n\n  /**\n   *\n   * @param k\n   * @param meta\n   * @returns\n   */\n  addMetadata(k: string, meta: google_protobuf_any_pb.Any): this {\n    if (this.metadata == undefined) this.metadata = new Map();\n    this.metadata.set(k, meta);\n    return this;\n  }\n\n  /**\n   *\n   * @param k\n   * @param value\n   * @returns\n   */\n  addArgument(k: string, value: string): this {\n    if (this.arguments == undefined) this.arguments = new Map();\n    this.arguments?.set(k, StringToAny(value));\n    return this;\n  }\n\n  /**\n   * Set the user identifier for the conversation.\n   * @param id - Unique user identifier\n   * @param name - Optional display name\n   * @returns this for chaining\n   */\n  setUserIdentifier(id: string, name?: string): this {\n    this.userIdentifier = new UserIdentifier(id, name);\n    return this;\n  }\n\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { Map } from \"google-protobuf\";\nimport { Any } from \"google-protobuf/google/protobuf/any_pb\";\nimport * as google_protobuf_any_pb from \"google-protobuf/google/protobuf/any_pb\";\nimport {\n  StringValue,\n  Int32Value,\n  DoubleValue,\n  BoolValue,\n  BytesValue,\n} from \"google-protobuf/google/protobuf/wrappers_pb\";\n\n// Helper function to pack data into `Any`\nfunction pack(serialized: Uint8Array, typeUrlPrefix: string): Any {\n  const anyValue = new Any();\n  anyValue.pack(serialized, typeUrlPrefix);\n  return anyValue;\n}\n\n//  string array to `Any`\nexport function StringArrayToAny(values: string[]): Any {\n  return values.map((x) => {\n    return StringToAny(x);\n  });\n}\n\n//  string to `Any`\nexport function StringToAny(value: string): Any {\n  const stringValue = new StringValue();\n  stringValue.setValue(value);\n  const serialized = stringValue.serializeBinary();\n  return pack(serialized, \"type.googleapis.com/google.protobuf.StringValue\");\n}\n\n//  `Any` to string\nexport function AnyToString(anyValue: Any): string {\n  const stringValue = StringValue.deserializeBinary(anyValue.getValue_asU8());\n  return stringValue.getValue();\n}\n\n//  float to `Any`\nexport function FloatToAny(value: number): Any {\n  const doubleValue = new DoubleValue();\n  doubleValue.setValue(value);\n  const serialized = doubleValue.serializeBinary();\n  return pack(serialized, \"type.googleapis.com/google.protobuf.DoubleValue\");\n}\n\n//  `Any` to float\nexport function AnyToFloat(anyValue: Any): number {\n  const doubleValue = DoubleValue.deserializeBinary(anyValue.getValue_asU8());\n  return doubleValue.getValue();\n}\n\n//  integer to `Any`\nexport function Int32ToAny(value: number): Any {\n  const int32Value = new Int32Value();\n  int32Value.setValue(value);\n  const serialized = int32Value.serializeBinary();\n  return pack(serialized, \"type.googleapis.com/google.protobuf.Int32Value\");\n}\n\n//  `Any` to integer\nexport function AnyToInt32(anyValue: Any): number {\n  const int32Value = Int32Value.deserializeBinary(anyValue.getValue_asU8());\n  return int32Value.getValue();\n}\n\n//  boolean to `Any`\nexport function BoolToAny(value: boolean): Any {\n  const boolValue = new BoolValue();\n  boolValue.setValue(value);\n  const serialized = boolValue.serializeBinary();\n  return pack(serialized, \"type.googleapis.com/google.protobuf.BoolValue\");\n}\n\n//  `Any` to boolean\nexport function AnyToBool(anyValue: Any): boolean {\n  const boolValue = BoolValue.deserializeBinary(anyValue.getValue_asU8());\n  return boolValue.getValue();\n}\n\n//  bytes to `Any`\nexport function BytesToAny(value: Uint8Array): Any {\n  const bytesValue = new BytesValue();\n  bytesValue.setValue(value);\n  const serialized = bytesValue.serializeBinary();\n  return pack(serialized, \"type.googleapis.com/google.protobuf.BytesValue\");\n}\n\n//  JSON object to `Any`\nexport function JSONToAny(value: object): Any {\n  const jsonString = JSON.stringify(value);\n  const stringValue = new StringValue();\n  stringValue.setValue(jsonString);\n  const serialized = stringValue.serializeBinary();\n  return pack(serialized, \"type.googleapis.com/google.protobuf.StringValue\");\n}\n\n//  `Any` to JSON object\nexport function AnyToJSON(anyValue: Any): object {\n  const stringValue = StringValue.deserializeBinary(anyValue.getValue_asU8());\n  return JSON.parse(stringValue.getValue());\n}\n\nexport function MapToObject(\n  protoMap: Map<string, google_protobuf_any_pb.Any>\n): Record<string, any> {\n  const result: Record<string, any> = {};\n  protoMap.forEach((value, key) => {\n    try {\n      if (value instanceof Any) {\n        // Get the underlying message as a plain object\n        result[key] = new TextDecoder().decode(value.getValue_asU8());\n      } else {\n        result[key] = value;\n      }\n    } catch (x) {}\n  });\n\n  return result;\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { VoiceAgent } from \"@/rapida/agents/voice-agent\";\nimport { useState, useEffect, useRef } from \"react\";\n\n/**\n * The function `useMultibandSpeakerTrackVolume` calculates and updates frequency bands based on audio\n * player data at regular intervals.\n * @param {number} [bands=5] - The `bands` parameter in the `useMultibandSpeakerTrackVolume` function\n * determines the number of frequency bands that the audio signal will be divided into for processing.\n * This parameter allows you to specify how many bands you want to split the frequency spectrum into.\n * @param {number} [loPass=0.1] - The `loPass` parameter in the `useMultibandSpeakerTrackVolume`\n * function represents the lower passband frequency limit. It is used to filter out frequencies below a\n * certain threshold in the audio signal. In the provided code snippet, the `loPass` parameter is set\n * to a default value of\n * @param {number} [hiPass=1.0] - The `hiPass` parameter in the `useMultibandSpeakerTrackVolume`\n * function represents the upper limit frequency value for filtering the audio frequencies. It is used\n * to define the range of frequencies that will be included in the analysis and processing of the audio\n * data. In the provided code snippet, the `\n * @returns The `useMultibandSpeakerTrackVolume` custom hook returns an array of `Float32Array`\n * frequency bands that have been calculated based on the audio frequencies received from the audio\n * player. The number of bands, low-pass and high-pass values are used to divide and normalize the\n * frequencies into the specified bands. The hook continuously updates the frequency bands at an\n * interval of 100ms.\n */\n\nexport const useMultibandMicrophoneTrackVolume = (\n  agentContext: VoiceAgent,\n  bands: number = 5,\n  loPass: number = 0.1,\n  hiPass: number = 1.0\n) => {\n  const [frequencyBands, setFrequencyBands] = useState<number[][]>(\n    Array(bands)\n      .fill([])\n      .map(() => Array(32).fill(0))\n  );\n\n  // Use refs to track previous values for smoother animation\n  const prevBandsRef = useRef<number[][]>(\n    Array(bands)\n      .fill([])\n      .map(() => Array(32).fill(0))\n  );\n\n  useEffect(() => {\n    let animationFrameId: number;\n    let lastUpdateTime = 0;\n    const updateInterval = 50; // Update every 50ms for smoother animation\n\n    const updateVolume = (timestamp: number) => {\n      // Throttle updates to prevent performance issues\n      if (timestamp - lastUpdateTime < updateInterval) {\n        animationFrameId = requestAnimationFrame(updateVolume);\n        return;\n      }\n      lastUpdateTime = timestamp;\n\n      const frequencies = agentContext?.getInputByteFrequencyData();\n      if (!frequencies || frequencies.length === 0) {\n        animationFrameId = requestAnimationFrame(updateVolume);\n        return;\n      }\n\n      // Voice frequencies are mainly between 85Hz - 3000Hz\n      // With FFT size 1024 at 48kHz sample rate:\n      // - Each bin represents ~46.875 Hz (48000 / 1024)\n      // - 85Hz is around bin 2, 3000Hz is around bin 64\n      // Focus on the voice frequency range for better visualization\n      const totalBins = frequencies.length; // frequencyBinCount = fftSize / 2 = 512\n\n      // Use logarithmic distribution for better visual spread of voice frequencies\n      // This gives more resolution to lower frequencies where most voice energy is\n      const bandArrays: number[][] = [];\n\n      for (let bandIndex = 0; bandIndex < bands; bandIndex++) {\n        // Use logarithmic scale to distribute bands\n        // This gives more visual weight to voice frequencies\n        const bandStartRatio = Math.pow(bandIndex / bands, 1.5) * (hiPass - loPass) + loPass;\n        const bandEndRatio = Math.pow((bandIndex + 1) / bands, 1.5) * (hiPass - loPass) + loPass;\n\n        const bandStart = Math.floor(totalBins * bandStartRatio);\n        const bandEnd = Math.min(Math.floor(totalBins * bandEndRatio), totalBins);\n\n        // Get frequencies for this band — direct typed array access avoids intermediate allocations\n        const bandLength = Math.max(bandEnd - bandStart, 1);\n        const bandFrequencies: number[] = new Array(bandLength);\n        for (let j = 0; j < bandLength; j++) {\n          // Normalize from 0-255 to 0-1 with enhanced sensitivity\n          const normalized = (frequencies[bandStart + j] ?? 0) / 255;\n          // Apply power curve to enhance visibility of quieter sounds\n          bandFrequencies[j] = Math.min(1, Math.max(0, Math.pow(normalized, 0.6) * 1.8));\n        }\n\n        // Ensure we have a consistent number of samples per band\n        const resampledBand = resampleArray(bandFrequencies, 32); // 32 samples per band\n        bandArrays.push(resampledBand);\n      }\n\n      // Apply smoother interpolation\n      const smoothedBands = bandArrays.map((bandFrequencies, bandIndex) => {\n        const prevBand = prevBandsRef.current[bandIndex] || bandFrequencies;\n\n        // Different smoothing for attack vs decay\n        return bandFrequencies.map((freq, i) => {\n          const prevValue = prevBand[i] || 0;\n          // Fast attack (0.8), slow decay (0.3) for more responsive feel\n          const smoothingFactor = freq > prevValue ? 0.8 : 0.3;\n          return freq * smoothingFactor + prevValue * (1 - smoothingFactor);\n        });\n      });\n\n      // Update refs for next frame\n      prevBandsRef.current = smoothedBands;\n\n      setFrequencyBands(smoothedBands);\n      animationFrameId = requestAnimationFrame(updateVolume);\n    };\n\n    // Helper function to resample array to desired length\n    const resampleArray = (arr: number[], newLength: number): number[] => {\n      if (arr.length === 0) return new Array(newLength).fill(0);\n\n      const result = new Array(newLength);\n      const stepSize = arr.length / newLength;\n\n      for (let i = 0; i < newLength; i++) {\n        const start = Math.floor(i * stepSize);\n        const end = Math.min(Math.floor((i + 1) * stepSize), arr.length);\n        let sum = 0;\n        let count = 0;\n\n        for (let j = start; j < end; j++) {\n          sum += arr[j] || 0;\n          count++;\n        }\n\n        result[i] = count > 0 ? sum / count : 0;\n      }\n\n      return result;\n    };\n\n    // Start animation loop\n    animationFrameId = requestAnimationFrame(updateVolume);\n\n    return () => {\n      if (animationFrameId) {\n        cancelAnimationFrame(animationFrameId);\n      }\n    };\n  }, [agentContext, loPass, hiPass, bands]);\n\n  return frequencyBands;\n};\n\nexport const useMultibandSpeakerTrackVolume = (\n  agentContext: VoiceAgent,\n  bands: number = 5,\n  loPass: number = 0.1,\n  hiPass: number = 1.0\n) => {\n  const [frequencyBands, setFrequencyBands] = useState<number[][]>(\n    Array(bands)\n      .fill([])\n      .map(() => Array(32).fill(0))\n  );\n\n  useEffect(() => {\n    const updateVolume = () => {\n      const frequencies = agentContext?.getOutputByteFrequencyData();\n      if (!frequencies || frequencies.length === 0) return;\n      // Calculate the frequency range we want to analyze\n      const startIndex = Math.floor(frequencies.length * loPass);\n      const endIndex = Math.floor(frequencies.length * hiPass);\n      // Split frequencies into bands — access typed array directly to avoid intermediate allocations\n      const usableLength = endIndex - startIndex;\n      const samplesPerBand = Math.floor(usableLength / bands);\n      const bandArrays: number[][] = [];\n\n      for (let bandIndex = 0; bandIndex < bands; bandIndex++) {\n        const bandStart = bandIndex * samplesPerBand;\n        const bandEnd =\n          bandIndex === bands - 1\n            ? usableLength\n            : (bandIndex + 1) * samplesPerBand;\n\n        // Get frequencies for this band and normalize them\n        const bandLength = bandEnd - bandStart;\n        const bandFrequencies: number[] = new Array(bandLength);\n        for (let j = 0; j < bandLength; j++) {\n          // Normalize amplitude from 0-255 to 0-1 range\n          const amplitude = frequencies[startIndex + bandStart + j] ?? 0;\n          bandFrequencies[j] = Math.min(1, Math.max(0, amplitude / 255));\n        }\n\n        // Ensure we have a consistent number of samples per band\n        const resampledBand = resampleArray(bandFrequencies, 32); // 32 samples per band\n        bandArrays.push(resampledBand);\n      }\n\n      // Apply smoothing to prevent jarring transitions\n      setFrequencyBands((prevBands) => {\n        if (prevBands.length !== bands) return bandArrays;\n\n        return bandArrays.map((bandFrequencies, bandIndex) => {\n          if (!prevBands[bandIndex]) return bandFrequencies;\n\n          const smoothingFactor = 0.7;\n          return bandFrequencies.map((freq, i) => {\n            const prevValue = prevBands[bandIndex][i] || 0;\n            return freq * smoothingFactor + prevValue * (1 - smoothingFactor);\n          });\n        });\n      });\n    };\n\n    // Helper function to resample array to desired length\n    const resampleArray = (arr: number[], newLength: number): number[] => {\n      if (arr.length === 0) return new Array(newLength).fill(0);\n\n      const result = new Array(newLength);\n      const stepSize = arr.length / newLength;\n\n      for (let i = 0; i < newLength; i++) {\n        const start = Math.floor(i * stepSize);\n        const end = Math.floor((i + 1) * stepSize);\n        let sum = 0;\n        let count = 0;\n\n        for (let j = start; j < end; j++) {\n          sum += arr[j] || 0;\n          count++;\n        }\n\n        result[i] = count > 0 ? sum / count : 0;\n      }\n\n      return result;\n    };\n\n    const interval = setInterval(updateVolume, 100);\n    return () => clearInterval(interval);\n  }, [agentContext, loPass, hiPass, bands]);\n\n  return frequencyBands;\n};\n\nexport const useMultiband3DSpeakerTrackVolume = (\n  agentContext: VoiceAgent,\n  bands: number = 5,\n  loPass: number = 0.1,\n  hiPass: number = 1.0\n) => {\n  const [frequencyBands, setFrequencyBands] = useState<number[][]>(\n    Array(bands)\n      .fill([])\n      .map(() => Array(32).fill(0))\n  );\n  const [sphericalData, setSphericalData] = useState<{\n    xNorm: number;\n    yNorm: number;\n    zNorm: number;\n    elapsedTimeSec: number;\n  }>({ xNorm: 0, yNorm: 0, zNorm: 0, elapsedTimeSec: 0 });\n\n  const startTime = useRef<number>(Date.now());\n  const prevBandsRef = useRef<number[][]>(\n    Array(bands).fill([]).map(() => Array(32).fill(0))\n  );\n\n  useEffect(() => {\n    const updateVolume = () => {\n      const frequencies = agentContext?.getOutputByteFrequencyData();\n      if (!frequencies || frequencies.length === 0) return;\n      // Calculate the frequency range we want to analyze\n      const startIndex = Math.floor(frequencies.length * loPass);\n      const endIndex = Math.floor(frequencies.length * hiPass);\n\n      // Split frequencies into bands — access typed array directly to avoid intermediate allocations\n      const usableLength = endIndex - startIndex;\n      const samplesPerBand = Math.floor(usableLength / bands);\n      const bandArrays: number[][] = [];\n\n      for (let bandIndex = 0; bandIndex < bands; bandIndex++) {\n        const bandStart = bandIndex * samplesPerBand;\n        const bandEnd =\n          bandIndex === bands - 1\n            ? usableLength\n            : (bandIndex + 1) * samplesPerBand;\n\n        // Get frequencies for this band and normalize them\n        const bandLength = bandEnd - bandStart;\n        const bandFrequencies: number[] = new Array(bandLength);\n        for (let j = 0; j < bandLength; j++) {\n          // Normalize amplitude from 0-255 to 0-1 range\n          const amplitude = frequencies[startIndex + bandStart + j] ?? 0;\n          bandFrequencies[j] = Math.min(1, Math.max(0, amplitude / 255));\n        }\n\n        // Ensure we have a consistent number of samples per band\n        const resampledBand = resampleArray(bandFrequencies, 32); // 32 samples per band\n        bandArrays.push(resampledBand);\n      }\n\n      // Apply smoothing using ref to avoid nesting setState calls (which causes double re-renders)\n      const prevBands = prevBandsRef.current;\n      const smoothedBands =\n        prevBands.length !== bands\n          ? bandArrays\n          : bandArrays.map((bandFrequencies, bandIndex) => {\n              if (!prevBands[bandIndex]) return bandFrequencies;\n              const smoothingFactor = 0.7;\n              return bandFrequencies.map((freq, i) => {\n                const prevValue = prevBands[bandIndex][i] || 0;\n                return freq * smoothingFactor + prevValue * (1 - smoothingFactor);\n              });\n            });\n      prevBandsRef.current = smoothedBands;\n\n      // Calculate spherical coordinates\n      const xNorm = calculateAverageAmplitude(smoothedBands[0]);\n      const yNorm = bands > 1 ? calculateAverageAmplitude(smoothedBands[1]) : 0;\n      const zNorm = bands > 2 ? calculateAverageAmplitude(smoothedBands[2]) : 0;\n      const elapsedTimeSec = (Date.now() - startTime.current) / 1000;\n\n      // Both setters called at top level so React can batch them into a single re-render\n      setFrequencyBands(smoothedBands);\n      setSphericalData({ xNorm, yNorm, zNorm, elapsedTimeSec });\n    };\n\n    // Helper function to resample array to desired length\n    const resampleArray = (arr: number[], newLength: number): number[] => {\n      if (arr.length === 0) return new Array(newLength).fill(0);\n\n      const result = new Array(newLength);\n      const stepSize = arr.length / newLength;\n\n      for (let i = 0; i < newLength; i++) {\n        const start = Math.floor(i * stepSize);\n        const end = Math.floor((i + 1) * stepSize);\n        let sum = 0;\n        let count = 0;\n\n        for (let j = start; j < end; j++) {\n          sum += arr[j] || 0;\n          count++;\n        }\n\n        result[i] = count > 0 ? sum / count : 0;\n      }\n\n      return result;\n    };\n\n    const calculateAverageAmplitude = (band: number[]): number => {\n      return band.reduce((sum, amplitude) => sum + amplitude, 0) / band.length;\n    };\n\n    const interval = setInterval(updateVolume, 100);\n    return () => clearInterval(interval);\n  }, [agentContext, loPass, hiPass, bands]);\n\n  return { frequencyBands, ...sphericalData };\n};\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { TalkServiceClient } from \"@/rapida/clients/protos/talk-api_pb_service\";\nimport { grpc } from \"@improbable-eng/grpc-web\";\nimport {\n  ASSISTANT_API,\n  LOCAL_ASSISTANT_API,\n  WEB_API,\n  LOCAL_WEB_API,\n  ENDPOINT_API,\n  LOCAL_ENDPOINT_API,\n} from \"@/rapida/constants\";\nimport { ClientAuthInfo, getClientInfo, UserAuthInfo } from \"@/rapida/clients\";\nimport { ConnectionState } from \"./connection-state\";\nimport { AssistantServiceClient } from \"@/rapida/clients/protos/assistant-api_pb_service\";\nimport { ProjectServiceClient } from \"@/rapida/clients/protos/web-api_pb_service\";\nimport { KnowledgeServiceClient } from \"@/rapida/clients/protos/knowledge-api_pb_service\";\nimport { DocumentServiceClient } from \"@/rapida/clients/protos/document-api_pb_service\";\nimport { VaultServiceClient } from \"@/rapida/clients/protos/vault-api_pb_service\";\nimport { EndpointServiceClient } from \"@/rapida/clients/protos/endpoint-api_pb_service\";\nimport { AuditLoggingServiceClient } from \"@/rapida/clients/protos/audit-logging-api_pb_service\";\nimport { AssistantDeploymentServiceClient } from \"@/rapida/clients/protos/assistant-deployment_pb_service\";\nimport { OrganizationServiceClient } from \"@/rapida/clients/protos/web-api_pb_service\";\nimport { ConnectServiceClient } from \"@/rapida/clients/protos/connect-api_pb_service\";\nimport { AuthenticationServiceClient } from \"@/rapida/clients/protos/web-api_pb_service\";\nimport { DeploymentClient } from \"@/rapida/clients/protos/invoker-api_pb_service\";\nimport { ObservabilityServiceClient} from \"@/rapida/clients/protos/observability-api_pb_service\";\n\nimport {\n  DEBUGGER_SOURCE,\n  SDK_SOURCE,\n  WEB_PLUGIN_SOURCE,\n} from \"../utils/rapida_source\";\nimport {\n  HEADER_API_KEY,\n  HEADER_AUTH_ID,\n  HEADER_PROJECT_ID,\n  HEADER_SOURCE_KEY,\n} from \"@/rapida/utils/rapida_header\";\nimport { NotificationServiceClient } from \"@/rapida/clients/protos/notification-api_pb_service\";\nimport { WebRTCClient } from \"@/rapida/clients/protos/webrtc_pb_service\";\nimport { BillingServiceClient } from \"@/rapida/clients/protos/billing-api_pb_service\";\n\n/**\n *\n */\ninterface ConnectionCallback {\n  /**\n   *\n   * @returns\n   */\n  onError?: () => void;\n\n  /**\n   *\n   * @returns\n   */\n  onConnect?: () => void;\n\n  /**\n   *\n   * @returns\n   */\n  onDisconnect?: () => void;\n}\n\nexport class ConnectionConfig {\n  /**\n   * an utils for debugger credentials\n   * @param param0\n   * @returns\n   */\n  static WithDebugger({\n    authorization,\n    userId,\n    projectId,\n  }: {\n    authorization: string;\n    userId: string;\n    projectId: string;\n  }): UserAuthInfo {\n    return {\n      authorization,\n      [HEADER_AUTH_ID]: userId,\n      [HEADER_PROJECT_ID]: projectId,\n      Client: {\n        [HEADER_SOURCE_KEY]: DEBUGGER_SOURCE,\n      },\n    };\n  }\n\n  /**\n   *\n   * @param param0\n   * @returns\n   */\n  static WithPersonalToken({\n    Authorization,\n    AuthId,\n    ProjectId,\n  }: {\n    Authorization: string;\n    AuthId: string;\n    ProjectId: string;\n  }): UserAuthInfo {\n    return {\n      authorization: Authorization,\n      [HEADER_AUTH_ID]: AuthId,\n      [HEADER_PROJECT_ID]: ProjectId,\n      Client: {\n        [HEADER_SOURCE_KEY]: DEBUGGER_SOURCE,\n      },\n    };\n  }\n\n  /**\n   *\n   * @param param0\n   * @returns\n   */\n  static WithWebpluginClient({\n    ApiKey,\n    UserId,\n  }: {\n    ApiKey: string;\n    UserId?: string;\n  }): ClientAuthInfo {\n    return {\n      [HEADER_API_KEY]: ApiKey,\n      [HEADER_AUTH_ID]: UserId,\n      Client: {\n        [HEADER_SOURCE_KEY]: WEB_PLUGIN_SOURCE,\n      },\n    };\n  }\n  /**\n   *\n   * @param param0\n   * @returns\n   */\n  static WithSDK({\n    ApiKey,\n    UserId,\n  }: {\n    ApiKey: string;\n    UserId?: string;\n  }): ClientAuthInfo {\n    return {\n      [HEADER_API_KEY]: ApiKey,\n      [HEADER_AUTH_ID]: UserId,\n      Client: {\n        [HEADER_SOURCE_KEY]: SDK_SOURCE,\n      },\n    };\n  }\n\n  endpoint: {\n    assistant: string;\n    web: string;\n    endpoint: string;\n  };\n  debug: boolean;\n  authInfo?: ClientAuthInfo | UserAuthInfo;\n\n  getClientOptions() {\n    return { debug: this.debug };\n  }\n\n  /**\n   * holding the callback\n   */\n  callbacks?: ConnectionCallback;\n\n  constructor(\n    endpoint: {\n      assistant?: string;\n      web?: string;\n      endpoint?: string;\n    } = {\n        assistant: ASSISTANT_API,\n        web: WEB_API,\n        endpoint: ENDPOINT_API,\n      },\n    debug: boolean = false\n  ) {\n    this.endpoint = {\n      assistant: endpoint.assistant || ASSISTANT_API,\n      web: endpoint.web || WEB_API,\n      endpoint: endpoint.endpoint || ENDPOINT_API,\n    };\n    this.debug = debug;\n  }\n\n  get conversationClient(): TalkServiceClient {\n    return new TalkServiceClient(\n      this.endpoint.assistant,\n      this.getClientOptions()\n    );\n  }\n\n  get assistantClient(): AssistantServiceClient {\n    return new AssistantServiceClient(\n      this.endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  get notificationClient(): NotificationServiceClient {\n    return new NotificationServiceClient(\n      this.endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  get projectClient(): ProjectServiceClient {\n    return new ProjectServiceClient(this.endpoint.web, this.getClientOptions());\n  }\n\n  get knowledgeClient(): KnowledgeServiceClient {\n    return new KnowledgeServiceClient(\n      this.endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  get deploymentClient(): DeploymentClient {\n    return new DeploymentClient(this.endpoint.web, this.getClientOptions());\n  }\n\n  get documentClient(): DocumentServiceClient {\n    return new DocumentServiceClient(\n      this.endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  get vaultClient(): VaultServiceClient {\n    return new VaultServiceClient(this.endpoint.web, this.getClientOptions());\n  }\n\n  get endpointClient(): EndpointServiceClient {\n    return new EndpointServiceClient(\n      this.endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  get auditLoggingClient(): AuditLoggingServiceClient {\n    return new AuditLoggingServiceClient(\n      this.endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  get assistantDeploymentClient(): AssistantDeploymentServiceClient {\n    return new AssistantDeploymentServiceClient(\n      this.endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n    get observabilityServiceClient(): ObservabilityServiceClient {\n    return new ObservabilityServiceClient(\n      this.endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n\n  get organizationClient(): OrganizationServiceClient {\n    return new OrganizationServiceClient(\n      this.endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  get billingClient(): BillingServiceClient {\n    return new BillingServiceClient(this.endpoint.web, this.getClientOptions());\n  }\n\n  get connectClient(): ConnectServiceClient {\n    return new ConnectServiceClient(this.endpoint.web, this.getClientOptions());\n  }\n\n  get authenticationClient(): AuthenticationServiceClient {\n    return new AuthenticationServiceClient(\n      this.endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  get streamClient(): TalkServiceClient {\n    return new TalkServiceClient(this.endpoint.assistant, {\n      ...this.getClientOptions(),\n      transport: grpc.WebsocketTransport(),\n    });\n  }\n\n  get webrtcClient(): WebRTCClient {\n    return new WebRTCClient(this.endpoint.assistant, {\n      ...this.getClientOptions(),\n      transport: grpc.WebsocketTransport(),\n    });\n  }\n\n  withLocal(): this {\n    return this.withCustomEndpoint({\n      assistant: LOCAL_ASSISTANT_API,\n      web: LOCAL_WEB_API,\n      endpoint: LOCAL_ENDPOINT_API,\n    });\n  }\n\n  withAuth(auth: ClientAuthInfo | UserAuthInfo): this {\n    this.authInfo = auth;\n    return this;\n  }\n\n  get auth(): ClientAuthInfo | UserAuthInfo | undefined {\n    return this.authInfo;\n  }\n\n  /**\n   * with default connection config\n   * @param auth\n   * @returns\n   */\n  static DefaultConnectionConfig(\n    auth: ClientAuthInfo | UserAuthInfo\n  ): ConnectionConfig {\n    const cc = new ConnectionConfig();\n    cc.withAuth(auth);\n    return cc;\n  }\n\n  /**\n   *\n   * @param endpoint\n   * @param debug\n   * @returns\n   */\n  withCustomEndpoint(\n    endpoint: {\n      assistant?: string;\n      web?: string;\n      endpoint?: string;\n    } = {\n        assistant: ASSISTANT_API,\n        web: WEB_API,\n        endpoint: ENDPOINT_API,\n      },\n    debug?: boolean\n  ): this {\n    this.endpoint = {\n      assistant: endpoint.assistant || ASSISTANT_API,\n      web: endpoint.web || WEB_API,\n      endpoint: endpoint.endpoint || ENDPOINT_API,\n    };\n    if (debug !== undefined) this.debug = debug;\n    return this;\n  }\n\n  /**\n   * Configures connection callbacks for the TalkService clients.\n   *\n   * @param onConnect - A callback function to be executed when a connection is established.\n   * @param onDisconnect - A callback function to be executed when the connection is terminated.\n   * @param onError - A callback function to be executed when the connection is terminated.\n   *\n   * @returns - The current instance of `ConnectionConfig` for method chaining.\n   *\n   * @example\n   * ```typescript\n   * const connection = new ConnectionConfig(auth);\n   * connection.withConnectionCallback(\n   *   () => { console.log(\"Connected to the TalkService\"); },\n   *   () => { console.log(\"Disconnected from the TalkService\"); }\n   * );\n   * ```\n   */\n  withConnectionCallback(cl: ConnectionCallback): this {\n    // Implement connection callback logic here if needed.\n    // For example, you can subscribe to events or set up listeners.\n    this.callbacks = cl;\n    return this;\n  }\n\n  /**\n   *\n   * @param connection\n   * @returns\n   */\n  onConnectionChange(connection: ConnectionState) {\n    if (connection === ConnectionState.Connected) {\n      if (this.callbacks && this.callbacks?.onConnect) {\n        this.callbacks.onConnect();\n      }\n      return;\n    }\n    if (this.callbacks && this.callbacks?.onDisconnect) {\n      this.callbacks.onDisconnect();\n    }\n    return;\n  }\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\n\nexport type RapidaSource =\n  | \"web-plugin\"\n  | \"debugger\"\n  | \"sdk\"\n  | \"phone-call\"\n  | \"whatsapp\"\n  | \"webrtc\";\nexport const WEB_PLUGIN_SOURCE: RapidaSource = \"web-plugin\";\nexport const DEBUGGER_SOURCE: RapidaSource = \"debugger\";\nexport const SDK_SOURCE: RapidaSource = \"sdk\";\nexport const PHONE_CALL_SOURCE: RapidaSource = \"phone-call\";\nexport const WHATSAPP_SOURCE: RapidaSource = \"whatsapp\";\nexport const WEBRTC_SOURCE: RapidaSource = \"webrtc\";\n\nexport function getRapidaSourceValue(source: RapidaSource): string {\n  return source;\n}\n\n// FromStr returns the corresponding RapidaSource for a given string,\n// or 'web-plugin' if the string does not match any source.\nexport function fromStr(label: string): RapidaSource {\n  switch (label.toLowerCase()) {\n    case \"web-plugin\":\n      return WEB_PLUGIN_SOURCE;\n    case \"debugger\":\n      return DEBUGGER_SOURCE;\n    case \"sdk\":\n      return SDK_SOURCE;\n    case \"phone-call\":\n      return PHONE_CALL_SOURCE;\n    case \"whatsapp\":\n      return WHATSAPP_SOURCE;\n    case \"webrtc\":\n      return WEBRTC_SOURCE;\n\n    default:\n      console.warn(\n        \"The source is not supported. Only 'web-plugin', 'debugger', 'sdk', 'webrtc' are allowed.\"\n      );\n      return SDK_SOURCE;\n  }\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { RapidaSource } from \"@/rapida/utils/rapida_source\";\nimport { Assistant } from \"@/rapida/clients/protos/assistant-api_pb\";\nimport {\n  AssistantApiDeployment,\n  AssistantDebuggerDeployment,\n  AssistantWebpluginDeployment,\n} from \"@/rapida/clients/protos/assistant-deployment_pb\";\n\nexport type AgentDeployment =\n  | {\n    type: \"debugger\";\n    deployment: AssistantDebuggerDeployment;\n    inAudio: boolean;\n    outAudio: boolean;\n  }\n  | {\n    type: \"web-plugin\";\n    deployment: AssistantWebpluginDeployment;\n    inAudio: boolean;\n    outAudio: boolean;\n  }\n  | {\n    type: \"api\";\n    deployment: AssistantApiDeployment;\n    inAudio: boolean;\n    outAudio: boolean;\n  };\n\nexport const GetDeployment = (\n  assistant: Assistant,\n  source: RapidaSource\n): AgentDeployment | undefined => {\n  switch (source) {\n    case \"debugger\": {\n      const deployment = assistant.getDebuggerdeployment();\n      return deployment\n        ? {\n          type: \"debugger\",\n          deployment: deployment,\n          inAudio: deployment.getInputaudio() != undefined,\n          outAudio: deployment.getOutputaudio() != undefined,\n        }\n        : undefined;\n    }\n    case \"web-plugin\": {\n      const deployment = assistant.getWebplugindeployment();\n      return deployment\n        ? {\n          type: \"web-plugin\",\n          deployment: deployment,\n          inAudio: deployment.getInputaudio() != undefined,\n          outAudio: deployment.getOutputaudio() != undefined,\n        }\n        : undefined;\n    }\n    default: {\n      const deployment = assistant.getApideployment();\n      return deployment\n        ? {\n          type: \"api\",\n          deployment: deployment,\n          inAudio: deployment.getInputaudio() != undefined,\n          outAudio: deployment.getOutputaudio() != undefined,\n        }\n        : undefined;\n    }\n  }\n};\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { VoiceAgent } from \"@/rapida/agents/voice-agent\";\nimport { observeAgentMessageEvents } from \"@/rapida/hooks/observables/voice-agent\"; // Updated function name\nimport { useObservableState } from \"@/rapida/hooks/use-observable-state\";\n\nimport React from \"react\";\n\n/**\n * Custom hook for managing agent messages in a voice system.\n * @returns An object containing the agent messages.\n */\nexport function useAgentMessages(agent: VoiceAgent) {\n  // Memoize the observable based on the voice agent instance\n  const observable = React.useMemo(\n    () => observeAgentMessageEvents(agent), // Updated function name for consistency\n    [agent]\n  );\n\n  // Extract observable state with initial default chat messages\n  const { chats } = useObservableState(observable, {\n    eventType: undefined,\n    chats: agent.messages,\n  });\n\n  // Return updated agent messages\n  return { messages: chats };\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for interacting with the Knowledge API. It\n *  includes methods for creating, retrieving, and updating knowledge documents,\n *  knowledge bases, and knowledge tags.\n */\n\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport {\n  IndexKnowledgeDocumentRequest,\n  IndexKnowledgeDocumentResponse,\n} from \"@/rapida/clients/protos/document-api_pb\";\nimport { ConnectionConfig } from \"@/rapida/types/connection-config\";\n\n/**\n * Index a document for knowledge\n *\n * @param knowledgeId - The ID of the knowledge id\n * @param knowledgeDocumentIds - A list of documents\n * @param indexType - an index type\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n */\nexport function IndexKnowledgeDocument(\n  client: ConnectionConfig,\n  knowledgeId: string,\n  knowledgeDocumentIds: string[],\n  indexType: string,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: IndexKnowledgeDocumentResponse | null\n  ) => void\n) {\n  const req = new IndexKnowledgeDocumentRequest();\n  req.setKnowledgedocumentidList(knowledgeDocumentIds);\n  req.setKnowledgeid(knowledgeId);\n  req.setIndextype(indexType);\n  return client.documentClient.indexKnowledgeDocument(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for interacting with the Deployment API.\n *  It includes methods for invoking requests with specified parameters.\n */\n\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport {\n  EndpointDefinition,\n  InvokeRequest,\n  InvokeResponse,\n} from \"@/rapida/clients/protos/invoker-api_pb\";\nimport p from \"google-protobuf/google/protobuf/any_pb\";\nimport { StringToAny } from \"@/rapida/utils/rapida_value\";\nimport { ConnectionConfig } from \"@/rapida/types/connection-config\";\n\n/**\n * Invoke an endpoint with specified parameters.\n *\n * @param endpointId - The ID of the endpoint to invoke.\n * @param endpointProviderModelId - The provider model ID of the endpoint.\n * @param parameters - A map of parameters to pass to the endpoint.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @param metadata - Optional metadata to include in the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function Invoke(\n  clientCfg: ConnectionConfig,\n  request: InvokeRequest,\n  authHeader?: ClientAuthInfo | UserAuthInfo\n): Promise<InvokeResponse> {\n  return new Promise((resolve, reject) => {\n    return clientCfg.deploymentClient.invoke(\n      request,\n      WithAuthContext(authHeader || clientCfg.auth),\n      (err: ServiceError | null, response: InvokeResponse | null) => {\n        if (err) reject(err);\n        else resolve(response!);\n      }\n    );\n  });\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for user authentication and management using gRPC.\n *  It includes operations such as user authentication, registration, password management,\n *  and social authentication with Google, LinkedIn, and GitHub.\n */\n\nimport {\n  AuthenticateRequest,\n  AuthenticateResponse,\n  RegisterUserRequest,\n  ForgotPasswordRequest,\n  VerifyTokenRequest,\n  VerifyTokenResponse,\n  AuthorizeRequest,\n  GetUserResponse,\n  GetUserRequest,\n  UpdateUserResponse,\n  UpdateUserRequest,\n  ForgotPasswordResponse,\n  SocialAuthenticationRequest,\n  CreatePasswordRequest,\n  CreatePasswordResponse,\n  GetAllUserRequest,\n  GetAllUserResponse,\n  ChangePasswordRequest,\n  ChangePasswordResponse,\n} from \"@/rapida/clients/protos/web-api_pb\";\nimport { Criteria, Paginate } from \"@/rapida/clients/protos/common_pb\";\nimport { AuthenticationServiceClient } from \"@/rapida/clients/protos/web-api_pb_service\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport { ConnectionConfig } from \"../types/connection-config\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\n\n/**\n * Authenticate a user with email and password.\n *\n * @param email - The email address of the user.\n * @param password - The password of the user.\n * @param cb - Callback function to handle the response.\n */\nexport function AuthenticateUser(\n  config: ConnectionConfig,\n  email: string,\n  password: string,\n  cb: (err: ServiceError | null, auth: AuthenticateResponse | null) => void\n) {\n  const requestObject = new AuthenticateRequest();\n  requestObject.setEmail(email);\n  requestObject.setPassword(password);\n  return config.authenticationClient.authenticate(requestObject, cb);\n}\n\n/**\n * Authorize or reauthorize the user with headers.\n *\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n */\nexport function AuthorizeUser(\n  config: ConnectionConfig,\n  cb: (err: ServiceError | null, org: AuthenticateResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  return config.authenticationClient.authorize(\n    new AuthorizeRequest(),\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Register a new user with email, password, and name.\n *\n * @param email - The email address of the user.\n * @param password - The password for the new user.\n * @param name - The name of the new user.\n * @param cb - Callback function to handle the response.\n */\nexport function RegisterUser(\n  config: ConnectionConfig,\n  email: string,\n  password: string,\n  name: string,\n  cb: (err: ServiceError | null, user: AuthenticateResponse | null) => void\n) {\n  const requestObject = new RegisterUserRequest();\n  requestObject.setEmail(email);\n  requestObject.setName(name);\n  requestObject.setPassword(password);\n  return config.authenticationClient.registerUser(requestObject, cb);\n}\n\n/**\n * Verify a token for authentication or authorization.\n *\n * @param token - The token to verify.\n * @param tokenType - The type of the token.\n * @param cb - Callback function to handle the response.\n */\nexport function VerifyToken(\n  config: ConnectionConfig,\n  token: string,\n  tokenType: string,\n  cb: (\n    err: ServiceError | null,\n    tokenResponse: VerifyTokenResponse | null\n  ) => void\n) {\n  const requestObject = new VerifyTokenRequest();\n  requestObject.setToken(token);\n  requestObject.setTokentype(tokenType);\n  return config.authenticationClient.verifyToken(requestObject, cb);\n}\n\n/**\n * Request a password reset for a user.\n *\n * @param email - The email address of the user.\n * @param cb - Callback function to handle the response.\n */\nexport function ForgotPassword(\n  config: ConnectionConfig,\n  email: string,\n  cb: (err: ServiceError | null, fpr: ForgotPasswordResponse | null) => void\n) {\n  const requestObject = new ForgotPasswordRequest();\n  requestObject.setEmail(email);\n  return config.authenticationClient.forgotPassword(requestObject, cb);\n}\n\n/**\n * Create a new password after a password reset link.\n *\n * @param token - The token received for password reset.\n * @param password - The new password.\n * @param cb - Callback function to handle the response.\n */\nexport function CreatePassword(\n  config: ConnectionConfig,\n  token: string,\n  password: string,\n  cb: (err: ServiceError | null, fpr: CreatePasswordResponse | null) => void\n) {\n  const requestObject = new CreatePasswordRequest();\n  requestObject.setToken(token);\n  requestObject.setPassword(password);\n  return config.authenticationClient.createPassword(requestObject, cb);\n}\n\n/**\n * Retrieve user information with authorization headers.\n *\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n */\nexport function GetUser(\n  config: ConnectionConfig,\n  cb: (err: ServiceError | null, gur: GetUserResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  return config.authenticationClient.getUser(\n    new GetUserRequest(),\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Update user information with optional name and authorization headers.\n *\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @param name - Optional new name for the user.\n */\nexport function UpdateUser(\n  config: ConnectionConfig,\n  cb: (err: ServiceError | null, uur: UpdateUserResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  name?: string\n) {\n  const requestObject = new UpdateUserRequest();\n  if (name) requestObject.setName(name);\n  return config.authenticationClient.updateUser(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieve all users with pagination and criteria.\n *\n * @param page - The page number for pagination.\n * @param pageSize - The number of users per page.\n * @param criteria - List of criteria to filter users.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n */\nexport function GetAllUser(\n  config: ConnectionConfig,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  cb: (err: ServiceError | null, uur: GetAllUserResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllUserRequest();\n  const paginate = new Paginate();\n\n  criteria.forEach(({ key, value }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    req.addCriterias(ctr);\n  });\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return config.authenticationClient.getAllUser(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Social authentication with Google.\n *\n * @param cb - Callback function to handle the response.\n * @param state - Optional state parameter for the authentication request.\n * @param code - Optional code parameter for the authentication request.\n */\nexport function Google(\n  config: ConnectionConfig,\n  cb: (err: ServiceError | null, uur: AuthenticateResponse | null) => void,\n  state?: string,\n  code?: string\n) {\n  const requestObject = new SocialAuthenticationRequest();\n  if (state) requestObject.setState(state);\n  if (code) requestObject.setCode(code);\n  return config.authenticationClient.google(requestObject, cb);\n}\n\n/**\n * Social authentication with LinkedIn.\n *\n * @param cb - Callback function to handle the response.\n * @param state - Optional state parameter for the authentication request.\n * @param code - Optional code parameter for the authentication request.\n */\nexport function Linkedin(\n  config: ConnectionConfig,\n  cb: (err: ServiceError | null, uur: AuthenticateResponse | null) => void,\n  state?: string,\n  code?: string\n) {\n  const requestObject = new SocialAuthenticationRequest();\n  if (state) requestObject.setState(state);\n  if (code) requestObject.setCode(code);\n  return config.authenticationClient.linkedin(requestObject, cb);\n}\n\n/**\n * Social authentication with GitHub.\n *\n * @param cb - Callback function to handle the response.\n * @param state - Optional state parameter for the authentication request.\n * @param code - Optional code parameter for the authentication request.\n */\nexport function Github(\n  config: ConnectionConfig,\n  cb: (err: ServiceError | null, uur: AuthenticateResponse | null) => void,\n  state?: string,\n  code?: string\n) {\n  const requestObject = new SocialAuthenticationRequest();\n  if (state) requestObject.setState(state);\n  if (code) requestObject.setCode(code);\n  return config.authenticationClient.github(requestObject, cb);\n}\n\n/**\n *\n * @param clientCfg\n * @param request\n * @param auth\n * @returns\n */\nexport function ChangePassword(\n  clientCfg: ConnectionConfig,\n  request: ChangePasswordRequest,\n  auth?: ClientAuthInfo | UserAuthInfo\n): Promise<ChangePasswordResponse> {\n  return new Promise((resolve, reject) => {\n    clientCfg.authenticationClient.changePassword(\n      request,\n      WithAuthContext(clientCfg.auth || auth),\n      (err: ServiceError | null, response: ChangePasswordResponse | null) => {\n        if (err) reject(err);\n        else resolve(response!);\n      }\n    );\n  });\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for interacting with the Connect API. It includes\n *  methods for knowledge and action connections, as well as retrieving connector files.\n */\n\nimport { Criteria } from \"@/rapida/clients/protos/common_pb\";\nimport {\n  GeneralConnectRequest,\n  GeneralConnectResponse,\n  GetConnectorFilesRequest,\n  GetConnectorFilesResponse,\n} from \"@/rapida/clients/protos/connect-api_pb\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport { ConnectionConfig } from \"@/rapida/types/connection-config\";\n\n/**\n * Establish a general connection.\n *\n * @param connect - The connection identifier.\n * @param code - The authorization code.\n * @param state - The state parameter.\n * @param scope - The requested scope.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GeneralConnect(\n  config: ConnectionConfig,\n  connect: string,\n  code: string,\n  state: string,\n  scope: string,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: GeneralConnectResponse | null\n  ) => void\n) {\n  const req = new GeneralConnectRequest();\n  req.setConnect(connect);\n  req.setCode(code);\n  req.setState(state);\n  req.setScope(scope);\n  return config.connectClient.generalConnect(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieve files associated with a connector based on specified criteria.\n *\n * @param toolId - The ID of the tool (connector) to retrieve files from.\n * @param criterias - List of criteria to filter the files.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetConnectorFiles(\n  config: ConnectionConfig,\n  provider: string,\n  criterias: Criteria[],\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: GetConnectorFilesResponse | null\n  ) => void\n) {\n  const req = new GetConnectorFilesRequest();\n  req.setProvider(provider);\n  req.setCriteriasList(criterias);\n  return config.connectClient.getConnectorFiles(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides a function for creating a lead via the LeadService.\n */\nimport {\n  CreateOrganizationRequest,\n  UpdateOrganizationRequest,\n  GetOrganizationRequest,\n  GetOrganizationResponse,\n  CreateOrganizationResponse,\n  UpdateOrganizationResponse,\n  InviteUserToOrganizationRequest,\n  InviteUserToOrganizationResponse,\n  UpdateUserOrganizationRoleRequest,\n  UpdateUserOrganizationRoleResponse,\n  DeleteUserFromOrganizationRequest,\n  DeleteUserFromOrganizationResponse,\n} from \"./protos/web-api_pb\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport { ConnectionConfig } from \"@/rapida/types/connection-config\";\n\n/**\n * Create a new organization.\n *\n * @param name - The name of the organization.\n * @param size - The size of the organization.\n * @param industry - The industry the organization operates in.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function CreateOrganization(\n  connectionConfig: ConnectionConfig,\n  name: string,\n  size: string,\n  industry: string,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: CreateOrganizationResponse | null\n  ) => void\n) {\n  const requestObject = new CreateOrganizationRequest();\n  requestObject.setOrganizationname(name);\n  requestObject.setOrganizationsize(size);\n  requestObject.setOrganizationindustry(industry);\n\n  return connectionConfig.organizationClient.createOrganization(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Update an existing organization.\n *\n * @param organizationId - The ID of the organization to update.\n * @param authHeader - Authentication headers for the request.\n * @param organizationName - Optional new name for the organization.\n * @param organizationIndustry - Optional new industry for the organization.\n * @param organizationContact - Optional new contact for the organization.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function UpdateOrganization(\n  connectionConfig: ConnectionConfig,\n  organizationId: string,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: UpdateOrganizationResponse | null\n  ) => void,\n  organizationName?: string,\n  organizationIndustry?: string,\n  organizationContact?: string\n) {\n  const requestObject = new UpdateOrganizationRequest();\n  requestObject.setOrganizationid(organizationId);\n\n  if (organizationName) {\n    requestObject.setOrganizationname(organizationName);\n  }\n  if (organizationIndustry) {\n    requestObject.setOrganizationindustry(organizationIndustry);\n  }\n  if (organizationContact) {\n    requestObject.setOrganizationcontact(organizationContact);\n  }\n\n  return connectionConfig.organizationClient.updateOrganization(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieve details of an organization.\n *\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetOrganization(\n  connectionConfig: ConnectionConfig,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: GetOrganizationResponse | null\n  ) => void\n) {\n  const requestObject = new GetOrganizationRequest();\n\n  return connectionConfig.organizationClient.getOrganization(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\nexport function InviteUserToOrganization(\n  connectionConfig: ConnectionConfig,\n  req: InviteUserToOrganizationRequest,\n  authHeader?: UserAuthInfo | ClientAuthInfo\n): Promise<InviteUserToOrganizationResponse> {\n  return new Promise((resolve, reject) => {\n    connectionConfig.organizationClient.inviteUserToOrganization(\n      req,\n      WithAuthContext(connectionConfig.auth || authHeader),\n      (\n        err: ServiceError | null,\n        response: InviteUserToOrganizationResponse | null\n      ) => {\n        if (err) reject(err);\n        else resolve(response!);\n      }\n    );\n  });\n}\n\nexport function UpdateUserOrganizationRole(\n  connectionConfig: ConnectionConfig,\n  req: UpdateUserOrganizationRoleRequest,\n  authHeader?: UserAuthInfo | ClientAuthInfo\n): Promise<UpdateUserOrganizationRoleResponse> {\n  return new Promise((resolve, reject) => {\n    connectionConfig.organizationClient.updateUserOrganizationRole(\n      req,\n      WithAuthContext(connectionConfig.auth || authHeader),\n      (\n        err: ServiceError | null,\n        response: UpdateUserOrganizationRoleResponse | null\n      ) => {\n        if (err) reject(err);\n        else resolve(response!);\n      }\n    );\n  });\n}\n\nexport function DeleteUserFromOrganization(\n  connectionConfig: ConnectionConfig,\n  req: DeleteUserFromOrganizationRequest,\n  authHeader?: UserAuthInfo | ClientAuthInfo\n): Promise<DeleteUserFromOrganizationResponse> {\n  return new Promise((resolve, reject) => {\n    connectionConfig.organizationClient.deleteUserFromOrganization(\n      req,\n      WithAuthContext(connectionConfig.auth || authHeader),\n      (\n        err: ServiceError | null,\n        response: DeleteUserFromOrganizationResponse | null\n      ) => {\n        if (err) reject(err);\n        else resolve(response!);\n      }\n    );\n  });\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for accessing audit logs via gRPC. It includes\n *  operations for retrieving lists of audit logs and fetching specific audit log entries.\n */\n\nimport { Criteria, Paginate } from \"@/rapida/clients/protos/common_pb\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport {\n  GetAllAuditLogRequest,\n  GetAllAuditLogResponse,\n  GetAuditLogRequest,\n  GetAuditLogResponse,\n} from \"@/rapida/clients/protos/audit-logging-api_pb\";\nimport { ConnectionConfig } from \"@/rapida/types/connection-config\";\n\n/**\n * Retrieve a paginated list of audit logs with filtering criteria.\n *\n * @param projectId - The ID of the project for which to retrieve audit logs.\n * @param page - The page number for pagination.\n * @param pageSize - The number of logs per page.\n * @param criteria - List of criteria to filter the audit logs.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetActivities(\n  connectionConfig: ConnectionConfig,\n  projectId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string; logic: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllAuditLogResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllAuditLogRequest();\n  req.setProjectid(projectId);\n\n  const paginate = new Paginate();\n  criteria.forEach(({ key, value, logic }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    ctr.setLogic(logic);\n    req.addCriterias(ctr);\n  });\n\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return connectionConfig.auditLoggingClient.getAllAuditLog(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieve a specific audit log entry by its ID.\n *\n * @param projectId - The ID of the project associated with the audit log.\n * @param auditId - The ID of the audit log entry to retrieve.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetActivity(\n  connectionConfig: ConnectionConfig,\n  projectId: string,\n  auditId: string,\n  cb: (err: ServiceError | null, response: GetAuditLogResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAuditLogRequest();\n  req.setProjectid(projectId);\n  req.setId(auditId);\n\n  return connectionConfig.auditLoggingClient.getAuditLog(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for interacting with the Endpoint API. It includes\n *  methods for endpoint management, including creation, retrieval, and configuration.\n */\n\nimport { Criteria, Paginate } from \"@/rapida/clients/protos/common_pb\";\nimport {\n  GetAllEndpointRequest,\n  GetAllEndpointResponse,\n  CreateEndpointRequest,\n  GetAllEndpointProviderModelRequest,\n  UpdateEndpointVersionRequest,\n  UpdateEndpointVersionResponse,\n  GetEndpointRequest,\n  GetEndpointResponse,\n  CreateEndpointTagRequest,\n  EndpointRetryConfiguration,\n  EndpointCacheConfiguration,\n  CreateEndpointCacheConfigurationRequest,\n  CreateEndpointCacheConfigurationResponse,\n  CreateEndpointResponse,\n  EndpointProviderModelAttribute,\n  EndpointAttribute,\n  CreateEndpointProviderModelRequest,\n  CreateEndpointRetryConfigurationResponse,\n  CreateEndpointProviderModelResponse,\n  GetAllEndpointProviderModelResponse,\n  CreateEndpointRetryConfigurationRequest,\n  UpdateEndpointDetailRequest,\n  GetAllEndpointLogRequest,\n  GetAllEndpointLogResponse,\n  GetEndpointLogResponse,\n  GetEndpointLogRequest,\n} from \"@/rapida/clients/protos/endpoint-api_pb\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport { ConnectionConfig } from \"@/rapida/types/connection-config\";\n\n/**\n * Retrieve all endpoints based on pagination and filtering criteria.\n *\n * @param page - The page number for pagination.\n * @param pageSize - The number of results per page.\n * @param criteria - List of filtering criteria.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function GetAllEndpoint(\n  config: ConnectionConfig,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string; logic: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllEndpointResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllEndpointRequest();\n  const paginate = new Paginate();\n  criteria.forEach(({ key, value, logic }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    ctr.setLogic(logic);\n    req.addCriterias(ctr);\n  });\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n  return config.endpointClient.getAllEndpoint(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Update the version of an endpoint.\n *\n * @param endpointId - The ID of the endpoint to update.\n * @param endpointProviderModelId - The ID of the endpoint provider model.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function UpdateEndpointVersion(\n  config: ConnectionConfig,\n  endpointId: string,\n  endpointProviderModelId: string,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: UpdateEndpointVersionResponse | null\n  ) => void\n) {\n  const req = new UpdateEndpointVersionRequest();\n  req.setEndpointid(endpointId);\n  req.setEndpointprovidermodelid(endpointProviderModelId);\n  return config.endpointClient.updateEndpointVersion(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieve all endpoint provider models for a specific endpoint.\n *\n * @param endpointId - The ID of the endpoint.\n * @param page - The page number for pagination.\n * @param pageSize - The number of results per page.\n * @param criteria - List of filtering criteria.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function GetAllEndpointProviderModel(\n  config: ConnectionConfig,\n  endpointId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllEndpointProviderModelResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllEndpointProviderModelRequest();\n  req.setEndpointid(endpointId);\n  const paginate = new Paginate();\n  criteria.forEach(({ key, value }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    req.addCriterias(ctr);\n  });\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n  return config.endpointClient.getAllEndpointProviderModel(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieve details of a specific endpoint.\n *\n * @param endpointId - The ID of the endpoint.\n * @param endpointProviderModelId - Optional ID of the endpoint provider model.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function GetEndpoint(\n  config: ConnectionConfig,\n  endpointId: string,\n  endpointProviderModelId: string | null,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (err: ServiceError | null, response: GetEndpointResponse | null) => void\n) {\n  const req = new GetEndpointRequest();\n  req.setId(endpointId);\n  if (endpointProviderModelId) {\n    req.setEndpointprovidermodelid(endpointProviderModelId);\n  }\n  return config.endpointClient.getEndpoint(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Create a new endpoint provider model.\n *\n * @param endpointId - The ID of the endpoint.\n * @param endpointProviderModel - The provider model attributes.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function CreateEndpointProviderModel(\n  config: ConnectionConfig,\n  endpointId: string,\n  endpointProviderModel: EndpointProviderModelAttribute,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: CreateEndpointProviderModelResponse | null\n  ) => void\n) {\n  const req = new CreateEndpointProviderModelRequest();\n  req.setEndpointid(endpointId);\n  req.setEndpointprovidermodelattribute(endpointProviderModel);\n  return config.endpointClient.createEndpointProviderModel(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Create a new endpoint with specified configurations.\n *\n * @param endpointProviderModel - The provider model attributes.\n * @param endpointAttributes - The attributes of the endpoint.\n * @param retryConfig - Optional retry configuration.\n * @param cacheConfig - Optional cache configuration.\n * @param tags - List of tags to associate with the endpoint.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function CreateEndpoint(\n  config: ConnectionConfig,\n  endpointProviderModel: EndpointProviderModelAttribute,\n  endpointAttributes: EndpointAttribute,\n  tags: string[],\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: CreateEndpointResponse | null\n  ) => void,\n  retryConfig?: EndpointRetryConfiguration,\n  cacheConfig?: EndpointCacheConfiguration\n) {\n  const req = new CreateEndpointRequest();\n  req.setEndpointattribute(endpointAttributes);\n  req.setEndpointprovidermodelattribute(endpointProviderModel);\n  if (cacheConfig) req.setCacheconfiguration(cacheConfig);\n  if (retryConfig) req.setRetryconfiguration(retryConfig);\n  req.setTagsList(tags);\n  return config.endpointClient.createEndpoint(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Add tags to an existing endpoint.\n *\n * @param endpointId - The ID of the endpoint.\n * @param tags - List of tags to add.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function CreateEndpointTag(\n  config: ConnectionConfig,\n  endpointId: string,\n  tags: string[],\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (err: ServiceError | null, response: GetEndpointResponse | null) => void\n) {\n  const req = new CreateEndpointTagRequest();\n  req.setTagsList(tags);\n  req.setEndpointid(endpointId);\n  return config.endpointClient.createEndpointTag(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Update the details of an endpoint.\n *\n * @param endpointId - The ID of the endpoint to update.\n * @param name - The new name for the endpoint.\n * @param description - The new description for the endpoint.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function UpdateEndpointDetail(\n  config: ConnectionConfig,\n  endpointId: string,\n  name: string,\n  description: string,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (err: ServiceError | null, response: GetEndpointResponse | null) => void\n) {\n  const req = new UpdateEndpointDetailRequest();\n  req.setName(name);\n  req.setDescription(description);\n  req.setEndpointid(endpointId);\n  return config.endpointClient.updateEndpointDetail(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Create a retry configuration for an endpoint.\n *\n * @param endpointId - The ID of the endpoint.\n * @param retryType - The type of retry configuration.\n * @param maxAttempts - The maximum number of retry attempts.\n * @param delaySeconds - The delay between retry attempts in seconds.\n * @param exponentialBackoff - Whether to use exponential backoff.\n * @param retryables - List of error codes that should trigger a retry.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function CreateEndpointRetryConfiguration(\n  config: ConnectionConfig,\n  endpointId: string,\n  retryType: string,\n  maxAttempts: string,\n  delaySeconds: string,\n  exponentialBackoff: boolean,\n  retryables: string[],\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: CreateEndpointRetryConfigurationResponse | null\n  ) => void\n) {\n  const request = new CreateEndpointRetryConfigurationRequest();\n  const data = new EndpointRetryConfiguration();\n  data.setRetryablesList(retryables);\n  data.setExponentialbackoff(exponentialBackoff);\n  data.setDelayseconds(delaySeconds);\n  data.setMaxattempts(maxAttempts);\n  data.setRetrytype(retryType);\n  request.setEndpointid(endpointId);\n  request.setData(data);\n  return config.endpointClient.createEndpointRetryConfiguration(\n    request,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Create a cache configuration for an endpoint.\n *\n * @param endpointId - The ID of the endpoint.\n * @param cacheType - The type of cache configuration.\n * @param expiryInterval - The cache expiry interval.\n * @param matchThreshold - The threshold for cache match.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function CreateEndpointCacheConfiguration(\n  config: ConnectionConfig,\n  endpointId: string,\n  cacheType: string,\n  expiryInterval: string,\n  matchThreshold: number,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: CreateEndpointCacheConfigurationResponse | null\n  ) => void\n) {\n  const request = new CreateEndpointCacheConfigurationRequest();\n  const data = new EndpointCacheConfiguration();\n  data.setMatchthreshold(matchThreshold);\n  data.setExpiryinterval(expiryInterval);\n  data.setCachetype(cacheType);\n  request.setEndpointid(endpointId);\n  request.setData(data);\n  return config.endpointClient.createEndpointCacheConfiguration(\n    request,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param page\n * @param pageSize\n * @param criteria\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetAllEndpointLog(\n  config: ConnectionConfig,\n  endpointId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string; logic: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllEndpointLogResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllEndpointLogRequest();\n  req.setEndpointid(endpointId);\n  const paginate = new Paginate();\n  criteria.forEach(({ key, value, logic }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    ctr.setLogic(logic);\n    req.addCriterias(ctr);\n  });\n\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return config.endpointClient.getAllEndpointLog(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param organizationId\n * @param projectId\n * @param logId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetEndpointLog(\n  config: ConnectionConfig,\n  endpointId: string,\n  logId: string,\n  cb: (\n    err: ServiceError | null,\n    response: GetEndpointLogResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetEndpointLogRequest();\n  req.setEndpointid(endpointId);\n  req.setId(logId);\n  return config.endpointClient.getEndpointLog(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides a function for creating a lead via the LeadService.\n */\n\nimport {\n  CreateProviderCredentialRequest,\n  GetCredentialResponse,\n  DeleteCredentialRequest,\n  GetAllOrganizationCredentialResponse,\n  GetAllOrganizationCredentialRequest,\n} from \"@/rapida/clients/protos/vault-api_pb\";\nimport { Criteria, Paginate } from \"@/rapida/clients/protos/common_pb\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ConnectionConfig } from \"@/rapida/types/connection-config\";\n\n/**\n *\n * @param providerId\n * @param providerKey\n * @param keyName\n * @param cb\n */\nexport function CreateProviderKey(\n  connectionConfig: ConnectionConfig,\n  req: CreateProviderCredentialRequest,\n  authHeader?: ClientAuthInfo | UserAuthInfo\n): Promise<GetCredentialResponse> {\n  return new Promise((resolve, reject) => {\n    connectionConfig.vaultClient.createProviderCredential(\n      req,\n      WithAuthContext(connectionConfig.auth || authHeader),\n      (err: ServiceError | null, response: GetCredentialResponse | null) => {\n        if (err) reject(err);\n        else resolve(response!);\n      }\n    );\n  });\n}\n\n/**\n *\n * @param providerKeyId\n * @param providerId\n * @param providerKey\n * @param keyName\n * @param cb\n */\nexport function DeleteProviderKey(\n  connectionConfig: ConnectionConfig,\n  providerKeyId: string,\n  cb: (err: ServiceError | null, dpr: GetCredentialResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const requestObject = new DeleteCredentialRequest();\n  requestObject.setVaultid(providerKeyId);\n  connectionConfig.vaultClient.deleteCredential(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param cb\n */\nexport function GetAllOrganizationCredential(\n  connectionConfig: ConnectionConfig,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string; logic: string }[],\n  cb: (\n    err: ServiceError | null,\n    pcs: GetAllOrganizationCredentialResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllOrganizationCredentialRequest();\n  const paginate = new Paginate();\n  criteria.forEach((x) => {\n    let ctr = new Criteria();\n    ctr.setKey(x.key);\n    ctr.setValue(x.value);\n    ctr.setLogic(x.logic);\n    req.addCriterias(ctr);\n  });\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n  connectionConfig.vaultClient.getAllOrganizationCredential(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for interacting with the Knowledge API. It\n *  includes methods for creating, retrieving, and updating knowledge documents,\n *  knowledge bases, and knowledge tags.\n */\n\nimport {\n  BaseResponse,\n  Criteria,\n  Paginate,\n} from \"@/rapida/clients/protos/common_pb\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport {\n  CreateKnowledgeDocumentRequest,\n  CreateKnowledgeDocumentResponse,\n  CreateKnowledgeRequest,\n  CreateKnowledgeResponse,\n  CreateKnowledgeTagRequest,\n  GetAllKnowledgeDocumentRequest,\n  GetAllKnowledgeDocumentResponse,\n  GetAllKnowledgeDocumentSegmentRequest,\n  GetAllKnowledgeDocumentSegmentResponse,\n  GetAllKnowledgeLogRequest,\n  GetAllKnowledgeLogResponse,\n  GetAllKnowledgeRequest,\n  GetAllKnowledgeResponse,\n  GetKnowledgeLogRequest,\n  GetKnowledgeLogResponse,\n  GetKnowledgeRequest,\n  GetKnowledgeResponse,\n  UpdateKnowledgeDetailRequest,\n  UpdateKnowledgeDocumentSegmentRequest,\n} from \"@/rapida/clients/protos/knowledge-api_pb\";\nimport { DeleteKnowledgeDocumentSegmentRequest, DocumentContent } from './protos/knowledge-api_pb';\nimport {\n  RapidaDocumentPreProcessing,\n  RapidaDocumentSource,\n  RapidaDocumentType,\n} from \"@/rapida/utils/rapida_document\";\nimport { ConnectionConfig } from \"@/rapida/types/connection-config\";\n\n/**\n * Creates a new knowledge entry.\n *\n * @param providerModelId - The ID of the provider model.\n * @param providerId - The ID of the provider.\n * @param name - The name of the knowledge.\n * @param description - A description of the knowledge.\n * @param tags - A list of tags associated with the knowledge.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\n\nexport function CreateKnowledge(\n  connectionConfig: ConnectionConfig,\n  req: CreateKnowledgeRequest,\n  authHeader?: UserAuthInfo | ClientAuthInfo\n): Promise<CreateKnowledgeResponse> {\n  return new Promise((resolve, reject) => {\n    connectionConfig.knowledgeClient.createKnowledge(\n      req,\n      WithAuthContext(connectionConfig.auth || authHeader),\n      (err: ServiceError | null, response: CreateKnowledgeResponse | null) => {\n        if (err) reject(err);\n        else resolve(response!);\n      }\n    );\n  });\n}\n\n/**\n * Retrieves a knowledge base by ID.\n *\n * @param knowledgeBaseId - The ID of the knowledge base to retrieve.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetKnowledgeBase(\n  config: ConnectionConfig,\n  knowledgeBaseId: string,\n  cb: (err: ServiceError | null, response: GetKnowledgeResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetKnowledgeRequest();\n  req.setId(knowledgeBaseId);\n  return config.knowledgeClient.getKnowledge(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieves all knowledge bases with pagination and filtering.\n *\n * @param page - The page number to retrieve.\n * @param pageSize - The number of items per page.\n * @param criteria - A list of criteria for filtering results.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetAllKnowledgeBases(\n  config: ConnectionConfig,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string; logic: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllKnowledgeResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllKnowledgeRequest();\n  const paginate = new Paginate();\n\n  criteria.forEach(({ key, value, logic }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    ctr.setLogic(logic);\n    req.addCriterias(ctr);\n  });\n\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return config.knowledgeClient.getAllKnowledge(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Creates a new knowledge document.\n *\n * @param knowledgeId - The ID of the knowledge to associate the document with.\n * @param documentSource - The source of the document.\n * @param datasource - The data source for the document.\n * @param preProcessor - The pre-processing method to use.\n * @param DocumentContents - An array of DocumentContent to include in the document.\n * @param separator - The separator used in custom processing.\n * @param maxchunksize - The maximum chunk size for document processing.\n * @param chunkoverlap - The overlap between chunks.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function CreateKnowledgeDocument(\n  config: ConnectionConfig,\n  knowledgeId: string,\n  documentSource: RapidaDocumentSource,\n  datasource: string,\n  documentType: RapidaDocumentType,\n  preProcessor: RapidaDocumentPreProcessing,\n  DocumentContents: Array<DocumentContent>,\n  separator: string,\n  maxchunksize: number,\n  chunkoverlap: number,\n  cb: (\n    err: ServiceError | null,\n    response: CreateKnowledgeDocumentResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new CreateKnowledgeDocumentRequest();\n\n  if (documentSource == RapidaDocumentSource.TOOL) {\n    req.setDocumentsource(1);\n  }\n\n  if (documentSource == RapidaDocumentSource.MANUAL) {\n    req.setDocumentsource(0);\n  }\n  req.setDocumentstructure(documentType);\n  req.setKnowledgeid(knowledgeId);\n  req.setDatasource(datasource);\n  req.setPreprocess(CreateKnowledgeDocumentRequest.PRE_PROCESS[preProcessor]);\n  req.setContentsList(DocumentContents);\n\n  if (preProcessor === RapidaDocumentPreProcessing.CUSTOM) {\n    req.setSeparator(separator);\n    req.setMaxchunksize(maxchunksize);\n    req.setChunkoverlap(chunkoverlap);\n  }\n\n  return config.knowledgeClient.createKnowledgeDocument(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieves all documents associated with a knowledge base.\n *\n * @param knowledgeId - The ID of the knowledge base.\n * @param page - The page number to retrieve.\n * @param pageSize - The number of items per page.\n * @param criteria - A list of criteria for filtering results.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetAllKnowledgeDocument(\n  config: ConnectionConfig,\n  knowledgeId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllKnowledgeDocumentResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllKnowledgeDocumentRequest();\n  req.setKnowledgeid(knowledgeId);\n\n  const paginate = new Paginate();\n  criteria.forEach(({ key, value }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    req.addCriterias(ctr);\n  });\n\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return config.knowledgeClient.getAllKnowledgeDocument(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieves all segments of documents associated with a knowledge base.\n *\n * @param knowledgeId - The ID of the knowledge base.\n * @param page - The page number to retrieve.\n * @param pageSize - The number of items per page.\n * @param criteria - A list of criteria for filtering results.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetAllKnowledgeDocumentSegment(\n  config: ConnectionConfig,\n  knowledgeId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllKnowledgeDocumentSegmentResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllKnowledgeDocumentSegmentRequest();\n  req.setKnowledgeid(knowledgeId);\n\n  const paginate = new Paginate();\n  criteria.forEach(({ key, value }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    req.addCriterias(ctr);\n  });\n\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return config.knowledgeClient.getAllKnowledgeDocumentSegment(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Adds tags to a knowledge base.\n *\n * @param knowledgeId - The ID of the knowledge base to tag.\n * @param tags - A list of tags to add.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function CreateKnowledgeTag(\n  config: ConnectionConfig,\n  knowledgeId: string,\n  tags: string[],\n  cb: (err: ServiceError | null, response: GetKnowledgeResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new CreateKnowledgeTagRequest();\n  req.setTagsList(tags);\n  req.setKnowledgeid(knowledgeId);\n\n  return config.knowledgeClient.createKnowledgeTag(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Updates details of an existing knowledge base.\n *\n * @param knowledgeId - The ID of the knowledge base to update.\n * @param name - The new name of the knowledge base.\n * @param description - The new description of the knowledge base.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function UpdateKnowledgeDetail(\n  config: ConnectionConfig,\n  knowledgeId: string,\n  name: string,\n  description: string,\n  cb: (err: ServiceError | null, response: GetKnowledgeResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new UpdateKnowledgeDetailRequest();\n  req.setKnowledgeid(knowledgeId);\n  req.setName(name);\n  req.setDescription(description);\n\n  return config.knowledgeClient.updateKnowledgeDetail(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param documentId\n * @param index\n * @param reason\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function DeleteKnowledgeDocumentSegment(\n  config: ConnectionConfig,\n  documentId: string,\n  index: string,\n  reason: string,\n  cb: (err: ServiceError | null, response: BaseResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new DeleteKnowledgeDocumentSegmentRequest();\n  req.setDocumentid(documentId);\n  req.setReason(reason);\n  req.setIndex(index);\n  return config.knowledgeClient.deleteKnowledgeDocumentSegment(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param documentId\n * @param index\n * @param organizationsList\n * @param datesList\n * @param productsList\n * @param eventsList\n * @param peopleList\n * @param timesList\n * @param quantitiesList\n * @param locationsList\n * @param industriesList\n * @param documentName\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function UpdateKnowledgeDocumentSegment(\n  config: ConnectionConfig,\n  documentId: string,\n  index: string,\n  organizationsList: string[],\n  datesList: string[],\n  productsList: string[],\n  eventsList: string[],\n  peopleList: string[],\n  timesList: string[],\n  quantitiesList: string[],\n  locationsList: string[],\n  industriesList: string[],\n  documentName: string,\n  cb: (err: ServiceError | null, response: BaseResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new UpdateKnowledgeDocumentSegmentRequest();\n  req.setOrganizationsList(organizationsList);\n  req.setDatesList(datesList);\n  req.setProductsList(productsList);\n  req.setEventsList(eventsList);\n  req.setPeopleList(peopleList);\n  req.setTimesList(timesList);\n  req.setQuantitiesList(quantitiesList);\n  req.setLocationsList(locationsList);\n  req.setIndustriesList(industriesList);\n  req.setDocumentname(documentName);\n  req.setDocumentid(documentId);\n  req.setIndex(index);\n  return config.knowledgeClient.updateKnowledgeDocumentSegment(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param clientCfg\n * @param request\n * @returns\n */\nexport function GetKnowledgeLog(\n  clientCfg: ConnectionConfig,\n  request: GetKnowledgeLogRequest,\n  auth?: ClientAuthInfo | UserAuthInfo\n): Promise<GetKnowledgeLogResponse> {\n  return new Promise((resolve, reject) => {\n    clientCfg.knowledgeClient.getKnowledgeLog(\n      request,\n      WithAuthContext(clientCfg.auth || auth),\n      (err: ServiceError | null, response: GetKnowledgeLogResponse | null) => {\n        if (err) reject(err);\n        else resolve(response!);\n      }\n    );\n  });\n}\n\n/**\n *\n * @param clientCfg\n * @param request\n * @returns\n */\nexport function GetAllKnowledgeLog(\n  clientCfg: ConnectionConfig,\n  request: GetAllKnowledgeLogRequest,\n  auth?: ClientAuthInfo | UserAuthInfo\n): Promise<GetAllKnowledgeLogResponse> {\n  return new Promise((resolve, reject) => {\n    clientCfg.knowledgeClient.getAllKnowledgeLog(\n      request,\n      WithAuthContext(clientCfg.auth || auth),\n      (\n        err: ServiceError | null,\n        response: GetAllKnowledgeLogResponse | null\n      ) => {\n        if (err) reject(err);\n        else resolve(response!);\n      }\n    );\n  });\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for managing projects through the ProjectService.\n */\n\nimport {\n  AddUserToProjectsRequest,\n  AddUserToProjectsResponse,\n  CreateProjectRequest,\n  CreateProjectResponse,\n  DeleteUserFromProjectRequest,\n  DeleteUserFromProjectResponse,\n  GetAllProjectResponse,\n  UpdateProjectRequest,\n  UpdateProjectResponse,\n  GetProjectResponse,\n  GetProjectRequest,\n  ArchiveProjectResponse,\n  ArchiveProjectRequest,\n  GetAllProjectCredentialResponse,\n  GetAllProjectCredentialRequest,\n  CreateProjectCredentialRequest,\n  CreateProjectCredentialResponse,\n  GetAllProjectRequest,\n} from \"@/rapida/clients/protos/web-api_pb\";\nimport { Criteria, Paginate } from \"@/rapida/clients/protos/common_pb\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport { ConnectionConfig } from \"@/rapida/types/connection-config\";\n\nexport function AddUserToProjects(\n  connectionConfig: ConnectionConfig,\n  req: AddUserToProjectsRequest,\n  authHeader?: UserAuthInfo | ClientAuthInfo\n): Promise<AddUserToProjectsResponse> {\n  return new Promise((resolve, reject) => {\n    connectionConfig.projectClient.addUserToProjects(\n      req,\n      WithAuthContext(connectionConfig.auth || authHeader),\n      (\n        err: ServiceError | null,\n        response: AddUserToProjectsResponse | null\n      ) => {\n        if (err) reject(err);\n        else resolve(response!);\n      }\n    );\n  });\n}\n\nexport function DeleteUserFromProject(\n  connectionConfig: ConnectionConfig,\n  req: DeleteUserFromProjectRequest,\n  authHeader?: UserAuthInfo | ClientAuthInfo\n): Promise<DeleteUserFromProjectResponse> {\n  return new Promise((resolve, reject) => {\n    connectionConfig.projectClient.deleteUserFromProject(\n      req,\n      WithAuthContext(connectionConfig.auth || authHeader),\n      (\n        err: ServiceError | null,\n        response: DeleteUserFromProjectResponse | null\n      ) => {\n        if (err) reject(err);\n        else resolve(response!);\n      }\n    );\n  });\n}\n\n/**\n * Creates a new project with the specified details.\n *\n * @param projectName - The name of the project to create.\n * @param projectDescription - The description of the project.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function CreateProject(\n  connectionConfig: ConnectionConfig,\n  projectName: string,\n  projectDescription: string,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (err: ServiceError | null, response: CreateProjectResponse | null) => void\n) {\n  const requestObject = new CreateProjectRequest();\n  requestObject.setProjectname(projectName);\n  requestObject.setProjectdescription(projectDescription);\n\n  return connectionConfig.projectClient.createProject(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Updates an existing project with the given details.\n *\n * @param projectId - The ID of the project to update.\n * @param projectName - The new name for the project (optional).\n * @param projectDescription - The new description for the project (optional).\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function UpdateProject(\n  connectionConfig: ConnectionConfig,\n  projectId: string,\n  cb: (\n    err: ServiceError | null,\n    response: UpdateProjectResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  projectName?: string,\n  projectDescription?: string\n) {\n  const requestObject = new UpdateProjectRequest();\n  requestObject.setProjectid(projectId);\n\n  if (projectName) requestObject.setProjectname(projectName);\n  if (projectDescription)\n    requestObject.setProjectdescription(projectDescription);\n\n  return connectionConfig.projectClient.updateProject(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieves a paginated list of all projects based on specified criteria.\n *\n * @param page - The page number for pagination.\n * @param pageSize - The number of projects per page.\n * @param criteria - List of criteria to filter the projects.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetAllProject(\n  connectionConfig: ConnectionConfig,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllProjectResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllProjectRequest();\n  const paginate = new Paginate();\n\n  criteria.forEach(({ key, value }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    req.addCriterias(ctr);\n  });\n\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return connectionConfig.projectClient.getAllProject(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieves the details of a specific project by ID.\n *\n * @param projectId - The ID of the project to retrieve.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetProject(\n  connectionConfig: ConnectionConfig,\n  projectId: string,\n  cb: (err: ServiceError | null, response: GetProjectResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const requestObject = new GetProjectRequest();\n  requestObject.setProjectid(projectId);\n\n  return connectionConfig.projectClient.getProject(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Archives a project, effectively deleting it.\n *\n * @param projectId - The ID of the project to archive.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function DeleteProject(\n  connectionConfig: ConnectionConfig,\n  projectId: string,\n  cb: (\n    err: ServiceError | null,\n    response: ArchiveProjectResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const requestObject = new ArchiveProjectRequest();\n  requestObject.setId(projectId);\n\n  return connectionConfig.projectClient.archiveProject(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieves all credentials associated with a specific project.\n *\n * @param projectId - The ID of the project for which to retrieve credentials.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetAllProjectCredential(\n  connectionConfig: ConnectionConfig,\n  projectId: string,\n  cb: (\n    err: ServiceError | null,\n    response: GetAllProjectCredentialResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const requestObject = new GetAllProjectCredentialRequest();\n  requestObject.setProjectid(projectId);\n\n  return connectionConfig.projectClient.getAllProjectCredential(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Creates a new credential for a specific project.\n *\n * @param projectId - The ID of the project for which to create a credential.\n * @param name - The name of the new credential.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function CreateProjectCredential(\n  connectionConfig: ConnectionConfig,\n  projectId: string,\n  name: string,\n  cb: (\n    err: ServiceError | null,\n    response: CreateProjectCredentialResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const requestObject = new CreateProjectCredentialRequest();\n  requestObject.setProjectid(projectId);\n  requestObject.setName(name);\n\n  return connectionConfig.projectClient.createProjectCredential(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n","import {\n  GetAllPlansRequest,\n  GetAllPlansResponse,\n  GetSubscriptionRequest,\n  GetSubscriptionResponse,\n  UpdateSubscriptionRequest,\n  UpdateSubscriptionResponse,\n} from \"./protos/billing-api_pb\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport { ConnectionConfig } from \"@/rapida/types/connection-config\";\n\nexport function GetAllPlans(\n  connectionConfig: ConnectionConfig,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: GetAllPlansResponse | null\n  ) => void\n) {\n  const requestObject = new GetAllPlansRequest();\n  return connectionConfig.billingClient.getAllPlans(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\nexport function GetSubscription(\n  connectionConfig: ConnectionConfig,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: GetSubscriptionResponse | null\n  ) => void\n) {\n  const requestObject = new GetSubscriptionRequest();\n  return connectionConfig.billingClient.getSubscription(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\nexport function UpdateSubscription(\n  connectionConfig: ConnectionConfig,\n  planSlug: string,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: UpdateSubscriptionResponse | null\n  ) => void\n) {\n  const requestObject = new UpdateSubscriptionRequest();\n  requestObject.setPlanslug(planSlug);\n  return connectionConfig.billingClient.updateSubscription(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nexport { VoiceAgent } from \"@/rapida/agents/voice-agent\";\nexport {\n  WebRTCGrpcTransport,\n  supportsWebRTCGrpcTransport,\n  type WebRTCGrpcTransportConfig,\n} from \"@/rapida/audio/webrtc-grpc-transport\";\nexport {\n  isIosDevice,\n  isAndroidDevice,\n  isWindowsDevice,\n  hasKnownAudioIssues,\n  getRecommendedAudioSettings,\n} from \"@/rapida/audio/compatibility\";\n\nexport {\n  isWindows,\n  isLinux,\n  isSinkIdSupported,\n  hasFullWebRTCAudioSupport,\n} from \"@/rapida/utils\";\nexport { useMessageFeedback } from \"@/rapida/hooks/use-message-feedback\";\nexport { useConversationFeedback } from \"@/rapida/hooks/use-conversation-feedback\";\nexport { useConnectAgent } from \"@/rapida/hooks/use-connect-agent\";\nexport { useInputModeToggleAgent } from \"@/rapida/hooks/use-input-mode-toggle-agent\";\nexport { useSelectInputDeviceAgent } from \"@/rapida/hooks/use-select-input-device-agent\";\nexport { useMuteAgent } from \"@/rapida/hooks/use-mute-agent\";\nexport { ConnectionState } from \"@/rapida/types/connection-state\";\nexport { Channel } from \"@/rapida/types/channel\";\nexport { MediaDeviceFailure } from \"@/rapida/types/device-failure\";\nexport {\n  InputOptions,\n  OutputOptions,\n  AgentConfig,\n  UserIdentifier,\n} from \"@/rapida/types/agent-config\";\nexport { AgentCallback } from \"@/rapida/types/agent-callback\";\nexport { Message, MessageRole, MessageStatus } from \"@/rapida/types/message\";\nexport { Feedback } from \"@/rapida/types/feedback\";\nexport {\n  useMultiband3DSpeakerTrackVolume,\n  useMultibandMicrophoneTrackVolume,\n} from \"@/rapida/hooks/use-multiband-track-volume\";\nexport { ConnectionConfig } from \"@/rapida/types/connection-config\";\nexport * from \"@/rapida/utils/rapida_value\";\nexport * from \"@/rapida/utils/rapida_source\";\nexport * from \"@/rapida/types/agent-deployment\";\nexport { useAgentMessages } from \"@/rapida/hooks/use-agent-message\";\nexport {\n  HEADER_ENVIRONMENT_KEY,\n  HEADER_SOURCE_KEY,\n  HEADER_REGION_KEY,\n  HEADER_API_KEY,\n  HEADER_AUTH_ID,\n  HEADER_PROJECT_ID,\n  HEADER_USER_AGENT,\n  HEADER_LANGUAGE,\n  HEADER_PLATFORM,\n  HEADER_SCREEN_WIDTH,\n  HEADER_SCREEN_HEIGHT,\n  HEADER_WINDOW_WIDTH,\n  HEADER_WINDOW_HEIGHT,\n  HEADER_TIMEZONE,\n  HEADER_COLOR_DEPTH,\n  HEADER_DEVICE_MEMORY,\n  HEADER_HARDWARE_CONCURRENCY,\n  HEADER_CONNECTION_TYPE,\n  HEADER_CONNECTION_EFFECTIVE_TYPE,\n  HEADER_COOKIES_ENABLED,\n  HEADER_DO_NOT_TRACK,\n  HEADER_REFERRER,\n  HEADER_REMOTE_URL,\n  HEADER_LATITUDE,\n  HEADER_LONGITUDE,\n} from \"@/rapida/utils/rapida_header\";\nexport { IndexKnowledgeDocument } from \"@/rapida/clients/document\";\nexport { Invoke } from \"@/rapida/clients/invoke\";\nexport {\n  AuthenticateUser,\n  AuthorizeUser,\n  RegisterUser,\n  VerifyToken,\n  ForgotPassword,\n  CreatePassword,\n  ChangePassword,\n  GetUser,\n  UpdateUser,\n  GetAllUser,\n  Google,\n  Linkedin,\n  Github,\n} from \"@/rapida/clients/auth\";\nexport {\n  WithPlatform,\n  WithAuthContext,\n  getClientInfo,\n  WithClientContext,\n} from \"@/rapida/clients/index\";\nexport { GeneralConnect, GetConnectorFiles } from \"@/rapida/clients/connect\";\nexport {\n  CreateOrganization,\n  UpdateOrganization,\n  GetOrganization,\n  InviteUserToOrganization,\n  UpdateUserOrganizationRole,\n  DeleteUserFromOrganization,\n} from \"@/rapida/clients/organization\";\n\nexport {\n  GetAllAssistant,\n  UpdateAssistantVersion,\n  GetAssistant,\n  GetAssistantDashboard,\n  CreateAssistant,\n  CreateAssistantTag,\n  UpdateAssistantDetail,\n  GetAssistantMessages,\n  GetMessages,\n  GetAllAssistantConversationMessage,\n  CreateAssistantDebuggerDeployment,\n  GetAssistantDebuggerDeployment,\n  CreateAssistantApiDeployment,\n  GetAssistantApiDeployment,\n  GetAllAssistantApiDeployment,\n  DisableAssistantApiDeployment,\n  CreateAssistantWebpluginDeployment,\n  GetAssistantWebpluginDeployment,\n  GetAllAssistantWebpluginDeployment,\n  DisableAssistantWebpluginDeployment,\n  CreateAssistantPhoneDeployment,\n  GetAssistantPhoneDeployment,\n  GetAllAssistantPhoneDeployment,\n  DisableAssistantPhoneDeployment,\n  CreateAssistantWhatsappDeployment,\n  GetAssistantWhatsappDeployment,\n  GetAllAssistantWhatsappDeployment,\n  DisableAssistantWhatsappDeployment,\n  GetAllAssistantDebuggerDeployment,\n  DisableAssistantDebuggerDeployment,\n  GetAssistantConfiguration,\n  GetAllAssistantConfiguration,\n  CreateAssistantConfiguration,\n  UpdateAssistantConfiguration,\n  DeleteAssistantConfiguration,\n  GetAssistantConversation,\n  DeleteAssistant,\n  GetAllHTTPLog,\n  GetHTTPLog,\n  RetryHTTPLog,\n  GetAllAssistantTool,\n  CreateAssistantTool,\n  UpdateAssistantTool,\n  GetAssistantTool,\n  DeleteAssistantTool,\n  GetAllAssistantKnowledge,\n  CreateAssistantKnowledge,\n  UpdateAssistantKnowledge,\n  GetAssistantKnowledge,\n  DeleteAssistantKnowledge,\n  GetAssistantToolLog,\n  GetAllAssistantToolLog,\n  CreateAssistantProvider,\n  GetAllAssistantProvider,\n  GetAllAssistantConversation,\n} from \"@/rapida/clients/assistant\";\nexport { GetActivities, GetActivity } from \"@/rapida/clients/activity\";\nexport {\n  GetAllEndpoint,\n  UpdateEndpointVersion,\n  GetAllEndpointProviderModel,\n  GetEndpoint,\n  CreateEndpointProviderModel,\n  CreateEndpoint,\n  CreateEndpointTag,\n  UpdateEndpointDetail,\n  CreateEndpointRetryConfiguration,\n  CreateEndpointCacheConfiguration,\n  GetAllEndpointLog,\n  GetEndpointLog,\n} from \"@/rapida/clients/endpoint\";\nexport {\n  CreateProviderKey,\n  DeleteProviderKey,\n  GetAllOrganizationCredential,\n} from \"@/rapida/clients/vault\";\nexport {\n  AssistantTalk,\n  CreateMessageMetric,\n  CreateConversationMetric,\n} from \"@/rapida/clients/talk\";\nexport { WebTalk } from '@/rapida/clients/webrtc';\nexport {\n  CreateKnowledge,\n  GetKnowledgeBase,\n  GetAllKnowledgeBases,\n  CreateKnowledgeDocument,\n  GetAllKnowledgeDocument,\n  GetAllKnowledgeDocumentSegment,\n  CreateKnowledgeTag,\n  UpdateKnowledgeDetail,\n  DeleteKnowledgeDocumentSegment,\n  UpdateKnowledgeDocumentSegment,\n  GetKnowledgeLog,\n  GetAllKnowledgeLog,\n} from \"@/rapida/clients/knowledge\";\nexport {\n  AddUserToProjects,\n  DeleteUserFromProject,\n  CreateProject,\n  UpdateProject,\n  GetAllProject,\n  GetProject,\n  DeleteProject,\n  GetAllProjectCredential,\n  CreateProjectCredential,\n} from \"@/rapida/clients/project\";\nexport {\n  GetAllPlans,\n  GetSubscription,\n  UpdateSubscription,\n} from \"@/rapida/clients/billing\";\n\nexport {\n  EndpointService,\n  EndpointServiceClient,\n} from \"@/rapida/clients/protos/endpoint-api_pb_service\";\nexport {\n  AssistantDeploymentService,\n  AssistantDeploymentServiceClient,\n} from \"@/rapida/clients/protos/assistant-deployment_pb_service\";\nexport { ObservabilityLogRecord, ObservabilityEventRecord, ObservabilityMetricRecord, ObservabilityRecord, ObservabilityRecordKind, ObservabilityRecordKindMap } from \"@/rapida/clients/protos/observability-api_pb\";\nexport {\n  ConnectService,\n  ConnectServiceClient,\n} from \"@/rapida/clients/protos/connect-api_pb_service\";\nexport {\n  VaultService,\n  VaultServiceClient,\n} from \"@/rapida/clients/protos/vault-api_pb_service\";\nexport {\n  Deployment,\n  DeploymentClient,\n} from \"@/rapida/clients/protos/invoker-api_pb_service\";\nexport {\n  AssistantKnowledge,\n  CreateAssistantKnowledgeRequest,\n  UpdateAssistantKnowledgeRequest,\n  GetAssistantKnowledgeRequest,\n  DeleteAssistantKnowledgeRequest,\n  GetAssistantKnowledgeResponse,\n  GetAllAssistantKnowledgeRequest,\n  GetAllAssistantKnowledgeResponse,\n} from \"@/rapida/clients/protos/assistant-knowledge_pb\";\nexport {\n  UnifiedProviderService\n} from \"@/rapida/clients/protos/integration-api_pb_service\";\nexport {\n  AuditLog,\n  GetAllAuditLogRequest,\n  GetAllAuditLogResponse,\n  GetAuditLogRequest,\n  GetAuditLogResponse,\n  CreateMetadataRequest,\n  CreateMetadataResponse,\n} from \"@/rapida/clients/protos/audit-logging-api_pb\";\nexport {\n  KnowledgeService,\n  KnowledgeServiceClient,\n} from \"@/rapida/clients/protos/knowledge-api_pb_service\";\nexport {\n  VaultCredential,\n  CreateProviderCredentialRequest,\n  GetAllOrganizationCredentialResponse,\n  GetAllOrganizationCredentialRequest,\n  GetCredentialRequest,\n  GetCredentialResponse,\n} from \"@/rapida/clients/protos/vault-api_pb\";\nexport {\n  AssistantTalkRequest,\n  AssistantTalkResponse,\n  CreateMessageMetricRequest,\n  CreateMessageMetricResponse,\n  CreateConversationMetricRequest,\n  CreateConversationMetricResponse,\n} from \"@/rapida/clients/protos/talk-api_pb\";\nexport {\n  WebTalkRequest,\n  WebTalkResponse,\n} from \"@/rapida/clients/protos/webrtc_pb\";\n\nexport {\n  EndpointDefinition,\n  InvokeRequest,\n  InvokeResponse,\n  UpdateRequest,\n  UpdateResponse,\n  ProbeRequest,\n  ProbeResponse,\n} from \"@/rapida/clients/protos/invoker-api_pb\";\nexport {\n  AuthenticateRequest,\n  RegisterUserRequest,\n  Token,\n  OrganizationRole,\n  ProjectRole,\n  FeaturePermission,\n  Authentication,\n  ScopedAuthentication,\n  AuthenticateResponse,\n  ForgotPasswordRequest,\n  ForgotPasswordResponse,\n  CreatePasswordRequest,\n  CreatePasswordResponse,\n  ChangePasswordRequest,\n  ChangePasswordResponse,\n  VerifyTokenRequest,\n  VerifyTokenResponse,\n  AuthorizeRequest,\n  ScopeAuthorizeRequest,\n  ScopedAuthenticationResponse,\n  GetUserRequest,\n  GetUserResponse,\n  UpdateUserRequest,\n  UpdateUserResponse,\n  SocialAuthenticationRequest,\n  GetAllUserRequest,\n  GetAllUserResponse,\n  CreateOrganizationRequest,\n  UpdateOrganizationRequest,\n  GetOrganizationRequest,\n  GetOrganizationResponse,\n  CreateOrganizationResponse,\n  UpdateOrganizationResponse,\n  UpdateBillingInformationRequest,\n  Project,\n  CreateProjectRequest,\n  CreateProjectResponse,\n  UpdateProjectRequest,\n  UpdateProjectResponse,\n  GetProjectRequest,\n  GetProjectResponse,\n  GetAllProjectRequest,\n  GetAllProjectResponse,\n  ProjectRoleAssignment,\n  InviteUserToOrganizationRequest,\n  InviteUserToOrganizationResponse,\n  AddUserToProjectsRequest,\n  AddUserToProjectsResponse,\n  UpdateUserOrganizationRoleRequest,\n  UpdateUserOrganizationRoleResponse,\n  DeleteUserFromOrganizationRequest,\n  DeleteUserFromOrganizationResponse,\n  DeleteUserFromProjectRequest,\n  DeleteUserFromProjectResponse,\n  ArchiveProjectRequest,\n  ArchiveProjectResponse,\n  ProjectCredential,\n  CreateProjectCredentialRequest,\n  GetAllProjectCredentialRequest,\n  CreateProjectCredentialResponse,\n  GetAllProjectCredentialResponse,\n} from \"@/rapida/clients/protos/web-api_pb\";\nexport {\n  FieldSelector,\n  Criteria,\n  Error,\n  Paginate,\n  Paginated,\n  Ordering,\n  User,\n  BaseResponse,\n  Metadata,\n  Argument,\n  Variable,\n  Tag,\n  Organization,\n  Metric,\n  Message as ProtoMessage,\n  ToolCall,\n  FunctionCall,\n  Knowledge,\n  TextPrompt,\n  TextChatCompletePrompt,\n  AssistantConversationMessage,\n  AssistantConversationContext,\n  AssistantConversation,\n  GetAllAssistantConversationRequest,\n  GetAllAssistantConversationResponse,\n  GetAllConversationMessageRequest,\n  GetAllConversationMessageResponse,\n  AssistantConversationRecording,\n  AssistantDefinition,\n  AuditActor,\n  AssistantConversationTelephonyEvent,\n} from \"@/rapida/clients/protos/common_pb\";\nexport {\n  AssistantService,\n  AssistantServiceClient,\n} from \"@/rapida/clients/protos/assistant-api_pb_service\";\nexport {\n  TalkService,\n  TalkServiceClient,\n} from \"@/rapida/clients/protos/talk-api_pb_service\";\nexport {\n  AssistantHTTPLog,\n  GetAllAssistantHTTPLogRequest,\n  GetAssistantHTTPLogRequest,\n  GetAssistantHTTPLogResponse,\n  GetAllAssistantHTTPLogResponse,\n  RetryAssistantHTTPLogRequest,\n} from \"@/rapida/clients/protos/assistant-http-log_pb\";\nexport {\n  GeneralConnectRequest,\n  GeneralConnectResponse,\n  GetConnectorFilesRequest,\n  GetConnectorFilesResponse,\n} from \"@/rapida/clients/protos/connect-api_pb\";\nexport {\n  DocumentService,\n  DocumentServiceClient,\n} from \"@/rapida/clients/protos/document-api_pb_service\";\nexport {\n  IndexKnowledgeDocumentRequest,\n  IndexKnowledgeDocumentResponse,\n} from \"@/rapida/clients/protos/document-api_pb\";\nexport {\n  EndpointAttribute,\n  EndpointProviderModelAttribute,\n  CreateEndpointRequest,\n  CreateEndpointResponse,\n  EndpointProviderModel,\n  AggregatedEndpointAnalytics,\n  Endpoint,\n  CreateEndpointProviderModelRequest,\n  CreateEndpointProviderModelResponse,\n  GetEndpointRequest,\n  GetEndpointResponse,\n  GetAllEndpointRequest,\n  GetAllEndpointResponse,\n  GetAllEndpointProviderModelRequest,\n  GetAllEndpointProviderModelResponse,\n  UpdateEndpointVersionRequest,\n  UpdateEndpointVersionResponse,\n  EndpointRetryConfiguration,\n  EndpointCacheConfiguration,\n  CreateEndpointRetryConfigurationRequest,\n  CreateEndpointRetryConfigurationResponse,\n  CreateEndpointCacheConfigurationRequest,\n  CreateEndpointCacheConfigurationResponse,\n  CreateEndpointTagRequest,\n  ForkEndpointRequest,\n  UpdateEndpointDetailRequest,\n  EndpointLog,\n  GetAllEndpointLogRequest,\n  GetAllEndpointLogResponse,\n  GetEndpointLogRequest,\n  GetEndpointLogResponse,\n} from \"@/rapida/clients/protos/endpoint-api_pb\";\nexport {\n  AssistantTool,\n  AssistantToolLog,\n  CreateAssistantToolRequest,\n  UpdateAssistantToolRequest,\n  GetAssistantToolRequest,\n  DeleteAssistantToolRequest,\n  GetAssistantToolResponse,\n  GetAllAssistantToolRequest,\n  GetAllAssistantToolResponse,\n  GetAssistantToolLogResponse,\n  GetAllAssistantToolLogRequest,\n  GetAllAssistantToolLogResponse,\n  GetAssistantToolLogRequest,\n} from \"@/rapida/clients/protos/assistant-tool_pb\";\nexport {\n  Credential,\n  ToolDefinition,\n  FunctionDefinition,\n  FunctionParameter,\n  FunctionParameterProperty,\n  Embedding,\n  EmbeddingRequest,\n  EmbeddingResponse,\n  Reranking,\n  RerankingRequest,\n  RerankingResponse,\n  ChatResponse,\n  ChatRequest,\n  VerifyCredentialRequest,\n  VerifyCredentialResponse,\n  Moderation,\n  GetModerationRequest,\n  GetModerationResponse,\n} from \"@/rapida/clients/protos/integration-api_pb\";\nexport {\n  DeploymentAudioProvider,\n  AssistantWebpluginDeployment,\n  AssistantPhoneDeployment,\n  AssistantWhatsappDeployment,\n  AssistantDebuggerDeployment,\n  AssistantApiDeployment,\n  CreateAssistantDeploymentRequest,\n  GetAllAssistantDeploymentRequest,\n  GetAssistantApiDeploymentResponse,\n  GetAllAssistantApiDeploymentResponse,\n  GetAssistantPhoneDeploymentResponse,\n  GetAllAssistantPhoneDeploymentResponse,\n  GetAssistantWhatsappDeploymentResponse,\n  GetAllAssistantWhatsappDeploymentResponse,\n  GetAssistantDebuggerDeploymentResponse,\n  GetAllAssistantDebuggerDeploymentResponse,\n  GetAssistantWebpluginDeploymentResponse,\n  GetAllAssistantWebpluginDeploymentResponse,\n  GetAssistantDeploymentRequest,\n} from \"@/rapida/clients/protos/assistant-deployment_pb\";\nexport {\n  AuditLoggingService,\n  AuditLoggingServiceClient,\n} from \"@/rapida/clients/protos/audit-logging-api_pb_service\";\nexport {\n  CreateKnowledgeRequest,\n  CreateKnowledgeResponse,\n  GetAllKnowledgeRequest,\n  GetAllKnowledgeResponse,\n  GetKnowledgeRequest,\n  GetKnowledgeResponse,\n  CreateKnowledgeTagRequest,\n  KnowledgeDocument,\n  GetAllKnowledgeDocumentRequest,\n  GetAllKnowledgeDocumentResponse,\n  CreateKnowledgeDocumentRequest,\n  CreateKnowledgeDocumentResponse,\n  DocumentContent,\n  KnowledgeDocumentSegment,\n  GetAllKnowledgeDocumentSegmentRequest,\n  GetAllKnowledgeDocumentSegmentResponse,\n  UpdateKnowledgeDetailRequest,\n  UpdateKnowledgeDocumentSegmentRequest,\n  DeleteKnowledgeDocumentSegmentRequest,\n  KnowledgeLog,\n  GetKnowledgeLogRequest,\n  GetAllKnowledgeLogRequest,\n  GetKnowledgeLogResponse,\n  GetAllKnowledgeLogResponse,\n} from \"@/rapida/clients/protos/knowledge-api_pb\";\nexport {\n  Assistant,\n  CreateAssistantRequest,\n  CreateAssistantTagRequest,\n  GetAssistantRequest,\n  DeleteAssistantRequest,\n  GetAssistantResponse,\n  GetAssistantDashboardRequest,\n  GetAssistantDashboardResponse,\n  AssistantDashboard,\n  AssistantDashboardSummary,\n  AssistantDashboardLatency,\n  AssistantDashboardUsage,\n  AssistantDashboardDistribution,\n  AssistantDashboardBucket,\n  GetAllAssistantRequest,\n  GetAllAssistantResponse,\n  GetAllAssistantMessageRequest,\n  GetAllAssistantMessageResponse,\n  GetAllMessageRequest,\n  GetAllMessageResponse,\n  UpdateAssistantDetailRequest,\n  GetAssistantConversationRequest,\n  GetAssistantConversationResponse,\n  AssistantConfiguration,\n  GetAssistantConfigurationRequest,\n  GetAssistantConfigurationResponse,\n  GetAllAssistantConfigurationRequest,\n  GetAllAssistantConfigurationResponse,\n  CreateAssistantConfigurationRequest,\n  UpdateAssistantConfigurationRequest,\n  DeleteAssistantConfigurationRequest,\n} from \"@/rapida/clients/protos/assistant-api_pb\";\nexport {\n  AuthenticationService,\n  OrganizationService,\n  ProjectService,\n  AuthenticationServiceClient,\n  OrganizationServiceClient,\n  ProjectServiceClient,\n} from \"@/rapida/clients/protos/web-api_pb_service\";\nexport { CreatePhoneCall, CreateBulkPhoneCall } from \"./clients/call\";\nexport {\n  CreateBulkPhoneCallRequest,\n  CreateBulkPhoneCallResponse,\n  CreatePhoneCallRequest,\n  CreatePhoneCallResponse,\n} from \"@/rapida/clients/protos/talk-api_pb\";\nexport {\n  ServiceError,\n  Status,\n  UnaryResponse,\n  ResponseStream,\n  RequestStream,\n  BidirectionalStream,\n} from \"@/rapida/clients/types\";\nexport {\n  BillingService,\n  BillingServiceClient,\n} from \"@/rapida/clients/protos/billing-api_pb_service\";\nexport {\n  BillingPlanQuota,\n  BillingPlan,\n  BillingSubscription,\n  GetAllPlansRequest,\n  GetAllPlansResponse,\n  GetSubscriptionRequest,\n  GetSubscriptionResponse,\n  UpdateSubscriptionRequest,\n  UpdateSubscriptionResponse,\n} from \"@/rapida/clients/protos/billing-api_pb\";\n\n// component export\nexport { DeviceSelectorComponent } from \"@/rapida/components/device-selector\";\nexport { MultibandAudioVisualizerComponent } from \"@/rapida/components/visualization/multiband-audio-visualizer\";\n\n// event\nexport { agentEventSelector } from \"@/rapida/hooks/observables/voice-agent\";\nexport { AgentEvent } from \"./types/agent-event\";\nexport {\n  GetAllTelemetryRequest,\n  GetAllTelemetryResponse,\n} from \"@/rapida/clients/protos/observability-api_pb\";\n\nexport {\n  GetNotificationSettingRequest,\n  UpdateNotificationSettingRequest,\n  NotificationSettingResponse,\n  NotificationSetting,\n} from \"@/rapida/clients/protos/notification-api_pb\";\n\nexport { GetAllTelemetry } from \"./clients/telemetry\";\nexport {\n  AssistantProviderModel,\n  AssistantProviderAgentkit,\n  AssistantProviderWebsocket,\n  CreateAssistantProviderRequest,\n  GetAssistantProviderResponse,\n  GetAllAssistantProviderRequest,\n  UpdateAssistantVersionRequest,\n  GetAllAssistantProviderResponse,\n} from \"@/rapida/clients/protos/assistant-provider_pb\";\nexport {\n  GetNotificationSetting,\n  UpdateNotificationSetting,\n} from \"./clients/notification\";\n\n\nexport {\n  ConversationConfiguration,\n  ConversationInterruption,\n  ConversationAssistantMessage,\n  ConversationUserMessage,\n  ConversationToolCall,\n  ConversationToolCallResult,\n  ToolCallAction,\n  ConversationDisconnection,\n  ConversationMetric,\n  ConversationEvent,\n  ConversationError,\n} from \"@/rapida/clients/protos/talk-api_pb\";\n","import {\n  ClientAuthInfo,\n  UserAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport {\n  CreateBulkPhoneCallRequest,\n  CreateBulkPhoneCallResponse,\n  CreatePhoneCallRequest,\n  CreatePhoneCallResponse,\n} from \"@/rapida/clients/protos/talk-api_pb\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport { ConnectionConfig } from \"@/rapida/types/connection-config\";\n\n/**\n *\n * @param clientCfg\n * @param assistantId\n * @param assistantVersion\n * @param params\n * @param args\n * @param options\n * @param metadata\n * @returns\n */\nexport function CreatePhoneCall(\n  clientCfg: ConnectionConfig,\n  request: CreatePhoneCallRequest,\n  authHeader?: ClientAuthInfo | UserAuthInfo\n): Promise<CreatePhoneCallResponse> {\n  return new Promise((resolve, reject) => {\n    clientCfg.conversationClient.createPhoneCall(\n      request,\n      WithAuthContext(authHeader || clientCfg.auth),\n      (err: ServiceError | null, response: CreatePhoneCallResponse | null) => {\n        if (err) reject(err);\n        else resolve(response!);\n      }\n    );\n  });\n}\n\n/**\n *\n * @param clientCfg\n * @param assistantId\n * @param assistantVersionx\n * @param params\n * @param args\n * @param options\n * @param metadata\n * @returns\n */\nexport function CreateBulkPhoneCall(\n  clientCfg: ConnectionConfig,\n  request: CreateBulkPhoneCallRequest,\n  authHeader?: ClientAuthInfo | UserAuthInfo\n): Promise<CreateBulkPhoneCallResponse> {\n  return new Promise((resolve, reject) => {\n    clientCfg.conversationClient.createBulkPhoneCall(\n      request,\n      WithAuthContext(authHeader || clientCfg.auth),\n      (\n        err: ServiceError | null,\n        response: CreateBulkPhoneCallResponse | null\n      ) => {\n        if (err) reject(err);\n        else resolve(response!);\n      }\n    );\n  });\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides a function for creating a lead via the LeadService.\n */\n\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ConnectionConfig } from \"@/rapida/types/connection-config\";\nimport {\n  GetAllTelemetryRequest,\n  GetAllTelemetryResponse,\n} from \"@/rapida/clients/protos/observability-api_pb\";\n\n/**\n *\n * @param clientCfg\n * @param request\n * @param auth\n * @returns\n */\nexport function GetAllTelemetry(\n  clientCfg: ConnectionConfig,\n  request: GetAllTelemetryRequest,\n  auth?: ClientAuthInfo | UserAuthInfo\n): Promise<GetAllTelemetryResponse> {\n  return new Promise((resolve, reject) => {\n    clientCfg.observabilityServiceClient.getAllTelemetry(\n      request,\n      WithAuthContext(clientCfg.auth || auth),\n      (\n        err: ServiceError | null,\n        response: GetAllTelemetryResponse | null\n      ) => {\n        if (err) reject(err);\n        else resolve(response!);\n      }\n    );\n  });\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\n\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ConnectionConfig } from \"@/rapida/types/connection-config\";\nimport { GetNotificationSettingRequest } from \"./protos/notification-api_pb\";\nimport {\n  NotificationSettingResponse,\n  UpdateNotificationSettingRequest,\n} from \"@/rapida/clients/protos/notification-api_pb\";\n\n/**\n *\n * @param clientCfg\n * @param request\n * @param auth\n * @returns\n */\nexport function UpdateNotificationSetting(\n  clientCfg: ConnectionConfig,\n  request: UpdateNotificationSettingRequest,\n  auth?: ClientAuthInfo | UserAuthInfo\n): Promise<NotificationSettingResponse> {\n  return new Promise((resolve, reject) => {\n    clientCfg.notificationClient.updateNotificationSetting(\n      request,\n      WithAuthContext(clientCfg.auth || auth),\n      (\n        err: ServiceError | null,\n        response: NotificationSettingResponse | null\n      ) => {\n        if (err) reject(err);\n        else resolve(response!);\n      }\n    );\n  });\n}\n\n/**\n *\n * @param clientCfg\n * @param request\n * @param auth\n * @returns\n */\nexport function GetNotificationSetting(\n  clientCfg: ConnectionConfig,\n  request: GetNotificationSettingRequest,\n  auth?: ClientAuthInfo | UserAuthInfo\n): Promise<NotificationSettingResponse> {\n  return new Promise((resolve, reject) => {\n    clientCfg.notificationClient.getNotificationSettting(\n      request,\n      WithAuthContext(clientCfg.auth || auth),\n      (\n        err: ServiceError | null,\n        response: NotificationSettingResponse | null\n      ) => {\n        if (err) reject(err);\n        else resolve(response!);\n      }\n    );\n  });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAGA,QAAI,cAAc;AAClB,QAAI,YAAY;AAChB,QAAIA,QAAO,UAAQ,0BAA0B,EAAE;AAE/C,QAAIC,eAAe,WAAY;AAC7B,eAASA,eAAc;AAAA,MAAC;AACxB,MAAAA,aAAY,cAAc;AAC1B,aAAOA;AAAA,IACT,EAAE;AAEF,IAAAA,aAAY,gBAAgB;AAAA,MAC1B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,YAAY;AAAA,MACzB,cAAc,YAAY;AAAA,IAC5B;AAEA,IAAAA,aAAY,8BAA8B;AAAA,MACxC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,UAAU;AAAA,MACvB,cAAc,UAAU;AAAA,IAC1B;AAEA,IAAAA,aAAY,4BAA4B;AAAA,MACtC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,UAAU;AAAA,MACvB,cAAc,UAAU;AAAA,IAC1B;AAEA,IAAAA,aAAY,sBAAsB;AAAA,MAChC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,YAAY;AAAA,MACzB,cAAc,YAAY;AAAA,IAC5B;AAEA,IAAAA,aAAY,2BAA2B;AAAA,MACrC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,YAAY;AAAA,MACzB,cAAc,YAAY;AAAA,IAC5B;AAEA,IAAAA,aAAY,kBAAkB;AAAA,MAC5B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,YAAY;AAAA,MACzB,cAAc,YAAY;AAAA,IAC5B;AAEA,IAAAA,aAAY,sBAAsB;AAAA,MAChC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,YAAY;AAAA,MACzB,cAAc,YAAY;AAAA,IAC5B;AAEA,YAAQ,cAAcA;AAEtB,aAASC,mBAAkB,aAAa,SAAS;AAC/C,WAAK,cAAc;AACnB,WAAK,UAAU,WAAW,CAAC;AAAA,IAC7B;AAEA,IAAAA,mBAAkB,UAAU,gBAAgB,SAAS,cAAc,UAAU;AAC3E,UAAI,YAAY;AAAA,QACd,MAAM,CAAC;AAAA,QACP,KAAK,CAAC;AAAA,QACN,QAAQ,CAAC;AAAA,MACX;AACA,UAAI,SAASF,MAAK,OAAOC,aAAY,eAAe;AAAA,QAClD,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,MAC1B,CAAC;AACD,aAAO,MAAM,SAAU,QAAQ,eAAe,UAAU;AACtD,kBAAU,OAAO,QAAQ,SAAU,SAAS;AAC1C,kBAAQ,EAAE,MAAM,QAAQ,SAAS,eAAe,UAAU,SAAS,CAAC;AAAA,QACtE,CAAC;AACD,kBAAU,IAAI,QAAQ,SAAU,SAAS;AACvC,kBAAQ,EAAE,MAAM,QAAQ,SAAS,eAAe,UAAU,SAAS,CAAC;AAAA,QACtE,CAAC;AACD,oBAAY;AAAA,MACd,CAAC;AACD,aAAO,UAAU,SAAU,SAAS;AAClC,kBAAU,KAAK,QAAQ,SAAU,SAAS;AACxC,kBAAQ,OAAO;AAAA,QACjB,CAAC;AAAA,MACH,CAAC;AACD,aAAO,MAAM,QAAQ;AACrB,aAAO;AAAA,QACL,IAAI,SAAU,MAAM,SAAS;AAC3B,oBAAU,IAAI,EAAE,KAAK,OAAO;AAC5B,iBAAO;AAAA,QACT;AAAA,QACA,OAAO,SAAU,gBAAgB;AAC/B,iBAAO,KAAK,cAAc;AAC1B,iBAAO;AAAA,QACT;AAAA,QACA,KAAK,WAAY;AACf,iBAAO,WAAW;AAAA,QACpB;AAAA,QACA,QAAQ,WAAY;AAClB,sBAAY;AACZ,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAC,mBAAkB,UAAU,8BAA8B,SAAS,4BAA4B,gBAAgB,UAAU,UAAU;AACjI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,aAAY,6BAA6B;AAAA,QAC/D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,mBAAkB,UAAU,4BAA4B,SAAS,0BAA0B,gBAAgB,UAAU,UAAU;AAC7H,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,aAAY,2BAA2B;AAAA,QAC7D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,mBAAkB,UAAU,sBAAsB,SAAS,oBAAoB,gBAAgB,UAAU,UAAU;AACjH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,aAAY,qBAAqB;AAAA,QACvD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,mBAAkB,UAAU,2BAA2B,SAAS,yBAAyB,gBAAgB,UAAU,UAAU;AAC3H,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,aAAY,0BAA0B;AAAA,QAC5D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,mBAAkB,UAAU,kBAAkB,SAAS,gBAAgB,gBAAgB,UAAU,UAAU;AACzG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,aAAY,iBAAiB;AAAA,QACnD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,mBAAkB,UAAU,sBAAsB,SAAS,oBAAoB,gBAAgB,UAAU,UAAU;AACjH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,aAAY,qBAAqB;AAAA,QACvD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,oBAAoBE;AAAA;AAAA;;;AC1T5B;AAAA;AAAA;AAGA,QAAI,mBAAmB;AACvB,QAAI,YAAY;AAChB,QAAI,oBAAoB;AACxB,QAAI,wBAAwB;AAC5B,QAAI,yBAAyB;AAC7B,QAAI,wBAAwB;AAC5B,QAAIC,QAAO,UAAQ,0BAA0B,EAAE;AAE/C,QAAIC,oBAAoB,WAAY;AAClC,eAASA,oBAAmB;AAAA,MAAC;AAC7B,MAAAA,kBAAiB,cAAc;AAC/B,aAAOA;AAAA,IACT,EAAE;AAEF,IAAAA,kBAAiB,eAAe;AAAA,MAC9B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,kBAAkB;AAAA,MACjC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,kBAAkB;AAAA,MACjC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,kBAAkB;AAAA,MACjC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,0BAA0B;AAAA,MACzC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,sBAAsB;AAAA,MACnC,cAAc,sBAAsB;AAAA,IACtC;AAEA,IAAAA,kBAAiB,0BAA0B;AAAA,MACzC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,sBAAsB;AAAA,MACnC,cAAc,sBAAsB;AAAA,IACtC;AAEA,IAAAA,kBAAiB,qBAAqB;AAAA,MACpC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,yBAAyB;AAAA,MACxC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,sBAAsB;AAAA,MACnC,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,wBAAwB;AAAA,MACvC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,yBAAyB;AAAA,MACxC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,4BAA4B;AAAA,MAC3C,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,UAAU;AAAA,MACvB,cAAc,UAAU;AAAA,IAC1B;AAEA,IAAAA,kBAAiB,gBAAgB;AAAA,MAC/B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,wBAAwB;AAAA,MACvC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,4BAA4B;AAAA,MAC3C,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,+BAA+B;AAAA,MAC9C,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,+BAA+B;AAAA,MAC9C,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,+BAA+B;AAAA,MAC9C,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,+BAA+B;AAAA,MAC9C,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,8BAA8B;AAAA,MAC7C,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,UAAU;AAAA,MACvB,cAAc,UAAU;AAAA,IAC1B;AAEA,IAAAA,kBAAiB,2BAA2B;AAAA,MAC1C,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,sBAAsB;AAAA,MACrC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,sBAAsB;AAAA,MACnC,cAAc,sBAAsB;AAAA,IACtC;AAEA,IAAAA,kBAAiB,yBAAyB;AAAA,MACxC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,sBAAsB;AAAA,MACnC,cAAc,sBAAsB;AAAA,IACtC;AAEA,IAAAA,kBAAiB,wBAAwB;AAAA,MACvC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,sBAAsB;AAAA,MACnC,cAAc,sBAAsB;AAAA,IACtC;AAEA,IAAAA,kBAAiB,sBAAsB;AAAA,MACrC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,kBAAkB;AAAA,MAC/B,cAAc,kBAAkB;AAAA,IAClC;AAEA,IAAAA,kBAAiB,yBAAyB;AAAA,MACxC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,kBAAkB;AAAA,MAC/B,cAAc,kBAAkB;AAAA,IAClC;AAEA,IAAAA,kBAAiB,sBAAsB;AAAA,MACrC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,kBAAkB;AAAA,MAC/B,cAAc,kBAAkB;AAAA,IAClC;AAEA,IAAAA,kBAAiB,mBAAmB;AAAA,MAClC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,kBAAkB;AAAA,MAC/B,cAAc,kBAAkB;AAAA,IAClC;AAEA,IAAAA,kBAAiB,sBAAsB;AAAA,MACrC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,kBAAkB;AAAA,MAC/B,cAAc,kBAAkB;AAAA,IAClC;AAEA,IAAAA,kBAAiB,sBAAsB;AAAA,MACrC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,kBAAkB;AAAA,MAC/B,cAAc,kBAAkB;AAAA,IAClC;AAEA,IAAAA,kBAAiB,sBAAsB;AAAA,MACrC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,kBAAkB;AAAA,MAC/B,cAAc,kBAAkB;AAAA,IAClC;AAEA,IAAAA,kBAAiB,2BAA2B;AAAA,MAC1C,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,uBAAuB;AAAA,MACpC,cAAc,uBAAuB;AAAA,IACvC;AAEA,IAAAA,kBAAiB,wBAAwB;AAAA,MACvC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,uBAAuB;AAAA,MACpC,cAAc,uBAAuB;AAAA,IACvC;AAEA,IAAAA,kBAAiB,2BAA2B;AAAA,MAC1C,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,uBAAuB;AAAA,MACpC,cAAc,uBAAuB;AAAA,IACvC;AAEA,IAAAA,kBAAiB,2BAA2B;AAAA,MAC1C,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,uBAAuB;AAAA,MACpC,cAAc,uBAAuB;AAAA,IACvC;AAEA,IAAAA,kBAAiB,2BAA2B;AAAA,MAC1C,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,uBAAuB;AAAA,MACpC,cAAc,uBAAuB;AAAA,IACvC;AAEA,YAAQ,mBAAmBA;AAE3B,aAASC,wBAAuB,aAAa,SAAS;AACpD,WAAK,cAAc;AACnB,WAAK,UAAU,WAAW,CAAC;AAAA,IAC7B;AAEA,IAAAA,wBAAuB,UAAU,eAAe,SAAS,aAAa,gBAAgB,UAAU,UAAU;AACxG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,cAAc;AAAA,QACrD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,kBAAkB,SAAS,gBAAgB,gBAAgB,UAAU,UAAU;AAC9G,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,iBAAiB;AAAA,QACxD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,kBAAkB,SAAS,gBAAgB,gBAAgB,UAAU,UAAU;AAC9G,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,iBAAiB;AAAA,QACxD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,kBAAkB,SAAS,gBAAgB,gBAAgB,UAAU,UAAU;AAC9G,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,iBAAiB;AAAA,QACxD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,0BAA0B,SAAS,wBAAwB,gBAAgB,UAAU,UAAU;AAC9H,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,yBAAyB;AAAA,QAChE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,0BAA0B,SAAS,wBAAwB,gBAAgB,UAAU,UAAU;AAC9H,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,yBAAyB;AAAA,QAChE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,qBAAqB,SAAS,mBAAmB,gBAAgB,UAAU,UAAU;AACpH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,oBAAoB;AAAA,QAC3D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,yBAAyB,SAAS,uBAAuB,gBAAgB,UAAU,UAAU;AAC5H,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,wBAAwB;AAAA,QAC/D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,wBAAwB,SAAS,sBAAsB,gBAAgB,UAAU,UAAU;AAC1H,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,uBAAuB;AAAA,QAC9D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,yBAAyB,SAAS,uBAAuB,gBAAgB,UAAU,UAAU;AAC5H,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,wBAAwB;AAAA,QAC/D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,4BAA4B,SAAS,0BAA0B,gBAAgB,UAAU,UAAU;AAClI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,2BAA2B;AAAA,QAClE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,gBAAgB,SAAS,cAAc,gBAAgB,UAAU,UAAU;AAC1G,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,eAAe;AAAA,QACtD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,wBAAwB,SAAS,sBAAsB,gBAAgB,UAAU,UAAU;AAC1H,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,uBAAuB;AAAA,QAC9D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,4BAA4B,SAAS,0BAA0B,gBAAgB,UAAU,UAAU;AAClI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,2BAA2B;AAAA,QAClE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,+BAA+B,SAAS,6BAA6B,gBAAgB,UAAU,UAAU;AACxI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,8BAA8B;AAAA,QACrE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,+BAA+B,SAAS,6BAA6B,gBAAgB,UAAU,UAAU;AACxI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,8BAA8B;AAAA,QACrE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,+BAA+B,SAAS,6BAA6B,gBAAgB,UAAU,UAAU;AACxI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,8BAA8B;AAAA,QACrE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,+BAA+B,SAAS,6BAA6B,gBAAgB,UAAU,UAAU;AACxI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,8BAA8B;AAAA,QACrE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,8BAA8B,SAAS,4BAA4B,gBAAgB,UAAU,UAAU;AACtI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,6BAA6B;AAAA,QACpE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,2BAA2B,SAAS,yBAAyB,gBAAgB,UAAU,UAAU;AAChI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,0BAA0B;AAAA,QACjE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,sBAAsB,SAAS,oBAAoB,gBAAgB,UAAU,UAAU;AACtH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,qBAAqB;AAAA,QAC5D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,yBAAyB,SAAS,uBAAuB,gBAAgB,UAAU,UAAU;AAC5H,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,wBAAwB;AAAA,QAC/D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,wBAAwB,SAAS,sBAAsB,gBAAgB,UAAU,UAAU;AAC1H,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,uBAAuB;AAAA,QAC9D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,sBAAsB,SAAS,oBAAoB,gBAAgB,UAAU,UAAU;AACtH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,qBAAqB;AAAA,QAC5D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,yBAAyB,SAAS,uBAAuB,gBAAgB,UAAU,UAAU;AAC5H,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,wBAAwB;AAAA,QAC/D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,sBAAsB,SAAS,oBAAoB,gBAAgB,UAAU,UAAU;AACtH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,qBAAqB;AAAA,QAC5D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,mBAAmB,SAAS,iBAAiB,gBAAgB,UAAU,UAAU;AAChH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,kBAAkB;AAAA,QACzD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,sBAAsB,SAAS,oBAAoB,gBAAgB,UAAU,UAAU;AACtH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,qBAAqB;AAAA,QAC5D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,sBAAsB,SAAS,oBAAoB,gBAAgB,UAAU,UAAU;AACtH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,qBAAqB;AAAA,QAC5D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,sBAAsB,SAAS,oBAAoB,gBAAgB,UAAU,UAAU;AACtH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,qBAAqB;AAAA,QAC5D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,2BAA2B,SAAS,yBAAyB,gBAAgB,UAAU,UAAU;AAChI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,0BAA0B;AAAA,QACjE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,wBAAwB,SAAS,sBAAsB,gBAAgB,UAAU,UAAU;AAC1H,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,uBAAuB;AAAA,QAC9D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,2BAA2B,SAAS,yBAAyB,gBAAgB,UAAU,UAAU;AAChI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,0BAA0B;AAAA,QACjE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,2BAA2B,SAAS,yBAAyB,gBAAgB,UAAU,UAAU;AAChI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,0BAA0B;AAAA,QACjE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,2BAA2B,SAAS,yBAAyB,gBAAgB,UAAU,UAAU;AAChI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,0BAA0B;AAAA,QACjE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,yBAAyBE;AAAA;AAAA;;;ACh5CjC;AAAA;AAAA;AAaA,QAAI,OAAO,UAAQ,iBAAiB;AACpC,QAAI,OAAO;AACX,QAAI,SAAU,WAAW;AAAE,aAAO,QAAQ,UAAU,UAAU,QAAQ,SAAS,aAAa,EAAE;AAAA,IAAG,EAAG,KAAK,IAAI;AAE7G,QAAI,+BAA+B,UAAQ,iDAAiD;AAC5F,SAAK,OAAO,OAAO,OAAO,4BAA4B;AACtD,QAAI,YAAY;AAChB,SAAK,OAAO,OAAO,OAAO,SAAS;AACnC,SAAK,aAAa,0CAA0C,MAAM,MAAM;AACxE,SAAK,aAAa,2CAA2C,MAAM,MAAM;AACzE,SAAK,aAAa,uCAAuC,MAAM,MAAM;AACrE,SAAK,aAAa,wCAAwC,MAAM,MAAM;AACtE,SAAK,aAAa,iCAAiC,MAAM,MAAM;AAC/D,SAAK,aAAa,qCAAqC,MAAM,MAAM;AACnE,SAAK,aAAa,sCAAsC,MAAM,MAAM;AACpE,SAAK,aAAa,gCAAgC,MAAM,MAAM;AAC9D,SAAK,aAAa,kCAAkC,MAAM,MAAM;AAChE,SAAK,aAAa,uCAAuC,MAAM,MAAM;AACrE,SAAK,aAAa,wCAAwC,MAAM,MAAM;AACtE,SAAK,aAAa,2CAA2C,MAAM,MAAM;AACzE,SAAK,aAAa,4CAA4C,MAAM,MAAM;AAC1E,SAAK,aAAa,uCAAuC,MAAM,MAAM;AACrE,SAAK,aAAa,wCAAwC,MAAM,MAAM;AACtE,SAAK,aAAa,gDAAgD,MAAM,MAAM;AAC9E,SAAK,aAAa,iDAAiD,MAAM,MAAM;AAC/E,SAAK,aAAa,sCAAsC,MAAM,MAAM;AACpE,SAAK,aAAa,uCAAuC,MAAM,MAAM;AACrE,SAAK,aAAa,mDAAmD,MAAM,MAAM;AACjF,SAAK,aAAa,oDAAoD,MAAM,MAAM;AAClF,SAAK,aAAa,8CAA8C,MAAM,MAAM;AAC5E,SAAK,aAAa,+CAA+C,MAAM,MAAM;AAC7E,SAAK,aAAa,mCAAmC,MAAM,MAAM;AACjE,SAAK,aAAa,uCAAuC,MAAM,MAAM;AACrE,SAAK,aAAa,wCAAwC,MAAM,MAAM;AACtE,SAAK,aAAa,gDAAgD,MAAM,MAAM;AAC9E,SAAK,aAAa,iDAAiD,MAAM,MAAM;AAC/E,SAAK,aAAa,sCAAsC,MAAM,MAAM;AACpE,SAAK,aAAa,uCAAuC,MAAM,MAAM;AACrE,SAAK,aAAa,mCAAmC,MAAM,MAAM;AACjE,SAAK,aAAa,oCAAoC,MAAM,MAAM;AAClE,SAAK,aAAa,wCAAwC,MAAM,MAAM;AACtE,SAAK,aAAa,yCAAyC,MAAM,MAAM;AACvE,SAAK,aAAa,mCAAmC,MAAM,MAAM;AACjE,SAAK,aAAa,oCAAoC,MAAM,MAAM;AAClE,SAAK,aAAa,gCAAgC,MAAM,MAAM;AAC9D,SAAK,aAAa,iCAAiC,MAAM,MAAM;AAC/D,SAAK,aAAa,iDAAiD,MAAM,MAAM;AAC/E,SAAK,aAAa,kDAAkD,MAAM,MAAM;AAChF,SAAK,aAAa,kCAAkC,MAAM,MAAM;AAChE,SAAK,aAAa,yBAAyB,MAAM,MAAM;AACvD,SAAK,aAAa,mCAAmC,MAAM,MAAM;AACjE,SAAK,aAAa,6BAA6B,MAAM,MAAM;AAC3D,SAAK,aAAa,uCAAuC,MAAM,MAAM;AACrE,SAAK,aAAa,qCAAqC,MAAM,MAAM;AACnE,SAAK,aAAa,uCAAuC,MAAM,MAAM;AACrE,SAAK,aAAa,sCAAsC,MAAM,MAAM;AACpE,SAAK,aAAa,8CAA8C,MAAM,MAAM;AAC5E,SAAK,aAAa,6CAA6C,MAAM,MAAM;AAC3E,SAAK,aAAa,uBAAuB,MAAM,MAAM;AACrD,SAAK,aAAa,iDAAiD,MAAM,MAAM;AAC/E,SAAK,aAAa,iEAAiE,MAAM,MAAM;AAC/F,SAAK,aAAa,2CAA2C,MAAM,MAAM;AACzE,SAAK,aAAa,4CAA4C,MAAM,MAAM;AAC1E,SAAK,aAAa,sCAAsC,MAAM,MAAM;AACpE,SAAK,aAAa,uCAAuC,MAAM,MAAM;AACrE,SAAK,aAAa,mDAAmD,MAAM,MAAM;AACjF,SAAK,aAAa,oDAAoD,MAAM,MAAM;AAClF,SAAK,aAAa,mCAAmC,MAAM,MAAM;AACjE,SAAK,aAAa,oCAAoC,MAAM,MAAM;AAClE,SAAK,aAAa,oCAAoC,MAAM,MAAM;AAClE,SAAK,aAAa,qCAAqC,MAAM,MAAM;AAWnE,UAAM,QAAQ,sBAAsB,SAAS,UAAU;AACrD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,qBAAqB,KAAK,OAAO;AAC7D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,oBAAoB,cAAc;AAAA,IAClD;AAWA,UAAM,QAAQ,sBAAsB,SAAS,UAAU;AACrD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,qBAAqB,KAAK,OAAO;AAC7D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,oBAAoB,cAAc;AAAA,IAClD;AAWA,UAAM,QAAQ,QAAQ,SAAS,UAAU;AACvC,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,OAAO,KAAK,OAAO;AAC/C,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,MAAM,cAAc;AAAA,IACpC;AAWA,UAAM,QAAQ,mBAAmB,SAAS,UAAU;AAClD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,kBAAkB,KAAK,OAAO;AAC1D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,iBAAiB,cAAc;AAAA,IAC/C;AAWA,UAAM,QAAQ,cAAc,SAAS,UAAU;AAC7C,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,aAAa,KAAK,OAAO;AACrD,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,YAAY,cAAc;AAAA,IAC1C;AAWA,UAAM,QAAQ,oBAAoB,SAAS,UAAU;AACnD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,mBAAmB,KAAK,OAAO;AAC3D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,kBAAkB,cAAc;AAAA,IAChD;AAWA,UAAM,QAAQ,kBAAkB,SAAS,UAAU;AACjD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,iBAAiB,KAAK,OAAO;AACzD,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,gBAAgB,cAAc;AAAA,IAC9C;AAWA,UAAM,QAAQ,iBAAiB,SAAS,UAAU;AAChD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,QAAQ,eAAe,iBAAiB,IAAI;AAAA,IACnG;AACA,SAAK,SAAS,MAAM,QAAQ,gBAAgB,KAAK,OAAO;AACxD,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,eAAe,cAAc;AAAA,IAC7C;AAWA,UAAM,QAAQ,uBAAuB,SAAS,UAAU;AACtD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,sBAAsB,KAAK,OAAO;AAC9D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,qBAAqB,cAAc;AAAA,IACnD;AAWA,UAAM,QAAQ,uBAAuB,SAAS,UAAU;AACtD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,sBAAsB,KAAK,OAAO;AAC9D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,qBAAqB,cAAc;AAAA,IACnD;AAWA,UAAM,QAAQ,wBAAwB,SAAS,UAAU;AACvD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,uBAAuB,KAAK,OAAO;AAC/D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,sBAAsB,cAAc;AAAA,IACpD;AAWA,UAAM,QAAQ,yBAAyB,SAAS,UAAU;AACxD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,wBAAwB,KAAK,OAAO;AAChE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,uBAAuB,cAAc;AAAA,IACrD;AAWA,UAAM,QAAQ,wBAAwB,SAAS,UAAU;AACvD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,uBAAuB,KAAK,OAAO;AAC/D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,sBAAsB,cAAc;AAAA,IACpD;AAWA,UAAM,QAAQ,yBAAyB,SAAS,UAAU;AACxD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,wBAAwB,KAAK,OAAO;AAChE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,uBAAuB,cAAc;AAAA,IACrD;AAWA,UAAM,QAAQ,wBAAwB,SAAS,UAAU;AACvD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,uBAAuB,KAAK,OAAO;AAC/D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,sBAAsB,cAAc;AAAA,IACpD;AAWA,UAAM,QAAQ,yBAAyB,SAAS,UAAU;AACxD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,wBAAwB,KAAK,OAAO;AAChE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,uBAAuB,cAAc;AAAA,IACrD;AAWA,UAAM,QAAQ,qBAAqB,SAAS,UAAU;AACpD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,oBAAoB,KAAK,OAAO;AAC5D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,mBAAmB,cAAc;AAAA,IACjD;AAWA,UAAM,QAAQ,sBAAsB,SAAS,UAAU;AACrD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,qBAAqB,KAAK,OAAO;AAC7D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,oBAAoB,cAAc;AAAA,IAClD;AAWA,UAAM,QAAQ,mBAAmB,SAAS,UAAU;AAClD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,kBAAkB,KAAK,OAAO;AAC1D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,iBAAiB,cAAc;AAAA,IAC/C;AAWA,UAAM,QAAQ,wBAAwB,SAAS,UAAU;AACvD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,uBAAuB,KAAK,OAAO;AAC/D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,sBAAsB,cAAc;AAAA,IACpD;AAWA,UAAM,QAAQ,+BAA+B,SAAS,UAAU;AAC9D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,8BAA8B,KAAK,OAAO;AACtE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,6BAA6B,cAAc;AAAA,IAC3D;AAWA,UAAM,QAAQ,iBAAiB,SAAS,UAAU;AAChD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,gBAAgB,KAAK,OAAO;AACxD,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,eAAe,cAAc;AAAA,IAC7C;AAWA,UAAM,QAAQ,kBAAkB,SAAS,UAAU;AACjD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,iBAAiB,KAAK,OAAO;AACzD,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,gBAAgB,cAAc;AAAA,IAC9C;AAWA,UAAM,QAAQ,oBAAoB,SAAS,UAAU;AACnD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,mBAAmB,KAAK,OAAO;AAC3D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,kBAAkB,cAAc;AAAA,IAChD;AAWA,UAAM,QAAQ,qBAAqB,SAAS,UAAU;AACpD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,oBAAoB,KAAK,OAAO;AAC5D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,mBAAmB,cAAc;AAAA,IACjD;AAWA,UAAM,QAAQ,8BAA8B,SAAS,UAAU;AAC7D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,6BAA6B,KAAK,OAAO;AACrE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,4BAA4B,cAAc;AAAA,IAC1D;AAWA,UAAM,QAAQ,oBAAoB,SAAS,UAAU;AACnD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,QAAQ,kBAAkB,iBAAiB,IAAI;AAAA,IACtG;AACA,SAAK,SAAS,MAAM,QAAQ,mBAAmB,KAAK,OAAO;AAC3D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,kBAAkB,cAAc;AAAA,IAChD;AAWA,UAAM,QAAQ,qBAAqB,SAAS,UAAU;AACpD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,QAAQ,mBAAmB,iBAAiB,IAAI;AAAA,IACvG;AACA,SAAK,SAAS,MAAM,QAAQ,oBAAoB,KAAK,OAAO;AAC5D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,mBAAmB,cAAc;AAAA,IACjD;AAWA,UAAM,QAAQ,4BAA4B,SAAS,UAAU;AAC3D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,2BAA2B,KAAK,OAAO;AACnE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,0BAA0B,cAAc;AAAA,IACxD;AAWA,UAAM,QAAQ,4BAA4B,SAAS,UAAU;AAC3D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,2BAA2B,KAAK,OAAO;AACnE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,0BAA0B,cAAc;AAAA,IACxD;AAWA,UAAM,QAAQ,yBAAyB,SAAS,UAAU;AACxD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,wBAAwB,KAAK,OAAO;AAChE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,uBAAuB,cAAc;AAAA,IACrD;AAWA,UAAM,QAAQ,0BAA0B,SAAS,UAAU;AACzD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,yBAAyB,KAAK,OAAO;AACjE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,wBAAwB,cAAc;AAAA,IACtD;AAWA,UAAM,QAAQ,6BAA6B,SAAS,UAAU;AAC5D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,4BAA4B,KAAK,OAAO;AACpE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,2BAA2B,cAAc;AAAA,IACzD;AAWA,UAAM,QAAQ,6BAA6B,SAAS,UAAU;AAC5D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,4BAA4B,KAAK,OAAO;AACpE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,2BAA2B,cAAc;AAAA,IACzD;AAWA,UAAM,QAAQ,kCAAkC,SAAS,UAAU;AACjE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,iCAAiC,KAAK,OAAO;AACzE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,gCAAgC,cAAc;AAAA,IAC9D;AAWA,UAAM,QAAQ,UAAU,SAAS,UAAU;AACzC,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,QAAQ,QAAQ,iBAAiB,IAAI;AAAA,IAC5F;AACA,SAAK,SAAS,MAAM,QAAQ,SAAS,KAAK,OAAO;AACjD,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,QAAQ,cAAc;AAAA,IACtC;AAWA,UAAM,QAAQ,uBAAuB,SAAS,UAAU;AACtD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,sBAAsB,KAAK,OAAO;AAC9D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,qBAAqB,cAAc;AAAA,IACnD;AAWA,UAAM,QAAQ,wBAAwB,SAAS,UAAU;AACvD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,uBAAuB,KAAK,OAAO;AAC/D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,sBAAsB,cAAc;AAAA,IACpD;AAWA,UAAM,QAAQ,uBAAuB,SAAS,UAAU;AACtD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,sBAAsB,KAAK,OAAO;AAC9D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,qBAAqB,cAAc;AAAA,IACnD;AAWA,UAAM,QAAQ,wBAAwB,SAAS,UAAU;AACvD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,uBAAuB,KAAK,OAAO;AAC/D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,sBAAsB,cAAc;AAAA,IACpD;AAWA,UAAM,QAAQ,oBAAoB,SAAS,UAAU;AACnD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,mBAAmB,KAAK,OAAO;AAC3D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,kBAAkB,cAAc;AAAA,IAChD;AAWA,UAAM,QAAQ,qBAAqB,SAAS,UAAU;AACpD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,oBAAoB,KAAK,OAAO;AAC5D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,mBAAmB,cAAc;AAAA,IACjD;AAWA,UAAM,QAAQ,uBAAuB,SAAS,UAAU;AACtD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,QAAQ,qBAAqB,iBAAiB,IAAI;AAAA,IACzG;AACA,SAAK,SAAS,MAAM,QAAQ,sBAAsB,KAAK,OAAO;AAC9D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,qBAAqB,cAAc;AAAA,IACnD;AAWA,UAAM,QAAQ,wBAAwB,SAAS,UAAU;AACvD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,QAAQ,sBAAsB,iBAAiB,IAAI;AAAA,IAC1G;AACA,SAAK,SAAS,MAAM,QAAQ,uBAAuB,KAAK,OAAO;AAC/D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,sBAAsB,cAAc;AAAA,IACpD;AAWA,UAAM,QAAQ,wBAAwB,SAAS,UAAU;AACvD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,uBAAuB,KAAK,OAAO;AAC/D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,sBAAsB,cAAc;AAAA,IACpD;AAWA,UAAM,QAAQ,kCAAkC,SAAS,UAAU;AACjE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,QAAQ,gCAAgC,iBAAiB,IAAI;AAAA,IACpH;AACA,SAAK,SAAS,MAAM,QAAQ,iCAAiC,KAAK,OAAO;AACzE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,gCAAgC,cAAc;AAAA,IAC9D;AAWA,UAAM,QAAQ,mCAAmC,SAAS,UAAU;AAClE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,kCAAkC,KAAK,OAAO;AAC1E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,iCAAiC,cAAc;AAAA,IAC/D;AAWA,UAAM,QAAQ,2BAA2B,SAAS,UAAU;AAC1D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,QAAQ,yBAAyB,iBAAiB,IAAI;AAAA,IAC7G;AACA,SAAK,SAAS,MAAM,QAAQ,0BAA0B,KAAK,OAAO;AAClE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,yBAAyB,cAAc;AAAA,IACvD;AAWA,UAAM,QAAQ,oCAAoC,SAAS,UAAU;AACnE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,mCAAmC,KAAK,OAAO;AAC3E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,kCAAkC,cAAc;AAAA,IAChE;AAWA,UAAM,QAAQ,qCAAqC,SAAS,UAAU;AACpE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,oCAAoC,KAAK,OAAO;AAC5E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,mCAAmC,cAAc;AAAA,IACjE;AAWA,UAAM,QAAQ,oCAAoC,SAAS,UAAU;AACnE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,mCAAmC,KAAK,OAAO;AAC3E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,kCAAkC,cAAc;AAAA,IAChE;AAWA,UAAM,QAAQ,qCAAqC,SAAS,UAAU;AACpE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,oCAAoC,KAAK,OAAO;AAC5E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,mCAAmC,cAAc;AAAA,IACjE;AAWA,UAAM,QAAQ,+BAA+B,SAAS,UAAU;AAC9D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,8BAA8B,KAAK,OAAO;AACtE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,6BAA6B,cAAc;AAAA,IAC3D;AAWA,UAAM,QAAQ,gCAAgC,SAAS,UAAU;AAC/D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,+BAA+B,KAAK,OAAO;AACvE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,8BAA8B,cAAc;AAAA,IAC5D;AAWA,UAAM,QAAQ,wBAAwB,SAAS,UAAU;AACvD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,uBAAuB,KAAK,OAAO;AAC/D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,sBAAsB,cAAc;AAAA,IACpD;AAWA,UAAM,QAAQ,yBAAyB,SAAS,UAAU;AACxD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,wBAAwB,KAAK,OAAO;AAChE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,uBAAuB,cAAc;AAAA,IACrD;AAWA,UAAM,QAAQ,4BAA4B,SAAS,UAAU;AAC3D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,QAAQ,0BAA0B,iBAAiB,IAAI;AAAA,IAC9G;AACA,SAAK,SAAS,MAAM,QAAQ,2BAA2B,KAAK,OAAO;AACnE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,0BAA0B,cAAc;AAAA,IACxD;AAWA,UAAM,QAAQ,oBAAoB,SAAS,UAAU;AACnD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,KAAK,MAAM,IAAI;AAAA,IAC5D;AACA,SAAK,SAAS,MAAM,QAAQ,mBAAmB,KAAK,OAAO;AAC3D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,kBAAkB,cAAc;AAAA,IAChD;AAWA,UAAM,QAAQ,iCAAiC,SAAS,UAAU;AAChE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,gCAAgC,KAAK,OAAO;AACxE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,+BAA+B,cAAc;AAAA,IAC7D;AAWA,UAAM,QAAQ,iCAAiC,SAAS,UAAU;AAChE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,QAAQ,+BAA+B,iBAAiB,IAAI;AAAA,IACnH;AACA,SAAK,SAAS,MAAM,QAAQ,gCAAgC,KAAK,OAAO;AACxE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,+BAA+B,cAAc;AAAA,IAC7D;AAWA,UAAM,QAAQ,kCAAkC,SAAS,UAAU;AACjE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,QAAQ,iCAAiC,KAAK,OAAO;AACzE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,gCAAgC,cAAc;AAAA,IAC9D;AAWA,UAAM,QAAQ,kCAAkC,SAAS,UAAU;AACjE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,QAAQ,gCAAgC,iBAAiB,IAAI;AAAA,IACpH;AACA,SAAK,SAAS,MAAM,QAAQ,iCAAiC,KAAK,OAAO;AACzE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,QAAQ,gCAAgC,cAAc;AAAA,IAC9D;AAIA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,oBAAoB,UAAU,WAAW,SAAS,qBAAqB;AACnF,eAAO,MAAM,QAAQ,oBAAoB,SAAS,qBAAqB,IAAI;AAAA,MAC7E;AAYA,YAAM,QAAQ,oBAAoB,WAAW,SAAS,iBAAiB,KAAK;AAC1E,YAAI,GAAG,MAAM;AAAA,UACX,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAClD,UAAU,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACvD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,oBAAoB,oBAAoB,SAAS,OAAO;AACpE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,oBAAoB,4BAA4B,KAAK,MAAM;AAAA,IAClF;AAUA,UAAM,QAAQ,oBAAoB,8BAA8B,SAAS,KAAK,QAAQ;AACpF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,oBAAoB,UAAU,kBAAkB,WAAW;AACvE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,oBAAoB,wBAAwB,MAAM,MAAM;AACtE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,oBAAoB,0BAA0B,SAAS,SAAS,QAAQ;AACpF,UAAI,IAAI;AACR,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,oBAAoB,UAAU,WAAW,WAAW;AAChE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,oBAAoB,UAAU,WAAW,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,oBAAoB,UAAU,cAAc,WAAW;AACnE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,oBAAoB,UAAU,cAAc,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,oBAAoB,UAAU,WAAW,SAAS,qBAAqB;AACnF,eAAO,MAAM,QAAQ,oBAAoB,SAAS,qBAAqB,IAAI;AAAA,MAC7E;AAYA,YAAM,QAAQ,oBAAoB,WAAW,SAAS,iBAAiB,KAAK;AAC1E,YAAI,GAAG,MAAM;AAAA,UACX,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAClD,UAAU,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACrD,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACnD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,oBAAoB,oBAAoB,SAAS,OAAO;AACpE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,oBAAoB,4BAA4B,KAAK,MAAM;AAAA,IAClF;AAUA,UAAM,QAAQ,oBAAoB,8BAA8B,SAAS,KAAK,QAAQ;AACpF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,oBAAoB,UAAU,kBAAkB,WAAW;AACvE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,oBAAoB,wBAAwB,MAAM,MAAM;AACtE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,oBAAoB,0BAA0B,SAAS,SAAS,QAAQ;AACpF,UAAI,IAAI;AACR,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,oBAAoB,UAAU,WAAW,WAAW;AAChE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,oBAAoB,UAAU,WAAW,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,oBAAoB,UAAU,cAAc,WAAW;AACnE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,oBAAoB,UAAU,cAAc,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,oBAAoB,UAAU,UAAU,WAAW;AAC/D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,oBAAoB,UAAU,UAAU,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,MAAM,UAAU,WAAW,SAAS,qBAAqB;AACrE,eAAO,MAAM,QAAQ,MAAM,SAAS,qBAAqB,IAAI;AAAA,MAC/D;AAYA,YAAM,QAAQ,MAAM,WAAW,SAAS,iBAAiB,KAAK;AAC5D,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAClD,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACtD,WAAW,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,QAClE;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,MAAM,oBAAoB,SAAS,OAAO;AACtD,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,MAAM,4BAA4B,KAAK,MAAM;AAAA,IACpE;AAUA,UAAM,QAAQ,MAAM,8BAA8B,SAAS,KAAK,QAAQ;AACtE,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,MAAM,UAAU,kBAAkB,WAAW;AACzD,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,MAAM,wBAAwB,MAAM,MAAM;AACxD,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,MAAM,0BAA0B,SAAS,SAAS,QAAQ;AACtE,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,MAAM,UAAU,QAAQ,WAAW;AAC/C;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,MAAM,UAAU,QAAQ,SAAS,OAAO;AACpD,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,MAAM,UAAU,WAAW,WAAW;AAClD;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,MAAM,UAAU,WAAW,SAAS,OAAO;AACvD,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,MAAM,UAAU,eAAe,WAAW;AACtD;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,MAAM,UAAU,eAAe,SAAS,OAAO;AAC3D,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,MAAM,UAAU,eAAe,WAAW;AACtD;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,MAAM,UAAU,eAAe,SAAS,OAAO;AAC3D,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,iBAAiB,UAAU,WAAW,SAAS,qBAAqB;AAChF,eAAO,MAAM,QAAQ,iBAAiB,SAAS,qBAAqB,IAAI;AAAA,MAC1E;AAYA,YAAM,QAAQ,iBAAiB,WAAW,SAAS,iBAAiB,KAAK;AACvE,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAC5D,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,kBAAkB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QAC/D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,iBAAiB,oBAAoB,SAAS,OAAO;AACjE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,iBAAiB,4BAA4B,KAAK,MAAM;AAAA,IAC/E;AAUA,UAAM,QAAQ,iBAAiB,8BAA8B,SAAS,KAAK,QAAQ;AACjF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,oBAAoB,KAAK;AAC7B;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,iBAAiB,UAAU,kBAAkB,WAAW;AACpE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,iBAAiB,wBAAwB,MAAM,MAAM;AACnE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,iBAAiB,0BAA0B,SAAS,SAAS,QAAQ;AACjF,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,oBAAoB;AAChC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,iBAAiB,UAAU,QAAQ,WAAW;AAC1D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,iBAAiB,UAAU,QAAQ,SAAS,OAAO;AAC/D,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,iBAAiB,UAAU,oBAAoB,WAAW;AACtE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,iBAAiB,UAAU,oBAAoB,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,iBAAiB,UAAU,UAAU,WAAW;AAC5D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,iBAAiB,UAAU,UAAU,SAAS,OAAO;AACjE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,iBAAiB,UAAU,sBAAsB,WAAW;AACxE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,iBAAiB,UAAU,sBAAsB,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,YAAY,UAAU,WAAW,SAAS,qBAAqB;AAC3E,eAAO,MAAM,QAAQ,YAAY,SAAS,qBAAqB,IAAI;AAAA,MACrE;AAYA,YAAM,QAAQ,YAAY,WAAW,SAAS,iBAAiB,KAAK;AAClE,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACvD,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QAC1D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,YAAY,oBAAoB,SAAS,OAAO;AAC5D,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,YAAY,4BAA4B,KAAK,MAAM;AAAA,IAC1E;AAUA,UAAM,QAAQ,YAAY,8BAA8B,SAAS,KAAK,QAAQ;AAC5E,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,YAAY,UAAU,kBAAkB,WAAW;AAC/D,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,YAAY,wBAAwB,MAAM,MAAM;AAC9D,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,YAAY,0BAA0B,SAAS,SAAS,QAAQ;AAC5E,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,YAAY,UAAU,QAAQ,WAAW;AACrD;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,YAAY,UAAU,QAAQ,SAAS,OAAO;AAC1D,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,YAAY,UAAU,eAAe,WAAW;AAC5D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,YAAY,UAAU,eAAe,SAAS,OAAO;AACjE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,YAAY,UAAU,UAAU,WAAW;AACvD;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,YAAY,UAAU,UAAU,SAAS,OAAO;AAC5D,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,YAAY,UAAU,iBAAiB,WAAW;AAC9D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,YAAY,UAAU,iBAAiB,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,kBAAkB,UAAU,WAAW,SAAS,qBAAqB;AACjF,eAAO,MAAM,QAAQ,kBAAkB,SAAS,qBAAqB,IAAI;AAAA,MAC3E;AAYA,YAAM,QAAQ,kBAAkB,WAAW,SAAS,iBAAiB,KAAK;AACxE,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,SAAS,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACpD,UAAU,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,QACjE;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,kBAAkB,oBAAoB,SAAS,OAAO;AAClE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,kBAAkB,4BAA4B,KAAK,MAAM;AAAA,IAChF;AAUA,UAAM,QAAQ,kBAAkB,8BAA8B,SAAS,KAAK,QAAQ;AAClF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,kBAAkB,UAAU,kBAAkB,WAAW;AACrE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,kBAAkB,wBAAwB,MAAM,MAAM;AACpE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,kBAAkB,0BAA0B,SAAS,SAAS,QAAQ;AAClF,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,kBAAkB,UAAU,QAAQ,WAAW;AAC3D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,kBAAkB,UAAU,QAAQ,SAAS,OAAO;AAChE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,kBAAkB,UAAU,aAAa,WAAW;AAChE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,kBAAkB,UAAU,aAAa,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,kBAAkB,UAAU,cAAc,WAAW;AACjE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,kBAAkB,UAAU,cAAc,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,gBAAgB,UAAU,WAAW,SAAS,qBAAqB;AAC/E,eAAO,MAAM,QAAQ,gBAAgB,SAAS,qBAAqB,IAAI;AAAA,MACzE;AAYA,YAAM,QAAQ,gBAAgB,WAAW,SAAS,iBAAiB,KAAK;AACtE,YAAI,GAAG,MAAM;AAAA,UACX,UAAU,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACrD,UAAU,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACrD,YAAY,IAAI,IAAI,aAAa,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,QAClF;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,gBAAgB,oBAAoB,SAAS,OAAO;AAChE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,gBAAgB,4BAA4B,KAAK,MAAM;AAAA,IAC9E;AAUA,UAAM,QAAQ,gBAAgB,8BAA8B,SAAS,KAAK,QAAQ;AAChF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,aAAa;AAC7B,mBAAO,YAAY,OAAO,SAAS,SAASC,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,WAAW,MAAM,IAAI,CAAC;AAAA,YACrI,CAAC;AACJ;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,gBAAgB,UAAU,kBAAkB,WAAW;AACnE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,gBAAgB,wBAAwB,MAAM,MAAM;AAClE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,gBAAgB,0BAA0B,SAAS,SAAS,QAAQ;AAChF,UAAI,IAAI;AACR,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa,IAAI;AAC7B,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,UAAU;AAAA,MAC9G;AAAA,IACF;AAOA,UAAM,QAAQ,gBAAgB,UAAU,cAAc,WAAW;AAC/D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,gBAAgB,UAAU,cAAc,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,gBAAgB,UAAU,cAAc,WAAW;AAC/D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,gBAAgB,UAAU,cAAc,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,QAAQ,gBAAgB,UAAU,eAAe,SAAS,kBAAkB;AAChF;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,QAAQ,gBAAgB,UAAU,iBAAiB,WAAW;AAClE,WAAK,aAAa,EAAE,MAAM;AAC1B,aAAO;AAAA,IAAK;AASd,UAAM,QAAQ,eAAe,kBAAkB,CAAC,GAAE,CAAC;AAInD,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,eAAe,UAAU,WAAW,SAAS,qBAAqB;AAC9E,eAAO,MAAM,QAAQ,eAAe,SAAS,qBAAqB,IAAI;AAAA,MACxE;AAYA,YAAM,QAAQ,eAAe,WAAW,SAAS,iBAAiB,KAAK;AACrE,YAAI,GAAG,MAAM;AAAA,UACX,OAAO,IAAI,IAAI,QAAQ,MAAM,UAAU,KAAK,SAAS,iBAAiB,CAAC;AAAA,UACvE,QAAQ,IAAI,IAAI,SAAS,MAAM,MAAM,QAAQ,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC9E,mBAAmB,IAAI,IAAI,oBAAoB,MAAM,MAAM,QAAQ,iBAAiB,SAAS,iBAAiB,CAAC;AAAA,UAC/G,kBAAkB,KAAK,QAAQ;AAAA,YAAa,IAAI,oBAAoB;AAAA,YACpE,MAAM,QAAQ,YAAY;AAAA,YAAU;AAAA,UAAe;AAAA,UACnD,wBAAwB,KAAK,QAAQ;AAAA,YAAa,IAAI,0BAA0B;AAAA,YAChF,MAAM,QAAQ,kBAAkB;AAAA,YAAU;AAAA,UAAe;AAAA,UACzD,cAAc,IAAI,IAAI,eAAe,MAAM,MAAM,QAAQ,gBAAgB,SAAS,iBAAiB,CAAC;AAAA,QACtG;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,eAAe,oBAAoB,SAAS,OAAO;AAC/D,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,eAAe,4BAA4B,KAAK,MAAM;AAAA,IAC7E;AAUA,UAAM,QAAQ,eAAe,8BAA8B,SAAS,KAAK,QAAQ;AAC/E,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,KAAK,2BAA2B;AACnE,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,QAAQ;AAC9B,mBAAO,YAAY,OAAM,MAAM,QAAQ,MAAM,2BAA2B;AACxE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,QAAQ;AAC9B,mBAAO,YAAY,OAAM,MAAM,QAAQ,iBAAiB,2BAA2B;AACnF,gBAAI,oBAAoB,KAAK;AAC7B;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,QAAQ;AAC9B,mBAAO,YAAY,OAAM,MAAM,QAAQ,YAAY,2BAA2B;AAC9E,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,QAAQ;AAC9B,mBAAO,YAAY,OAAM,MAAM,QAAQ,kBAAkB,2BAA2B;AACpF,gBAAI,sBAAsB,KAAK;AAC/B;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,QAAQ;AAC9B,mBAAO,YAAY,OAAM,MAAM,QAAQ,gBAAgB,2BAA2B;AAClF,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,eAAe,UAAU,kBAAkB,WAAW;AAClE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,eAAe,wBAAwB,MAAM,MAAM;AACjE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,eAAe,0BAA0B,SAAS,SAAS,QAAQ;AAC/E,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,KAAK;AAAA,QACjB;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,MAAM;AAAA,QACtB;AAAA,MACF;AACA,UAAI,QAAQ,oBAAoB;AAChC,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,iBAAiB;AAAA,QACjC;AAAA,MACF;AACA,UAAI,QAAQ,oBAAoB;AAChC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,YAAY;AAAA,QAC5B;AAAA,MACF;AACA,UAAI,QAAQ,0BAA0B;AACtC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,kBAAkB;AAAA,QAClC;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,gBAAgB;AAAA,QAChC;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,eAAe,UAAU,UAAU,WAAW;AAC1D;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,MAAM,CAAC;AAAA;AAAA,IACxD;AAOA,UAAM,QAAQ,eAAe,UAAU,UAAU,SAAS,OAAO;AAC/D,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,eAAe,UAAU,YAAY,WAAW;AAC5D,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,QAAQ,eAAe,UAAU,UAAU,WAAW;AAC1D,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,eAAe,UAAU,WAAW,WAAW;AAC3D;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,QAAQ,OAAO,CAAC;AAAA;AAAA,IAC7D;AAOA,UAAM,QAAQ,eAAe,UAAU,WAAW,SAAS,OAAO;AAChE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,eAAe,UAAU,aAAa,WAAW;AAC7D,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,eAAe,UAAU,WAAW,WAAW;AAC3D,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,eAAe,UAAU,sBAAsB,WAAW;AACtE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,QAAQ,kBAAkB,CAAC;AAAA;AAAA,IACxE;AAOA,UAAM,QAAQ,eAAe,UAAU,sBAAsB,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,eAAe,UAAU,wBAAwB,WAAW;AACxE,aAAO,KAAK,oBAAoB,MAAS;AAAA,IAC3C;AAOA,UAAM,QAAQ,eAAe,UAAU,sBAAsB,WAAW;AACtE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,eAAe,UAAU,sBAAsB,WAAW;AACtE;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,QAAQ,aAAa,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,eAAe,UAAU,sBAAsB,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,QAAQ,eAAe,UAAU,kBAAkB,SAAS,WAAW,WAAW;AACtF,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,QAAQ,aAAa,SAAS;AAAA,IACxG;AAOA,UAAM,QAAQ,eAAe,UAAU,wBAAwB,WAAW;AACxE,aAAO,KAAK,oBAAoB,CAAC,CAAC;AAAA,IACpC;AAOA,UAAM,QAAQ,eAAe,UAAU,4BAA4B,WAAW;AAC5E;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,QAAQ,mBAAmB,CAAC;AAAA;AAAA,IACjF;AAOA,UAAM,QAAQ,eAAe,UAAU,4BAA4B,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,QAAQ,eAAe,UAAU,wBAAwB,SAAS,WAAW,WAAW;AAC5F,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,QAAQ,mBAAmB,SAAS;AAAA,IAC9G;AAOA,UAAM,QAAQ,eAAe,UAAU,8BAA8B,WAAW;AAC9E,aAAO,KAAK,0BAA0B,CAAC,CAAC;AAAA,IAC1C;AAOA,UAAM,QAAQ,eAAe,UAAU,iBAAiB,WAAW;AACjE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,QAAQ,iBAAiB,CAAC;AAAA;AAAA,IACvE;AAOA,UAAM,QAAQ,eAAe,UAAU,iBAAiB,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,eAAe,UAAU,mBAAmB,WAAW;AACnE,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,QAAQ,eAAe,UAAU,iBAAiB,WAAW;AACjE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,qBAAqB,UAAU,WAAW,SAAS,qBAAqB;AACpF,eAAO,MAAM,QAAQ,qBAAqB,SAAS,qBAAqB,IAAI;AAAA,MAC9E;AAYA,YAAM,QAAQ,qBAAqB,WAAW,SAAS,iBAAiB,KAAK;AAC3E,YAAI,GAAG,MAAM;AAAA,UACX,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAClD,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAC1D,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UACrD,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACnD,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACtD,SAAS,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACtD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,qBAAqB,oBAAoB,SAAS,OAAO;AACrE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,qBAAqB,4BAA4B,KAAK,MAAM;AAAA,IACnF;AAUA,UAAM,QAAQ,qBAAqB,8BAA8B,SAAS,KAAK,QAAQ;AACrF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,qBAAqB,UAAU,kBAAkB,WAAW;AACxE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,qBAAqB,wBAAwB,MAAM,MAAM;AACvE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,qBAAqB,0BAA0B,SAAS,SAAS,QAAQ;AACrF,UAAI,IAAI;AACR,UAAI,QAAQ,UAAU;AACtB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,UAAU;AACtB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA;AAAA,MAA2B,KAAK,QAAQ,SAAS,SAAS,CAAC;AAC3D,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA;AAAA,MAA2B,KAAK,QAAQ,SAAS,SAAS,CAAC;AAC3D,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,qBAAqB,UAAU,YAAY,WAAW;AAClE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,qBAAqB,UAAU,YAAY,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,qBAAqB,UAAU,oBAAoB,WAAW;AAC1E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,qBAAqB,UAAU,oBAAoB,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,qBAAqB,UAAU,eAAe,WAAW;AACrE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,qBAAqB,UAAU,eAAe,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,qBAAqB,UAAU,YAAY,WAAW;AAClE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,qBAAqB,UAAU,YAAY,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,qBAAqB,UAAU,eAAe,WAAW;AACrE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,qBAAqB,UAAU,eAAe,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,KAAK;AAAA,IAC7C;AAOA,UAAM,QAAQ,qBAAqB,UAAU,iBAAiB,WAAW;AACvE,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,MAAS;AAAA,IACjD;AAOA,UAAM,QAAQ,qBAAqB,UAAU,eAAe,WAAW;AACrE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,qBAAqB,UAAU,aAAa,WAAW;AACnE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,qBAAqB,UAAU,aAAa,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,KAAK;AAAA,IAC7C;AAOA,UAAM,QAAQ,qBAAqB,UAAU,eAAe,WAAW;AACrE,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,MAAS;AAAA,IACjD;AAOA,UAAM,QAAQ,qBAAqB,UAAU,aAAa,WAAW;AACnE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,qBAAqB,UAAU,WAAW,SAAS,qBAAqB;AACpF,eAAO,MAAM,QAAQ,qBAAqB,SAAS,qBAAqB,IAAI;AAAA,MAC9E;AAYA,YAAM,QAAQ,qBAAqB,WAAW,SAAS,iBAAiB,KAAK;AAC3E,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,QAAQ,eAAe,SAAS,iBAAiB,CAAC;AAAA,UACrF,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,qBAAqB,oBAAoB,SAAS,OAAO;AACrE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,qBAAqB,4BAA4B,KAAK,MAAM;AAAA,IACnF;AAUA,UAAM,QAAQ,qBAAqB,8BAA8B,SAAS,KAAK,QAAQ;AACrF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,QAAQ;AAC9B,mBAAO,YAAY,OAAM,MAAM,QAAQ,eAAe,2BAA2B;AACjF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,qBAAqB,UAAU,kBAAkB,WAAW;AACxE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,qBAAqB,wBAAwB,MAAM,MAAM;AACvE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,qBAAqB,0BAA0B,SAAS,SAAS,QAAQ;AACrF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,eAAe;AAAA,QAC/B;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,qBAAqB,UAAU,UAAU,WAAW;AAChE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,qBAAqB,UAAU,UAAU,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,qBAAqB,UAAU,aAAa,WAAW;AACnE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,qBAAqB,UAAU,aAAa,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,qBAAqB,UAAU,UAAU,WAAW;AAChE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,QAAQ,gBAAgB,CAAC;AAAA;AAAA,IACtE;AAOA,UAAM,QAAQ,qBAAqB,UAAU,UAAU,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,qBAAqB,UAAU,YAAY,WAAW;AAClE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,QAAQ,qBAAqB,UAAU,UAAU,WAAW;AAChE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,qBAAqB,UAAU,WAAW,WAAW;AACjE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,qBAAqB,UAAU,WAAW,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,qBAAqB,UAAU,aAAa,WAAW;AACnE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,qBAAqB,UAAU,WAAW,WAAW;AACjE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,sBAAsB,UAAU,WAAW,SAAS,qBAAqB;AACrF,eAAO,MAAM,QAAQ,sBAAsB,SAAS,qBAAqB,IAAI;AAAA,MAC/E;AAYA,YAAM,QAAQ,sBAAsB,WAAW,SAAS,iBAAiB,KAAK;AAC5E,YAAI,GAAG,MAAM;AAAA,UACX,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACpD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,sBAAsB,oBAAoB,SAAS,OAAO;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,sBAAsB,4BAA4B,KAAK,MAAM;AAAA,IACpF;AAUA,UAAM,QAAQ,sBAAsB,8BAA8B,SAAS,KAAK,QAAQ;AACtF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,sBAAsB,UAAU,kBAAkB,WAAW;AACzE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,sBAAsB,wBAAwB,MAAM,MAAM;AACxE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,sBAAsB,0BAA0B,SAAS,SAAS,QAAQ;AACtF,UAAI,IAAI;AACR,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,sBAAsB,UAAU,WAAW,WAAW;AAClE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,sBAAsB,UAAU,WAAW,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,uBAAuB,UAAU,WAAW,SAAS,qBAAqB;AACtF,eAAO,MAAM,QAAQ,uBAAuB,SAAS,qBAAqB,IAAI;AAAA,MAChF;AAYA,YAAM,QAAQ,uBAAuB,WAAW,SAAS,iBAAiB,KAAK;AAC7E,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,uBAAuB,oBAAoB,SAAS,OAAO;AACvE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,uBAAuB,4BAA4B,KAAK,MAAM;AAAA,IACrF;AAUA,UAAM,QAAQ,uBAAuB,8BAA8B,SAAS,KAAK,QAAQ;AACvF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,uBAAuB,UAAU,kBAAkB,WAAW;AAC1E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,uBAAuB,wBAAwB,MAAM,MAAM;AACzE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,uBAAuB,0BAA0B,SAAS,SAAS,QAAQ;AACvF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,uBAAuB,UAAU,UAAU,WAAW;AAClE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,uBAAuB,UAAU,UAAU,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,uBAAuB,UAAU,aAAa,WAAW;AACrE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,uBAAuB,UAAU,aAAa,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,uBAAuB,UAAU,WAAW,WAAW;AACnE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,uBAAuB,UAAU,WAAW,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,uBAAuB,UAAU,aAAa,WAAW;AACrE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,uBAAuB,UAAU,WAAW,WAAW;AACnE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,sBAAsB,UAAU,WAAW,SAAS,qBAAqB;AACrF,eAAO,MAAM,QAAQ,sBAAsB,SAAS,qBAAqB,IAAI;AAAA,MAC/E;AAYA,YAAM,QAAQ,sBAAsB,WAAW,SAAS,iBAAiB,KAAK;AAC5E,YAAI,GAAG,MAAM;AAAA,UACX,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACxD,UAAU,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACvD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,sBAAsB,oBAAoB,SAAS,OAAO;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,sBAAsB,4BAA4B,KAAK,MAAM;AAAA,IACpF;AAUA,UAAM,QAAQ,sBAAsB,8BAA8B,SAAS,KAAK,QAAQ;AACtF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,sBAAsB,UAAU,kBAAkB,WAAW;AACzE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,sBAAsB,wBAAwB,MAAM,MAAM;AACxE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,sBAAsB,0BAA0B,SAAS,SAAS,QAAQ;AACtF,UAAI,IAAI;AACR,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,sBAAsB,UAAU,iBAAiB,WAAW;AACxE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,sBAAsB,UAAU,iBAAiB,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,sBAAsB,UAAU,cAAc,WAAW;AACrE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,sBAAsB,UAAU,cAAc,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,uBAAuB,UAAU,WAAW,SAAS,qBAAqB;AACtF,eAAO,MAAM,QAAQ,uBAAuB,SAAS,qBAAqB,IAAI;AAAA,MAChF;AAYA,YAAM,QAAQ,uBAAuB,WAAW,SAAS,iBAAiB,KAAK;AAC7E,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,uBAAuB,oBAAoB,SAAS,OAAO;AACvE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,uBAAuB,4BAA4B,KAAK,MAAM;AAAA,IACrF;AAUA,UAAM,QAAQ,uBAAuB,8BAA8B,SAAS,KAAK,QAAQ;AACvF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,uBAAuB,UAAU,kBAAkB,WAAW;AAC1E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,uBAAuB,wBAAwB,MAAM,MAAM;AACzE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,uBAAuB,0BAA0B,SAAS,SAAS,QAAQ;AACvF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,uBAAuB,UAAU,UAAU,WAAW;AAClE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,uBAAuB,UAAU,UAAU,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,uBAAuB,UAAU,aAAa,WAAW;AACrE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,uBAAuB,UAAU,aAAa,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,uBAAuB,UAAU,WAAW,WAAW;AACnE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,uBAAuB,UAAU,WAAW,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,uBAAuB,UAAU,aAAa,WAAW;AACrE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,uBAAuB,UAAU,WAAW,WAAW;AACnE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,sBAAsB,UAAU,WAAW,SAAS,qBAAqB;AACrF,eAAO,MAAM,QAAQ,sBAAsB,SAAS,qBAAqB,IAAI;AAAA,MAC/E;AAYA,YAAM,QAAQ,sBAAsB,WAAW,SAAS,iBAAiB,KAAK;AAC5E,YAAI,GAAG,MAAM;AAAA,UACX,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAClD,UAAU,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACvD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,sBAAsB,oBAAoB,SAAS,OAAO;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,sBAAsB,4BAA4B,KAAK,MAAM;AAAA,IACpF;AAUA,UAAM,QAAQ,sBAAsB,8BAA8B,SAAS,KAAK,QAAQ;AACtF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,sBAAsB,UAAU,kBAAkB,WAAW;AACzE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,sBAAsB,wBAAwB,MAAM,MAAM;AACxE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,sBAAsB,0BAA0B,SAAS,SAAS,QAAQ;AACtF,UAAI,IAAI;AACR,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,sBAAsB,UAAU,WAAW,WAAW;AAClE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,sBAAsB,UAAU,WAAW,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,sBAAsB,UAAU,cAAc,WAAW;AACrE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,sBAAsB,UAAU,cAAc,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,uBAAuB,UAAU,WAAW,SAAS,qBAAqB;AACtF,eAAO,MAAM,QAAQ,uBAAuB,SAAS,qBAAqB,IAAI;AAAA,MAChF;AAYA,YAAM,QAAQ,uBAAuB,WAAW,SAAS,iBAAiB,KAAK;AAC7E,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,uBAAuB,oBAAoB,SAAS,OAAO;AACvE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,uBAAuB,4BAA4B,KAAK,MAAM;AAAA,IACrF;AAUA,UAAM,QAAQ,uBAAuB,8BAA8B,SAAS,KAAK,QAAQ;AACvF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,uBAAuB,UAAU,kBAAkB,WAAW;AAC1E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,uBAAuB,wBAAwB,MAAM,MAAM;AACzE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,uBAAuB,0BAA0B,SAAS,SAAS,QAAQ;AACvF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,uBAAuB,UAAU,UAAU,WAAW;AAClE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,uBAAuB,UAAU,UAAU,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,uBAAuB,UAAU,aAAa,WAAW;AACrE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,uBAAuB,UAAU,aAAa,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,uBAAuB,UAAU,WAAW,WAAW;AACnE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,uBAAuB,UAAU,WAAW,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,uBAAuB,UAAU,aAAa,WAAW;AACrE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,uBAAuB,UAAU,WAAW,WAAW;AACnE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,mBAAmB,UAAU,WAAW,SAAS,qBAAqB;AAClF,eAAO,MAAM,QAAQ,mBAAmB,SAAS,qBAAqB,IAAI;AAAA,MAC5E;AAYA,YAAM,QAAQ,mBAAmB,WAAW,SAAS,iBAAiB,KAAK;AACzE,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACtD,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACpD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,mBAAmB,oBAAoB,SAAS,OAAO;AACnE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,mBAAmB,4BAA4B,KAAK,MAAM;AAAA,IACjF;AAUA,UAAM,QAAQ,mBAAmB,8BAA8B,SAAS,KAAK,QAAQ;AACnF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,mBAAmB,UAAU,kBAAkB,WAAW;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,mBAAmB,wBAAwB,MAAM,MAAM;AACrE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,mBAAmB,0BAA0B,SAAS,SAAS,QAAQ;AACnF,UAAI,IAAI;AACR,UAAI,QAAQ,aAAa;AACzB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,mBAAmB,UAAU,eAAe,WAAW;AACnE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,mBAAmB,UAAU,eAAe,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,mBAAmB,UAAU,WAAW,WAAW;AAC/D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,mBAAmB,UAAU,WAAW,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,oBAAoB,UAAU,WAAW,SAAS,qBAAqB;AACnF,eAAO,MAAM,QAAQ,oBAAoB,SAAS,qBAAqB,IAAI;AAAA,MAC7E;AAYA,YAAM,QAAQ,oBAAoB,WAAW,SAAS,iBAAiB,KAAK;AAC1E,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,QAAQ,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC9E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,oBAAoB,oBAAoB,SAAS,OAAO;AACpE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,oBAAoB,4BAA4B,KAAK,MAAM;AAAA,IAClF;AAUA,UAAM,QAAQ,oBAAoB,8BAA8B,SAAS,KAAK,QAAQ;AACpF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,QAAQ;AAC9B,mBAAO,YAAY,OAAM,MAAM,QAAQ,MAAM,2BAA2B;AACxE,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,oBAAoB,UAAU,kBAAkB,WAAW;AACvE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,oBAAoB,wBAAwB,MAAM,MAAM;AACtE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,oBAAoB,0BAA0B,SAAS,SAAS,QAAQ;AACpF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,MAAM;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,oBAAoB,UAAU,UAAU,WAAW;AAC/D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,oBAAoB,UAAU,UAAU,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,oBAAoB,UAAU,aAAa,WAAW;AAClE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,oBAAoB,UAAU,aAAa,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,oBAAoB,UAAU,UAAU,WAAW;AAC/D;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,QAAQ,OAAO,CAAC;AAAA;AAAA,IAC7D;AAOA,UAAM,QAAQ,oBAAoB,UAAU,UAAU,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,oBAAoB,UAAU,YAAY,WAAW;AACjE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,QAAQ,oBAAoB,UAAU,UAAU,WAAW;AAC/D,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,iBAAiB,UAAU,WAAW,SAAS,qBAAqB;AAChF,eAAO,MAAM,QAAQ,iBAAiB,SAAS,qBAAqB,IAAI;AAAA,MAC1E;AAYA,YAAM,QAAQ,iBAAiB,WAAW,SAAS,iBAAiB,KAAK;AACvE,YAAI,GAAG,MAAM,CAEb;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,iBAAiB,oBAAoB,SAAS,OAAO;AACjE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,iBAAiB,4BAA4B,KAAK,MAAM;AAAA,IAC/E;AAUA,UAAM,QAAQ,iBAAiB,8BAA8B,SAAS,KAAK,QAAQ;AACjF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,iBAAiB,UAAU,kBAAkB,WAAW;AACpE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,iBAAiB,wBAAwB,MAAM,MAAM;AACnE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,iBAAiB,0BAA0B,SAAS,SAAS,QAAQ;AACjF,UAAI,IAAI;AAAA,IACV;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,sBAAsB,UAAU,WAAW,SAAS,qBAAqB;AACrF,eAAO,MAAM,QAAQ,sBAAsB,SAAS,qBAAqB,IAAI;AAAA,MAC/E;AAYA,YAAM,QAAQ,sBAAsB,WAAW,SAAS,iBAAiB,KAAK;AAC5E,YAAI,GAAG,MAAM;AAAA,UACX,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACpD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,sBAAsB,oBAAoB,SAAS,OAAO;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,sBAAsB,4BAA4B,KAAK,MAAM;AAAA,IACpF;AAUA,UAAM,QAAQ,sBAAsB,8BAA8B,SAAS,KAAK,QAAQ;AACtF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,sBAAsB,UAAU,kBAAkB,WAAW;AACzE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,sBAAsB,wBAAwB,MAAM,MAAM;AACxE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,sBAAsB,0BAA0B,SAAS,SAAS,QAAQ;AACtF,UAAI,IAAI;AACR,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,sBAAsB,UAAU,WAAW,WAAW;AAClE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,sBAAsB,UAAU,WAAW,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,6BAA6B,UAAU,WAAW,SAAS,qBAAqB;AAC5F,eAAO,MAAM,QAAQ,6BAA6B,SAAS,qBAAqB,IAAI;AAAA,MACtF;AAYA,YAAM,QAAQ,6BAA6B,WAAW,SAAS,iBAAiB,KAAK;AACnF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,QAAQ,qBAAqB,SAAS,iBAAiB,CAAC;AAAA,UAC3F,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,6BAA6B,oBAAoB,SAAS,OAAO;AAC7E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,6BAA6B,4BAA4B,KAAK,MAAM;AAAA,IAC3F;AAUA,UAAM,QAAQ,6BAA6B,8BAA8B,SAAS,KAAK,QAAQ;AAC7F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,QAAQ;AAC9B,mBAAO,YAAY,OAAM,MAAM,QAAQ,qBAAqB,2BAA2B;AACvF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,6BAA6B,UAAU,kBAAkB,WAAW;AAChF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,6BAA6B,wBAAwB,MAAM,MAAM;AAC/E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,6BAA6B,0BAA0B,SAAS,SAAS,QAAQ;AAC7F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,qBAAqB;AAAA,QACrC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,6BAA6B,UAAU,UAAU,WAAW;AACxE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,6BAA6B,UAAU,UAAU,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,6BAA6B,UAAU,aAAa,WAAW;AAC3E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,6BAA6B,UAAU,aAAa,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,6BAA6B,UAAU,UAAU,WAAW;AACxE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,QAAQ,sBAAsB,CAAC;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,6BAA6B,UAAU,UAAU,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,6BAA6B,UAAU,YAAY,WAAW;AAC1E,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,QAAQ,6BAA6B,UAAU,UAAU,WAAW;AACxE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,6BAA6B,UAAU,WAAW,WAAW;AACzE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,6BAA6B,UAAU,WAAW,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,6BAA6B,UAAU,aAAa,WAAW;AAC3E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,6BAA6B,UAAU,WAAW,WAAW;AACzE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,eAAe,UAAU,WAAW,SAAS,qBAAqB;AAC9E,eAAO,MAAM,QAAQ,eAAe,SAAS,qBAAqB,IAAI;AAAA,MACxE;AAYA,YAAM,QAAQ,eAAe,WAAW,SAAS,iBAAiB,KAAK;AACrE,YAAI,GAAG,MAAM,CAEb;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,eAAe,oBAAoB,SAAS,OAAO;AAC/D,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,eAAe,4BAA4B,KAAK,MAAM;AAAA,IAC7E;AAUA,UAAM,QAAQ,eAAe,8BAA8B,SAAS,KAAK,QAAQ;AAC/E,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,eAAe,UAAU,kBAAkB,WAAW;AAClE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,eAAe,wBAAwB,MAAM,MAAM;AACjE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,eAAe,0BAA0B,SAAS,SAAS,QAAQ;AAC/E,UAAI,IAAI;AAAA,IACV;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,gBAAgB,UAAU,WAAW,SAAS,qBAAqB;AAC/E,eAAO,MAAM,QAAQ,gBAAgB,SAAS,qBAAqB,IAAI;AAAA,MACzE;AAYA,YAAM,QAAQ,gBAAgB,WAAW,SAAS,iBAAiB,KAAK;AACtE,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,UAAU,KAAK,SAAS,iBAAiB,CAAC;AAAA,QACzE;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,gBAAgB,oBAAoB,SAAS,OAAO;AAChE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,gBAAgB,4BAA4B,KAAK,MAAM;AAAA,IAC9E;AAUA,UAAM,QAAQ,gBAAgB,8BAA8B,SAAS,KAAK,QAAQ;AAChF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,KAAK,2BAA2B;AACnE,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,gBAAgB,UAAU,kBAAkB,WAAW;AACnE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,gBAAgB,wBAAwB,MAAM,MAAM;AAClE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,gBAAgB,0BAA0B,SAAS,SAAS,QAAQ;AAChF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,KAAK;AAAA,QACjB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,gBAAgB,UAAU,UAAU,WAAW;AAC3D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,gBAAgB,UAAU,UAAU,SAAS,OAAO;AAChE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,gBAAgB,UAAU,aAAa,WAAW;AAC9D;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,gBAAgB,UAAU,aAAa,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,gBAAgB,UAAU,UAAU,WAAW;AAC3D;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,MAAM,CAAC;AAAA;AAAA,IACxD;AAOA,UAAM,QAAQ,gBAAgB,UAAU,UAAU,SAAS,OAAO;AAChE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,gBAAgB,UAAU,YAAY,WAAW;AAC7D,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,QAAQ,gBAAgB,UAAU,UAAU,WAAW;AAC3D,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,kBAAkB,UAAU,WAAW,SAAS,qBAAqB;AACjF,eAAO,MAAM,QAAQ,kBAAkB,SAAS,qBAAqB,IAAI;AAAA,MAC3E;AAYA,YAAM,QAAQ,kBAAkB,WAAW,SAAS,iBAAiB,KAAK;AACxE,YAAI,GAAG,MAAM;AAAA,UACX,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAClD,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACnD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,kBAAkB,oBAAoB,SAAS,OAAO;AAClE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,kBAAkB,4BAA4B,KAAK,MAAM;AAAA,IAChF;AAUA,UAAM,QAAQ,kBAAkB,8BAA8B,SAAS,KAAK,QAAQ;AAClF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,kBAAkB,UAAU,kBAAkB,WAAW;AACrE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,kBAAkB,wBAAwB,MAAM,MAAM;AACpE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,kBAAkB,0BAA0B,SAAS,SAAS,QAAQ;AAClF,UAAI,IAAI;AACR;AAAA,MAA2B,KAAK,QAAQ,SAAS,SAAS,CAAC;AAC3D,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA;AAAA,MAA2B,KAAK,QAAQ,SAAS,SAAS,CAAC;AAC3D,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,kBAAkB,UAAU,WAAW,WAAW;AAC9D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,kBAAkB,UAAU,WAAW,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,KAAK;AAAA,IAC7C;AAOA,UAAM,QAAQ,kBAAkB,UAAU,aAAa,WAAW;AAChE,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,MAAS;AAAA,IACjD;AAOA,UAAM,QAAQ,kBAAkB,UAAU,WAAW,WAAW;AAC9D,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,kBAAkB,UAAU,UAAU,WAAW;AAC7D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,kBAAkB,UAAU,UAAU,SAAS,OAAO;AAClE,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,KAAK;AAAA,IAC7C;AAOA,UAAM,QAAQ,kBAAkB,UAAU,YAAY,WAAW;AAC/D,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,MAAS;AAAA,IACjD;AAOA,UAAM,QAAQ,kBAAkB,UAAU,UAAU,WAAW;AAC7D,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,mBAAmB,UAAU,WAAW,SAAS,qBAAqB;AAClF,eAAO,MAAM,QAAQ,mBAAmB,SAAS,qBAAqB,IAAI;AAAA,MAC5E;AAYA,YAAM,QAAQ,mBAAmB,WAAW,SAAS,iBAAiB,KAAK;AACzE,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,UAAU,KAAK,SAAS,iBAAiB,CAAC;AAAA,QACzE;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,mBAAmB,oBAAoB,SAAS,OAAO;AACnE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,mBAAmB,4BAA4B,KAAK,MAAM;AAAA,IACjF;AAUA,UAAM,QAAQ,mBAAmB,8BAA8B,SAAS,KAAK,QAAQ;AACnF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,KAAK,2BAA2B;AACnE,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,mBAAmB,UAAU,kBAAkB,WAAW;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,mBAAmB,wBAAwB,MAAM,MAAM;AACrE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,mBAAmB,0BAA0B,SAAS,SAAS,QAAQ;AACnF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,KAAK;AAAA,QACjB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,mBAAmB,UAAU,UAAU,WAAW;AAC9D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,mBAAmB,UAAU,UAAU,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,mBAAmB,UAAU,aAAa,WAAW;AACjE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,mBAAmB,UAAU,aAAa,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,mBAAmB,UAAU,UAAU,WAAW;AAC9D;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,MAAM,CAAC;AAAA;AAAA,IACxD;AAOA,UAAM,QAAQ,mBAAmB,UAAU,UAAU,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,mBAAmB,UAAU,YAAY,WAAW;AAChE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,QAAQ,mBAAmB,UAAU,UAAU,WAAW;AAC9D,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,4BAA4B,UAAU,WAAW,SAAS,qBAAqB;AAC3F,eAAO,MAAM,QAAQ,4BAA4B,SAAS,qBAAqB,IAAI;AAAA,MACrF;AAYA,YAAM,QAAQ,4BAA4B,WAAW,SAAS,iBAAiB,KAAK;AAClF,YAAI,GAAG,MAAM;AAAA,UACX,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAClD,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACnD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,4BAA4B,oBAAoB,SAAS,OAAO;AAC5E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,4BAA4B,4BAA4B,KAAK,MAAM;AAAA,IAC1F;AAUA,UAAM,QAAQ,4BAA4B,8BAA8B,SAAS,KAAK,QAAQ;AAC5F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,4BAA4B,UAAU,kBAAkB,WAAW;AAC/E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,4BAA4B,wBAAwB,MAAM,MAAM;AAC9E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,4BAA4B,0BAA0B,SAAS,SAAS,QAAQ;AAC5F,UAAI,IAAI;AACR,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,4BAA4B,UAAU,WAAW,WAAW;AACxE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,4BAA4B,UAAU,WAAW,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,4BAA4B,UAAU,UAAU,WAAW;AACvE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,4BAA4B,UAAU,UAAU,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,QAAQ,kBAAkB,kBAAkB,CAAC,CAAC;AAIpD,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,kBAAkB,UAAU,WAAW,SAAS,qBAAqB;AACjF,eAAO,MAAM,QAAQ,kBAAkB,SAAS,qBAAqB,IAAI;AAAA,MAC3E;AAYA,YAAM,QAAQ,kBAAkB,WAAW,SAAS,iBAAiB,KAAK;AACxE,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,IAAI,IAAI,YAAY,MAAM,UAAU,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACnF,eAAe,KAAK,QAAQ;AAAA,YAAa,IAAI,iBAAiB;AAAA,YAC9D,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,QAC9C;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,kBAAkB,oBAAoB,SAAS,OAAO;AAClE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,kBAAkB,4BAA4B,KAAK,MAAM;AAAA,IAChF;AAUA,UAAM,QAAQ,kBAAkB,8BAA8B,SAAS,KAAK,QAAQ;AAClF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,kBAAkB,UAAU,kBAAkB,WAAW;AACrE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,kBAAkB,wBAAwB,MAAM,MAAM;AACpE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,kBAAkB,0BAA0B,SAAS,SAAS,QAAQ;AAClF,UAAI,IAAI;AACR,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,kBAAkB,UAAU,cAAc,WAAW;AACjE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IAC5D;AAOA,UAAM,QAAQ,kBAAkB,UAAU,cAAc,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,kBAAkB,UAAU,gBAAgB,WAAW;AACnE,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,QAAQ,kBAAkB,UAAU,cAAc,WAAW;AACjE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,kBAAkB,UAAU,mBAAmB,WAAW;AACtE;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IACpE;AAOA,UAAM,QAAQ,kBAAkB,UAAU,mBAAmB,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,QAAQ,kBAAkB,UAAU,eAAe,SAAS,WAAW,WAAW;AACtF,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,UAAU,SAAS;AAAA,IAC7F;AAOA,UAAM,QAAQ,kBAAkB,UAAU,qBAAqB,WAAW;AACxE,aAAO,KAAK,iBAAiB,CAAC,CAAC;AAAA,IACjC;AASA,UAAM,QAAQ,mBAAmB,kBAAkB,CAAC,CAAC;AAIrD,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,mBAAmB,UAAU,WAAW,SAAS,qBAAqB;AAClF,eAAO,MAAM,QAAQ,mBAAmB,SAAS,qBAAqB,IAAI;AAAA,MAC5E;AAYA,YAAM,QAAQ,mBAAmB,WAAW,SAAS,iBAAiB,KAAK;AACzE,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,UAAU,KAAK;AAAA,YAAU;AAAA,UAAe;AAAA,UACxC,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,YAAY,IAAI,IAAI,aAAa,MAAM,UAAU,UAAU,SAAS,iBAAiB,CAAC;AAAA,QACxF;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,mBAAmB,oBAAoB,SAAS,OAAO;AACnE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,mBAAmB,4BAA4B,KAAK,MAAM;AAAA,IACjF;AAUA,UAAM,QAAQ,mBAAmB,8BAA8B,SAAS,KAAK,QAAQ;AACnF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,KAAK,2BAA2B;AACnE,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,UAAU,2BAA2B;AACxE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,mBAAmB,UAAU,kBAAkB,WAAW;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,mBAAmB,wBAAwB,MAAM,MAAM;AACrE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,mBAAmB,0BAA0B,SAAS,SAAS,QAAQ;AACnF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,KAAK;AAAA,QACjB;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,UAAU;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,mBAAmB,UAAU,UAAU,WAAW;AAC9D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,mBAAmB,UAAU,UAAU,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,mBAAmB,UAAU,aAAa,WAAW;AACjE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,mBAAmB,UAAU,aAAa,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,mBAAmB,UAAU,cAAc,WAAW;AAClE;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,MAAM,CAAC;AAAA;AAAA,IAChE;AAOA,UAAM,QAAQ,mBAAmB,UAAU,cAAc,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,QAAQ,mBAAmB,UAAU,UAAU,SAAS,WAAW,WAAW;AAClF,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,MAAM,SAAS;AAAA,IACzF;AAOA,UAAM,QAAQ,mBAAmB,UAAU,gBAAgB,WAAW;AACpE,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,QAAQ,mBAAmB,UAAU,WAAW,WAAW;AAC/D;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,mBAAmB,UAAU,WAAW,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,mBAAmB,UAAU,aAAa,WAAW;AACjE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,mBAAmB,UAAU,WAAW,WAAW;AAC/D,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,mBAAmB,UAAU,eAAe,WAAW;AACnE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,WAAW,CAAC;AAAA;AAAA,IAC7D;AAOA,UAAM,QAAQ,mBAAmB,UAAU,eAAe,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,mBAAmB,UAAU,iBAAiB,WAAW;AACrE,aAAO,KAAK,aAAa,MAAS;AAAA,IACpC;AAOA,UAAM,QAAQ,mBAAmB,UAAU,eAAe,WAAW;AACnE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,0BAA0B,UAAU,WAAW,SAAS,qBAAqB;AACzF,eAAO,MAAM,QAAQ,0BAA0B,SAAS,qBAAqB,IAAI;AAAA,MACnF;AAYA,YAAM,QAAQ,0BAA0B,WAAW,SAAS,iBAAiB,KAAK;AAChF,YAAI,GAAG,MAAM;AAAA,UACX,kBAAkB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAC7D,kBAAkB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAC7D,sBAAsB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjE,qBAAqB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QAClE;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,0BAA0B,oBAAoB,SAAS,OAAO;AAC1E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,0BAA0B,4BAA4B,KAAK,MAAM;AAAA,IACxF;AAUA,UAAM,QAAQ,0BAA0B,8BAA8B,SAAS,KAAK,QAAQ;AAC1F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,oBAAoB,KAAK;AAC7B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,oBAAoB,KAAK;AAC7B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,wBAAwB,KAAK;AACjC;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,uBAAuB,KAAK;AAChC;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,0BAA0B,UAAU,kBAAkB,WAAW;AAC7E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,0BAA0B,wBAAwB,MAAM,MAAM;AAC5E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,0BAA0B,0BAA0B,SAAS,SAAS,QAAQ;AAC1F,UAAI,IAAI;AACR,UAAI,QAAQ,oBAAoB;AAChC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,oBAAoB;AAChC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,wBAAwB;AACpC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA;AAAA,MAA2B,KAAK,QAAQ,SAAS,SAAS,CAAC;AAC3D,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,0BAA0B,UAAU,sBAAsB,WAAW;AACjF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,0BAA0B,UAAU,sBAAsB,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,0BAA0B,UAAU,sBAAsB,WAAW;AACjF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,0BAA0B,UAAU,sBAAsB,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,0BAA0B,UAAU,0BAA0B,WAAW;AACrF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,0BAA0B,UAAU,0BAA0B,SAAS,OAAO;AAC1F,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,0BAA0B,UAAU,yBAAyB,WAAW;AACpF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,0BAA0B,UAAU,yBAAyB,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,KAAK;AAAA,IAC7C;AAOA,UAAM,QAAQ,0BAA0B,UAAU,2BAA2B,WAAW;AACtF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,MAAS;AAAA,IACjD;AAOA,UAAM,QAAQ,0BAA0B,UAAU,yBAAyB,WAAW;AACpF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,0BAA0B,UAAU,WAAW,SAAS,qBAAqB;AACzF,eAAO,MAAM,QAAQ,0BAA0B,SAAS,qBAAqB,IAAI;AAAA,MACnF;AAYA,YAAM,QAAQ,0BAA0B,WAAW,SAAS,iBAAiB,KAAK;AAChF,YAAI,GAAG,MAAM;AAAA,UACX,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAC5D,kBAAkB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAC7D,sBAAsB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjE,qBAAqB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QAClE;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,0BAA0B,oBAAoB,SAAS,OAAO;AAC1E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,0BAA0B,4BAA4B,KAAK,MAAM;AAAA,IACxF;AAUA,UAAM,QAAQ,0BAA0B,8BAA8B,SAAS,KAAK,QAAQ;AAC1F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,oBAAoB,KAAK;AAC7B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,wBAAwB,KAAK;AACjC;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,uBAAuB,KAAK;AAChC;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,0BAA0B,UAAU,kBAAkB,WAAW;AAC7E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,0BAA0B,wBAAwB,MAAM,MAAM;AAC5E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,0BAA0B,0BAA0B,SAAS,SAAS,QAAQ;AAC1F,UAAI,IAAI;AACR,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA;AAAA,MAA2B,KAAK,QAAQ,SAAS,SAAS,CAAC;AAC3D,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA;AAAA,MAA2B,KAAK,QAAQ,SAAS,SAAS,CAAC;AAC3D,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA;AAAA,MAA2B,KAAK,QAAQ,SAAS,SAAS,CAAC;AAC3D,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,0BAA0B,UAAU,oBAAoB,WAAW;AAC/E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,0BAA0B,UAAU,oBAAoB,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,0BAA0B,UAAU,sBAAsB,WAAW;AACjF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,0BAA0B,UAAU,sBAAsB,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,KAAK;AAAA,IAC7C;AAOA,UAAM,QAAQ,0BAA0B,UAAU,wBAAwB,WAAW;AACnF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,MAAS;AAAA,IACjD;AAOA,UAAM,QAAQ,0BAA0B,UAAU,sBAAsB,WAAW;AACjF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,0BAA0B,UAAU,0BAA0B,WAAW;AACrF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,0BAA0B,UAAU,0BAA0B,SAAS,OAAO;AAC1F,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,KAAK;AAAA,IAC7C;AAOA,UAAM,QAAQ,0BAA0B,UAAU,4BAA4B,WAAW;AACvF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,MAAS;AAAA,IACjD;AAOA,UAAM,QAAQ,0BAA0B,UAAU,0BAA0B,WAAW;AACrF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,0BAA0B,UAAU,yBAAyB,WAAW;AACpF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,0BAA0B,UAAU,yBAAyB,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,KAAK;AAAA,IAC7C;AAOA,UAAM,QAAQ,0BAA0B,UAAU,2BAA2B,WAAW;AACtF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,MAAS;AAAA,IACjD;AAOA,UAAM,QAAQ,0BAA0B,UAAU,yBAAyB,WAAW;AACpF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,uBAAuB,UAAU,WAAW,SAAS,qBAAqB;AACtF,eAAO,MAAM,QAAQ,uBAAuB,SAAS,qBAAqB,IAAI;AAAA,MAChF;AAYA,YAAM,QAAQ,uBAAuB,WAAW,SAAS,iBAAiB,KAAK;AAC7E,YAAI,GAAG,MAAM,CAEb;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,uBAAuB,oBAAoB,SAAS,OAAO;AACvE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,uBAAuB,4BAA4B,KAAK,MAAM;AAAA,IACrF;AAUA,UAAM,QAAQ,uBAAuB,8BAA8B,SAAS,KAAK,QAAQ;AACvF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,uBAAuB,UAAU,kBAAkB,WAAW;AAC1E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,uBAAuB,wBAAwB,MAAM,MAAM;AACzE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,uBAAuB,0BAA0B,SAAS,SAAS,QAAQ;AACvF,UAAI,IAAI;AAAA,IACV;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,wBAAwB,UAAU,WAAW,SAAS,qBAAqB;AACvF,eAAO,MAAM,QAAQ,wBAAwB,SAAS,qBAAqB,IAAI;AAAA,MACjF;AAYA,YAAM,QAAQ,wBAAwB,WAAW,SAAS,iBAAiB,KAAK;AAC9E,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,UAAU,aAAa,SAAS,iBAAiB,CAAC;AAAA,UAC/E,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,QAAQ,iBAAiB,SAAS,iBAAiB,CAAC;AAAA,UACvF,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,wBAAwB,oBAAoB,SAAS,OAAO;AACxE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,wBAAwB,4BAA4B,KAAK,MAAM;AAAA,IACtF;AAUA,UAAM,QAAQ,wBAAwB,8BAA8B,SAAS,KAAK,QAAQ;AACxF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,aAAa,2BAA2B;AAC3E,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,QAAQ;AAC9B,mBAAO,YAAY,OAAM,MAAM,QAAQ,iBAAiB,2BAA2B;AACnF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,wBAAwB,UAAU,kBAAkB,WAAW;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,wBAAwB,wBAAwB,MAAM,MAAM;AAC1E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,wBAAwB,0BAA0B,SAAS,SAAS,QAAQ;AACxF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,aAAa;AAAA,QACzB;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,iBAAiB;AAAA,QACjC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,wBAAwB,UAAU,UAAU,WAAW;AACnE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,wBAAwB,UAAU,UAAU,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,wBAAwB,UAAU,aAAa,WAAW;AACtE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,wBAAwB,UAAU,aAAa,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,wBAAwB,UAAU,UAAU,WAAW;AACnE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,cAAc,CAAC;AAAA;AAAA,IAChE;AAOA,UAAM,QAAQ,wBAAwB,UAAU,UAAU,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,wBAAwB,UAAU,YAAY,WAAW;AACrE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,QAAQ,wBAAwB,UAAU,UAAU,WAAW;AACnE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,wBAAwB,UAAU,UAAU,WAAW;AACnE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,QAAQ,kBAAkB,CAAC;AAAA;AAAA,IACxE;AAOA,UAAM,QAAQ,wBAAwB,UAAU,UAAU,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,wBAAwB,UAAU,YAAY,WAAW;AACrE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,QAAQ,wBAAwB,UAAU,UAAU,WAAW;AACnE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,wBAAwB,UAAU,WAAW,WAAW;AACpE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,wBAAwB,UAAU,WAAW,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,wBAAwB,UAAU,aAAa,WAAW;AACtE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,wBAAwB,UAAU,WAAW,WAAW;AACpE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,2BAA2B,UAAU,WAAW,SAAS,qBAAqB;AAC1F,eAAO,MAAM,QAAQ,2BAA2B,SAAS,qBAAqB,IAAI;AAAA,MACpF;AAYA,YAAM,QAAQ,2BAA2B,WAAW,SAAS,iBAAiB,KAAK;AACjF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,UAAU,aAAa,SAAS,iBAAiB,CAAC;AAAA,UAC/E,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,QAAQ,iBAAiB,SAAS,iBAAiB,CAAC;AAAA,UACvF,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,2BAA2B,oBAAoB,SAAS,OAAO;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,2BAA2B,4BAA4B,KAAK,MAAM;AAAA,IACzF;AAUA,UAAM,QAAQ,2BAA2B,8BAA8B,SAAS,KAAK,QAAQ;AAC3F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,aAAa,2BAA2B;AAC3E,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,QAAQ;AAC9B,mBAAO,YAAY,OAAM,MAAM,QAAQ,iBAAiB,2BAA2B;AACnF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,2BAA2B,UAAU,kBAAkB,WAAW;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,2BAA2B,wBAAwB,MAAM,MAAM;AAC7E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,2BAA2B,0BAA0B,SAAS,SAAS,QAAQ;AAC3F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,aAAa;AAAA,QACzB;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,iBAAiB;AAAA,QACjC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,2BAA2B,UAAU,UAAU,WAAW;AACtE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,2BAA2B,UAAU,UAAU,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,2BAA2B,UAAU,aAAa,WAAW;AACzE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,2BAA2B,UAAU,aAAa,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,2BAA2B,UAAU,UAAU,WAAW;AACtE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,cAAc,CAAC;AAAA;AAAA,IAChE;AAOA,UAAM,QAAQ,2BAA2B,UAAU,UAAU,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,2BAA2B,UAAU,YAAY,WAAW;AACxE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,QAAQ,2BAA2B,UAAU,UAAU,WAAW;AACtE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,2BAA2B,UAAU,UAAU,WAAW;AACtE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,QAAQ,kBAAkB,CAAC;AAAA;AAAA,IACxE;AAOA,UAAM,QAAQ,2BAA2B,UAAU,UAAU,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,2BAA2B,UAAU,YAAY,WAAW;AACxE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,QAAQ,2BAA2B,UAAU,UAAU,WAAW;AACtE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,2BAA2B,UAAU,WAAW,WAAW;AACvE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,2BAA2B,UAAU,WAAW,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,2BAA2B,UAAU,aAAa,WAAW;AACzE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,2BAA2B,UAAU,WAAW,WAAW;AACvE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,2BAA2B,UAAU,WAAW,SAAS,qBAAqB;AAC1F,eAAO,MAAM,QAAQ,2BAA2B,SAAS,qBAAqB,IAAI;AAAA,MACpF;AAYA,YAAM,QAAQ,2BAA2B,WAAW,SAAS,iBAAiB,KAAK;AACjF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,2BAA2B,oBAAoB,SAAS,OAAO;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,2BAA2B,4BAA4B,KAAK,MAAM;AAAA,IACzF;AAUA,UAAM,QAAQ,2BAA2B,8BAA8B,SAAS,KAAK,QAAQ;AAC3F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,2BAA2B,UAAU,kBAAkB,WAAW;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,2BAA2B,wBAAwB,MAAM,MAAM;AAC7E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,2BAA2B,0BAA0B,SAAS,SAAS,QAAQ;AAC3F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,2BAA2B,UAAU,UAAU,WAAW;AACtE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,2BAA2B,UAAU,UAAU,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,2BAA2B,UAAU,aAAa,WAAW;AACzE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,2BAA2B,UAAU,aAAa,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,2BAA2B,UAAU,WAAW,WAAW;AACvE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,2BAA2B,UAAU,WAAW,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,2BAA2B,UAAU,aAAa,WAAW;AACzE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,2BAA2B,UAAU,WAAW,WAAW;AACvE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,gCAAgC,UAAU,WAAW,SAAS,qBAAqB;AAC/F,eAAO,MAAM,QAAQ,gCAAgC,SAAS,qBAAqB,IAAI;AAAA,MACzF;AAYA,YAAM,QAAQ,gCAAgC,WAAW,SAAS,iBAAiB,KAAK;AACtF,YAAI,GAAG,MAAM;AAAA,UACX,eAAe,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAC1D,iBAAiB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAC3D,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAC3D,SAAS,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACpD,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACpD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,gCAAgC,oBAAoB,SAAS,OAAO;AAChF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,gCAAgC,4BAA4B,KAAK,MAAM;AAAA,IAC9F;AAUA,UAAM,QAAQ,gCAAgC,8BAA8B,SAAS,KAAK,QAAQ;AAChG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,iBAAiB,KAAK;AAC1B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAuF,OAAO,SAAS;AAAA;AAC3G,gBAAI,mBAAmB,KAAK;AAC5B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,gCAAgC,UAAU,kBAAkB,WAAW;AACnF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,gCAAgC,wBAAwB,MAAM,MAAM;AAClF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,gCAAgC,0BAA0B,SAAS,SAAS,QAAQ;AAChG,UAAI,IAAI;AACR,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,mBAAmB;AAC/B,UAAI,MAAM,GAAK;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAMA,UAAM,QAAQ,gCAAgC,kBAAkB;AAAA,MAC9D,UAAU;AAAA,MACV,SAAS;AAAA,IACX;AAMA,UAAM,QAAQ,gCAAgC,UAAU,mBAAmB,WAAW;AACpF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,gCAAgC,UAAU,mBAAmB,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,gCAAgC,UAAU,qBAAqB,WAAW;AACtF;AAAA;AAAA,QAAsF,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IACnI;AAOA,UAAM,QAAQ,gCAAgC,UAAU,qBAAqB,SAAS,OAAO;AAC3F,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,KAAK;AAAA,IACvD;AAOA,UAAM,QAAQ,gCAAgC,UAAU,oBAAoB,WAAW;AACrF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,gCAAgC,UAAU,oBAAoB,SAAS,OAAO;AAC1F,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,gCAAgC,UAAU,aAAa,WAAW;AAC9E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,gCAAgC,UAAU,aAAa,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,gCAAgC,UAAU,WAAW,WAAW;AAC5E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,gCAAgC,UAAU,WAAW,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,QAAQ,QAAQ,kBAAkB,CAAC,CAAC;AAI1C,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,QAAQ,UAAU,WAAW,SAAS,qBAAqB;AACvE,eAAO,MAAM,QAAQ,QAAQ,SAAS,qBAAqB,IAAI;AAAA,MACjE;AAYA,YAAM,QAAQ,QAAQ,WAAW,SAAS,iBAAiB,KAAK;AAC9D,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACxD,aAAa,KAAK,QAAQ;AAAA,YAAa,IAAI,eAAe;AAAA,YAC1D,UAAU,KAAK;AAAA,YAAU;AAAA,UAAe;AAAA,UACxC,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACnD,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,QAC/G;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,QAAQ,oBAAoB,SAAS,OAAO;AACxD,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,QAAQ,4BAA4B,KAAK,MAAM;AAAA,IACtE;AAUA,UAAM,QAAQ,QAAQ,8BAA8B,SAAS,KAAK,QAAQ;AACxE,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,KAAK,2BAA2B;AACnE,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,QAAQ,UAAU,kBAAkB,WAAW;AAC3D,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,QAAQ,wBAAwB,MAAM,MAAM;AAC1D,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,QAAQ,0BAA0B,SAAS,SAAS,QAAQ;AACxE,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,KAAK;AAAA,QACjB;AAAA,MACF;AACA,UAAI,QAAQ,UAAU;AACtB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,QAAQ,UAAU,QAAQ,WAAW;AACjD;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,QAAQ,UAAU,QAAQ,SAAS,OAAO;AACtD,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,QAAQ,UAAU,UAAU,WAAW;AACnD;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,QAAQ,UAAU,UAAU,SAAS,OAAO;AACxD,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,QAAQ,UAAU,iBAAiB,WAAW;AAC1D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,QAAQ,UAAU,iBAAiB,SAAS,OAAO;AAC/D,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,QAAQ,UAAU,iBAAiB,WAAW;AAC1D;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,MAAM,CAAC;AAAA;AAAA,IAChE;AAOA,UAAM,QAAQ,QAAQ,UAAU,iBAAiB,SAAS,OAAO;AAC/D,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,QAAQ,QAAQ,UAAU,aAAa,SAAS,WAAW,WAAW;AAC1E,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,MAAM,SAAS;AAAA,IACzF;AAOA,UAAM,QAAQ,QAAQ,UAAU,mBAAmB,WAAW;AAC5D,aAAO,KAAK,eAAe,CAAC,CAAC;AAAA,IAC/B;AAOA,UAAM,QAAQ,QAAQ,UAAU,YAAY,WAAW;AACrD;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,QAAQ,UAAU,YAAY,SAAS,OAAO;AAC1D,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,QAAQ,UAAU,iBAAiB,WAAW;AAC1D;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,CAAC;AAAA;AAAA,IAChF;AAOA,UAAM,QAAQ,QAAQ,UAAU,iBAAiB,SAAS,OAAO;AAC/D,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,QAAQ,UAAU,mBAAmB,WAAW;AAC5D,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,QAAQ,QAAQ,UAAU,iBAAiB,WAAW;AAC1D,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,qBAAqB,UAAU,WAAW,SAAS,qBAAqB;AACpF,eAAO,MAAM,QAAQ,qBAAqB,SAAS,qBAAqB,IAAI;AAAA,MAC9E;AAYA,YAAM,QAAQ,qBAAqB,WAAW,SAAS,iBAAiB,KAAK;AAC3E,YAAI,GAAG,MAAM;AAAA,UACX,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACxD,oBAAoB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACjE;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,qBAAqB,oBAAoB,SAAS,OAAO;AACrE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,qBAAqB,4BAA4B,KAAK,MAAM;AAAA,IACnF;AAUA,UAAM,QAAQ,qBAAqB,8BAA8B,SAAS,KAAK,QAAQ;AACrF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,sBAAsB,KAAK;AAC/B;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,qBAAqB,UAAU,kBAAkB,WAAW;AACxE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,qBAAqB,wBAAwB,MAAM,MAAM;AACvE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,qBAAqB,0BAA0B,SAAS,SAAS,QAAQ;AACrF,UAAI,IAAI;AACR,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA;AAAA,MAA2B,KAAK,QAAQ,SAAS,SAAS,CAAC;AAC3D,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,qBAAqB,UAAU,iBAAiB,WAAW;AACvE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,qBAAqB,UAAU,iBAAiB,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,qBAAqB,UAAU,wBAAwB,WAAW;AAC9E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,qBAAqB,UAAU,wBAAwB,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,KAAK;AAAA,IAC7C;AAOA,UAAM,QAAQ,qBAAqB,UAAU,0BAA0B,WAAW;AAChF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,MAAS;AAAA,IACjD;AAOA,UAAM,QAAQ,qBAAqB,UAAU,wBAAwB,WAAW;AAC9E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,sBAAsB,UAAU,WAAW,SAAS,qBAAqB;AACrF,eAAO,MAAM,QAAQ,sBAAsB,SAAS,qBAAqB,IAAI;AAAA,MAC/E;AAYA,YAAM,QAAQ,sBAAsB,WAAW,SAAS,iBAAiB,KAAK;AAC5E,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,QAAQ,QAAQ,SAAS,iBAAiB,CAAC;AAAA,UAC9E,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,sBAAsB,oBAAoB,SAAS,OAAO;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,sBAAsB,4BAA4B,KAAK,MAAM;AAAA,IACpF;AAUA,UAAM,QAAQ,sBAAsB,8BAA8B,SAAS,KAAK,QAAQ;AACtF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,QAAQ;AAC9B,mBAAO,YAAY,OAAM,MAAM,QAAQ,QAAQ,2BAA2B;AAC1E,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,sBAAsB,UAAU,kBAAkB,WAAW;AACzE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,sBAAsB,wBAAwB,MAAM,MAAM;AACxE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,sBAAsB,0BAA0B,SAAS,SAAS,QAAQ;AACtF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,QAAQ;AAAA,QACxB;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,sBAAsB,UAAU,UAAU,WAAW;AACjE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,sBAAsB,UAAU,UAAU,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,sBAAsB,UAAU,aAAa,WAAW;AACpE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,sBAAsB,UAAU,aAAa,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,sBAAsB,UAAU,UAAU,WAAW;AACjE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,QAAQ,SAAS,CAAC;AAAA;AAAA,IAC/D;AAOA,UAAM,QAAQ,sBAAsB,UAAU,UAAU,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,sBAAsB,UAAU,YAAY,WAAW;AACnE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,QAAQ,sBAAsB,UAAU,UAAU,WAAW;AACjE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,sBAAsB,UAAU,WAAW,WAAW;AAClE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,sBAAsB,UAAU,WAAW,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,sBAAsB,UAAU,aAAa,WAAW;AACpE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,sBAAsB,UAAU,WAAW,WAAW;AAClE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,qBAAqB,UAAU,WAAW,SAAS,qBAAqB;AACpF,eAAO,MAAM,QAAQ,qBAAqB,SAAS,qBAAqB,IAAI;AAAA,MAC9E;AAYA,YAAM,QAAQ,qBAAqB,WAAW,SAAS,iBAAiB,KAAK;AAC3E,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACvD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACxD,oBAAoB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACjE;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,qBAAqB,oBAAoB,SAAS,OAAO;AACrE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,qBAAqB,4BAA4B,KAAK,MAAM;AAAA,IACnF;AAUA,UAAM,QAAQ,qBAAqB,8BAA8B,SAAS,KAAK,QAAQ;AACrF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,sBAAsB,KAAK;AAC/B;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,qBAAqB,UAAU,kBAAkB,WAAW;AACxE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,qBAAqB,wBAAwB,MAAM,MAAM;AACvE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,qBAAqB,0BAA0B,SAAS,SAAS,QAAQ;AACrF,UAAI,IAAI;AACR,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA;AAAA,MAA2B,KAAK,QAAQ,SAAS,SAAS,CAAC;AAC3D,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA;AAAA,MAA2B,KAAK,QAAQ,SAAS,SAAS,CAAC;AAC3D,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,qBAAqB,UAAU,eAAe,WAAW;AACrE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,qBAAqB,UAAU,eAAe,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,qBAAqB,UAAU,iBAAiB,WAAW;AACvE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,qBAAqB,UAAU,iBAAiB,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,KAAK;AAAA,IAC7C;AAOA,UAAM,QAAQ,qBAAqB,UAAU,mBAAmB,WAAW;AACzE,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,MAAS;AAAA,IACjD;AAOA,UAAM,QAAQ,qBAAqB,UAAU,iBAAiB,WAAW;AACvE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,qBAAqB,UAAU,wBAAwB,WAAW;AAC9E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,qBAAqB,UAAU,wBAAwB,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,KAAK;AAAA,IAC7C;AAOA,UAAM,QAAQ,qBAAqB,UAAU,0BAA0B,WAAW;AAChF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,MAAS;AAAA,IACjD;AAOA,UAAM,QAAQ,qBAAqB,UAAU,wBAAwB,WAAW;AAC9E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,sBAAsB,UAAU,WAAW,SAAS,qBAAqB;AACrF,eAAO,MAAM,QAAQ,sBAAsB,SAAS,qBAAqB,IAAI;AAAA,MAC/E;AAYA,YAAM,QAAQ,sBAAsB,WAAW,SAAS,iBAAiB,KAAK;AAC5E,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,QAAQ,QAAQ,SAAS,iBAAiB,CAAC;AAAA,UAC9E,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,sBAAsB,oBAAoB,SAAS,OAAO;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,sBAAsB,4BAA4B,KAAK,MAAM;AAAA,IACpF;AAUA,UAAM,QAAQ,sBAAsB,8BAA8B,SAAS,KAAK,QAAQ;AACtF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,QAAQ;AAC9B,mBAAO,YAAY,OAAM,MAAM,QAAQ,QAAQ,2BAA2B;AAC1E,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,sBAAsB,UAAU,kBAAkB,WAAW;AACzE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,sBAAsB,wBAAwB,MAAM,MAAM;AACxE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,sBAAsB,0BAA0B,SAAS,SAAS,QAAQ;AACtF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,QAAQ;AAAA,QACxB;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,sBAAsB,UAAU,UAAU,WAAW;AACjE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,sBAAsB,UAAU,UAAU,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,sBAAsB,UAAU,aAAa,WAAW;AACpE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,sBAAsB,UAAU,aAAa,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,sBAAsB,UAAU,UAAU,WAAW;AACjE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,QAAQ,SAAS,CAAC;AAAA;AAAA,IAC/D;AAOA,UAAM,QAAQ,sBAAsB,UAAU,UAAU,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,sBAAsB,UAAU,YAAY,WAAW;AACnE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,QAAQ,sBAAsB,UAAU,UAAU,WAAW;AACjE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,sBAAsB,UAAU,WAAW,WAAW;AAClE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,sBAAsB,UAAU,WAAW,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,sBAAsB,UAAU,aAAa,WAAW;AACpE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,sBAAsB,UAAU,WAAW,WAAW;AAClE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,kBAAkB,UAAU,WAAW,SAAS,qBAAqB;AACjF,eAAO,MAAM,QAAQ,kBAAkB,SAAS,qBAAqB,IAAI;AAAA,MAC3E;AAYA,YAAM,QAAQ,kBAAkB,WAAW,SAAS,iBAAiB,KAAK;AACxE,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,QACzD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,kBAAkB,oBAAoB,SAAS,OAAO;AAClE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,kBAAkB,4BAA4B,KAAK,MAAM;AAAA,IAChF;AAUA,UAAM,QAAQ,kBAAkB,8BAA8B,SAAS,KAAK,QAAQ;AAClF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,kBAAkB,UAAU,kBAAkB,WAAW;AACrE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,kBAAkB,wBAAwB,MAAM,MAAM;AACpE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,kBAAkB,0BAA0B,SAAS,SAAS,QAAQ;AAClF,UAAI,IAAI;AACR,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,kBAAkB,UAAU,eAAe,WAAW;AAClE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,kBAAkB,UAAU,eAAe,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,mBAAmB,UAAU,WAAW,SAAS,qBAAqB;AAClF,eAAO,MAAM,QAAQ,mBAAmB,SAAS,qBAAqB,IAAI;AAAA,MAC5E;AAYA,YAAM,QAAQ,mBAAmB,WAAW,SAAS,iBAAiB,KAAK;AACzE,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,QAAQ,QAAQ,SAAS,iBAAiB,CAAC;AAAA,UAC9E,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,mBAAmB,oBAAoB,SAAS,OAAO;AACnE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,mBAAmB,4BAA4B,KAAK,MAAM;AAAA,IACjF;AAUA,UAAM,QAAQ,mBAAmB,8BAA8B,SAAS,KAAK,QAAQ;AACnF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,QAAQ;AAC9B,mBAAO,YAAY,OAAM,MAAM,QAAQ,QAAQ,2BAA2B;AAC1E,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,mBAAmB,UAAU,kBAAkB,WAAW;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,mBAAmB,wBAAwB,MAAM,MAAM;AACrE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,mBAAmB,0BAA0B,SAAS,SAAS,QAAQ;AACnF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,QAAQ;AAAA,QACxB;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,mBAAmB,UAAU,UAAU,WAAW;AAC9D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,mBAAmB,UAAU,UAAU,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,mBAAmB,UAAU,aAAa,WAAW;AACjE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,mBAAmB,UAAU,aAAa,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,mBAAmB,UAAU,UAAU,WAAW;AAC9D;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,QAAQ,SAAS,CAAC;AAAA;AAAA,IAC/D;AAOA,UAAM,QAAQ,mBAAmB,UAAU,UAAU,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,mBAAmB,UAAU,YAAY,WAAW;AAChE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,QAAQ,mBAAmB,UAAU,UAAU,WAAW;AAC9D,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,mBAAmB,UAAU,WAAW,WAAW;AAC/D;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,mBAAmB,UAAU,WAAW,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,mBAAmB,UAAU,aAAa,WAAW;AACjE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,mBAAmB,UAAU,WAAW,WAAW;AAC/D,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,QAAQ,qBAAqB,kBAAkB,CAAC,CAAC;AAIvD,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,qBAAqB,UAAU,WAAW,SAAS,qBAAqB;AACpF,eAAO,MAAM,QAAQ,qBAAqB,SAAS,qBAAqB,IAAI;AAAA,MAC9E;AAYA,YAAM,QAAQ,qBAAqB,WAAW,SAAS,iBAAiB,KAAK;AAC3E,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,IAAI,IAAI,YAAY,MAAM,UAAU,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACnF,eAAe,KAAK,QAAQ;AAAA,YAAa,IAAI,iBAAiB;AAAA,YAC9D,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,QAC9C;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,qBAAqB,oBAAoB,SAAS,OAAO;AACrE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,qBAAqB,4BAA4B,KAAK,MAAM;AAAA,IACnF;AAUA,UAAM,QAAQ,qBAAqB,8BAA8B,SAAS,KAAK,QAAQ;AACrF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,qBAAqB,UAAU,kBAAkB,WAAW;AACxE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,qBAAqB,wBAAwB,MAAM,MAAM;AACvE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,qBAAqB,0BAA0B,SAAS,SAAS,QAAQ;AACrF,UAAI,IAAI;AACR,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,qBAAqB,UAAU,cAAc,WAAW;AACpE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IAC5D;AAOA,UAAM,QAAQ,qBAAqB,UAAU,cAAc,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,qBAAqB,UAAU,gBAAgB,WAAW;AACtE,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,QAAQ,qBAAqB,UAAU,cAAc,WAAW;AACpE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,qBAAqB,UAAU,mBAAmB,WAAW;AACzE;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IACpE;AAOA,UAAM,QAAQ,qBAAqB,UAAU,mBAAmB,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,QAAQ,qBAAqB,UAAU,eAAe,SAAS,WAAW,WAAW;AACzF,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,UAAU,SAAS;AAAA,IAC7F;AAOA,UAAM,QAAQ,qBAAqB,UAAU,qBAAqB,WAAW;AAC3E,aAAO,KAAK,iBAAiB,CAAC,CAAC;AAAA,IACjC;AASA,UAAM,QAAQ,sBAAsB,kBAAkB,CAAC,CAAC;AAIxD,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,sBAAsB,UAAU,WAAW,SAAS,qBAAqB;AACrF,eAAO,MAAM,QAAQ,sBAAsB,SAAS,qBAAqB,IAAI;AAAA,MAC/E;AAYA,YAAM,QAAQ,sBAAsB,WAAW,SAAS,iBAAiB,KAAK;AAC5E,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,MAAM,QAAQ,QAAQ;AAAA,YAAU;AAAA,UAAe;AAAA,UAC/C,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,YAAY,IAAI,IAAI,aAAa,MAAM,UAAU,UAAU,SAAS,iBAAiB,CAAC;AAAA,QACxF;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,sBAAsB,oBAAoB,SAAS,OAAO;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,sBAAsB,4BAA4B,KAAK,MAAM;AAAA,IACpF;AAUA,UAAM,QAAQ,sBAAsB,8BAA8B,SAAS,KAAK,QAAQ;AACtF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,QAAQ;AAC9B,mBAAO,YAAY,OAAM,MAAM,QAAQ,QAAQ,2BAA2B;AAC1E,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,UAAU,2BAA2B;AACxE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,sBAAsB,UAAU,kBAAkB,WAAW;AACzE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,sBAAsB,wBAAwB,MAAM,MAAM;AACxE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,sBAAsB,0BAA0B,SAAS,SAAS,QAAQ;AACtF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,QAAQ;AAAA,QACxB;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,UAAU;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,sBAAsB,UAAU,UAAU,WAAW;AACjE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,sBAAsB,UAAU,UAAU,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,sBAAsB,UAAU,aAAa,WAAW;AACpE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,sBAAsB,UAAU,aAAa,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,sBAAsB,UAAU,cAAc,WAAW;AACrE;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,QAAQ,SAAS,CAAC;AAAA;AAAA,IACvE;AAOA,UAAM,QAAQ,sBAAsB,UAAU,cAAc,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,QAAQ,sBAAsB,UAAU,UAAU,SAAS,WAAW,WAAW;AACrF,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,QAAQ,SAAS,SAAS;AAAA,IACpG;AAOA,UAAM,QAAQ,sBAAsB,UAAU,gBAAgB,WAAW;AACvE,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,QAAQ,sBAAsB,UAAU,WAAW,WAAW;AAClE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,sBAAsB,UAAU,WAAW,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,sBAAsB,UAAU,aAAa,WAAW;AACpE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,sBAAsB,UAAU,WAAW,WAAW;AAClE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,sBAAsB,UAAU,eAAe,WAAW;AACtE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,WAAW,CAAC;AAAA;AAAA,IAC7D;AAOA,UAAM,QAAQ,sBAAsB,UAAU,eAAe,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,sBAAsB,UAAU,iBAAiB,WAAW;AACxE,aAAO,KAAK,aAAa,MAAS;AAAA,IACpC;AAOA,UAAM,QAAQ,sBAAsB,UAAU,eAAe,WAAW;AACtE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,sBAAsB,UAAU,WAAW,SAAS,qBAAqB;AACrF,eAAO,MAAM,QAAQ,sBAAsB,SAAS,qBAAqB,IAAI;AAAA,MAC/E;AAYA,YAAM,QAAQ,sBAAsB,WAAW,SAAS,iBAAiB,KAAK;AAC5E,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACvD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QAC1D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,sBAAsB,oBAAoB,SAAS,OAAO;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,sBAAsB,4BAA4B,KAAK,MAAM;AAAA,IACpF;AAUA,UAAM,QAAQ,sBAAsB,8BAA8B,SAAS,KAAK,QAAQ;AACtF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,sBAAsB,UAAU,kBAAkB,WAAW;AACzE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,sBAAsB,wBAAwB,MAAM,MAAM;AACxE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,sBAAsB,0BAA0B,SAAS,SAAS,QAAQ;AACtF,UAAI,IAAI;AACR,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,sBAAsB,UAAU,eAAe,WAAW;AACtE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,sBAAsB,UAAU,eAAe,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,sBAAsB,UAAU,iBAAiB,WAAW;AACxE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,sBAAsB,UAAU,iBAAiB,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,QAAQ,gCAAgC,kBAAkB,CAAC,CAAC;AAIlE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,gCAAgC,UAAU,WAAW,SAAS,qBAAqB;AAC/F,eAAO,MAAM,QAAQ,gCAAgC,SAAS,qBAAqB,IAAI;AAAA,MACzF;AAYA,YAAM,QAAQ,gCAAgC,WAAW,SAAS,iBAAiB,KAAK;AACtF,YAAI,GAAG,MAAM;AAAA,UACX,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAClD,kBAAkB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAC7D,kBAAkB,KAAK,QAAQ;AAAA,YAAa,IAAI,oBAAoB;AAAA,YACpE,MAAM,QAAQ,sBAAsB;AAAA,YAAU;AAAA,UAAe;AAAA,QAC/D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,gCAAgC,oBAAoB,SAAS,OAAO;AAChF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,gCAAgC,4BAA4B,KAAK,MAAM;AAAA,IAC9F;AAUA,UAAM,QAAQ,gCAAgC,8BAA8B,SAAS,KAAK,QAAQ;AAChG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,oBAAoB,KAAK;AAC7B;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,QAAQ;AAC9B,mBAAO,YAAY,OAAM,MAAM,QAAQ,sBAAsB,2BAA2B;AACxF,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,gCAAgC,UAAU,kBAAkB,WAAW;AACnF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,gCAAgC,wBAAwB,MAAM,MAAM;AAClF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,gCAAgC,0BAA0B,SAAS,SAAS,QAAQ;AAChG,UAAI,IAAI;AACR,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,oBAAoB;AAChC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,oBAAoB;AAChC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,sBAAsB;AAAA,QACtC;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,gCAAgC,UAAU,WAAW,WAAW;AAC5E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,gCAAgC,UAAU,WAAW,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,gCAAgC,UAAU,sBAAsB,WAAW;AACvF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,gCAAgC,UAAU,sBAAsB,SAAS,OAAO;AAC5F,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,gCAAgC,UAAU,sBAAsB,WAAW;AACvF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,QAAQ,uBAAuB,CAAC;AAAA;AAAA,IACrF;AAOA,UAAM,QAAQ,gCAAgC,UAAU,sBAAsB,SAAS,OAAO;AAC5F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,QAAQ,gCAAgC,UAAU,kBAAkB,SAAS,WAAW,WAAW;AACvG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,QAAQ,uBAAuB,SAAS;AAAA,IAClH;AAOA,UAAM,QAAQ,gCAAgC,UAAU,wBAAwB,WAAW;AACzF,aAAO,KAAK,oBAAoB,CAAC,CAAC;AAAA,IACpC;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,iCAAiC,UAAU,WAAW,SAAS,qBAAqB;AAChG,eAAO,MAAM,QAAQ,iCAAiC,SAAS,qBAAqB,IAAI;AAAA,MAC1F;AAYA,YAAM,QAAQ,iCAAiC,WAAW,SAAS,iBAAiB,KAAK;AACvF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,UAAU,KAAK,SAAS,iBAAiB,CAAC;AAAA,UACvE,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,iCAAiC,oBAAoB,SAAS,OAAO;AACjF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,iCAAiC,4BAA4B,KAAK,MAAM;AAAA,IAC/F;AAUA,UAAM,QAAQ,iCAAiC,8BAA8B,SAAS,KAAK,QAAQ;AACjG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,KAAK,2BAA2B;AACnE,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,iCAAiC,UAAU,kBAAkB,WAAW;AACpF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,iCAAiC,wBAAwB,MAAM,MAAM;AACnF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,iCAAiC,0BAA0B,SAAS,SAAS,QAAQ;AACjG,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,KAAK;AAAA,QACjB;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,iCAAiC,UAAU,UAAU,WAAW;AAC5E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,iCAAiC,UAAU,UAAU,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,iCAAiC,UAAU,aAAa,WAAW;AAC/E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,iCAAiC,UAAU,aAAa,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,iCAAiC,UAAU,UAAU,WAAW;AAC5E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,MAAM,CAAC;AAAA;AAAA,IACxD;AAOA,UAAM,QAAQ,iCAAiC,UAAU,UAAU,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,iCAAiC,UAAU,YAAY,WAAW;AAC9E,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,QAAQ,iCAAiC,UAAU,UAAU,WAAW;AAC5E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,iCAAiC,UAAU,WAAW,WAAW;AAC7E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,iCAAiC,UAAU,WAAW,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,iCAAiC,UAAU,aAAa,WAAW;AAC/E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,iCAAiC,UAAU,WAAW,WAAW;AAC7E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,QAAQ,yBAAyB,kBAAkB,CAAC,CAAC;AAI3D,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,yBAAyB,UAAU,WAAW,SAAS,qBAAqB;AACxF,eAAO,MAAM,QAAQ,yBAAyB,SAAS,qBAAqB,IAAI;AAAA,MAClF;AAYA,YAAM,QAAQ,yBAAyB,WAAW,SAAS,iBAAiB,KAAK;AAC/E,YAAI,GAAG,MAAM;AAAA,UACX,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACpD,kBAAkB,KAAK,QAAQ;AAAA,YAAa,IAAI,oBAAoB;AAAA,YACpE,MAAM,QAAQ,sBAAsB;AAAA,YAAU;AAAA,UAAe;AAAA,QAC/D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,yBAAyB,oBAAoB,SAAS,OAAO;AACzE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,yBAAyB,4BAA4B,KAAK,MAAM;AAAA,IACvF;AAUA,UAAM,QAAQ,yBAAyB,8BAA8B,SAAS,KAAK,QAAQ;AACzF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,QAAQ;AAC9B,mBAAO,YAAY,OAAM,MAAM,QAAQ,sBAAsB,2BAA2B;AACxF,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,yBAAyB,UAAU,kBAAkB,WAAW;AAC5E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,yBAAyB,wBAAwB,MAAM,MAAM;AAC3E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,yBAAyB,0BAA0B,SAAS,SAAS,QAAQ;AACzF,UAAI,IAAI;AACR,UAAI,QAAQ,UAAU;AACtB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,oBAAoB;AAChC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,sBAAsB;AAAA,QACtC;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,yBAAyB,UAAU,YAAY,WAAW;AACtE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,yBAAyB,UAAU,YAAY,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,yBAAyB,UAAU,sBAAsB,WAAW;AAChF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,QAAQ,uBAAuB,CAAC;AAAA;AAAA,IACrF;AAOA,UAAM,QAAQ,yBAAyB,UAAU,sBAAsB,SAAS,OAAO;AACrF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,QAAQ,yBAAyB,UAAU,kBAAkB,SAAS,WAAW,WAAW;AAChG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,QAAQ,uBAAuB,SAAS;AAAA,IAClH;AAOA,UAAM,QAAQ,yBAAyB,UAAU,wBAAwB,WAAW;AAClF,aAAO,KAAK,oBAAoB,CAAC,CAAC;AAAA,IACpC;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,kCAAkC,UAAU,WAAW,SAAS,qBAAqB;AACjG,eAAO,MAAM,QAAQ,kCAAkC,SAAS,qBAAqB,IAAI;AAAA,MAC3F;AAYA,YAAM,QAAQ,kCAAkC,WAAW,SAAS,iBAAiB,KAAK;AACxF,YAAI,GAAG,MAAM;AAAA,UACX,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACpD,kBAAkB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QAC/D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,kCAAkC,oBAAoB,SAAS,OAAO;AAClF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,kCAAkC,4BAA4B,KAAK,MAAM;AAAA,IAChG;AAUA,UAAM,QAAQ,kCAAkC,8BAA8B,SAAS,KAAK,QAAQ;AAClG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,oBAAoB,KAAK;AAC7B;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,kCAAkC,UAAU,kBAAkB,WAAW;AACrF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,kCAAkC,wBAAwB,MAAM,MAAM;AACpF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,kCAAkC,0BAA0B,SAAS,SAAS,QAAQ;AAClG,UAAI,IAAI;AACR,UAAI,QAAQ,UAAU;AACtB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,oBAAoB;AAChC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,kCAAkC,UAAU,YAAY,WAAW;AAC/E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,kCAAkC,UAAU,YAAY,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,kCAAkC,UAAU,sBAAsB,WAAW;AACzF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,kCAAkC,UAAU,sBAAsB,SAAS,OAAO;AAC9F,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,mCAAmC,UAAU,WAAW,SAAS,qBAAqB;AAClG,eAAO,MAAM,QAAQ,mCAAmC,SAAS,qBAAqB,IAAI;AAAA,MAC5F;AAYA,YAAM,QAAQ,mCAAmC,WAAW,SAAS,iBAAiB,KAAK;AACzF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,mCAAmC,oBAAoB,SAAS,OAAO;AACnF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,mCAAmC,4BAA4B,KAAK,MAAM;AAAA,IACjG;AAUA,UAAM,QAAQ,mCAAmC,8BAA8B,SAAS,KAAK,QAAQ;AACnG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,mCAAmC,UAAU,kBAAkB,WAAW;AACtF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,mCAAmC,wBAAwB,MAAM,MAAM;AACrF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,mCAAmC,0BAA0B,SAAS,SAAS,QAAQ;AACnG,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,mCAAmC,UAAU,UAAU,WAAW;AAC9E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,mCAAmC,UAAU,UAAU,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,mCAAmC,UAAU,aAAa,WAAW;AACjF;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,mCAAmC,UAAU,aAAa,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,mCAAmC,UAAU,WAAW,WAAW;AAC/E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,mCAAmC,UAAU,WAAW,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,mCAAmC,UAAU,aAAa,WAAW;AACjF,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,mCAAmC,UAAU,WAAW,WAAW;AAC/E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,kCAAkC,UAAU,WAAW,SAAS,qBAAqB;AACjG,eAAO,MAAM,QAAQ,kCAAkC,SAAS,qBAAqB,IAAI;AAAA,MAC3F;AAYA,YAAM,QAAQ,kCAAkC,WAAW,SAAS,iBAAiB,KAAK;AACxF,YAAI,GAAG,MAAM;AAAA,UACX,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,QACtD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,kCAAkC,oBAAoB,SAAS,OAAO;AAClF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,kCAAkC,4BAA4B,KAAK,MAAM;AAAA,IAChG;AAUA,UAAM,QAAQ,kCAAkC,8BAA8B,SAAS,KAAK,QAAQ;AAClG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,kCAAkC,UAAU,kBAAkB,WAAW;AACrF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,kCAAkC,wBAAwB,MAAM,MAAM;AACpF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,kCAAkC,0BAA0B,SAAS,SAAS,QAAQ;AAClG,UAAI,IAAI;AACR,UAAI,QAAQ,UAAU;AACtB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,kCAAkC,UAAU,YAAY,WAAW;AAC/E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,kCAAkC,UAAU,YAAY,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,mCAAmC,UAAU,WAAW,SAAS,qBAAqB;AAClG,eAAO,MAAM,QAAQ,mCAAmC,SAAS,qBAAqB,IAAI;AAAA,MAC5F;AAYA,YAAM,QAAQ,mCAAmC,WAAW,SAAS,iBAAiB,KAAK;AACzF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,mCAAmC,oBAAoB,SAAS,OAAO;AACnF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,mCAAmC,4BAA4B,KAAK,MAAM;AAAA,IACjG;AAUA,UAAM,QAAQ,mCAAmC,8BAA8B,SAAS,KAAK,QAAQ;AACnG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,mCAAmC,UAAU,kBAAkB,WAAW;AACtF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,mCAAmC,wBAAwB,MAAM,MAAM;AACrF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,mCAAmC,0BAA0B,SAAS,SAAS,QAAQ;AACnG,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,mCAAmC,UAAU,UAAU,WAAW;AAC9E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,mCAAmC,UAAU,UAAU,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,mCAAmC,UAAU,aAAa,WAAW;AACjF;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,mCAAmC,UAAU,aAAa,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,mCAAmC,UAAU,QAAQ,WAAW;AAC5E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,mCAAmC,UAAU,QAAQ,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,mCAAmC,UAAU,WAAW,WAAW;AAC/E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,mCAAmC,UAAU,WAAW,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,mCAAmC,UAAU,aAAa,WAAW;AACjF,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,mCAAmC,UAAU,WAAW,WAAW;AAC/E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,6BAA6B,UAAU,WAAW,SAAS,qBAAqB;AAC5F,eAAO,MAAM,QAAQ,6BAA6B,SAAS,qBAAqB,IAAI;AAAA,MACtF;AAYA,YAAM,QAAQ,6BAA6B,WAAW,SAAS,iBAAiB,KAAK;AACnF,YAAI,GAAG,MAAM;AAAA,UACX,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACpD,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,QACzD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,6BAA6B,oBAAoB,SAAS,OAAO;AAC7E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,6BAA6B,4BAA4B,KAAK,MAAM;AAAA,IAC3F;AAUA,UAAM,QAAQ,6BAA6B,8BAA8B,SAAS,KAAK,QAAQ;AAC7F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,6BAA6B,UAAU,kBAAkB,WAAW;AAChF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,6BAA6B,wBAAwB,MAAM,MAAM;AAC/E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,6BAA6B,0BAA0B,SAAS,SAAS,QAAQ;AAC7F,UAAI,IAAI;AACR,UAAI,QAAQ,UAAU;AACtB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,6BAA6B,UAAU,YAAY,WAAW;AAC1E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,6BAA6B,UAAU,YAAY,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,6BAA6B,UAAU,eAAe,WAAW;AAC7E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,6BAA6B,UAAU,eAAe,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,8BAA8B,UAAU,WAAW,SAAS,qBAAqB;AAC7F,eAAO,MAAM,QAAQ,8BAA8B,SAAS,qBAAqB,IAAI;AAAA,MACvF;AAYA,YAAM,QAAQ,8BAA8B,WAAW,SAAS,iBAAiB,KAAK;AACpF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,8BAA8B,oBAAoB,SAAS,OAAO;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,8BAA8B,4BAA4B,KAAK,MAAM;AAAA,IAC5F;AAUA,UAAM,QAAQ,8BAA8B,8BAA8B,SAAS,KAAK,QAAQ;AAC9F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,8BAA8B,UAAU,kBAAkB,WAAW;AACjF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,8BAA8B,wBAAwB,MAAM,MAAM;AAChF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,8BAA8B,0BAA0B,SAAS,SAAS,QAAQ;AAC9F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,8BAA8B,UAAU,UAAU,WAAW;AACzE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,8BAA8B,UAAU,UAAU,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,8BAA8B,UAAU,aAAa,WAAW;AAC5E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,8BAA8B,UAAU,aAAa,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,8BAA8B,UAAU,QAAQ,WAAW;AACvE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,8BAA8B,UAAU,QAAQ,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,8BAA8B,UAAU,WAAW,WAAW;AAC1E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,8BAA8B,UAAU,WAAW,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,8BAA8B,UAAU,aAAa,WAAW;AAC5E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,8BAA8B,UAAU,WAAW,WAAW;AAC1E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,sBAAsB,UAAU,WAAW,SAAS,qBAAqB;AACrF,eAAO,MAAM,QAAQ,sBAAsB,SAAS,qBAAqB,IAAI;AAAA,MAC/E;AAYA,YAAM,QAAQ,sBAAsB,WAAW,SAAS,iBAAiB,KAAK;AAC5E,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,QAClD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,sBAAsB,oBAAoB,SAAS,OAAO;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,sBAAsB,4BAA4B,KAAK,MAAM;AAAA,IACpF;AAUA,UAAM,QAAQ,sBAAsB,8BAA8B,SAAS,KAAK,QAAQ;AACtF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,sBAAsB,UAAU,kBAAkB,WAAW;AACzE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,sBAAsB,wBAAwB,MAAM,MAAM;AACxE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,sBAAsB,0BAA0B,SAAS,SAAS,QAAQ;AACtF,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,sBAAsB,UAAU,QAAQ,WAAW;AAC/D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,sBAAsB,UAAU,QAAQ,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,uBAAuB,UAAU,WAAW,SAAS,qBAAqB;AACtF,eAAO,MAAM,QAAQ,uBAAuB,SAAS,qBAAqB,IAAI;AAAA,MAChF;AAYA,YAAM,QAAQ,uBAAuB,WAAW,SAAS,iBAAiB,KAAK;AAC7E,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,uBAAuB,oBAAoB,SAAS,OAAO;AACvE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,uBAAuB,4BAA4B,KAAK,MAAM;AAAA,IACrF;AAUA,UAAM,QAAQ,uBAAuB,8BAA8B,SAAS,KAAK,QAAQ;AACvF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,uBAAuB,UAAU,kBAAkB,WAAW;AAC1E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,uBAAuB,wBAAwB,MAAM,MAAM;AACzE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,uBAAuB,0BAA0B,SAAS,SAAS,QAAQ;AACvF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,uBAAuB,UAAU,UAAU,WAAW;AAClE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,uBAAuB,UAAU,UAAU,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,uBAAuB,UAAU,aAAa,WAAW;AACrE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,uBAAuB,UAAU,aAAa,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,uBAAuB,UAAU,QAAQ,WAAW;AAChE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,uBAAuB,UAAU,QAAQ,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,uBAAuB,UAAU,WAAW,WAAW;AACnE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,uBAAuB,UAAU,WAAW,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,uBAAuB,UAAU,aAAa,WAAW;AACrE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,uBAAuB,UAAU,WAAW,WAAW;AACnE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,QAAQ,0BAA0B,kBAAkB,CAAC,CAAC;AAI5D,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,0BAA0B,UAAU,WAAW,SAAS,qBAAqB;AACzF,eAAO,MAAM,QAAQ,0BAA0B,SAAS,qBAAqB,IAAI;AAAA,MACnF;AAYA,YAAM,QAAQ,0BAA0B,WAAW,SAAS,iBAAiB,KAAK;AAChF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,MAAM,QAAQ,QAAQ;AAAA,YAAU;AAAA,UAAe;AAAA,UAC/C,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,0BAA0B,oBAAoB,SAAS,OAAO;AAC1E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,0BAA0B,4BAA4B,KAAK,MAAM;AAAA,IACxF;AAUA,UAAM,QAAQ,0BAA0B,8BAA8B,SAAS,KAAK,QAAQ;AAC1F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,QAAQ;AAC9B,mBAAO,YAAY,OAAM,MAAM,QAAQ,QAAQ,2BAA2B;AAC1E,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,0BAA0B,UAAU,kBAAkB,WAAW;AAC7E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,0BAA0B,wBAAwB,MAAM,MAAM;AAC5E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,0BAA0B,0BAA0B,SAAS,SAAS,QAAQ;AAC1F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,QAAQ;AAAA,QACxB;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,0BAA0B,UAAU,UAAU,WAAW;AACrE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,0BAA0B,UAAU,UAAU,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,0BAA0B,UAAU,aAAa,WAAW;AACxE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,0BAA0B,UAAU,aAAa,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,0BAA0B,UAAU,cAAc,WAAW;AACzE;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,QAAQ,SAAS,CAAC;AAAA;AAAA,IACvE;AAOA,UAAM,QAAQ,0BAA0B,UAAU,cAAc,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,QAAQ,0BAA0B,UAAU,UAAU,SAAS,WAAW,WAAW;AACzF,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,QAAQ,SAAS,SAAS;AAAA,IACpG;AAOA,UAAM,QAAQ,0BAA0B,UAAU,gBAAgB,WAAW;AAC3E,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,QAAQ,0BAA0B,UAAU,WAAW,WAAW;AACtE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,0BAA0B,UAAU,WAAW,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,0BAA0B,UAAU,aAAa,WAAW;AACxE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,0BAA0B,UAAU,WAAW,WAAW;AACtE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,kBAAkB,UAAU,WAAW,SAAS,qBAAqB;AACjF,eAAO,MAAM,QAAQ,kBAAkB,SAAS,qBAAqB,IAAI;AAAA,MAC3E;AAYA,YAAM,QAAQ,kBAAkB,WAAW,SAAS,iBAAiB,KAAK;AACxE,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACvD,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAC5D,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,KAAK,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAChD,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACnD,eAAe,IAAI,IAAI,gBAAgB,MAAM,UAAU,WAAW,SAAS,iBAAiB,CAAC;AAAA,UAC7F,eAAe,IAAI,IAAI,gBAAgB,MAAM,UAAU,WAAW,SAAS,iBAAiB,CAAC;AAAA,UAC7F,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC7G,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,QAC/G;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,kBAAkB,oBAAoB,SAAS,OAAO;AAClE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,kBAAkB,4BAA4B,KAAK,MAAM;AAAA,IAChF;AAUA,UAAM,QAAQ,kBAAkB,8BAA8B,SAAS,KAAK,QAAQ;AAClF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,OAAO,KAAK;AAChB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,WAAW,2BAA2B;AACzE,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,WAAW,2BAA2B;AACzE,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,kBAAkB,UAAU,kBAAkB,WAAW;AACrE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,kBAAkB,wBAAwB,MAAM,MAAM;AACpE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,kBAAkB,0BAA0B,SAAS,SAAS,QAAQ;AAClF,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,OAAO;AACnB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,UAAU;AACtB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,WAAW;AAAA,QACvB;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,WAAW;AAAA,QACvB;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,kBAAkB,UAAU,QAAQ,WAAW;AAC3D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,kBAAkB,UAAU,QAAQ,SAAS,OAAO;AAChE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,kBAAkB,UAAU,eAAe,WAAW;AAClE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,kBAAkB,UAAU,eAAe,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,kBAAkB,UAAU,oBAAoB,WAAW;AACvE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,kBAAkB,UAAU,oBAAoB,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,kBAAkB,UAAU,UAAU,WAAW;AAC7D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,kBAAkB,UAAU,UAAU,SAAS,OAAO;AAClE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,kBAAkB,UAAU,SAAS,WAAW;AAC5D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,kBAAkB,UAAU,SAAS,SAAS,OAAO;AACjE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,kBAAkB,UAAU,YAAY,WAAW;AAC/D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,kBAAkB,UAAU,YAAY,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,QAAQ,kBAAkB,UAAU,kBAAkB,WAAW;AACrE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,YAAY,GAAI;AAAA;AAAA,IACjE;AAOA,UAAM,QAAQ,kBAAkB,UAAU,kBAAkB,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,KAAM,KAAK;AAAA,IACvD;AAOA,UAAM,QAAQ,kBAAkB,UAAU,oBAAoB,WAAW;AACvE,aAAO,KAAK,gBAAgB,MAAS;AAAA,IACvC;AAOA,UAAM,QAAQ,kBAAkB,UAAU,kBAAkB,WAAW;AACrE,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAI,KAAK;AAAA,IAC9C;AAOA,UAAM,QAAQ,kBAAkB,UAAU,kBAAkB,WAAW;AACrE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,YAAY,IAAI;AAAA;AAAA,IACjE;AAOA,UAAM,QAAQ,kBAAkB,UAAU,kBAAkB,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,MAAM,KAAK;AAAA,IACvD;AAOA,UAAM,QAAQ,kBAAkB,UAAU,oBAAoB,WAAW;AACvE,aAAO,KAAK,gBAAgB,MAAS;AAAA,IACvC;AAOA,UAAM,QAAQ,kBAAkB,UAAU,kBAAkB,WAAW;AACrE,aAAO,KAAK,QAAQ,SAAS,MAAM,IAAI,KAAK;AAAA,IAC9C;AAOA,UAAM,QAAQ,kBAAkB,UAAU,iBAAiB,WAAW;AACpE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,CAAC;AAAA;AAAA,IAChF;AAOA,UAAM,QAAQ,kBAAkB,UAAU,iBAAiB,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,kBAAkB,UAAU,mBAAmB,WAAW;AACtE,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,QAAQ,kBAAkB,UAAU,iBAAiB,WAAW;AACpE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,kBAAkB,UAAU,iBAAiB,WAAW;AACpE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,EAAE;AAAA;AAAA,IACjF;AAOA,UAAM,QAAQ,kBAAkB,UAAU,iBAAiB,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,QAAQ,kBAAkB,UAAU,mBAAmB,WAAW;AACtE,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,QAAQ,kBAAkB,UAAU,iBAAiB,WAAW;AACpE,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,+BAA+B,UAAU,WAAW,SAAS,qBAAqB;AAC9F,eAAO,MAAM,QAAQ,+BAA+B,SAAS,qBAAqB,IAAI;AAAA,MACxF;AAYA,YAAM,QAAQ,+BAA+B,WAAW,SAAS,iBAAiB,KAAK;AACrF,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACvD,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACnD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,+BAA+B,oBAAoB,SAAS,OAAO;AAC/E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,+BAA+B,4BAA4B,KAAK,MAAM;AAAA,IAC7F;AAUA,UAAM,QAAQ,+BAA+B,8BAA8B,SAAS,KAAK,QAAQ;AAC/F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,+BAA+B,UAAU,kBAAkB,WAAW;AAClF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,+BAA+B,wBAAwB,MAAM,MAAM;AACjF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,+BAA+B,0BAA0B,SAAS,SAAS,QAAQ;AAC/F,UAAI,IAAI;AACR,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,+BAA+B,UAAU,eAAe,WAAW;AAC/E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,+BAA+B,UAAU,eAAe,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,QAAQ,+BAA+B,UAAU,UAAU,WAAW;AAC1E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,QAAQ,+BAA+B,UAAU,UAAU,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,QAAQ,+BAA+B,kBAAkB,CAAC,CAAC;AAIjE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,+BAA+B,UAAU,WAAW,SAAS,qBAAqB;AAC9F,eAAO,MAAM,QAAQ,+BAA+B,SAAS,qBAAqB,IAAI;AAAA,MACxF;AAYA,YAAM,QAAQ,+BAA+B,WAAW,SAAS,iBAAiB,KAAK;AACrF,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,IAAI,IAAI,YAAY,MAAM,UAAU,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACnF,eAAe,KAAK,QAAQ;AAAA,YAAa,IAAI,iBAAiB;AAAA,YAC9D,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,UAC5C,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,QACzD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,+BAA+B,oBAAoB,SAAS,OAAO;AAC/E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,+BAA+B,4BAA4B,KAAK,MAAM;AAAA,IAC7F;AAUA,UAAM,QAAQ,+BAA+B,8BAA8B,SAAS,KAAK,QAAQ;AAC/F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,+BAA+B,UAAU,kBAAkB,WAAW;AAClF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,+BAA+B,wBAAwB,MAAM,MAAM;AACjF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,+BAA+B,0BAA0B,SAAS,SAAS,QAAQ;AAC/F,UAAI,IAAI;AACR,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,+BAA+B,UAAU,cAAc,WAAW;AAC9E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IAC5D;AAOA,UAAM,QAAQ,+BAA+B,UAAU,cAAc,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,+BAA+B,UAAU,gBAAgB,WAAW;AAChF,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,QAAQ,+BAA+B,UAAU,cAAc,WAAW;AAC9E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,+BAA+B,UAAU,mBAAmB,WAAW;AACnF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IACpE;AAOA,UAAM,QAAQ,+BAA+B,UAAU,mBAAmB,SAAS,OAAO;AACxF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,QAAQ,+BAA+B,UAAU,eAAe,SAAS,WAAW,WAAW;AACnG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,UAAU,SAAS;AAAA,IAC7F;AAOA,UAAM,QAAQ,+BAA+B,UAAU,qBAAqB,WAAW;AACrF,aAAO,KAAK,iBAAiB,CAAC,CAAC;AAAA,IACjC;AAOA,UAAM,QAAQ,+BAA+B,UAAU,eAAe,WAAW;AAC/E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,QAAQ,+BAA+B,UAAU,eAAe,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,gCAAgC,UAAU,WAAW,SAAS,qBAAqB;AAC/F,eAAO,MAAM,QAAQ,gCAAgC,SAAS,qBAAqB,IAAI;AAAA,MACzF;AAYA,YAAM,QAAQ,gCAAgC,WAAW,SAAS,iBAAiB,KAAK;AACtF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,QAAQ,kBAAkB,SAAS,iBAAiB,CAAC;AAAA,UACxF,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,gCAAgC,oBAAoB,SAAS,OAAO;AAChF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,gCAAgC,4BAA4B,KAAK,MAAM;AAAA,IAC9F;AAUA,UAAM,QAAQ,gCAAgC,8BAA8B,SAAS,KAAK,QAAQ;AAChG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,QAAQ;AAC9B,mBAAO,YAAY,OAAM,MAAM,QAAQ,kBAAkB,2BAA2B;AACpF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,gCAAgC,UAAU,kBAAkB,WAAW;AACnF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,gCAAgC,wBAAwB,MAAM,MAAM;AAClF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,gCAAgC,0BAA0B,SAAS,SAAS,QAAQ;AAChG,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,kBAAkB;AAAA,QAClC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,gCAAgC,UAAU,UAAU,WAAW;AAC3E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,gCAAgC,UAAU,UAAU,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,gCAAgC,UAAU,aAAa,WAAW;AAC9E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,gCAAgC,UAAU,aAAa,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,gCAAgC,UAAU,UAAU,WAAW;AAC3E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,QAAQ,mBAAmB,CAAC;AAAA;AAAA,IACzE;AAOA,UAAM,QAAQ,gCAAgC,UAAU,UAAU,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,gCAAgC,UAAU,YAAY,WAAW;AAC7E,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,QAAQ,gCAAgC,UAAU,UAAU,WAAW;AAC3E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,gCAAgC,UAAU,WAAW,WAAW;AAC5E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,gCAAgC,UAAU,WAAW,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,gCAAgC,UAAU,aAAa,WAAW;AAC9E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,gCAAgC,UAAU,WAAW,WAAW;AAC5E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,QAAQ,gCAAgC,kBAAkB,CAAC,CAAC;AAIlE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,QAAQ,gCAAgC,UAAU,WAAW,SAAS,qBAAqB;AAC/F,eAAO,MAAM,QAAQ,gCAAgC,SAAS,qBAAqB,IAAI;AAAA,MACzF;AAYA,YAAM,QAAQ,gCAAgC,WAAW,SAAS,iBAAiB,KAAK;AACtF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,MAAM,QAAQ,kBAAkB;AAAA,YAAU;AAAA,UAAe;AAAA,UACzD,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,YAAY,IAAI,IAAI,aAAa,MAAM,UAAU,UAAU,SAAS,iBAAiB,CAAC;AAAA,QACxF;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,QAAQ,gCAAgC,oBAAoB,SAAS,OAAO;AAChF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,QAAQ;AAC5B,aAAO,MAAM,QAAQ,gCAAgC,4BAA4B,KAAK,MAAM;AAAA,IAC9F;AAUA,UAAM,QAAQ,gCAAgC,8BAA8B,SAAS,KAAK,QAAQ;AAChG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,QAAQ;AAC9B,mBAAO,YAAY,OAAM,MAAM,QAAQ,kBAAkB,2BAA2B;AACpF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,UAAU,2BAA2B;AACxE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,QAAQ,gCAAgC,UAAU,kBAAkB,WAAW;AACnF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,QAAQ,gCAAgC,wBAAwB,MAAM,MAAM;AAClF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,QAAQ,gCAAgC,0BAA0B,SAAS,SAAS,QAAQ;AAChG,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,QAAQ,kBAAkB;AAAA,QAClC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,UAAU;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,QAAQ,gCAAgC,UAAU,UAAU,WAAW;AAC3E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,QAAQ,gCAAgC,UAAU,UAAU,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,QAAQ,gCAAgC,UAAU,aAAa,WAAW;AAC9E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,QAAQ,gCAAgC,UAAU,aAAa,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,QAAQ,gCAAgC,UAAU,cAAc,WAAW;AAC/E;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,QAAQ,mBAAmB,CAAC;AAAA;AAAA,IACjF;AAOA,UAAM,QAAQ,gCAAgC,UAAU,cAAc,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,QAAQ,gCAAgC,UAAU,UAAU,SAAS,WAAW,WAAW;AAC/F,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,QAAQ,mBAAmB,SAAS;AAAA,IAC9G;AAOA,UAAM,QAAQ,gCAAgC,UAAU,gBAAgB,WAAW;AACjF,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,QAAQ,gCAAgC,UAAU,WAAW,WAAW;AAC5E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,QAAQ,gCAAgC,UAAU,WAAW,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,gCAAgC,UAAU,aAAa,WAAW;AAC9E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,QAAQ,gCAAgC,UAAU,WAAW,WAAW;AAC5E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,QAAQ,gCAAgC,UAAU,eAAe,WAAW;AAChF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,WAAW,CAAC;AAAA;AAAA,IAC7D;AAOA,UAAM,QAAQ,gCAAgC,UAAU,eAAe,SAAS,OAAO;AACrF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,QAAQ,gCAAgC,UAAU,iBAAiB,WAAW;AAClF,aAAO,KAAK,aAAa,MAAS;AAAA,IACpC;AAOA,UAAM,QAAQ,gCAAgC,UAAU,eAAe,WAAW;AAChF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAGA,SAAK,OAAO,OAAO,SAAS,MAAM,OAAO;AAAA;AAAA;;;ACvwdzC;AAAA;AAAA;AAGA,QAAI,aAAa;AACjB,QAAI,YAAY;AAChB,QAAIC,QAAO,UAAQ,0BAA0B,EAAE;AAE/C,QAAIC,yBAAyB,WAAY;AACvC,eAASA,yBAAwB;AAAA,MAAC;AAClC,MAAAA,uBAAsB,cAAc;AACpC,aAAOA;AAAA,IACT,EAAE;AAEF,IAAAA,uBAAsB,eAAe;AAAA,MACnC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,uBAAsB,eAAe;AAAA,MACnC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,uBAAsB,YAAY;AAAA,MAChC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,uBAAsB,iBAAiB;AAAA,MACrC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,uBAAsB,cAAc;AAAA,MAClC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,uBAAsB,iBAAiB;AAAA,MACrC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,uBAAsB,iBAAiB;AAAA,MACrC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,uBAAsB,iBAAiB;AAAA,MACrC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,uBAAsB,UAAU;AAAA,MAC9B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,uBAAsB,aAAa;AAAA,MACjC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,uBAAsB,aAAa;AAAA,MACjC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,uBAAsB,WAAW;AAAA,MAC/B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,uBAAsB,SAAS;AAAA,MAC7B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,uBAAsB,SAAS;AAAA,MAC7B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,YAAQ,wBAAwBA;AAEhC,aAASC,6BAA4B,aAAa,SAAS;AACzD,WAAK,cAAc;AACnB,WAAK,UAAU,WAAW,CAAC;AAAA,IAC7B;AAEA,IAAAA,6BAA4B,UAAU,eAAe,SAAS,aAAa,gBAAgB,UAAU,UAAU;AAC7G,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,uBAAsB,cAAc;AAAA,QAC1D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,6BAA4B,UAAU,eAAe,SAAS,aAAa,gBAAgB,UAAU,UAAU;AAC7G,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,uBAAsB,cAAc;AAAA,QAC1D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,6BAA4B,UAAU,YAAY,SAAS,UAAU,gBAAgB,UAAU,UAAU;AACvG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,uBAAsB,WAAW;AAAA,QACvD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,6BAA4B,UAAU,iBAAiB,SAAS,eAAe,gBAAgB,UAAU,UAAU;AACjH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,uBAAsB,gBAAgB;AAAA,QAC5D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,6BAA4B,UAAU,cAAc,SAAS,YAAY,gBAAgB,UAAU,UAAU;AAC3G,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,uBAAsB,aAAa;AAAA,QACzD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,6BAA4B,UAAU,iBAAiB,SAAS,eAAe,gBAAgB,UAAU,UAAU;AACjH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,uBAAsB,gBAAgB;AAAA,QAC5D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,6BAA4B,UAAU,iBAAiB,SAAS,eAAe,gBAAgB,UAAU,UAAU;AACjH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,uBAAsB,gBAAgB;AAAA,QAC5D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,6BAA4B,UAAU,iBAAiB,SAAS,eAAe,gBAAgB,UAAU,UAAU;AACjH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,uBAAsB,gBAAgB;AAAA,QAC5D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,6BAA4B,UAAU,UAAU,SAAS,QAAQ,gBAAgB,UAAU,UAAU;AACnG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,uBAAsB,SAAS;AAAA,QACrD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,6BAA4B,UAAU,aAAa,SAAS,WAAW,gBAAgB,UAAU,UAAU;AACzG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,uBAAsB,YAAY;AAAA,QACxD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,6BAA4B,UAAU,aAAa,SAAS,WAAW,gBAAgB,UAAU,UAAU;AACzG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,uBAAsB,YAAY;AAAA,QACxD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,6BAA4B,UAAU,WAAW,SAAS,SAAS,gBAAgB,UAAU,UAAU;AACrG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,uBAAsB,UAAU;AAAA,QACtD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,6BAA4B,UAAU,SAAS,SAAS,OAAO,gBAAgB,UAAU,UAAU;AACjG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,uBAAsB,QAAQ;AAAA,QACpD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,6BAA4B,UAAU,SAAS,SAAS,OAAO,gBAAgB,UAAU,UAAU;AACjG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,uBAAsB,QAAQ;AAAA,QACpD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,8BAA8BE;AAEtC,QAAIC,uBAAuB,WAAY;AACrC,eAASA,uBAAsB;AAAA,MAAC;AAChC,MAAAA,qBAAoB,cAAc;AAClC,aAAOA;AAAA,IACT,EAAE;AAEF,IAAAA,qBAAoB,qBAAqB;AAAA,MACvC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,qBAAoB,kBAAkB;AAAA,MACpC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,qBAAoB,qBAAqB;AAAA,MACvC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,qBAAoB,2BAA2B;AAAA,MAC7C,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,UAAU;AAAA,IAC1B;AAEA,IAAAA,qBAAoB,2BAA2B;AAAA,MAC7C,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,qBAAoB,6BAA6B;AAAA,MAC/C,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,qBAAoB,6BAA6B;AAAA,MAC/C,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,YAAQ,sBAAsBA;AAE9B,aAASC,2BAA0B,aAAa,SAAS;AACvD,WAAK,cAAc;AACnB,WAAK,UAAU,WAAW,CAAC;AAAA,IAC7B;AAEA,IAAAA,2BAA0B,UAAU,qBAAqB,SAAS,mBAAmB,gBAAgB,UAAU,UAAU;AACvH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASJ,MAAK,MAAMG,qBAAoB,oBAAoB;AAAA,QAC9D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWH,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAI,2BAA0B,UAAU,kBAAkB,SAAS,gBAAgB,gBAAgB,UAAU,UAAU;AACjH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASJ,MAAK,MAAMG,qBAAoB,iBAAiB;AAAA,QAC3D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWH,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAI,2BAA0B,UAAU,qBAAqB,SAAS,mBAAmB,gBAAgB,UAAU,UAAU;AACvH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASJ,MAAK,MAAMG,qBAAoB,oBAAoB;AAAA,QAC9D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWH,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAI,2BAA0B,UAAU,2BAA2B,SAAS,yBAAyB,gBAAgB,UAAU,UAAU;AACnI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASJ,MAAK,MAAMG,qBAAoB,0BAA0B;AAAA,QACpE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWH,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAI,2BAA0B,UAAU,2BAA2B,SAAS,yBAAyB,gBAAgB,UAAU,UAAU;AACnI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASJ,MAAK,MAAMG,qBAAoB,0BAA0B;AAAA,QACpE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWH,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAI,2BAA0B,UAAU,6BAA6B,SAAS,2BAA2B,gBAAgB,UAAU,UAAU;AACvI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASJ,MAAK,MAAMG,qBAAoB,4BAA4B;AAAA,QACtE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWH,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAI,2BAA0B,UAAU,6BAA6B,SAAS,2BAA2B,gBAAgB,UAAU,UAAU;AACvI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASJ,MAAK,MAAMG,qBAAoB,4BAA4B;AAAA,QACtE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWH,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,4BAA4BI;AAEpC,QAAIC,kBAAkB,WAAY;AAChC,eAASA,kBAAiB;AAAA,MAAC;AAC3B,MAAAA,gBAAe,cAAc;AAC7B,aAAOA;AAAA,IACT,EAAE;AAEF,IAAAA,gBAAe,gBAAgB;AAAA,MAC7B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,gBAAe,gBAAgB;AAAA,MAC7B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,gBAAe,aAAa;AAAA,MAC1B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,gBAAe,gBAAgB;AAAA,MAC7B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,gBAAe,oBAAoB;AAAA,MACjC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,gBAAe,wBAAwB;AAAA,MACrC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,gBAAe,iBAAiB;AAAA,MAC9B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,gBAAe,0BAA0B;AAAA,MACvC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,IAAAA,gBAAe,0BAA0B;AAAA,MACvC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,WAAW;AAAA,MACxB,cAAc,WAAW;AAAA,IAC3B;AAEA,YAAQ,iBAAiBA;AAEzB,aAASC,sBAAqB,aAAa,SAAS;AAClD,WAAK,cAAc;AACnB,WAAK,UAAU,WAAW,CAAC;AAAA,IAC7B;AAEA,IAAAA,sBAAqB,UAAU,gBAAgB,SAAS,cAAc,gBAAgB,UAAU,UAAU;AACxG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASN,MAAK,MAAMK,gBAAe,eAAe;AAAA,QACpD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWL,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAM,sBAAqB,UAAU,gBAAgB,SAAS,cAAc,gBAAgB,UAAU,UAAU;AACxG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASN,MAAK,MAAMK,gBAAe,eAAe;AAAA,QACpD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWL,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAM,sBAAqB,UAAU,aAAa,SAAS,WAAW,gBAAgB,UAAU,UAAU;AAClG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASN,MAAK,MAAMK,gBAAe,YAAY;AAAA,QACjD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWL,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAM,sBAAqB,UAAU,gBAAgB,SAAS,cAAc,gBAAgB,UAAU,UAAU;AACxG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASN,MAAK,MAAMK,gBAAe,eAAe;AAAA,QACpD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWL,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAM,sBAAqB,UAAU,oBAAoB,SAAS,kBAAkB,gBAAgB,UAAU,UAAU;AAChH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASN,MAAK,MAAMK,gBAAe,mBAAmB;AAAA,QACxD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWL,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAM,sBAAqB,UAAU,wBAAwB,SAAS,sBAAsB,gBAAgB,UAAU,UAAU;AACxH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASN,MAAK,MAAMK,gBAAe,uBAAuB;AAAA,QAC5D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWL,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAM,sBAAqB,UAAU,iBAAiB,SAAS,eAAe,gBAAgB,UAAU,UAAU;AAC1G,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASN,MAAK,MAAMK,gBAAe,gBAAgB;AAAA,QACrD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWL,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAM,sBAAqB,UAAU,0BAA0B,SAAS,wBAAwB,gBAAgB,UAAU,UAAU;AAC5H,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASN,MAAK,MAAMK,gBAAe,yBAAyB;AAAA,QAC9D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWL,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAM,sBAAqB,UAAU,0BAA0B,SAAS,wBAAwB,gBAAgB,UAAU,UAAU;AAC5H,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASN,MAAK,MAAMK,gBAAe,yBAAyB;AAAA,QAC9D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWL,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,uBAAuBM;AAAA;AAAA;;;ACluC/B;AAAA;AAAA;AAaA,QAAI,OAAO,UAAQ,iBAAiB;AACpC,QAAI,OAAO;AACX,QAAI,SAAU,WAAW;AAAE,aAAO,QAAQ,UAAU,UAAU,QAAQ,SAAS,aAAa,EAAE;AAAA,IAAG,EAAG,KAAK,IAAI;AAE7G,QAAI,+BAA+B,UAAQ,iDAAiD;AAC5F,SAAK,OAAO,OAAO,OAAO,4BAA4B;AACtD,QAAI,YAAY;AAChB,SAAK,OAAO,OAAO,OAAO,SAAS;AACnC,QAAI,4BAA4B,UAAQ,8CAA8C;AACtF,SAAK,OAAO,OAAO,OAAO,yBAAyB;AACnD,SAAK,aAAa,sDAAsD,MAAM,MAAM;AACpF,SAAK,aAAa,sEAAsE,MAAM,MAAM;AACpG,SAAK,aAAa,kEAAkE,MAAM,MAAM;AAChG,SAAK,aAAa,uDAAuD,MAAM,MAAM;AACrF,SAAK,aAAa,8CAA8C,MAAM,MAAM;AAC5E,SAAK,aAAa,+CAA+C,MAAM,MAAM;AAC7E,SAAK,aAAa,iDAAiD,MAAM,MAAM;AAC/E,SAAK,aAAa,6DAA6D,MAAM,MAAM;AAC3F,SAAK,aAAa,uCAAuC,MAAM,MAAM;AACrE,SAAK,aAAa,sDAAsD,MAAM,MAAM;AACpF,SAAK,aAAa,uDAAuD,MAAM,MAAM;AACrF,SAAK,aAAa,6DAA6D,MAAM,MAAM;AAC3F,SAAK,aAAa,8DAA8D,MAAM,MAAM;AAC5F,SAAK,aAAa,iDAAiD,MAAM,MAAM;AAC/E,SAAK,aAAa,kDAAkD,MAAM,MAAM;AAChF,SAAK,aAAa,8CAA8C,MAAM,MAAM;AAC5E,SAAK,aAAa,+CAA+C,MAAM,MAAM;AAC7E,SAAK,aAAa,8CAA8C,MAAM,MAAM;AAC5E,SAAK,aAAa,+CAA+C,MAAM,MAAM;AAC7E,SAAK,aAAa,2CAA2C,MAAM,MAAM;AACzE,SAAK,aAAa,4CAA4C,MAAM,MAAM;AAC1E,SAAK,aAAa,yCAAyC,MAAM,MAAM;AACvE,SAAK,aAAa,gDAAgD,MAAM,MAAM;AAC9E,SAAK,aAAa,yDAAyD,MAAM,MAAM;AACvF,SAAK,aAAa,yDAAyD,MAAM,MAAM;AACvF,SAAK,aAAa,oCAAoC,MAAM,MAAM;AAClE,SAAK,aAAa,oDAAoD,MAAM,MAAM;AAClF,SAAK,aAAa,6DAA6D,MAAM,MAAM;AAW3F,UAAM,cAAc,yBAAyB,SAAS,UAAU;AAC9D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,cAAc,uBAAuB,iBAAiB,IAAI;AAAA,IACjH;AACA,SAAK,SAAS,MAAM,cAAc,wBAAwB,KAAK,OAAO;AACtE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,uBAAuB,cAAc;AAAA,IAC3D;AAWA,UAAM,cAAc,0BAA0B,SAAS,UAAU;AAC/D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,cAAc,yBAAyB,KAAK,OAAO;AACvE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,wBAAwB,cAAc;AAAA,IAC5D;AAWA,UAAM,cAAc,yBAAyB,SAAS,UAAU;AAC9D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,cAAc,uBAAuB,iBAAiB,IAAI;AAAA,IACjH;AACA,SAAK,SAAS,MAAM,cAAc,wBAAwB,KAAK,OAAO;AACtE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,uBAAuB,cAAc;AAAA,IAC3D;AAWA,UAAM,cAAc,0BAA0B,SAAS,UAAU;AAC/D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,cAAc,wBAAwB,iBAAiB,IAAI;AAAA,IAClH;AACA,SAAK,SAAS,MAAM,cAAc,yBAAyB,KAAK,OAAO;AACvE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,wBAAwB,cAAc;AAAA,IAC5D;AAWA,UAAM,cAAc,sBAAsB,SAAS,UAAU;AAC3D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,cAAc,qBAAqB,KAAK,OAAO;AACnE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,oBAAoB,cAAc;AAAA,IACxD;AAWA,UAAM,cAAc,uBAAuB,SAAS,UAAU;AAC5D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,cAAc,sBAAsB,KAAK,OAAO;AACpE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,qBAAqB,cAAc;AAAA,IACzD;AAWA,UAAM,cAAc,4BAA4B,SAAS,UAAU;AACjE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,cAAc,0BAA0B,iBAAiB,IAAI;AAAA,IACpH;AACA,SAAK,SAAS,MAAM,cAAc,2BAA2B,KAAK,OAAO;AACzE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,0BAA0B,cAAc;AAAA,IAC9D;AAWA,UAAM,cAAc,oBAAoB,SAAS,UAAU;AACzD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,KAAK,MAAM,IAAI;AAAA,IAC5D;AACA,SAAK,SAAS,MAAM,cAAc,mBAAmB,KAAK,OAAO;AACjE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,kBAAkB,cAAc;AAAA,IACtD;AAWA,UAAM,cAAc,iCAAiC,SAAS,UAAU;AACtE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,cAAc,+BAA+B,iBAAiB,IAAI;AAAA,IACzH;AACA,SAAK,SAAS,MAAM,cAAc,gCAAgC,KAAK,OAAO;AAC9E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,+BAA+B,cAAc;AAAA,IACnE;AAWA,UAAM,cAAc,kCAAkC,SAAS,UAAU;AACvE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,cAAc,gCAAgC,iBAAiB,IAAI;AAAA,IAC1H;AACA,SAAK,SAAS,MAAM,cAAc,iCAAiC,KAAK,OAAO;AAC/E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,gCAAgC,cAAc;AAAA,IACpE;AAWA,UAAM,cAAc,kBAAkB,SAAS,UAAU;AACvD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,cAAc,iBAAiB,KAAK,OAAO;AAC/D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,gBAAgB,cAAc;AAAA,IACpD;AAWA,UAAM,cAAc,iCAAiC,SAAS,UAAU;AACtE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,cAAc,+BAA+B,iBAAiB,IAAI;AAAA,IACzH;AACA,SAAK,SAAS,MAAM,cAAc,gCAAgC,KAAK,OAAO;AAC9E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,+BAA+B,cAAc;AAAA,IACnE;AAWA,UAAM,cAAc,kCAAkC,SAAS,UAAU;AACvE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,cAAc,gCAAgC,iBAAiB,IAAI;AAAA,IAC1H;AACA,SAAK,SAAS,MAAM,cAAc,iCAAiC,KAAK,OAAO;AAC/E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,gCAAgC,cAAc;AAAA,IACpE;AAWA,UAAM,cAAc,2BAA2B,SAAS,UAAU;AAChE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,cAAc,0BAA0B,KAAK,OAAO;AACxE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,yBAAyB,cAAc;AAAA,IAC7D;AAWA,UAAM,cAAc,yBAAyB,WAAW,SAAS,UAAU;AACzE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,cAAc,yBAAyB,UAAU,KAAK,OAAO;AACjF,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,yBAAyB,SAAS,cAAc;AAAA,IACtE;AAWA,UAAM,cAAc,yBAAyB,WAAW,SAAS,UAAU;AACzE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,cAAc,yBAAyB,SAAS,iBAAiB,IAAI;AAAA,IAC5H;AACA,SAAK,SAAS,MAAM,cAAc,yBAAyB,UAAU,KAAK,OAAO;AACjF,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,yBAAyB,SAAS,cAAc;AAAA,IACtE;AAWA,UAAM,cAAc,wCAAwC,SAAS,UAAU;AAC7E,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,cAAc,sCAAsC,iBAAiB,IAAI;AAAA,IAChI;AACA,SAAK,SAAS,MAAM,cAAc,uCAAuC,KAAK,OAAO;AACrF,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,sCAAsC,cAAc;AAAA,IAC1E;AAWA,UAAM,cAAc,yCAAyC,SAAS,UAAU;AAC9E,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,cAAc,uCAAuC,iBAAiB,IAAI;AAAA,IACjI;AACA,SAAK,SAAS,MAAM,cAAc,wCAAwC,KAAK,OAAO;AACtF,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,uCAAuC,cAAc;AAAA,IAC3E;AAWA,UAAM,cAAc,+BAA+B,SAAS,UAAU;AACpE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,cAAc,8BAA8B,KAAK,OAAO;AAC5E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,6BAA6B,cAAc;AAAA,IACjE;AAWA,UAAM,cAAc,wCAAwC,SAAS,UAAU;AAC7E,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,cAAc,sCAAsC,iBAAiB,IAAI;AAAA,IAChI;AACA,SAAK,SAAS,MAAM,cAAc,uCAAuC,KAAK,OAAO;AACrF,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,sCAAsC,cAAc;AAAA,IAC1E;AAWA,UAAM,cAAc,wCAAwC,SAAS,UAAU;AAC7E,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,cAAc,uCAAuC,KAAK,OAAO;AACrF,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,sCAAsC,cAAc;AAAA,IAC1E;AAWA,UAAM,cAAc,4BAA4B,SAAS,UAAU;AACjE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,cAAc,0BAA0B,iBAAiB,IAAI;AAAA,IACpH;AACA,SAAK,SAAS,MAAM,cAAc,2BAA2B,KAAK,OAAO;AACzE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,0BAA0B,cAAc;AAAA,IAC9D;AAWA,UAAM,cAAc,yBAAyB,SAAS,UAAU;AAC9D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,cAAc,wBAAwB,KAAK,OAAO;AACtE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,uBAAuB,cAAc;AAAA,IAC3D;AAWA,UAAM,cAAc,0BAA0B,SAAS,UAAU;AAC/D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,cAAc,yBAAyB,KAAK,OAAO;AACvE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,wBAAwB,cAAc;AAAA,IAC5D;AAWA,UAAM,cAAc,6BAA6B,SAAS,UAAU;AAClE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,cAAc,2BAA2B,iBAAiB,IAAI;AAAA,IACrH;AACA,SAAK,SAAS,MAAM,cAAc,4BAA4B,KAAK,OAAO;AAC1E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,2BAA2B,cAAc;AAAA,IAC/D;AAWA,UAAM,cAAc,eAAe,SAAS,UAAU;AACpD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,cAAc,cAAc,KAAK,OAAO;AAC5D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,cAAc,aAAa,cAAc;AAAA,IACjD;AAOA,UAAM,cAAc,uBAAuB,kBAAkB,CAAC,GAAE,CAAC;AAIjE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,uBAAuB,UAAU,WAAW,SAAS,qBAAqB;AAC5F,eAAO,MAAM,cAAc,uBAAuB,SAAS,qBAAqB,IAAI;AAAA,MACtF;AAYA,YAAM,cAAc,uBAAuB,WAAW,SAAS,iBAAiB,KAAK;AACnF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACxD,WAAW,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAC5E,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACvD,4BAA4B,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACvE,oCAAoC,KAAK,QAAQ;AAAA,YAAa,IAAI,sCAAsC;AAAA,YACxG,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,QAC9C;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,uBAAuB,oBAAoB,SAAS,OAAO;AAC7E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,uBAAuB,4BAA4B,KAAK,MAAM;AAAA,IAC3F;AAUA,UAAM,cAAc,uBAAuB,8BAA8B,SAAS,KAAK,QAAQ;AAC7F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,8BAA8B,KAAK;AACvC;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,kCAAkC,KAAK;AAC3C;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,uBAAuB,UAAU,kBAAkB,WAAW;AAChF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,uBAAuB,wBAAwB,MAAM,MAAM;AAC/E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,uBAAuB,0BAA0B,SAAS,SAAS,QAAQ;AAC7F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,8BAA8B;AAC1C,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,sCAAsC;AAClD,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,uBAAuB,UAAU,UAAU,WAAW;AACxE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,uBAAuB,UAAU,UAAU,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,uBAAuB,UAAU,iBAAiB,WAAW;AAC/E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,uBAAuB,UAAU,iBAAiB,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,uBAAuB,UAAU,cAAc,WAAW;AAC5E;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,uBAAuB,UAAU,cAAc,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,uBAAuB,UAAU,UAAU,SAAS,OAAO,WAAW;AACxF,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,uBAAuB,UAAU,gBAAgB,WAAW;AAC9E,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,cAAc,uBAAuB,UAAU,gBAAgB,WAAW;AAC9E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,uBAAuB,UAAU,gBAAgB,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,uBAAuB,UAAU,gCAAgC,WAAW;AAC9F;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,uBAAuB,UAAU,gCAAgC,SAAS,OAAO;AACnG,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,uBAAuB,UAAU,wCAAwC,WAAW;AACtG;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IACpE;AAOA,UAAM,cAAc,uBAAuB,UAAU,wCAAwC,SAAS,OAAO;AAC3G,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,cAAc,uBAAuB,UAAU,oCAAoC,SAAS,WAAW,WAAW;AACtH,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,UAAU,SAAS;AAAA,IAC7F;AAOA,UAAM,cAAc,uBAAuB,UAAU,0CAA0C,WAAW;AACxG,aAAO,KAAK,sCAAsC,CAAC,CAAC;AAAA,IACtD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,wBAAwB,UAAU,WAAW,SAAS,qBAAqB;AAC7F,eAAO,MAAM,cAAc,wBAAwB,SAAS,qBAAqB,IAAI;AAAA,MACvF;AAYA,YAAM,cAAc,wBAAwB,WAAW,SAAS,iBAAiB,KAAK;AACpF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,UAAU,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC5E,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,wBAAwB,oBAAoB,SAAS,OAAO;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,wBAAwB,4BAA4B,KAAK,MAAM;AAAA,IAC5F;AAUA,UAAM,cAAc,wBAAwB,8BAA8B,SAAS,KAAK,QAAQ;AAC9F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,UAAU,2BAA2B;AACxE,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,wBAAwB,UAAU,kBAAkB,WAAW;AACjF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,wBAAwB,wBAAwB,MAAM,MAAM;AAChF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,wBAAwB,0BAA0B,SAAS,SAAS,QAAQ;AAC9F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,UAAU;AAAA,QACtB;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,wBAAwB,UAAU,UAAU,WAAW;AACzE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,cAAc,wBAAwB,UAAU,UAAU,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,cAAc,wBAAwB,UAAU,aAAa,WAAW;AAC5E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,cAAc,wBAAwB,UAAU,aAAa,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,wBAAwB,UAAU,UAAU,WAAW;AACzE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,WAAW,CAAC;AAAA;AAAA,IAC7D;AAOA,UAAM,cAAc,wBAAwB,UAAU,UAAU,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,wBAAwB,UAAU,YAAY,WAAW;AAC3E,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,cAAc,wBAAwB,UAAU,UAAU,WAAW;AACzE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,cAAc,wBAAwB,UAAU,WAAW,WAAW;AAC1E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,cAAc,wBAAwB,UAAU,WAAW,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,wBAAwB,UAAU,aAAa,WAAW;AAC5E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,cAAc,wBAAwB,UAAU,WAAW,WAAW;AAC1E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,cAAc,uBAAuB,kBAAkB,CAAC,CAAC;AAI/D,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,uBAAuB,UAAU,WAAW,SAAS,qBAAqB;AAC5F,eAAO,MAAM,cAAc,uBAAuB,SAAS,qBAAqB,IAAI;AAAA,MACtF;AAYA,YAAM,cAAc,uBAAuB,WAAW,SAAS,iBAAiB,KAAK;AACnF,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,IAAI,IAAI,YAAY,MAAM,UAAU,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACnF,eAAe,KAAK,QAAQ;AAAA,YAAa,IAAI,iBAAiB;AAAA,YAC9D,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,QAC9C;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,uBAAuB,oBAAoB,SAAS,OAAO;AAC7E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,uBAAuB,4BAA4B,KAAK,MAAM;AAAA,IAC3F;AAUA,UAAM,cAAc,uBAAuB,8BAA8B,SAAS,KAAK,QAAQ;AAC7F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,uBAAuB,UAAU,kBAAkB,WAAW;AAChF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,uBAAuB,wBAAwB,MAAM,MAAM;AAC/E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,uBAAuB,0BAA0B,SAAS,SAAS,QAAQ;AAC7F,UAAI,IAAI;AACR,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,uBAAuB,UAAU,cAAc,WAAW;AAC5E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IAC5D;AAOA,UAAM,cAAc,uBAAuB,UAAU,cAAc,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,uBAAuB,UAAU,gBAAgB,WAAW;AAC9E,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,cAAc,uBAAuB,UAAU,cAAc,WAAW;AAC5E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,cAAc,uBAAuB,UAAU,mBAAmB,WAAW;AACjF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IACpE;AAOA,UAAM,cAAc,uBAAuB,UAAU,mBAAmB,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,cAAc,uBAAuB,UAAU,eAAe,SAAS,WAAW,WAAW;AACjG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,UAAU,SAAS;AAAA,IAC7F;AAOA,UAAM,cAAc,uBAAuB,UAAU,qBAAqB,WAAW;AACnF,aAAO,KAAK,iBAAiB,CAAC,CAAC;AAAA,IACjC;AASA,UAAM,cAAc,wBAAwB,kBAAkB,CAAC,CAAC;AAIhE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,wBAAwB,UAAU,WAAW,SAAS,qBAAqB;AAC7F,eAAO,MAAM,cAAc,wBAAwB,SAAS,qBAAqB,IAAI;AAAA,MACvF;AAYA,YAAM,cAAc,wBAAwB,WAAW,SAAS,iBAAiB,KAAK;AACpF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,UAAU,UAAU;AAAA,YAAU;AAAA,UAAe;AAAA,UAC7C,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,YAAY,IAAI,IAAI,aAAa,MAAM,UAAU,UAAU,SAAS,iBAAiB,CAAC;AAAA,QACxF;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,wBAAwB,oBAAoB,SAAS,OAAO;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,wBAAwB,4BAA4B,KAAK,MAAM;AAAA,IAC5F;AAUA,UAAM,cAAc,wBAAwB,8BAA8B,SAAS,KAAK,QAAQ;AAC9F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,UAAU,2BAA2B;AACxE,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,UAAU,2BAA2B;AACxE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,wBAAwB,UAAU,kBAAkB,WAAW;AACjF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,wBAAwB,wBAAwB,MAAM,MAAM;AAChF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,wBAAwB,0BAA0B,SAAS,SAAS,QAAQ;AAC9F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,UAAU;AAAA,QACtB;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,UAAU;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,wBAAwB,UAAU,UAAU,WAAW;AACzE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,cAAc,wBAAwB,UAAU,UAAU,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,cAAc,wBAAwB,UAAU,aAAa,WAAW;AAC5E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,cAAc,wBAAwB,UAAU,aAAa,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,wBAAwB,UAAU,cAAc,WAAW;AAC7E;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,WAAW,CAAC;AAAA;AAAA,IACrE;AAOA,UAAM,cAAc,wBAAwB,UAAU,cAAc,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,cAAc,wBAAwB,UAAU,UAAU,SAAS,WAAW,WAAW;AAC7F,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,WAAW,SAAS;AAAA,IAC9F;AAOA,UAAM,cAAc,wBAAwB,UAAU,gBAAgB,WAAW;AAC/E,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,cAAc,wBAAwB,UAAU,WAAW,WAAW;AAC1E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,cAAc,wBAAwB,UAAU,WAAW,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,wBAAwB,UAAU,aAAa,WAAW;AAC5E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,cAAc,wBAAwB,UAAU,WAAW,WAAW;AAC1E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,cAAc,wBAAwB,UAAU,eAAe,WAAW;AAC9E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,WAAW,CAAC;AAAA;AAAA,IAC7D;AAOA,UAAM,cAAc,wBAAwB,UAAU,eAAe,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,wBAAwB,UAAU,iBAAiB,WAAW;AAChF,aAAO,KAAK,aAAa,MAAS;AAAA,IACpC;AAOA,UAAM,cAAc,wBAAwB,UAAU,eAAe,WAAW;AAC9E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,oBAAoB,UAAU,WAAW,SAAS,qBAAqB;AACzF,eAAO,MAAM,cAAc,oBAAoB,SAAS,qBAAqB,IAAI;AAAA,MACnF;AAYA,YAAM,cAAc,oBAAoB,WAAW,SAAS,iBAAiB,KAAK;AAChF,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,QAClD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,oBAAoB,oBAAoB,SAAS,OAAO;AAC1E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,oBAAoB,4BAA4B,KAAK,MAAM;AAAA,IACxF;AAUA,UAAM,cAAc,oBAAoB,8BAA8B,SAAS,KAAK,QAAQ;AAC1F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,oBAAoB,UAAU,kBAAkB,WAAW;AAC7E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,oBAAoB,wBAAwB,MAAM,MAAM;AAC5E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,oBAAoB,0BAA0B,SAAS,SAAS,QAAQ;AAC1F,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,oBAAoB,UAAU,QAAQ,WAAW;AACnE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,oBAAoB,UAAU,QAAQ,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,qBAAqB,UAAU,WAAW,SAAS,qBAAqB;AAC1F,eAAO,MAAM,cAAc,qBAAqB,SAAS,qBAAqB,IAAI;AAAA,MACpF;AAYA,YAAM,cAAc,qBAAqB,WAAW,SAAS,iBAAiB,KAAK;AACjF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,UAAU,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC5E,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,qBAAqB,oBAAoB,SAAS,OAAO;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,qBAAqB,4BAA4B,KAAK,MAAM;AAAA,IACzF;AAUA,UAAM,cAAc,qBAAqB,8BAA8B,SAAS,KAAK,QAAQ;AAC3F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,UAAU,2BAA2B;AACxE,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,qBAAqB,UAAU,kBAAkB,WAAW;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,qBAAqB,wBAAwB,MAAM,MAAM;AAC7E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,qBAAqB,0BAA0B,SAAS,SAAS,QAAQ;AAC3F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,UAAU;AAAA,QACtB;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,qBAAqB,UAAU,UAAU,WAAW;AACtE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,cAAc,qBAAqB,UAAU,UAAU,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,cAAc,qBAAqB,UAAU,aAAa,WAAW;AACzE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,cAAc,qBAAqB,UAAU,aAAa,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,qBAAqB,UAAU,UAAU,WAAW;AACtE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,WAAW,CAAC;AAAA;AAAA,IAC7D;AAOA,UAAM,cAAc,qBAAqB,UAAU,UAAU,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,qBAAqB,UAAU,YAAY,WAAW;AACxE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,cAAc,qBAAqB,UAAU,UAAU,WAAW;AACtE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,cAAc,qBAAqB,UAAU,WAAW,WAAW;AACvE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,cAAc,qBAAqB,UAAU,WAAW,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,qBAAqB,UAAU,aAAa,WAAW;AACzE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,cAAc,qBAAqB,UAAU,WAAW,WAAW;AACvE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,cAAc,0BAA0B,kBAAkB,CAAC,CAAC;AAIlE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,0BAA0B,UAAU,WAAW,SAAS,qBAAqB;AAC/F,eAAO,MAAM,cAAc,0BAA0B,SAAS,qBAAqB,IAAI;AAAA,MACzF;AAYA,YAAM,cAAc,0BAA0B,WAAW,SAAS,iBAAiB,KAAK;AACtF,YAAI,GAAG,MAAM;AAAA,UACX,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACzD,WAAW,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,QAC9E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,0BAA0B,oBAAoB,SAAS,OAAO;AAChF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,0BAA0B,4BAA4B,KAAK,MAAM;AAAA,IAC9F;AAUA,UAAM,cAAc,0BAA0B,8BAA8B,SAAS,KAAK,QAAQ;AAChG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,0BAA0B,UAAU,kBAAkB,WAAW;AACnF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,0BAA0B,wBAAwB,MAAM,MAAM;AAClF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,0BAA0B,0BAA0B,SAAS,SAAS,QAAQ;AAChG,UAAI,IAAI;AACR,UAAI,QAAQ,eAAe;AAC3B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,0BAA0B,UAAU,iBAAiB,WAAW;AAClF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,0BAA0B,UAAU,iBAAiB,SAAS,OAAO;AACvF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,cAAc,0BAA0B,UAAU,cAAc,WAAW;AAC/E;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,0BAA0B,UAAU,cAAc,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,0BAA0B,UAAU,UAAU,SAAS,OAAO,WAAW;AAC3F,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,0BAA0B,UAAU,gBAAgB,WAAW;AACjF,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,kBAAkB,UAAU,WAAW,SAAS,qBAAqB;AACvF,eAAO,MAAM,cAAc,kBAAkB,SAAS,qBAAqB,IAAI;AAAA,MACjF;AAYA,YAAM,cAAc,kBAAkB,WAAW,SAAS,iBAAiB,KAAK;AAC9E,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACzD,UAAU,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACrD,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACxD,iBAAiB,IAAI,IAAI,kBAAkB,MAAM,0BAA0B,OAAO,SAAS,iBAAiB,CAAC;AAAA,UAC7G,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACzD,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UACxD,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACzD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,UACzD,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,IAAI,CAAC;AAAA,UAC3D,YAAY,KAAK,QAAQ,oBAAoB,KAAK,IAAI,CAAC;AAAA,UACvD,WAAW,KAAK,QAAQ,oBAAoB,KAAK,IAAI,CAAC;AAAA,UACtD,eAAe,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,UAC3D,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,UACpD,eAAe,IAAI,IAAI,gBAAgB,MAAM,UAAU,WAAW,SAAS,iBAAiB,CAAC;AAAA,UAC7F,eAAe,IAAI,IAAI,gBAAgB,MAAM,UAAU,WAAW,SAAS,iBAAiB,CAAC;AAAA,UAC7F,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC7G,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,QAC/G;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,kBAAkB,oBAAoB,SAAS,OAAO;AACxE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,kBAAkB,4BAA4B,KAAK,MAAM;AAAA,IACtF;AAUA,UAAM,cAAc,kBAAkB,8BAA8B,SAAS,KAAK,QAAQ;AACxF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,0BAA0B;AAC1C,mBAAO,YAAY,OAAM,0BAA0B,OAAO,2BAA2B;AACrF,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,iBAAiB,KAAK;AAC1B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,WAAW,2BAA2B;AACzE,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,WAAW,2BAA2B;AACzE,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,kBAAkB,UAAU,kBAAkB,WAAW;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,kBAAkB,wBAAwB,MAAM,MAAM;AAC1E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,kBAAkB,0BAA0B,SAAS,SAAS,QAAQ;AACxF,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,0BAA0B,OAAO;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,UAAU;AACtB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,WAAW;AAAA,QACvB;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,WAAW;AAAA,QACvB;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,kBAAkB,UAAU,QAAQ,WAAW;AACjE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,kBAAkB,UAAU,QAAQ,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,cAAc,kBAAkB,UAAU,iBAAiB,WAAW;AAC1E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,kBAAkB,UAAU,iBAAiB,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,cAAc,kBAAkB,UAAU,cAAc,WAAW;AACvE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,kBAAkB,UAAU,cAAc,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,kBAAkB,UAAU,UAAU,WAAW;AACnE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,kBAAkB,UAAU,UAAU,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,kBAAkB,UAAU,iBAAiB,WAAW;AAC1E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,kBAAkB,UAAU,iBAAiB,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,kBAAkB,UAAU,oBAAoB,WAAW;AAC7E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,0BAA0B,QAAQ,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,cAAc,kBAAkB,UAAU,oBAAoB,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,kBAAkB,UAAU,sBAAsB,WAAW;AAC/E,aAAO,KAAK,kBAAkB,MAAS;AAAA,IACzC;AAOA,UAAM,cAAc,kBAAkB,UAAU,oBAAoB,WAAW;AAC7E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,cAAc,kBAAkB,UAAU,kBAAkB,WAAW;AAC3E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,kBAAkB,UAAU,kBAAkB,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,kBAAkB,UAAU,kBAAkB,WAAW;AAC3E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,cAAc,kBAAkB,UAAU,kBAAkB,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,cAAc,kBAAkB,UAAU,kBAAkB,WAAW;AAC3E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,kBAAkB,UAAU,kBAAkB,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,kBAAkB,UAAU,iBAAiB,WAAW;AAC1E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,kBAAkB,UAAU,iBAAiB,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,kBAAkB,UAAU,oBAAoB,WAAW;AAC7E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,CAAC;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,kBAAkB,UAAU,oBAAoB,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,IAAI,KAAK;AAAA,IACvD;AAOA,UAAM,cAAc,kBAAkB,UAAU,gBAAgB,WAAW;AACzE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,CAAC;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,kBAAkB,UAAU,gBAAgB,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,IAAI,KAAK;AAAA,IACvD;AAOA,UAAM,cAAc,kBAAkB,UAAU,eAAe,WAAW;AACxE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,CAAC;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,kBAAkB,UAAU,eAAe,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,IAAI,KAAK;AAAA,IACvD;AAOA,UAAM,cAAc,kBAAkB,UAAU,mBAAmB,WAAW;AAC5E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,kBAAkB,UAAU,mBAAmB,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,kBAAkB,UAAU,YAAY,WAAW;AACrE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,kBAAkB,UAAU,YAAY,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,kBAAkB,UAAU,kBAAkB,WAAW;AAC3E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,YAAY,GAAI;AAAA;AAAA,IACjE;AAOA,UAAM,cAAc,kBAAkB,UAAU,kBAAkB,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,KAAM,KAAK;AAAA,IACvD;AAOA,UAAM,cAAc,kBAAkB,UAAU,oBAAoB,WAAW;AAC7E,aAAO,KAAK,gBAAgB,MAAS;AAAA,IACvC;AAOA,UAAM,cAAc,kBAAkB,UAAU,kBAAkB,WAAW;AAC3E,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAI,KAAK;AAAA,IAC9C;AAOA,UAAM,cAAc,kBAAkB,UAAU,kBAAkB,WAAW;AAC3E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,YAAY,IAAI;AAAA;AAAA,IACjE;AAOA,UAAM,cAAc,kBAAkB,UAAU,kBAAkB,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,MAAM,KAAK;AAAA,IACvD;AAOA,UAAM,cAAc,kBAAkB,UAAU,oBAAoB,WAAW;AAC7E,aAAO,KAAK,gBAAgB,MAAS;AAAA,IACvC;AAOA,UAAM,cAAc,kBAAkB,UAAU,kBAAkB,WAAW;AAC3E,aAAO,KAAK,QAAQ,SAAS,MAAM,IAAI,KAAK;AAAA,IAC9C;AAOA,UAAM,cAAc,kBAAkB,UAAU,iBAAiB,WAAW;AAC1E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,EAAE;AAAA;AAAA,IACjF;AAOA,UAAM,cAAc,kBAAkB,UAAU,iBAAiB,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,cAAc,kBAAkB,UAAU,mBAAmB,WAAW;AAC5E,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,cAAc,kBAAkB,UAAU,iBAAiB,WAAW;AAC1E,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAOA,UAAM,cAAc,kBAAkB,UAAU,iBAAiB,WAAW;AAC1E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,EAAE;AAAA;AAAA,IACjF;AAOA,UAAM,cAAc,kBAAkB,UAAU,iBAAiB,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,cAAc,kBAAkB,UAAU,mBAAmB,WAAW;AAC5E,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,cAAc,kBAAkB,UAAU,iBAAiB,WAAW;AAC1E,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AASA,UAAM,cAAc,+BAA+B,kBAAkB,CAAC,CAAC;AAIvE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,+BAA+B,UAAU,WAAW,SAAS,qBAAqB;AACpG,eAAO,MAAM,cAAc,+BAA+B,SAAS,qBAAqB,IAAI;AAAA,MAC9F;AAYA,YAAM,cAAc,+BAA+B,WAAW,SAAS,iBAAiB,KAAK;AAC3F,YAAI,GAAG,MAAM;AAAA,UACX,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACzD,WAAW,IAAI,IAAI,YAAY,MAAM,UAAU,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACnF,eAAe,KAAK,QAAQ;AAAA,YAAa,IAAI,iBAAiB;AAAA,YAC9D,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,QAC9C;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,+BAA+B,oBAAoB,SAAS,OAAO;AACrF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,+BAA+B,4BAA4B,KAAK,MAAM;AAAA,IACnG;AAUA,UAAM,cAAc,+BAA+B,8BAA8B,SAAS,KAAK,QAAQ;AACrG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,+BAA+B,UAAU,kBAAkB,WAAW;AACxF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,+BAA+B,wBAAwB,MAAM,MAAM;AACvF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,+BAA+B,0BAA0B,SAAS,SAAS,QAAQ;AACrG,UAAI,IAAI;AACR,UAAI,QAAQ,eAAe;AAC3B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,+BAA+B,UAAU,iBAAiB,WAAW;AACvF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,+BAA+B,UAAU,iBAAiB,SAAS,OAAO;AAC5F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,cAAc,+BAA+B,UAAU,cAAc,WAAW;AACpF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IAC5D;AAOA,UAAM,cAAc,+BAA+B,UAAU,cAAc,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,+BAA+B,UAAU,gBAAgB,WAAW;AACtF,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,cAAc,+BAA+B,UAAU,cAAc,WAAW;AACpF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,cAAc,+BAA+B,UAAU,mBAAmB,WAAW;AACzF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IACpE;AAOA,UAAM,cAAc,+BAA+B,UAAU,mBAAmB,SAAS,OAAO;AAC9F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,cAAc,+BAA+B,UAAU,eAAe,SAAS,WAAW,WAAW;AACzG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,UAAU,SAAS;AAAA,IAC7F;AAOA,UAAM,cAAc,+BAA+B,UAAU,qBAAqB,WAAW;AAC3F,aAAO,KAAK,iBAAiB,CAAC,CAAC;AAAA,IACjC;AASA,UAAM,cAAc,gCAAgC,kBAAkB,CAAC,CAAC;AAIxE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,gCAAgC,UAAU,WAAW,SAAS,qBAAqB;AACrG,eAAO,MAAM,cAAc,gCAAgC,SAAS,qBAAqB,IAAI;AAAA,MAC/F;AAYA,YAAM,cAAc,gCAAgC,WAAW,SAAS,iBAAiB,KAAK;AAC5F,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,MAAM,cAAc,kBAAkB;AAAA,YAAU;AAAA,UAAe;AAAA,UAC/D,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,YAAY,IAAI,IAAI,aAAa,MAAM,UAAU,UAAU,SAAS,iBAAiB,CAAC;AAAA,QACxF;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,gCAAgC,oBAAoB,SAAS,OAAO;AACtF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,gCAAgC,4BAA4B,KAAK,MAAM;AAAA,IACpG;AAUA,UAAM,cAAc,gCAAgC,8BAA8B,SAAS,KAAK,QAAQ;AACtG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,cAAc;AACpC,mBAAO,YAAY,OAAM,MAAM,cAAc,kBAAkB,2BAA2B;AAC1F,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,UAAU,2BAA2B;AACxE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,gCAAgC,UAAU,kBAAkB,WAAW;AACzF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,gCAAgC,wBAAwB,MAAM,MAAM;AACxF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,gCAAgC,0BAA0B,SAAS,SAAS,QAAQ;AACtG,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,cAAc,kBAAkB;AAAA,QACxC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,UAAU;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,gCAAgC,UAAU,UAAU,WAAW;AACjF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,cAAc,gCAAgC,UAAU,UAAU,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,cAAc,gCAAgC,UAAU,aAAa,WAAW;AACpF;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,cAAc,gCAAgC,UAAU,aAAa,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,gCAAgC,UAAU,cAAc,WAAW;AACrF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,cAAc,mBAAmB,CAAC;AAAA;AAAA,IACvF;AAOA,UAAM,cAAc,gCAAgC,UAAU,cAAc,SAAS,OAAO;AAC1F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,cAAc,gCAAgC,UAAU,UAAU,SAAS,WAAW,WAAW;AACrG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,cAAc,mBAAmB,SAAS;AAAA,IACpH;AAOA,UAAM,cAAc,gCAAgC,UAAU,gBAAgB,WAAW;AACvF,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,cAAc,gCAAgC,UAAU,WAAW,WAAW;AAClF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,cAAc,gCAAgC,UAAU,WAAW,SAAS,OAAO;AACvF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,gCAAgC,UAAU,aAAa,WAAW;AACpF,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,cAAc,gCAAgC,UAAU,WAAW,WAAW;AAClF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,cAAc,gCAAgC,UAAU,eAAe,WAAW;AACtF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,WAAW,CAAC;AAAA;AAAA,IAC7D;AAOA,UAAM,cAAc,gCAAgC,UAAU,eAAe,SAAS,OAAO;AAC3F,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,gCAAgC,UAAU,iBAAiB,WAAW;AACxF,aAAO,KAAK,aAAa,MAAS;AAAA,IACpC;AAOA,UAAM,cAAc,gCAAgC,UAAU,eAAe,WAAW;AACtF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,gBAAgB,UAAU,WAAW,SAAS,qBAAqB;AACrF,eAAO,MAAM,cAAc,gBAAgB,SAAS,qBAAqB,IAAI;AAAA,MAC/E;AAYA,YAAM,cAAc,gBAAgB,WAAW,SAAS,iBAAiB,KAAK;AAC5E,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACxD,eAAe,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAC1D,SAAS,IAAI,iBAAiB;AAAA,UAC9B,OAAO,IAAI,IAAI,QAAQ,MAAM,0BAA0B,OAAO,SAAS,iBAAiB,CAAC;AAAA,QAC3F;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,gBAAgB,oBAAoB,SAAS,OAAO;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,gBAAgB,4BAA4B,KAAK,MAAM;AAAA,IACpF;AAUA,UAAM,cAAc,gBAAgB,8BAA8B,SAAS,KAAK,QAAQ;AACtF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,iBAAiB,KAAK;AAC1B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAoC,OAAO,UAAU;AAAA;AACzD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,0BAA0B;AAC1C,mBAAO,YAAY,OAAM,0BAA0B,OAAO,2BAA2B;AACrF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,gBAAgB,UAAU,kBAAkB,WAAW;AACzE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,gBAAgB,wBAAwB,MAAM,MAAM;AACxE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,gBAAgB,0BAA0B,SAAS,SAAS,QAAQ;AACtF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,0BAA0B,OAAO;AAAA,QACnC;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,gBAAgB,UAAU,UAAU,WAAW;AACjE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,gBAAgB,UAAU,UAAU,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,gBAAgB,UAAU,iBAAiB,WAAW;AACxE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,gBAAgB,UAAU,iBAAiB,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,gBAAgB,UAAU,mBAAmB,WAAW;AAC1E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,gBAAgB,UAAU,mBAAmB,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,gBAAgB,UAAU,aAAa,WAAW;AACpE;AAAA;AAAA,QAA4C,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC1F;AAQA,UAAM,cAAc,gBAAgB,UAAU,mBAAmB,WAAW;AAC1E;AAAA;AAAA,QAA8B,KAAK,QAAQ;AAAA,UACvC,KAAK,WAAW;AAAA,QAAC;AAAA;AAAA,IACvB;AAUA,UAAM,cAAc,gBAAgB,UAAU,kBAAkB,WAAW;AACzE;AAAA;AAAA,QAAmC,KAAK,QAAQ;AAAA,UAC5C,KAAK,WAAW;AAAA,QAAC;AAAA;AAAA,IACvB;AAOA,UAAM,cAAc,gBAAgB,UAAU,aAAa,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,oBAAoB,MAAM,GAAG,KAAK;AAAA,IACxD;AAOA,UAAM,cAAc,gBAAgB,UAAU,UAAU,WAAW;AACjE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,0BAA0B,QAAQ,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,cAAc,gBAAgB,UAAU,UAAU,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,gBAAgB,UAAU,YAAY,WAAW;AACnE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,cAAc,gBAAgB,UAAU,UAAU,WAAW;AACjE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,cAAc,+BAA+B,kBAAkB,CAAC,CAAC;AAIvE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,+BAA+B,UAAU,WAAW,SAAS,qBAAqB;AACpG,eAAO,MAAM,cAAc,+BAA+B,SAAS,qBAAqB,IAAI;AAAA,MAC9F;AAYA,YAAM,cAAc,+BAA+B,WAAW,SAAS,iBAAiB,KAAK;AAC3F,YAAI,GAAG,MAAM;AAAA,UACX,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACzD,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAC1D,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACvD,cAAc,KAAK,QAAQ;AAAA,YAAa,IAAI,gBAAgB;AAAA,YAC5D,MAAM,cAAc,gBAAgB;AAAA,YAAU;AAAA,UAAe;AAAA,UAC7D,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UACtD,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACtD,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UACxD,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UACxD,MAAM,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,UAClD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,UACzD,mBAAmB,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,QACjE;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,+BAA+B,oBAAoB,SAAS,OAAO;AACrF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,+BAA+B,4BAA4B,KAAK,MAAM;AAAA,IACnG;AAUA,UAAM,cAAc,+BAA+B,8BAA8B,SAAS,KAAK,QAAQ;AACrG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA4F,OAAO,SAAS;AAAA;AAChH,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,cAAc;AACpC,mBAAO,YAAY,OAAM,MAAM,cAAc,gBAAgB,2BAA2B;AACxF,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAwF,OAAO,SAAS;AAAA;AAC5G,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,qBAAqB,KAAK;AAC9B;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,+BAA+B,UAAU,kBAAkB,WAAW;AACxF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,+BAA+B,wBAAwB,MAAM,MAAM;AACvF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,+BAA+B,0BAA0B,SAAS,SAAS,QAAQ;AACrG,UAAI,IAAI;AACR,UAAI,QAAQ,eAAe;AAC3B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,MAAM,GAAK;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,cAAc,gBAAgB;AAAA,QACtC;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,MAAM,GAAK;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,qBAAqB;AACjC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAMA,UAAM,cAAc,+BAA+B,cAAc;AAAA,MAC/D,WAAW;AAAA,MACX,QAAQ;AAAA,IACV;AAKA,UAAM,cAAc,+BAA+B,kBAAkB;AAAA,MACnE,wBAAwB;AAAA,MACxB,sBAAsB;AAAA,IACxB;AAMA,UAAM,cAAc,+BAA+B,UAAU,iBAAiB,WAAW;AACvF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,+BAA+B,UAAU,iBAAiB,SAAS,OAAO;AAC5F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,cAAc,+BAA+B,UAAU,oBAAoB,WAAW;AAC1F;AAAA;AAAA,QAA2F,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IACxI;AAOA,UAAM,cAAc,+BAA+B,UAAU,oBAAoB,SAAS,OAAO;AAC/F,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,KAAK;AAAA,IACvD;AAOA,UAAM,cAAc,+BAA+B,UAAU,gBAAgB,WAAW;AACtF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,+BAA+B,UAAU,gBAAgB,SAAS,OAAO;AAC3F,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,+BAA+B,UAAU,kBAAkB,WAAW;AACxF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,cAAc,iBAAiB,CAAC;AAAA;AAAA,IACrF;AAOA,UAAM,cAAc,+BAA+B,UAAU,kBAAkB,SAAS,OAAO;AAC7F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,cAAc,+BAA+B,UAAU,cAAc,SAAS,WAAW,WAAW;AACxG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,cAAc,iBAAiB,SAAS;AAAA,IAClH;AAOA,UAAM,cAAc,+BAA+B,UAAU,oBAAoB,WAAW;AAC1F,aAAO,KAAK,gBAAgB,CAAC,CAAC;AAAA,IAChC;AAOA,UAAM,cAAc,+BAA+B,UAAU,gBAAgB,WAAW;AACtF;AAAA;AAAA,QAAuF,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IACpI;AAOA,UAAM,cAAc,+BAA+B,UAAU,gBAAgB,SAAS,OAAO;AAC3F,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,KAAK;AAAA,IACvD;AAOA,UAAM,cAAc,+BAA+B,UAAU,eAAe,WAAW;AACrF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,+BAA+B,UAAU,eAAe,SAAS,OAAO;AAC1F,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,+BAA+B,UAAU,kBAAkB,WAAW;AACxF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,cAAc,+BAA+B,UAAU,kBAAkB,SAAS,OAAO;AAC7F,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,cAAc,+BAA+B,UAAU,kBAAkB,WAAW;AACxF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,cAAc,+BAA+B,UAAU,kBAAkB,SAAS,OAAO;AAC7F,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,cAAc,+BAA+B,UAAU,UAAU,WAAW;AAChF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,+BAA+B,UAAU,UAAU,SAAS,OAAO;AACrF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,+BAA+B,UAAU,iBAAiB,WAAW;AACvF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,+BAA+B,UAAU,iBAAiB,SAAS,OAAO;AAC5F,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,+BAA+B,UAAU,uBAAuB,WAAW;AAC7F;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,+BAA+B,UAAU,uBAAuB,SAAS,OAAO;AAClG,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AASA,UAAM,cAAc,gCAAgC,kBAAkB,CAAC,CAAC;AAIxE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,gCAAgC,UAAU,WAAW,SAAS,qBAAqB;AACrG,eAAO,MAAM,cAAc,gCAAgC,SAAS,qBAAqB,IAAI;AAAA,MAC/F;AAYA,YAAM,cAAc,gCAAgC,WAAW,SAAS,iBAAiB,KAAK;AAC5F,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,MAAM,cAAc,kBAAkB;AAAA,YAAU;AAAA,UAAe;AAAA,UAC/D,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,YAAY,IAAI,IAAI,aAAa,MAAM,UAAU,UAAU,SAAS,iBAAiB,CAAC;AAAA,QACxF;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,gCAAgC,oBAAoB,SAAS,OAAO;AACtF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,gCAAgC,4BAA4B,KAAK,MAAM;AAAA,IACpG;AAUA,UAAM,cAAc,gCAAgC,8BAA8B,SAAS,KAAK,QAAQ;AACtG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,cAAc;AACpC,mBAAO,YAAY,OAAM,MAAM,cAAc,kBAAkB,2BAA2B;AAC1F,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,UAAU,2BAA2B;AACxE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,gCAAgC,UAAU,kBAAkB,WAAW;AACzF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,gCAAgC,wBAAwB,MAAM,MAAM;AACxF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,gCAAgC,0BAA0B,SAAS,SAAS,QAAQ;AACtG,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,cAAc,kBAAkB;AAAA,QACxC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,UAAU;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,gCAAgC,UAAU,UAAU,WAAW;AACjF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,cAAc,gCAAgC,UAAU,UAAU,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,cAAc,gCAAgC,UAAU,aAAa,WAAW;AACpF;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,cAAc,gCAAgC,UAAU,aAAa,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,gCAAgC,UAAU,cAAc,WAAW;AACrF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,cAAc,mBAAmB,CAAC;AAAA;AAAA,IACvF;AAOA,UAAM,cAAc,gCAAgC,UAAU,cAAc,SAAS,OAAO;AAC1F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,cAAc,gCAAgC,UAAU,UAAU,SAAS,WAAW,WAAW;AACrG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,cAAc,mBAAmB,SAAS;AAAA,IACpH;AAOA,UAAM,cAAc,gCAAgC,UAAU,gBAAgB,WAAW;AACvF,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,cAAc,gCAAgC,UAAU,WAAW,WAAW;AAClF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,cAAc,gCAAgC,UAAU,WAAW,SAAS,OAAO;AACvF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,gCAAgC,UAAU,aAAa,WAAW;AACpF,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,cAAc,gCAAgC,UAAU,WAAW,WAAW;AAClF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,cAAc,gCAAgC,UAAU,eAAe,WAAW;AACtF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,WAAW,CAAC;AAAA;AAAA,IAC7D;AAOA,UAAM,cAAc,gCAAgC,UAAU,eAAe,SAAS,OAAO;AAC3F,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,gCAAgC,UAAU,iBAAiB,WAAW;AACxF,aAAO,KAAK,aAAa,MAAS;AAAA,IACpC;AAOA,UAAM,cAAc,gCAAgC,UAAU,eAAe,WAAW;AACtF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,yBAAyB,UAAU,WAAW,SAAS,qBAAqB;AAC9F,eAAO,MAAM,cAAc,yBAAyB,SAAS,qBAAqB,IAAI;AAAA,MACxF;AAYA,YAAM,cAAc,yBAAyB,WAAW,SAAS,iBAAiB,KAAK;AACrF,YAAI,GAAG,MAAM;AAAA,UACX,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAClD,cAAc,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,UAC1D,YAAY,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,UACxD,MAAM,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,UAClD,WAAW,IAAI,IAAI,YAAY,MAAM,MAAM,cAAc,yBAAyB,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACtH,WAAW,IAAI,IAAI,YAAY,MAAM,MAAM,cAAc,yBAAyB,SAAS,SAAS,iBAAiB,CAAC;AAAA,QACxH;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,yBAAyB,oBAAoB,SAAS,OAAO;AAC/E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,yBAAyB,4BAA4B,KAAK,MAAM;AAAA,IAC7F;AAUA,UAAM,cAAc,yBAAyB,8BAA8B,SAAS,KAAK,QAAQ;AAC/F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,cAAc,yBAAyB;AAC7D,mBAAO,YAAY,OAAM,MAAM,cAAc,yBAAyB,SAAS,2BAA2B;AAC1G,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,cAAc,yBAAyB;AAC7D,mBAAO,YAAY,OAAM,MAAM,cAAc,yBAAyB,SAAS,2BAA2B;AAC1G,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,yBAAyB,UAAU,kBAAkB,WAAW;AAClF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,yBAAyB,wBAAwB,MAAM,MAAM;AACjF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,yBAAyB,0BAA0B,SAAS,SAAS,QAAQ;AAC/F,UAAI,IAAI;AACR,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,cAAc,yBAAyB,SAAS;AAAA,QACxD;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,cAAc,yBAAyB,SAAS;AAAA,QACxD;AAAA,MACF;AAAA,IACF;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,yBAAyB,SAAS,UAAU,WAAW,SAAS,qBAAqB;AACvG,eAAO,MAAM,cAAc,yBAAyB,SAAS,SAAS,qBAAqB,IAAI;AAAA,MACjG;AAYA,YAAM,cAAc,yBAAyB,SAAS,WAAW,SAAS,iBAAiB,KAAK;AAC9F,YAAI,GAAG,MAAM;AAAA,UACX,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACzD,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACvD,qBAAqB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACjE,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACzD,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACvD,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAC5D,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QAC3D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,yBAAyB,SAAS,oBAAoB,SAAS,OAAO;AACxF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc,yBAAyB;AAC3D,aAAO,MAAM,cAAc,yBAAyB,SAAS,4BAA4B,KAAK,MAAM;AAAA,IACtG;AAUA,UAAM,cAAc,yBAAyB,SAAS,8BAA8B,SAAS,KAAK,QAAQ;AACxG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,uBAAuB,KAAK;AAChC;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,kBAAkB,WAAW;AAC3F,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,yBAAyB,SAAS,wBAAwB,MAAM,MAAM;AAC1F,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,yBAAyB,SAAS,0BAA0B,SAAS,SAAS,QAAQ;AACxG,UAAI,IAAI;AACR,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,uBAAuB;AACnC,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,kBAAkB,WAAW;AAC3F;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,kBAAkB,SAAS,OAAO;AAChG,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,gBAAgB,WAAW;AACzF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,gBAAgB,SAAS,OAAO;AAC9F,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,yBAAyB,WAAW;AAClG;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,yBAAyB,SAAS,OAAO;AACvG,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,iBAAiB,WAAW;AAC1F;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,iBAAiB,SAAS,OAAO;AAC/F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,eAAe,WAAW;AACxF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,eAAe,SAAS,OAAO;AAC7F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,oBAAoB,WAAW;AAC7F;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,oBAAoB,SAAS,OAAO;AAClG,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,kBAAkB,WAAW;AAC3F;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,kBAAkB,SAAS,OAAO;AAChG,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,cAAc,yBAAyB,SAAS,kBAAkB,CAAC,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC;AAI1F,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,yBAAyB,SAAS,UAAU,WAAW,SAAS,qBAAqB;AACvG,eAAO,MAAM,cAAc,yBAAyB,SAAS,SAAS,qBAAqB,IAAI;AAAA,MACjG;AAYA,YAAM,cAAc,yBAAyB,SAAS,WAAW,SAAS,iBAAiB,KAAK;AAC9F,YAAI,GAAG,MAAM;AAAA,UACX,oBAAoB,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UACrF,YAAY,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAC7E,eAAe,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAChF,aAAa,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAC9E,aAAa,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAC9E,YAAY,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAC7E,iBAAiB,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAClF,gBAAgB,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UACjF,iBAAiB,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,QACpF;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,yBAAyB,SAAS,oBAAoB,SAAS,OAAO;AACxF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc,yBAAyB;AAC3D,aAAO,MAAM,cAAc,yBAAyB,SAAS,4BAA4B,KAAK,MAAM;AAAA,IACtG;AAUA,UAAM,cAAc,yBAAyB,SAAS,8BAA8B,SAAS,KAAK,QAAQ;AACxG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,iBAAiB,KAAK;AAC1B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,kBAAkB,WAAW;AAC3F,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,yBAAyB,SAAS,wBAAwB,MAAM,MAAM;AAC1F,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,yBAAyB,SAAS,0BAA0B,SAAS,SAAS,QAAQ;AACxG,UAAI,IAAI;AACR,UAAI,QAAQ,qBAAqB;AACjC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,uBAAuB,WAAW;AAChG;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,uBAAuB,SAAS,OAAO;AACrG,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,yBAAyB,SAAS,UAAU,mBAAmB,SAAS,OAAO,WAAW;AAC5G,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,yBAAyB,WAAW;AAClG,aAAO,KAAK,qBAAqB,CAAC,CAAC;AAAA,IACrC;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,eAAe,WAAW;AACxF;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,eAAe,SAAS,OAAO;AAC7F,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,yBAAyB,SAAS,UAAU,WAAW,SAAS,OAAO,WAAW;AACpG,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,iBAAiB,WAAW;AAC1F,aAAO,KAAK,aAAa,CAAC,CAAC;AAAA,IAC7B;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,kBAAkB,WAAW;AAC3F;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,kBAAkB,SAAS,OAAO;AAChG,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,yBAAyB,SAAS,UAAU,cAAc,SAAS,OAAO,WAAW;AACvG,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,oBAAoB,WAAW;AAC7F,aAAO,KAAK,gBAAgB,CAAC,CAAC;AAAA,IAChC;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,gBAAgB,WAAW;AACzF;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,gBAAgB,SAAS,OAAO;AAC9F,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,yBAAyB,SAAS,UAAU,YAAY,SAAS,OAAO,WAAW;AACrG,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,kBAAkB,WAAW;AAC3F,aAAO,KAAK,cAAc,CAAC,CAAC;AAAA,IAC9B;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,gBAAgB,WAAW;AACzF;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,gBAAgB,SAAS,OAAO;AAC9F,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,yBAAyB,SAAS,UAAU,YAAY,SAAS,OAAO,WAAW;AACrG,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,kBAAkB,WAAW;AAC3F,aAAO,KAAK,cAAc,CAAC,CAAC;AAAA,IAC9B;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,eAAe,WAAW;AACxF;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,eAAe,SAAS,OAAO;AAC7F,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,yBAAyB,SAAS,UAAU,WAAW,SAAS,OAAO,WAAW;AACpG,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,iBAAiB,WAAW;AAC1F,aAAO,KAAK,aAAa,CAAC,CAAC;AAAA,IAC7B;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,oBAAoB,WAAW;AAC7F;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,oBAAoB,SAAS,OAAO;AAClG,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,yBAAyB,SAAS,UAAU,gBAAgB,SAAS,OAAO,WAAW;AACzG,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,sBAAsB,WAAW;AAC/F,aAAO,KAAK,kBAAkB,CAAC,CAAC;AAAA,IAClC;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,mBAAmB,WAAW;AAC5F;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,mBAAmB,SAAS,OAAO;AACjG,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,yBAAyB,SAAS,UAAU,eAAe,SAAS,OAAO,WAAW;AACxG,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,qBAAqB,WAAW;AAC9F,aAAO,KAAK,iBAAiB,CAAC,CAAC;AAAA,IACjC;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,oBAAoB,WAAW;AAC7F;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,oBAAoB,SAAS,OAAO;AAClG,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,yBAAyB,SAAS,UAAU,gBAAgB,SAAS,OAAO,WAAW;AACzG,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,yBAAyB,SAAS,UAAU,sBAAsB,WAAW;AAC/F,aAAO,KAAK,kBAAkB,CAAC,CAAC;AAAA,IAClC;AAOA,UAAM,cAAc,yBAAyB,UAAU,WAAW,WAAW;AAC3E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,yBAAyB,UAAU,WAAW,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,yBAAyB,UAAU,kBAAkB,WAAW;AAClF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,yBAAyB,UAAU,kBAAkB,SAAS,OAAO;AACvF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,yBAAyB,UAAU,gBAAgB,WAAW;AAChF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,yBAAyB,UAAU,gBAAgB,SAAS,OAAO;AACrF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,yBAAyB,UAAU,UAAU,WAAW;AAC1E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,yBAAyB,UAAU,UAAU,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,yBAAyB,UAAU,cAAc,WAAW;AAC9E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,cAAc,yBAAyB,UAAU,EAAE;AAAA;AAAA,IAChG;AAOA,UAAM,cAAc,yBAAyB,UAAU,cAAc,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,cAAc,yBAAyB,UAAU,gBAAgB,WAAW;AAChF,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,cAAc,yBAAyB,UAAU,cAAc,WAAW;AAC9E,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAOA,UAAM,cAAc,yBAAyB,UAAU,cAAc,WAAW;AAC9E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,cAAc,yBAAyB,UAAU,EAAE;AAAA;AAAA,IAChG;AAOA,UAAM,cAAc,yBAAyB,UAAU,cAAc,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,cAAc,yBAAyB,UAAU,gBAAgB,WAAW;AAChF,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,cAAc,yBAAyB,UAAU,cAAc,WAAW;AAC9E,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AASA,UAAM,cAAc,sCAAsC,kBAAkB,CAAC,CAAC;AAI9E,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,sCAAsC,UAAU,WAAW,SAAS,qBAAqB;AAC3G,eAAO,MAAM,cAAc,sCAAsC,SAAS,qBAAqB,IAAI;AAAA,MACrG;AAYA,YAAM,cAAc,sCAAsC,WAAW,SAAS,iBAAiB,KAAK;AAClG,YAAI,GAAG,MAAM;AAAA,UACX,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACzD,WAAW,IAAI,IAAI,YAAY,MAAM,UAAU,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACnF,eAAe,KAAK,QAAQ;AAAA,YAAa,IAAI,iBAAiB;AAAA,YAC9D,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,QAC9C;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,sCAAsC,oBAAoB,SAAS,OAAO;AAC5F,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,sCAAsC,4BAA4B,KAAK,MAAM;AAAA,IAC1G;AAUA,UAAM,cAAc,sCAAsC,8BAA8B,SAAS,KAAK,QAAQ;AAC5G,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,sCAAsC,UAAU,kBAAkB,WAAW;AAC/F,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,sCAAsC,wBAAwB,MAAM,MAAM;AAC9F,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,sCAAsC,0BAA0B,SAAS,SAAS,QAAQ;AAC5G,UAAI,IAAI;AACR,UAAI,QAAQ,eAAe;AAC3B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,sCAAsC,UAAU,iBAAiB,WAAW;AAC9F;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,sCAAsC,UAAU,iBAAiB,SAAS,OAAO;AACnG,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,cAAc,sCAAsC,UAAU,cAAc,WAAW;AAC3F;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IAC5D;AAOA,UAAM,cAAc,sCAAsC,UAAU,cAAc,SAAS,OAAO;AAChG,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,sCAAsC,UAAU,gBAAgB,WAAW;AAC7F,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,cAAc,sCAAsC,UAAU,cAAc,WAAW;AAC3F,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,cAAc,sCAAsC,UAAU,mBAAmB,WAAW;AAChG;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IACpE;AAOA,UAAM,cAAc,sCAAsC,UAAU,mBAAmB,SAAS,OAAO;AACrG,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,cAAc,sCAAsC,UAAU,eAAe,SAAS,WAAW,WAAW;AAChH,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,UAAU,SAAS;AAAA,IAC7F;AAOA,UAAM,cAAc,sCAAsC,UAAU,qBAAqB,WAAW;AAClG,aAAO,KAAK,iBAAiB,CAAC,CAAC;AAAA,IACjC;AASA,UAAM,cAAc,uCAAuC,kBAAkB,CAAC,CAAC;AAI/E,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,uCAAuC,UAAU,WAAW,SAAS,qBAAqB;AAC5G,eAAO,MAAM,cAAc,uCAAuC,SAAS,qBAAqB,IAAI;AAAA,MACtG;AAYA,YAAM,cAAc,uCAAuC,WAAW,SAAS,iBAAiB,KAAK;AACnG,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,MAAM,cAAc,yBAAyB;AAAA,YAAU;AAAA,UAAe;AAAA,UACtE,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,YAAY,IAAI,IAAI,aAAa,MAAM,UAAU,UAAU,SAAS,iBAAiB,CAAC;AAAA,QACxF;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,uCAAuC,oBAAoB,SAAS,OAAO;AAC7F,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,uCAAuC,4BAA4B,KAAK,MAAM;AAAA,IAC3G;AAUA,UAAM,cAAc,uCAAuC,8BAA8B,SAAS,KAAK,QAAQ;AAC7G,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,cAAc;AACpC,mBAAO,YAAY,OAAM,MAAM,cAAc,yBAAyB,2BAA2B;AACjG,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,UAAU,2BAA2B;AACxE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,uCAAuC,UAAU,kBAAkB,WAAW;AAChG,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,uCAAuC,wBAAwB,MAAM,MAAM;AAC/F,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,uCAAuC,0BAA0B,SAAS,SAAS,QAAQ;AAC7G,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,cAAc,yBAAyB;AAAA,QAC/C;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,UAAU;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,uCAAuC,UAAU,UAAU,WAAW;AACxF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,cAAc,uCAAuC,UAAU,UAAU,SAAS,OAAO;AAC7F,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,cAAc,uCAAuC,UAAU,aAAa,WAAW;AAC3F;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,cAAc,uCAAuC,UAAU,aAAa,SAAS,OAAO;AAChG,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,uCAAuC,UAAU,cAAc,WAAW;AAC5F;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,cAAc,0BAA0B,CAAC;AAAA;AAAA,IAC9F;AAOA,UAAM,cAAc,uCAAuC,UAAU,cAAc,SAAS,OAAO;AACjG,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,cAAc,uCAAuC,UAAU,UAAU,SAAS,WAAW,WAAW;AAC5G,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,cAAc,0BAA0B,SAAS;AAAA,IAC3H;AAOA,UAAM,cAAc,uCAAuC,UAAU,gBAAgB,WAAW;AAC9F,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,cAAc,uCAAuC,UAAU,WAAW,WAAW;AACzF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,cAAc,uCAAuC,UAAU,WAAW,SAAS,OAAO;AAC9F,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,uCAAuC,UAAU,aAAa,WAAW;AAC3F,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,cAAc,uCAAuC,UAAU,WAAW,WAAW;AACzF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,cAAc,uCAAuC,UAAU,eAAe,WAAW;AAC7F;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,WAAW,CAAC;AAAA;AAAA,IAC7D;AAOA,UAAM,cAAc,uCAAuC,UAAU,eAAe,SAAS,OAAO;AAClG,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,uCAAuC,UAAU,iBAAiB,WAAW;AAC/F,aAAO,KAAK,aAAa,MAAS;AAAA,IACpC;AAOA,UAAM,cAAc,uCAAuC,UAAU,eAAe,WAAW;AAC7F,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,6BAA6B,UAAU,WAAW,SAAS,qBAAqB;AAClG,eAAO,MAAM,cAAc,6BAA6B,SAAS,qBAAqB,IAAI;AAAA,MAC5F;AAYA,YAAM,cAAc,6BAA6B,WAAW,SAAS,iBAAiB,KAAK;AACzF,YAAI,GAAG,MAAM;AAAA,UACX,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACzD,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QAC1D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,6BAA6B,oBAAoB,SAAS,OAAO;AACnF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,6BAA6B,4BAA4B,KAAK,MAAM;AAAA,IACjG;AAUA,UAAM,cAAc,6BAA6B,8BAA8B,SAAS,KAAK,QAAQ;AACnG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,6BAA6B,UAAU,kBAAkB,WAAW;AACtF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,6BAA6B,wBAAwB,MAAM,MAAM;AACrF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,6BAA6B,0BAA0B,SAAS,SAAS,QAAQ;AACnG,UAAI,IAAI;AACR,UAAI,QAAQ,eAAe;AAC3B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,6BAA6B,UAAU,iBAAiB,WAAW;AACrF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,6BAA6B,UAAU,iBAAiB,SAAS,OAAO;AAC1F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,cAAc,6BAA6B,UAAU,UAAU,WAAW;AAC9E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,6BAA6B,UAAU,UAAU,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,6BAA6B,UAAU,iBAAiB,WAAW;AACrF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,6BAA6B,UAAU,iBAAiB,SAAS,OAAO;AAC1F,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,cAAc,sCAAsC,kBAAkB,CAAC,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC;AAI9F,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,sCAAsC,UAAU,WAAW,SAAS,qBAAqB;AAC3G,eAAO,MAAM,cAAc,sCAAsC,SAAS,qBAAqB,IAAI;AAAA,MACrG;AAYA,YAAM,cAAc,sCAAsC,WAAW,SAAS,iBAAiB,KAAK;AAClG,YAAI,GAAG,MAAM;AAAA,UACX,oBAAoB,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UACrF,YAAY,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAC7E,eAAe,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAChF,aAAa,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAC9E,aAAa,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAC9E,YAAY,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAC7E,iBAAiB,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAClF,gBAAgB,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UACjF,iBAAiB,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAClF,cAAc,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,UAC1D,YAAY,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,UACxD,OAAO,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,QACrD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,sCAAsC,oBAAoB,SAAS,OAAO;AAC5F,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,sCAAsC,4BAA4B,KAAK,MAAM;AAAA,IAC1G;AAUA,UAAM,cAAc,sCAAsC,8BAA8B,SAAS,KAAK,QAAQ;AAC5G,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,iBAAiB,KAAK;AAC1B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,sCAAsC,UAAU,kBAAkB,WAAW;AAC/F,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,sCAAsC,wBAAwB,MAAM,MAAM;AAC9F,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,sCAAsC,0BAA0B,SAAS,SAAS,QAAQ;AAC5G,UAAI,IAAI;AACR,UAAI,QAAQ,qBAAqB;AACjC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,sCAAsC,UAAU,uBAAuB,WAAW;AACpG;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,sCAAsC,UAAU,uBAAuB,SAAS,OAAO;AACzG,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,sCAAsC,UAAU,mBAAmB,SAAS,OAAO,WAAW;AAChH,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,sCAAsC,UAAU,yBAAyB,WAAW;AACtG,aAAO,KAAK,qBAAqB,CAAC,CAAC;AAAA,IACrC;AAOA,UAAM,cAAc,sCAAsC,UAAU,eAAe,WAAW;AAC5F;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,sCAAsC,UAAU,eAAe,SAAS,OAAO;AACjG,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,sCAAsC,UAAU,WAAW,SAAS,OAAO,WAAW;AACxG,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,sCAAsC,UAAU,iBAAiB,WAAW;AAC9F,aAAO,KAAK,aAAa,CAAC,CAAC;AAAA,IAC7B;AAOA,UAAM,cAAc,sCAAsC,UAAU,kBAAkB,WAAW;AAC/F;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,sCAAsC,UAAU,kBAAkB,SAAS,OAAO;AACpG,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,sCAAsC,UAAU,cAAc,SAAS,OAAO,WAAW;AAC3G,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,sCAAsC,UAAU,oBAAoB,WAAW;AACjG,aAAO,KAAK,gBAAgB,CAAC,CAAC;AAAA,IAChC;AAOA,UAAM,cAAc,sCAAsC,UAAU,gBAAgB,WAAW;AAC7F;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,sCAAsC,UAAU,gBAAgB,SAAS,OAAO;AAClG,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,sCAAsC,UAAU,YAAY,SAAS,OAAO,WAAW;AACzG,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,sCAAsC,UAAU,kBAAkB,WAAW;AAC/F,aAAO,KAAK,cAAc,CAAC,CAAC;AAAA,IAC9B;AAOA,UAAM,cAAc,sCAAsC,UAAU,gBAAgB,WAAW;AAC7F;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,sCAAsC,UAAU,gBAAgB,SAAS,OAAO;AAClG,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,sCAAsC,UAAU,YAAY,SAAS,OAAO,WAAW;AACzG,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,sCAAsC,UAAU,kBAAkB,WAAW;AAC/F,aAAO,KAAK,cAAc,CAAC,CAAC;AAAA,IAC9B;AAOA,UAAM,cAAc,sCAAsC,UAAU,eAAe,WAAW;AAC5F;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,sCAAsC,UAAU,eAAe,SAAS,OAAO;AACjG,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,sCAAsC,UAAU,WAAW,SAAS,OAAO,WAAW;AACxG,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,sCAAsC,UAAU,iBAAiB,WAAW;AAC9F,aAAO,KAAK,aAAa,CAAC,CAAC;AAAA,IAC7B;AAOA,UAAM,cAAc,sCAAsC,UAAU,oBAAoB,WAAW;AACjG;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,sCAAsC,UAAU,oBAAoB,SAAS,OAAO;AACtG,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,sCAAsC,UAAU,gBAAgB,SAAS,OAAO,WAAW;AAC7G,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,sCAAsC,UAAU,sBAAsB,WAAW;AACnG,aAAO,KAAK,kBAAkB,CAAC,CAAC;AAAA,IAClC;AAOA,UAAM,cAAc,sCAAsC,UAAU,mBAAmB,WAAW;AAChG;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,sCAAsC,UAAU,mBAAmB,SAAS,OAAO;AACrG,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,sCAAsC,UAAU,eAAe,SAAS,OAAO,WAAW;AAC5G,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,sCAAsC,UAAU,qBAAqB,WAAW;AAClG,aAAO,KAAK,iBAAiB,CAAC,CAAC;AAAA,IACjC;AAOA,UAAM,cAAc,sCAAsC,UAAU,oBAAoB,WAAW;AACjG;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,sCAAsC,UAAU,oBAAoB,SAAS,OAAO;AACtG,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,cAAc,sCAAsC,UAAU,gBAAgB,SAAS,OAAO,WAAW;AAC7G,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,cAAc,sCAAsC,UAAU,sBAAsB,WAAW;AACnG,aAAO,KAAK,kBAAkB,CAAC,CAAC;AAAA,IAClC;AAOA,UAAM,cAAc,sCAAsC,UAAU,kBAAkB,WAAW;AAC/F;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,sCAAsC,UAAU,kBAAkB,SAAS,OAAO;AACpG,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,sCAAsC,UAAU,gBAAgB,WAAW;AAC7F;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,sCAAsC,UAAU,gBAAgB,SAAS,OAAO;AAClG,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,sCAAsC,UAAU,WAAW,WAAW;AACxF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,sCAAsC,UAAU,WAAW,SAAS,OAAO;AAC7F,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,sCAAsC,UAAU,WAAW,SAAS,qBAAqB;AAC3G,eAAO,MAAM,cAAc,sCAAsC,SAAS,qBAAqB,IAAI;AAAA,MACrG;AAYA,YAAM,cAAc,sCAAsC,WAAW,SAAS,iBAAiB,KAAK;AAClG,YAAI,GAAG,MAAM;AAAA,UACX,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACvD,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAClD,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACrD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,sCAAsC,oBAAoB,SAAS,OAAO;AAC5F,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,sCAAsC,4BAA4B,KAAK,MAAM;AAAA,IAC1G;AAUA,UAAM,cAAc,sCAAsC,8BAA8B,SAAS,KAAK,QAAQ;AAC5G,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,sCAAsC,UAAU,kBAAkB,WAAW;AAC/F,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,sCAAsC,wBAAwB,MAAM,MAAM;AAC9F,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,sCAAsC,0BAA0B,SAAS,SAAS,QAAQ;AAC5G,UAAI,IAAI;AACR,UAAI,QAAQ,cAAc;AAC1B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,UAAU;AACtB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,sCAAsC,UAAU,gBAAgB,WAAW;AAC7F;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,sCAAsC,UAAU,gBAAgB,SAAS,OAAO;AAClG,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,sCAAsC,UAAU,WAAW,WAAW;AACxF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,sCAAsC,UAAU,WAAW,SAAS,OAAO;AAC7F,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,sCAAsC,UAAU,YAAY,WAAW;AACzF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,sCAAsC,UAAU,YAAY,SAAS,OAAO;AAC9F,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,cAAc,0BAA0B,kBAAkB,CAAC,CAAC;AAIlE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,0BAA0B,UAAU,WAAW,SAAS,qBAAqB;AAC/F,eAAO,MAAM,cAAc,0BAA0B,SAAS,qBAAqB,IAAI;AAAA,MACzF;AAYA,YAAM,cAAc,0BAA0B,WAAW,SAAS,iBAAiB,KAAK;AACtF,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACvD,WAAW,IAAI,IAAI,YAAY,MAAM,UAAU,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACnF,eAAe,KAAK,QAAQ;AAAA,YAAa,IAAI,iBAAiB;AAAA,YAC9D,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,UAC5C,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,SAAS,SAAS,iBAAiB,CAAC;AAAA,QAC/E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,0BAA0B,oBAAoB,SAAS,OAAO;AAChF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,0BAA0B,4BAA4B,KAAK,MAAM;AAAA,IAC9F;AAUA,UAAM,cAAc,0BAA0B,8BAA8B,SAAS,KAAK,QAAQ;AAChG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,0BAA0B,UAAU,kBAAkB,WAAW;AACnF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,0BAA0B,wBAAwB,MAAM,MAAM;AAClF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,0BAA0B,0BAA0B,SAAS,SAAS,QAAQ;AAChG,UAAI,IAAI;AACR,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,0BAA0B,UAAU,eAAe,WAAW;AAChF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,0BAA0B,UAAU,eAAe,SAAS,OAAO;AACrF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,cAAc,0BAA0B,UAAU,cAAc,WAAW;AAC/E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IAC5D;AAOA,UAAM,cAAc,0BAA0B,UAAU,cAAc,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,0BAA0B,UAAU,gBAAgB,WAAW;AACjF,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,cAAc,0BAA0B,UAAU,cAAc,WAAW;AAC/E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,cAAc,0BAA0B,UAAU,mBAAmB,WAAW;AACpF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IACpE;AAOA,UAAM,cAAc,0BAA0B,UAAU,mBAAmB,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,cAAc,0BAA0B,UAAU,eAAe,SAAS,WAAW,WAAW;AACpG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,UAAU,SAAS;AAAA,IAC7F;AAOA,UAAM,cAAc,0BAA0B,UAAU,qBAAqB,WAAW;AACtF,aAAO,KAAK,iBAAiB,CAAC,CAAC;AAAA,IACjC;AAOA,UAAM,cAAc,0BAA0B,UAAU,WAAW,WAAW;AAC5E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IAC5D;AAOA,UAAM,cAAc,0BAA0B,UAAU,WAAW,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,0BAA0B,UAAU,aAAa,WAAW;AAC9E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,cAAc,0BAA0B,UAAU,WAAW,WAAW;AAC5E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,uBAAuB,UAAU,WAAW,SAAS,qBAAqB;AAC5F,eAAO,MAAM,cAAc,uBAAuB,SAAS,qBAAqB,IAAI;AAAA,MACtF;AAYA,YAAM,cAAc,uBAAuB,WAAW,SAAS,iBAAiB,KAAK;AACnF,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACvD,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,QAClD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,uBAAuB,oBAAoB,SAAS,OAAO;AAC7E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,uBAAuB,4BAA4B,KAAK,MAAM;AAAA,IAC3F;AAUA,UAAM,cAAc,uBAAuB,8BAA8B,SAAS,KAAK,QAAQ;AAC7F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,uBAAuB,UAAU,kBAAkB,WAAW;AAChF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,uBAAuB,wBAAwB,MAAM,MAAM;AAC/E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,uBAAuB,0BAA0B,SAAS,SAAS,QAAQ;AAC7F,UAAI,IAAI;AACR,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,uBAAuB,UAAU,eAAe,WAAW;AAC7E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,uBAAuB,UAAU,eAAe,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,cAAc,uBAAuB,UAAU,QAAQ,WAAW;AACtE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,uBAAuB,UAAU,QAAQ,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,wBAAwB,UAAU,WAAW,SAAS,qBAAqB;AAC7F,eAAO,MAAM,cAAc,wBAAwB,SAAS,qBAAqB,IAAI;AAAA,MACvF;AAYA,YAAM,cAAc,wBAAwB,WAAW,SAAS,iBAAiB,KAAK;AACpF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,cAAc,aAAa,SAAS,iBAAiB,CAAC;AAAA,UACzF,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,wBAAwB,oBAAoB,SAAS,OAAO;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,wBAAwB,4BAA4B,KAAK,MAAM;AAAA,IAC5F;AAUA,UAAM,cAAc,wBAAwB,8BAA8B,SAAS,KAAK,QAAQ;AAC9F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,cAAc;AACpC,mBAAO,YAAY,OAAM,MAAM,cAAc,aAAa,2BAA2B;AACrF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,wBAAwB,UAAU,kBAAkB,WAAW;AACjF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,wBAAwB,wBAAwB,MAAM,MAAM;AAChF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,wBAAwB,0BAA0B,SAAS,SAAS,QAAQ;AAC9F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,cAAc,aAAa;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,wBAAwB,UAAU,UAAU,WAAW;AACzE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,cAAc,wBAAwB,UAAU,UAAU,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,cAAc,wBAAwB,UAAU,aAAa,WAAW;AAC5E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,cAAc,wBAAwB,UAAU,aAAa,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,wBAAwB,UAAU,UAAU,WAAW;AACzE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,cAAc,cAAc,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,cAAc,wBAAwB,UAAU,UAAU,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,wBAAwB,UAAU,YAAY,WAAW;AAC3E,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,cAAc,wBAAwB,UAAU,UAAU,WAAW;AACzE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,cAAc,wBAAwB,UAAU,WAAW,WAAW;AAC1E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,cAAc,wBAAwB,UAAU,WAAW,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,wBAAwB,UAAU,aAAa,WAAW;AAC5E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,cAAc,wBAAwB,UAAU,WAAW,WAAW;AAC1E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,cAAc,2BAA2B,kBAAkB,CAAC,CAAC;AAInE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,2BAA2B,UAAU,WAAW,SAAS,qBAAqB;AAChG,eAAO,MAAM,cAAc,2BAA2B,SAAS,qBAAqB,IAAI;AAAA,MAC1F;AAYA,YAAM,cAAc,2BAA2B,WAAW,SAAS,iBAAiB,KAAK;AACvF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,MAAM,cAAc,aAAa;AAAA,YAAU;AAAA,UAAe;AAAA,UAC1D,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,YAAY,IAAI,IAAI,aAAa,MAAM,UAAU,UAAU,SAAS,iBAAiB,CAAC;AAAA,QACxF;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,2BAA2B,oBAAoB,SAAS,OAAO;AACjF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,2BAA2B,4BAA4B,KAAK,MAAM;AAAA,IAC/F;AAUA,UAAM,cAAc,2BAA2B,8BAA8B,SAAS,KAAK,QAAQ;AACjG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,cAAc;AACpC,mBAAO,YAAY,OAAM,MAAM,cAAc,aAAa,2BAA2B;AACrF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,UAAU,2BAA2B;AACxE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,2BAA2B,UAAU,kBAAkB,WAAW;AACpF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,2BAA2B,wBAAwB,MAAM,MAAM;AACnF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,2BAA2B,0BAA0B,SAAS,SAAS,QAAQ;AACjG,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,cAAc,aAAa;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,UAAU;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,cAAc,2BAA2B,UAAU,UAAU,WAAW;AAC5E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,cAAc,2BAA2B,UAAU,UAAU,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,cAAc,2BAA2B,UAAU,aAAa,WAAW;AAC/E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,cAAc,2BAA2B,UAAU,aAAa,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,2BAA2B,UAAU,cAAc,WAAW;AAChF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,cAAc,cAAc,CAAC;AAAA;AAAA,IAClF;AAOA,UAAM,cAAc,2BAA2B,UAAU,cAAc,SAAS,OAAO;AACrF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,cAAc,2BAA2B,UAAU,UAAU,SAAS,WAAW,WAAW;AAChG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,cAAc,cAAc,SAAS;AAAA,IAC/G;AAOA,UAAM,cAAc,2BAA2B,UAAU,gBAAgB,WAAW;AAClF,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,cAAc,2BAA2B,UAAU,WAAW,WAAW;AAC7E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,cAAc,2BAA2B,UAAU,WAAW,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,2BAA2B,UAAU,aAAa,WAAW;AAC/E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,cAAc,2BAA2B,UAAU,WAAW,WAAW;AAC7E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,cAAc,2BAA2B,UAAU,eAAe,WAAW;AACjF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,WAAW,CAAC;AAAA;AAAA,IAC7D;AAOA,UAAM,cAAc,2BAA2B,UAAU,eAAe,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,2BAA2B,UAAU,iBAAiB,WAAW;AACnF,aAAO,KAAK,aAAa,MAAS;AAAA,IACpC;AAOA,UAAM,cAAc,2BAA2B,UAAU,eAAe,WAAW;AACjF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,cAAc,aAAa,UAAU,WAAW,SAAS,qBAAqB;AAClF,eAAO,MAAM,cAAc,aAAa,SAAS,qBAAqB,IAAI;AAAA,MAC5E;AAYA,YAAM,cAAc,aAAa,WAAW,SAAS,iBAAiB,KAAK;AACzE,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,SAAS,IAAI,IAAI,UAAU,MAAM,0BAA0B,OAAO,SAAS,iBAAiB,CAAC;AAAA,UAC7F,UAAU,IAAI,IAAI,WAAW,MAAM,0BAA0B,OAAO,SAAS,iBAAiB,CAAC;AAAA,UAC/F,WAAW,IAAI,IAAI,YAAY,MAAM,0BAA0B,OAAO,SAAS,iBAAiB,CAAC;AAAA,UACjG,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACnD,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC7G,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC7G,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACzD,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACvD,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,IAAI,GAAG;AAAA,UAC7D,MAAM,KAAK,QAAQ,oBAAoB,KAAK,IAAI,CAAC;AAAA,UACjD,gBAAgB,KAAK,QAAQ,iCAAiC,KAAK,IAAI,CAAG;AAAA,UAC1E,eAAe,KAAK,QAAQ,oBAAoB,KAAK,IAAI,CAAC;AAAA,UAC1D,aAAa,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,UACzD,iBAAiB,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,UAC7D,WAAW,KAAK,QAAQ,oBAAoB,KAAK,IAAI,GAAG;AAAA,UACxD,oBAAoB,IAAI,IAAI,qBAAqB,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,QAClG;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,cAAc,aAAa,oBAAoB,SAAS,OAAO;AACnE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,cAAc;AAClC,aAAO,MAAM,cAAc,aAAa,4BAA4B,KAAK,MAAM;AAAA,IACjF;AAUA,UAAM,cAAc,aAAa,8BAA8B,SAAS,KAAK,QAAQ;AACnF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,0BAA0B;AAC1C,mBAAO,YAAY,OAAM,0BAA0B,OAAO,2BAA2B;AACrF,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,0BAA0B;AAC1C,mBAAO,YAAY,OAAM,0BAA0B,OAAO,2BAA2B;AACrF,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,0BAA0B;AAC1C,mBAAO,YAAY,OAAM,0BAA0B,OAAO,2BAA2B;AACrF,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,iBAAiB,KAAK;AAC1B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,mBAAmB,KAAK;AAC5B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,qBAAqB;AACrC,mBAAO,YAAY,OAAO,SAAS,SAASC,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,YAAY,MAAM,IAAI,EAAE;AAAA,YACvI,CAAC;AACJ;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,cAAc,aAAa,UAAU,kBAAkB,WAAW;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,cAAc,aAAa,wBAAwB,MAAM,MAAM;AACrE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,cAAc,aAAa,0BAA0B,SAAS,SAAS,QAAQ;AACnF,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,UAAU;AACtB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,0BAA0B,OAAO;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,0BAA0B,OAAO;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,0BAA0B,OAAO;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,UAAU;AACtB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,MAAM,GAAK;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,mBAAmB;AAC/B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,qBAAqB,IAAI;AACrC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,IAAI,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,WAAW;AAAA,MAChH;AAAA,IACF;AAOA,UAAM,cAAc,aAAa,UAAU,QAAQ,WAAW;AAC5D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,aAAa,UAAU,QAAQ,SAAS,OAAO;AACjE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,cAAc,aAAa,UAAU,YAAY,WAAW;AAChE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,0BAA0B,QAAQ,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,cAAc,aAAa,UAAU,YAAY,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,aAAa,UAAU,cAAc,WAAW;AAClE,aAAO,KAAK,UAAU,MAAS;AAAA,IACjC;AAOA,UAAM,cAAc,aAAa,UAAU,YAAY,WAAW;AAChE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,cAAc,aAAa,UAAU,aAAa,WAAW;AACjE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,0BAA0B,QAAQ,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,cAAc,aAAa,UAAU,aAAa,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,aAAa,UAAU,eAAe,WAAW;AACnE,aAAO,KAAK,WAAW,MAAS;AAAA,IAClC;AAOA,UAAM,cAAc,aAAa,UAAU,aAAa,WAAW;AACjE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,cAAc,aAAa,UAAU,cAAc,WAAW;AAClE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,0BAA0B,QAAQ,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,cAAc,aAAa,UAAU,cAAc,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,aAAa,UAAU,gBAAgB,WAAW;AACpE,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,cAAc,aAAa,UAAU,cAAc,WAAW;AAClE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,cAAc,aAAa,UAAU,YAAY,WAAW;AAChE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,aAAa,UAAU,YAAY,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,aAAa,UAAU,iBAAiB,WAAW;AACrE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,CAAC;AAAA;AAAA,IAChF;AAOA,UAAM,cAAc,aAAa,UAAU,iBAAiB,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,aAAa,UAAU,mBAAmB,WAAW;AACvE,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,cAAc,aAAa,UAAU,iBAAiB,WAAW;AACrE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,cAAc,aAAa,UAAU,iBAAiB,WAAW;AACrE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,CAAC;AAAA;AAAA,IAChF;AAOA,UAAM,cAAc,aAAa,UAAU,iBAAiB,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,cAAc,aAAa,UAAU,mBAAmB,WAAW;AACvE,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,cAAc,aAAa,UAAU,iBAAiB,WAAW;AACrE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,cAAc,aAAa,UAAU,iBAAiB,WAAW;AACrE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,aAAa,UAAU,iBAAiB,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,cAAc,aAAa,UAAU,eAAe,WAAW;AACnE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,aAAa,UAAU,eAAe,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,cAAc,aAAa,UAAU,oBAAoB,WAAW;AACxE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,GAAG;AAAA;AAAA,IAC9E;AAOA,UAAM,cAAc,aAAa,UAAU,oBAAoB,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,IAAI,KAAK;AAAA,IAC7D;AAOA,UAAM,cAAc,aAAa,UAAU,UAAU,WAAW;AAC9D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,CAAC;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,aAAa,UAAU,UAAU,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,IAAI,KAAK;AAAA,IACvD;AAOA,UAAM,cAAc,aAAa,UAAU,oBAAoB,WAAW;AACxE;AAAA;AAAA,QAA8B,KAAK,QAAQ,iCAAiC,MAAM,IAAI,CAAG;AAAA;AAAA,IAC3F;AAOA,UAAM,cAAc,aAAa,UAAU,oBAAoB,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,oBAAoB,MAAM,IAAI,KAAK;AAAA,IACzD;AAOA,UAAM,cAAc,aAAa,UAAU,mBAAmB,WAAW;AACvE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,CAAC;AAAA;AAAA,IAC5E;AAOA,UAAM,cAAc,aAAa,UAAU,mBAAmB,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,IAAI,KAAK;AAAA,IACvD;AAOA,UAAM,cAAc,aAAa,UAAU,iBAAiB,WAAW;AACrE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,aAAa,UAAU,iBAAiB,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,aAAa,UAAU,qBAAqB,WAAW;AACzE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,cAAc,aAAa,UAAU,qBAAqB,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAOA,UAAM,cAAc,aAAa,UAAU,eAAe,WAAW;AACnE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,GAAG;AAAA;AAAA,IAC9E;AAOA,UAAM,cAAc,aAAa,UAAU,eAAe,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,IAAI,KAAK;AAAA,IAC7D;AASA,UAAM,cAAc,aAAa,UAAU,uBAAuB,SAAS,kBAAkB;AAC3F;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAI;AAAA,UACnC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,cAAc,aAAa,UAAU,yBAAyB,WAAW;AAC7E,WAAK,qBAAqB,EAAE,MAAM;AAClC,aAAO;AAAA,IAAK;AAGd,SAAK,OAAO,OAAO,SAAS,MAAM,aAAa;AAAA;AAAA;;;AC7hS/C;AAAA;AAAA;AAGA,QAAI,mBAAmB;AACvB,QAAI,YAAY;AAChB,QAAIC,QAAO,UAAQ,0BAA0B,EAAE;AAE/C,QAAIC,oBAAoB,WAAY;AAClC,eAASA,oBAAmB;AAAA,MAAC;AAC7B,MAAAA,kBAAiB,cAAc;AAC/B,aAAOA;AAAA,IACT,EAAE;AAEF,IAAAA,kBAAiB,eAAe;AAAA,MAC9B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,kBAAkB;AAAA,MACjC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,kBAAkB;AAAA,MACjC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,qBAAqB;AAAA,MACpC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,0BAA0B;AAAA,MACzC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,0BAA0B;AAAA,MACzC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,iCAAiC;AAAA,MAChD,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,wBAAwB;AAAA,MACvC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,iCAAiC;AAAA,MAChD,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,UAAU;AAAA,IAC1B;AAEA,IAAAA,kBAAiB,iCAAiC;AAAA,MAChD,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,UAAU;AAAA,IAC1B;AAEA,IAAAA,kBAAiB,qBAAqB;AAAA,MACpC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,IAAAA,kBAAiB,kBAAkB;AAAA,MACjC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,iBAAiB;AAAA,MAC9B,cAAc,iBAAiB;AAAA,IACjC;AAEA,YAAQ,mBAAmBA;AAE3B,aAASC,wBAAuB,aAAa,SAAS;AACpD,WAAK,cAAc;AACnB,WAAK,UAAU,WAAW,CAAC;AAAA,IAC7B;AAEA,IAAAA,wBAAuB,UAAU,eAAe,SAAS,aAAa,gBAAgB,UAAU,UAAU;AACxG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,cAAc;AAAA,QACrD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,kBAAkB,SAAS,gBAAgB,gBAAgB,UAAU,UAAU;AAC9G,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,iBAAiB;AAAA,QACxD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,kBAAkB,SAAS,gBAAgB,gBAAgB,UAAU,UAAU;AAC9G,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,iBAAiB;AAAA,QACxD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,qBAAqB,SAAS,mBAAmB,gBAAgB,UAAU,UAAU;AACpH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,oBAAoB;AAAA,QAC3D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,0BAA0B,SAAS,wBAAwB,gBAAgB,UAAU,UAAU;AAC9H,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,yBAAyB;AAAA,QAChE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,0BAA0B,SAAS,wBAAwB,gBAAgB,UAAU,UAAU;AAC9H,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,yBAAyB;AAAA,QAChE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,iCAAiC,SAAS,+BAA+B,gBAAgB,UAAU,UAAU;AAC5I,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,gCAAgC;AAAA,QACvE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,wBAAwB,SAAS,sBAAsB,gBAAgB,UAAU,UAAU;AAC1H,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,uBAAuB;AAAA,QAC9D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,iCAAiC,SAAS,+BAA+B,gBAAgB,UAAU,UAAU;AAC5I,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,gCAAgC;AAAA,QACvE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,iCAAiC,SAAS,+BAA+B,gBAAgB,UAAU,UAAU;AAC5I,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,gCAAgC;AAAA,QACvE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,qBAAqB,SAAS,mBAAmB,gBAAgB,UAAU,UAAU;AACpH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,oBAAoB;AAAA,QAC3D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,wBAAuB,UAAU,kBAAkB,SAAS,gBAAgB,gBAAgB,UAAU,UAAU;AAC9G,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,kBAAiB,iBAAiB;AAAA,QACxD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,yBAAyBE;AAAA;AAAA;;;ACpfjC;AAAA;AAAA;AAaA,QAAI,OAAO,UAAQ,iBAAiB;AACpC,QAAI,OAAO;AACX,QAAI,SAAU,WAAW;AAAE,aAAO,QAAQ,UAAU,UAAU,QAAQ,SAAS,aAAa,EAAE;AAAA,IAAG,EAAG,KAAK,IAAI;AAE7G,SAAK,aAAa,oDAAoD,MAAM,MAAM;AAClF,SAAK,aAAa,qDAAqD,MAAM,MAAM;AAWnF,UAAM,aAAa,gCAAgC,SAAS,UAAU;AACpE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,aAAa,8BAA8B,iBAAiB,IAAI;AAAA,IACvH;AACA,SAAK,SAAS,MAAM,aAAa,+BAA+B,KAAK,OAAO;AAC5E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,8BAA8B,cAAc;AAAA,IACjE;AAWA,UAAM,aAAa,iCAAiC,SAAS,UAAU;AACrE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,gCAAgC,KAAK,OAAO;AAC7E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,+BAA+B,cAAc;AAAA,IAClE;AAOA,UAAM,aAAa,8BAA8B,kBAAkB,CAAC,CAAC;AAIrE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,8BAA8B,UAAU,WAAW,SAAS,qBAAqB;AAClG,eAAO,MAAM,aAAa,8BAA8B,SAAS,qBAAqB,IAAI;AAAA,MAC5F;AAYA,YAAM,aAAa,8BAA8B,WAAW,SAAS,iBAAiB,KAAK;AACzF,YAAI,GAAG,MAAM;AAAA,UACX,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACzD,0BAA0B,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAC3F,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACxD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,8BAA8B,oBAAoB,SAAS,OAAO;AACnF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,8BAA8B,4BAA4B,KAAK,MAAM;AAAA,IACjG;AAUA,UAAM,aAAa,8BAA8B,8BAA8B,SAAS,KAAK,QAAQ;AACnG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAwC,OAAO,YAAY,IAAI,OAAO,uBAAuB,IAAI,CAAC,OAAO,iBAAiB,CAAC;AAAA;AAC/H,qBAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,kBAAI,uBAAuB,OAAO,CAAC,CAAC;AAAA,YACtC;AACA;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,8BAA8B,UAAU,kBAAkB,WAAW;AACtF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,8BAA8B,wBAAwB,MAAM,MAAM;AACrF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,8BAA8B,0BAA0B,SAAS,SAAS,QAAQ;AACnG,UAAI,IAAI;AACR,UAAI,QAAQ,eAAe;AAC3B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,2BAA2B;AACvC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,8BAA8B,UAAU,iBAAiB,WAAW;AACrF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,8BAA8B,UAAU,iBAAiB,SAAS,OAAO;AAC1F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,8BAA8B,UAAU,6BAA6B,WAAW;AACjG;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,8BAA8B,UAAU,6BAA6B,SAAS,OAAO;AACtG,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,aAAa,8BAA8B,UAAU,yBAAyB,SAAS,OAAO,WAAW;AAC7G,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,aAAa,8BAA8B,UAAU,+BAA+B,WAAW;AACnG,aAAO,KAAK,2BAA2B,CAAC,CAAC;AAAA,IAC3C;AAOA,UAAM,aAAa,8BAA8B,UAAU,eAAe,WAAW;AACnF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,aAAa,8BAA8B,UAAU,eAAe,SAAS,OAAO;AACxF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,+BAA+B,UAAU,WAAW,SAAS,qBAAqB;AACnG,eAAO,MAAM,aAAa,+BAA+B,SAAS,qBAAqB,IAAI;AAAA,MAC7F;AAYA,YAAM,aAAa,+BAA+B,WAAW,SAAS,iBAAiB,KAAK;AAC1F,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,QAChE;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,+BAA+B,oBAAoB,SAAS,OAAO;AACpF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,+BAA+B,4BAA4B,KAAK,MAAM;AAAA,IAClG;AAUA,UAAM,aAAa,+BAA+B,8BAA8B,SAAS,KAAK,QAAQ;AACpG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,+BAA+B,UAAU,kBAAkB,WAAW;AACvF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,+BAA+B,wBAAwB,MAAM,MAAM;AACtF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,+BAA+B,0BAA0B,SAAS,SAAS,QAAQ;AACpG,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,+BAA+B,UAAU,UAAU,WAAW;AAC/E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,aAAa,+BAA+B,UAAU,UAAU,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,aAAa,+BAA+B,UAAU,aAAa,WAAW;AAClF;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,+BAA+B,UAAU,aAAa,SAAS,OAAO;AACvF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAGA,SAAK,OAAO,OAAO,SAAS,MAAM,YAAY;AAAA;AAAA;;;ACvb9C;AAAA;AAAA;AAGA,QAAI,kBAAkB;AACtB,QAAIC,QAAO,UAAQ,0BAA0B,EAAE;AAE/C,QAAIC,mBAAmB,WAAY;AACjC,eAASA,mBAAkB;AAAA,MAAC;AAC5B,MAAAA,iBAAgB,cAAc;AAC9B,aAAOA;AAAA,IACT,EAAE;AAEF,IAAAA,iBAAgB,yBAAyB;AAAA,MACvC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,gBAAgB;AAAA,MAC7B,cAAc,gBAAgB;AAAA,IAChC;AAEA,YAAQ,kBAAkBA;AAE1B,aAASC,uBAAsB,aAAa,SAAS;AACnD,WAAK,cAAc;AACnB,WAAK,UAAU,WAAW,CAAC;AAAA,IAC7B;AAEA,IAAAA,uBAAsB,UAAU,yBAAyB,SAAS,uBAAuB,gBAAgB,UAAU,UAAU;AAC3H,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,iBAAgB,wBAAwB;AAAA,QAC9D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,wBAAwBE;AAAA;AAAA;;;AC3DhC;AAAA;AAAA;AAaA,QAAI,OAAO,UAAQ,iBAAiB;AACpC,QAAI,OAAO;AACX,QAAI,SAAU,WAAW;AAAE,aAAO,QAAQ,UAAU,UAAU,QAAQ,SAAS,aAAa,EAAE;AAAA,IAAG,EAAG,KAAK,IAAI;AAE7G,QAAI,+BAA+B,UAAQ,iDAAiD;AAC5F,SAAK,OAAO,OAAO,OAAO,4BAA4B;AACtD,QAAI,4BAA4B,UAAQ,8CAA8C;AACtF,SAAK,OAAO,OAAO,OAAO,yBAAyB;AACnD,QAAI,YAAY;AAChB,SAAK,OAAO,OAAO,OAAO,SAAS;AACnC,SAAK,aAAa,mDAAmD,MAAM,MAAM;AACjF,SAAK,aAAa,2CAA2C,MAAM,MAAM;AACzE,SAAK,aAAa,uDAAuD,MAAM,MAAM;AACrF,SAAK,aAAa,wDAAwD,MAAM,MAAM;AACtF,SAAK,aAAa,wCAAwC,MAAM,MAAM;AACtE,SAAK,aAAa,yCAAyC,MAAM,MAAM;AACvE,SAAK,aAAa,mCAAmC,MAAM,MAAM;AAWjE,UAAM,UAAU,kBAAkB,SAAS,UAAU;AACnD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,UAAU,iBAAiB,KAAK,OAAO;AAC3D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,UAAU,gBAAgB,cAAc;AAAA,IAChD;AAWA,UAAM,UAAU,kCAAkC,SAAS,UAAU;AACnE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,UAAU,iCAAiC,KAAK,OAAO;AAC3E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,UAAU,gCAAgC,cAAc;AAAA,IAChE;AAWA,UAAM,UAAU,0BAA0B,SAAS,UAAU;AAC3D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,UAAU,yBAAyB,KAAK,OAAO;AACnE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,UAAU,wBAAwB,cAAc;AAAA,IACxD;AAWA,UAAM,UAAU,sCAAsC,SAAS,UAAU;AACvE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,UAAU,oCAAoC,iBAAiB,IAAI;AAAA,IAC1H;AACA,SAAK,SAAS,MAAM,UAAU,qCAAqC,KAAK,OAAO;AAC/E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,UAAU,oCAAoC,cAAc;AAAA,IACpE;AAWA,UAAM,UAAU,uCAAuC,SAAS,UAAU;AACxE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,UAAU,qCAAqC,iBAAiB,IAAI;AAAA,IAC3H;AACA,SAAK,SAAS,MAAM,UAAU,sCAAsC,KAAK,OAAO;AAChF,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,UAAU,qCAAqC,cAAc;AAAA,IACrE;AAWA,UAAM,UAAU,wBAAwB,SAAS,UAAU;AACzD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,UAAU,uBAAuB,KAAK,OAAO;AACjE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,UAAU,sBAAsB,cAAc;AAAA,IACtD;AAWA,UAAM,UAAU,uBAAuB,SAAS,UAAU;AACxD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,UAAU,sBAAsB,KAAK,OAAO;AAChE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,UAAU,qBAAqB,cAAc;AAAA,IACrD;AAIA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,UAAU,gBAAgB,UAAU,WAAW,SAAS,qBAAqB;AACjF,eAAO,MAAM,UAAU,gBAAgB,SAAS,qBAAqB,IAAI;AAAA,MAC3E;AAYA,YAAM,UAAU,gBAAgB,WAAW,SAAS,iBAAiB,KAAK;AACxE,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,QAAQ,IAAI,IAAI,SAAS,MAAM,0BAA0B,OAAO,SAAS,iBAAiB,CAAC;AAAA,UAC3F,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACnD,UAAU,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACrD,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAC5D,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC7G,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC7G,eAAe,IAAI,IAAI,gBAAgB,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,QACjH;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,UAAU,gBAAgB,oBAAoB,SAAS,OAAO;AAClE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,UAAU;AAC9B,aAAO,MAAM,UAAU,gBAAgB,4BAA4B,KAAK,MAAM;AAAA,IAChF;AAUA,UAAM,UAAU,gBAAgB,8BAA8B,SAAS,KAAK,QAAQ;AAClF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,0BAA0B;AAC1C,mBAAO,YAAY,OAAM,0BAA0B,OAAO,2BAA2B;AACrF,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,UAAU,gBAAgB,UAAU,kBAAkB,WAAW;AACrE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,UAAU,gBAAgB,wBAAwB,MAAM,MAAM;AACpE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,UAAU,gBAAgB,0BAA0B,SAAS,SAAS,QAAQ;AAClF,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,0BAA0B,OAAO;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,UAAU;AACtB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AAAA,IACF;AAOA,UAAM,UAAU,gBAAgB,UAAU,QAAQ,WAAW;AAC3D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,UAAU,gBAAgB,UAAU,QAAQ,SAAS,OAAO;AAChE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,UAAU,gBAAgB,UAAU,UAAU,WAAW;AAC7D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,UAAU,gBAAgB,UAAU,UAAU,SAAS,OAAO;AAClE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,UAAU,gBAAgB,UAAU,WAAW,WAAW;AAC9D;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,0BAA0B,QAAQ,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,UAAU,gBAAgB,UAAU,WAAW,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,UAAU,gBAAgB,UAAU,aAAa,WAAW;AAChE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,UAAU,gBAAgB,UAAU,WAAW,WAAW;AAC9D,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,UAAU,gBAAgB,UAAU,YAAY,WAAW;AAC/D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,UAAU,gBAAgB,UAAU,YAAY,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,UAAU,gBAAgB,UAAU,cAAc,WAAW;AACjE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,UAAU,gBAAgB,UAAU,cAAc,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,UAAU,gBAAgB,UAAU,oBAAoB,WAAW;AACvE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,UAAU,gBAAgB,UAAU,oBAAoB,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,UAAU,gBAAgB,UAAU,iBAAiB,WAAW;AACpE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,CAAC;AAAA;AAAA,IAChF;AAOA,UAAM,UAAU,gBAAgB,UAAU,iBAAiB,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,UAAU,gBAAgB,UAAU,mBAAmB,WAAW;AACtE,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,UAAU,gBAAgB,UAAU,iBAAiB,WAAW;AACpE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,UAAU,gBAAgB,UAAU,iBAAiB,WAAW;AACpE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,EAAE;AAAA;AAAA,IACjF;AAOA,UAAM,UAAU,gBAAgB,UAAU,iBAAiB,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,UAAU,gBAAgB,UAAU,mBAAmB,WAAW;AACtE,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,UAAU,gBAAgB,UAAU,iBAAiB,WAAW;AACpE,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAOA,UAAM,UAAU,gBAAgB,UAAU,kBAAkB,WAAW;AACrE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,EAAE;AAAA;AAAA,IACjF;AAOA,UAAM,UAAU,gBAAgB,UAAU,kBAAkB,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,UAAU,gBAAgB,UAAU,oBAAoB,WAAW;AACvE,aAAO,KAAK,gBAAgB,MAAS;AAAA,IACvC;AAOA,UAAM,UAAU,gBAAgB,UAAU,kBAAkB,WAAW;AACrE,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,UAAU,gCAAgC,UAAU,WAAW,SAAS,qBAAqB;AACjG,eAAO,MAAM,UAAU,gCAAgC,SAAS,qBAAqB,IAAI;AAAA,MAC3F;AAYA,YAAM,UAAU,gCAAgC,WAAW,SAAS,iBAAiB,KAAK;AACxF,YAAI,GAAG,MAAM;AAAA,UACX,aAAa,IAAI,IAAI,cAAc,MAAM,0BAA0B,OAAO,SAAS,iBAAiB,CAAC;AAAA,UACrG,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,UAAU,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACvD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,UAAU,gCAAgC,oBAAoB,SAAS,OAAO;AAClF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,UAAU;AAC9B,aAAO,MAAM,UAAU,gCAAgC,4BAA4B,KAAK,MAAM;AAAA,IAChG;AAUA,UAAM,UAAU,gCAAgC,8BAA8B,SAAS,KAAK,QAAQ;AAClG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,0BAA0B;AAC1C,mBAAO,YAAY,OAAM,0BAA0B,OAAO,2BAA2B;AACrF,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,UAAU,gCAAgC,UAAU,kBAAkB,WAAW;AACrF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,UAAU,gCAAgC,wBAAwB,MAAM,MAAM;AACpF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,UAAU,gCAAgC,0BAA0B,SAAS,SAAS,QAAQ;AAClG,UAAI,IAAI;AACR,UAAI,QAAQ,cAAc;AAC1B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,0BAA0B,OAAO;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,UAAU,gCAAgC,UAAU,gBAAgB,WAAW;AACnF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,0BAA0B,QAAQ,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,UAAU,gCAAgC,UAAU,gBAAgB,SAAS,OAAO;AACxF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,UAAU,gCAAgC,UAAU,kBAAkB,WAAW;AACrF,aAAO,KAAK,cAAc,MAAS;AAAA,IACrC;AAOA,UAAM,UAAU,gCAAgC,UAAU,gBAAgB,WAAW;AACnF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,UAAU,gCAAgC,UAAU,UAAU,WAAW;AAC7E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,UAAU,gCAAgC,UAAU,UAAU,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,UAAU,gCAAgC,UAAU,cAAc,WAAW;AACjF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,UAAU,gCAAgC,UAAU,cAAc,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,UAAU,wBAAwB,UAAU,WAAW,SAAS,qBAAqB;AACzF,eAAO,MAAM,UAAU,wBAAwB,SAAS,qBAAqB,IAAI;AAAA,MACnF;AAYA,YAAM,UAAU,wBAAwB,WAAW,SAAS,iBAAiB,KAAK;AAChF,YAAI,GAAG,MAAM;AAAA,UACX,SAAS,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,QACvD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,UAAU,wBAAwB,oBAAoB,SAAS,OAAO;AAC1E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,UAAU;AAC9B,aAAO,MAAM,UAAU,wBAAwB,4BAA4B,KAAK,MAAM;AAAA,IACxF;AAUA,UAAM,UAAU,wBAAwB,8BAA8B,SAAS,KAAK,QAAQ;AAC1F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,UAAU,wBAAwB,UAAU,kBAAkB,WAAW;AAC7E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,UAAU,wBAAwB,wBAAwB,MAAM,MAAM;AAC5E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,UAAU,wBAAwB,0BAA0B,SAAS,SAAS,QAAQ;AAC1F,UAAI,IAAI;AACR,UAAI,QAAQ,WAAW;AACvB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,UAAU,wBAAwB,UAAU,aAAa,WAAW;AACxE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,UAAU,wBAAwB,UAAU,aAAa,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AASA,UAAM,UAAU,oCAAoC,kBAAkB,CAAC,CAAC;AAIxE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,UAAU,oCAAoC,UAAU,WAAW,SAAS,qBAAqB;AACrG,eAAO,MAAM,UAAU,oCAAoC,SAAS,qBAAqB,IAAI;AAAA,MAC/F;AAYA,YAAM,UAAU,oCAAoC,WAAW,SAAS,iBAAiB,KAAK;AAC5F,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,IAAI,IAAI,YAAY,MAAM,UAAU,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACnF,eAAe,KAAK,QAAQ;AAAA,YAAa,IAAI,iBAAiB;AAAA,YAC9D,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,QAC9C;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,UAAU,oCAAoC,oBAAoB,SAAS,OAAO;AACtF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,UAAU;AAC9B,aAAO,MAAM,UAAU,oCAAoC,4BAA4B,KAAK,MAAM;AAAA,IACpG;AAUA,UAAM,UAAU,oCAAoC,8BAA8B,SAAS,KAAK,QAAQ;AACtG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,UAAU,oCAAoC,UAAU,kBAAkB,WAAW;AACzF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,UAAU,oCAAoC,wBAAwB,MAAM,MAAM;AACxF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,UAAU,oCAAoC,0BAA0B,SAAS,SAAS,QAAQ;AACtG,UAAI,IAAI;AACR,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,UAAU,oCAAoC,UAAU,cAAc,WAAW;AACrF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IAC5D;AAOA,UAAM,UAAU,oCAAoC,UAAU,cAAc,SAAS,OAAO;AAC1F,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,UAAU,oCAAoC,UAAU,gBAAgB,WAAW;AACvF,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,UAAU,oCAAoC,UAAU,cAAc,WAAW;AACrF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,UAAU,oCAAoC,UAAU,mBAAmB,WAAW;AAC1F;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IACpE;AAOA,UAAM,UAAU,oCAAoC,UAAU,mBAAmB,SAAS,OAAO;AAC/F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,UAAU,oCAAoC,UAAU,eAAe,SAAS,WAAW,WAAW;AAC1G,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,UAAU,SAAS;AAAA,IAC7F;AAOA,UAAM,UAAU,oCAAoC,UAAU,qBAAqB,WAAW;AAC5F,aAAO,KAAK,iBAAiB,CAAC,CAAC;AAAA,IACjC;AASA,UAAM,UAAU,qCAAqC,kBAAkB,CAAC,CAAC;AAIzE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,UAAU,qCAAqC,UAAU,WAAW,SAAS,qBAAqB;AACtG,eAAO,MAAM,UAAU,qCAAqC,SAAS,qBAAqB,IAAI;AAAA,MAChG;AAYA,YAAM,UAAU,qCAAqC,WAAW,SAAS,iBAAiB,KAAK;AAC7F,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,MAAM,UAAU,gBAAgB;AAAA,YAAU;AAAA,UAAe;AAAA,UACzD,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,YAAY,IAAI,IAAI,aAAa,MAAM,UAAU,UAAU,SAAS,iBAAiB,CAAC;AAAA,QACxF;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,UAAU,qCAAqC,oBAAoB,SAAS,OAAO;AACvF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,UAAU;AAC9B,aAAO,MAAM,UAAU,qCAAqC,4BAA4B,KAAK,MAAM;AAAA,IACrG;AAUA,UAAM,UAAU,qCAAqC,8BAA8B,SAAS,KAAK,QAAQ;AACvG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,UAAU;AAChC,mBAAO,YAAY,OAAM,MAAM,UAAU,gBAAgB,2BAA2B;AACpF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,UAAU,2BAA2B;AACxE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,UAAU,qCAAqC,UAAU,kBAAkB,WAAW;AAC1F,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,UAAU,qCAAqC,wBAAwB,MAAM,MAAM;AACzF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,UAAU,qCAAqC,0BAA0B,SAAS,SAAS,QAAQ;AACvG,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,UAAU,gBAAgB;AAAA,QAClC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,UAAU;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,UAAU,qCAAqC,UAAU,UAAU,WAAW;AAClF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,UAAU,qCAAqC,UAAU,UAAU,SAAS,OAAO;AACvF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,UAAU,qCAAqC,UAAU,aAAa,WAAW;AACrF;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,UAAU,qCAAqC,UAAU,aAAa,SAAS,OAAO;AAC1F,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,UAAU,qCAAqC,UAAU,cAAc,WAAW;AACtF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,UAAU,iBAAiB,CAAC;AAAA;AAAA,IACjF;AAOA,UAAM,UAAU,qCAAqC,UAAU,cAAc,SAAS,OAAO;AAC3F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,UAAU,qCAAqC,UAAU,UAAU,SAAS,WAAW,WAAW;AACtG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,UAAU,iBAAiB,SAAS;AAAA,IAC9G;AAOA,UAAM,UAAU,qCAAqC,UAAU,gBAAgB,WAAW;AACxF,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,UAAU,qCAAqC,UAAU,WAAW,WAAW;AACnF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,UAAU,qCAAqC,UAAU,WAAW,SAAS,OAAO;AACxF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,UAAU,qCAAqC,UAAU,aAAa,WAAW;AACrF,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,UAAU,qCAAqC,UAAU,WAAW,WAAW;AACnF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,UAAU,qCAAqC,UAAU,eAAe,WAAW;AACvF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,WAAW,CAAC;AAAA;AAAA,IAC7D;AAOA,UAAM,UAAU,qCAAqC,UAAU,eAAe,SAAS,OAAO;AAC5F,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,UAAU,qCAAqC,UAAU,iBAAiB,WAAW;AACzF,aAAO,KAAK,aAAa,MAAS;AAAA,IACpC;AAOA,UAAM,UAAU,qCAAqC,UAAU,eAAe,WAAW;AACvF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,UAAU,sBAAsB,UAAU,WAAW,SAAS,qBAAqB;AACvF,eAAO,MAAM,UAAU,sBAAsB,SAAS,qBAAqB,IAAI;AAAA,MACjF;AAYA,YAAM,UAAU,sBAAsB,WAAW,SAAS,iBAAiB,KAAK;AAC9E,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,UAAU,gBAAgB,SAAS,iBAAiB,CAAC;AAAA,UACxF,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,UAAU,sBAAsB,oBAAoB,SAAS,OAAO;AACxE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,UAAU;AAC9B,aAAO,MAAM,UAAU,sBAAsB,4BAA4B,KAAK,MAAM;AAAA,IACtF;AAUA,UAAM,UAAU,sBAAsB,8BAA8B,SAAS,KAAK,QAAQ;AACxF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,UAAU;AAChC,mBAAO,YAAY,OAAM,MAAM,UAAU,gBAAgB,2BAA2B;AACpF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,UAAU,sBAAsB,UAAU,kBAAkB,WAAW;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,UAAU,sBAAsB,wBAAwB,MAAM,MAAM;AAC1E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,UAAU,sBAAsB,0BAA0B,SAAS,SAAS,QAAQ;AACxF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,UAAU,gBAAgB;AAAA,QAClC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,UAAU,sBAAsB,UAAU,UAAU,WAAW;AACnE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,UAAU,sBAAsB,UAAU,UAAU,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,UAAU,sBAAsB,UAAU,aAAa,WAAW;AACtE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,UAAU,sBAAsB,UAAU,aAAa,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,UAAU,sBAAsB,UAAU,UAAU,WAAW;AACnE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,UAAU,iBAAiB,CAAC;AAAA;AAAA,IACzE;AAOA,UAAM,UAAU,sBAAsB,UAAU,UAAU,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,UAAU,sBAAsB,UAAU,YAAY,WAAW;AACrE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,UAAU,sBAAsB,UAAU,UAAU,WAAW;AACnE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,UAAU,sBAAsB,UAAU,WAAW,WAAW;AACpE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,UAAU,sBAAsB,UAAU,WAAW,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,UAAU,sBAAsB,UAAU,aAAa,WAAW;AACtE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,UAAU,sBAAsB,UAAU,WAAW,WAAW;AACpE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,UAAU,qBAAqB,UAAU,WAAW,SAAS,qBAAqB;AACtF,eAAO,MAAM,UAAU,qBAAqB,SAAS,qBAAqB,IAAI;AAAA,MAChF;AAYA,YAAM,UAAU,qBAAqB,WAAW,SAAS,iBAAiB,KAAK;AAC7E,YAAI,GAAG,MAAM;AAAA,UACX,SAAS,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,QACvD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,UAAU,qBAAqB,oBAAoB,SAAS,OAAO;AACvE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,UAAU;AAC9B,aAAO,MAAM,UAAU,qBAAqB,4BAA4B,KAAK,MAAM;AAAA,IACrF;AAUA,UAAM,UAAU,qBAAqB,8BAA8B,SAAS,KAAK,QAAQ;AACvF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,UAAU,qBAAqB,UAAU,kBAAkB,WAAW;AAC1E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,UAAU,qBAAqB,wBAAwB,MAAM,MAAM;AACzE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,UAAU,qBAAqB,0BAA0B,SAAS,SAAS,QAAQ;AACvF,UAAI,IAAI;AACR,UAAI,QAAQ,WAAW;AACvB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,UAAU,qBAAqB,UAAU,aAAa,WAAW;AACrE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,UAAU,qBAAqB,UAAU,aAAa,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAGA,SAAK,OAAO,OAAO,SAAS,MAAM,SAAS;AAAA;AAAA;;;ACz2D3C;AAAA;AAAA;AAGA,QAAI,eAAe;AACnB,QAAIC,QAAO,UAAQ,0BAA0B,EAAE;AAE/C,QAAIC,gBAAgB,WAAY;AAC9B,eAASA,gBAAe;AAAA,MAAC;AACzB,MAAAA,cAAa,cAAc;AAC3B,aAAOA;AAAA,IACT,EAAE;AAEF,IAAAA,cAAa,2BAA2B;AAAA,MACtC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,aAAa;AAAA,MAC1B,cAAc,aAAa;AAAA,IAC7B;AAEA,IAAAA,cAAa,+BAA+B;AAAA,MAC1C,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,aAAa;AAAA,MAC1B,cAAc,aAAa;AAAA,IAC7B;AAEA,IAAAA,cAAa,mBAAmB;AAAA,MAC9B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,aAAa;AAAA,MAC1B,cAAc,aAAa;AAAA,IAC7B;AAEA,IAAAA,cAAa,gBAAgB;AAAA,MAC3B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,aAAa;AAAA,MAC1B,cAAc,aAAa;AAAA,IAC7B;AAEA,IAAAA,cAAa,sBAAsB;AAAA,MACjC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,aAAa;AAAA,MAC1B,cAAc,aAAa;AAAA,IAC7B;AAEA,YAAQ,eAAeA;AAEvB,aAASC,oBAAmB,aAAa,SAAS;AAChD,WAAK,cAAc;AACnB,WAAK,UAAU,WAAW,CAAC;AAAA,IAC7B;AAEA,IAAAA,oBAAmB,UAAU,2BAA2B,SAAS,yBAAyB,gBAAgB,UAAU,UAAU;AAC5H,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,cAAa,0BAA0B;AAAA,QAC7D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,oBAAmB,UAAU,+BAA+B,SAAS,6BAA6B,gBAAgB,UAAU,UAAU;AACpI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,cAAa,8BAA8B;AAAA,QACjE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,oBAAmB,UAAU,mBAAmB,SAAS,iBAAiB,gBAAgB,UAAU,UAAU;AAC5G,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,cAAa,kBAAkB;AAAA,QACrD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,oBAAmB,UAAU,gBAAgB,SAAS,cAAc,gBAAgB,UAAU,UAAU;AACtG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,cAAa,eAAe;AAAA,QAClD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,oBAAmB,UAAU,sBAAsB,SAAS,oBAAoB,gBAAgB,UAAU,UAAU;AAClH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,cAAa,qBAAqB;AAAA,QACxD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,qBAAqBE;AAAA;AAAA;;;AC3N7B;AAAA;AAAA;AAaA,QAAI,OAAO,UAAQ,iBAAiB;AACpC,QAAI,OAAO;AACX,QAAI,SAAU,WAAW;AAAE,aAAO,QAAQ,UAAU,UAAU,QAAQ,SAAS,aAAa,EAAE;AAAA,IAAG,EAAG,KAAK,IAAI;AAE7G,QAAI,+BAA+B,UAAQ,iDAAiD;AAC5F,SAAK,OAAO,OAAO,OAAO,4BAA4B;AACtD,QAAI,YAAY;AAChB,SAAK,OAAO,OAAO,OAAO,SAAS;AACnC,SAAK,aAAa,kDAAkD,MAAM,MAAM;AAChF,SAAK,aAAa,8DAA8D,MAAM,MAAM;AAC5F,SAAK,aAAa,+DAA+D,MAAM,MAAM;AAC7F,SAAK,aAAa,yDAAyD,MAAM,MAAM;AACvF,SAAK,aAAa,0DAA0D,MAAM,MAAM;AACxF,SAAK,aAAa,4CAA4C,MAAM,MAAM;AAC1E,SAAK,aAAa,6CAA6C,MAAM,MAAM;AAC3E,SAAK,aAAa,8DAA8D,MAAM,MAAM;AAC5F,SAAK,aAAa,+DAA+D,MAAM,MAAM;AAC7F,SAAK,aAAa,+CAA+C,MAAM,MAAM;AAC7E,SAAK,aAAa,+BAA+B,MAAM,MAAM;AAC7D,SAAK,aAAa,wCAAwC,MAAM,MAAM;AACtE,SAAK,aAAa,iDAAiD,MAAM,MAAM;AAC/E,SAAK,aAAa,kCAAkC,MAAM,MAAM;AAChE,SAAK,aAAa,4CAA4C,MAAM,MAAM;AAC1E,SAAK,aAAa,qDAAqD,MAAM,MAAM;AACnF,SAAK,aAAa,iDAAiD,MAAM,MAAM;AAC/E,SAAK,aAAa,0CAA0C,MAAM,MAAM;AACxE,SAAK,aAAa,+CAA+C,MAAM,MAAM;AAC7E,SAAK,aAAa,gDAAgD,MAAM,MAAM;AAC9E,SAAK,aAAa,yDAAyD,MAAM,MAAM;AACvF,SAAK,aAAa,0DAA0D,MAAM,MAAM;AACxF,SAAK,aAAa,4CAA4C,MAAM,MAAM;AAC1E,SAAK,aAAa,6CAA6C,MAAM,MAAM;AAC3E,SAAK,aAAa,4CAA4C,MAAM,MAAM;AAC1E,SAAK,aAAa,6CAA6C,MAAM,MAAM;AAC3E,SAAK,aAAa,yCAAyC,MAAM,MAAM;AACvE,SAAK,aAAa,0CAA0C,MAAM,MAAM;AACxE,SAAK,aAAa,kDAAkD,MAAM,MAAM;AAChF,SAAK,aAAa,mDAAmD,MAAM,MAAM;AACjF,SAAK,aAAa,oDAAoD,MAAM,MAAM;AAWlF,UAAM,aAAa,oBAAoB,SAAS,UAAU;AACxD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,mBAAmB,KAAK,OAAO;AAChE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,kBAAkB,cAAc;AAAA,IACrD;AAWA,UAAM,aAAa,iCAAiC,SAAS,UAAU;AACrE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,aAAa,+BAA+B,iBAAiB,IAAI;AAAA,IACxH;AACA,SAAK,SAAS,MAAM,aAAa,gCAAgC,KAAK,OAAO;AAC7E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,+BAA+B,cAAc;AAAA,IAClE;AAWA,UAAM,aAAa,wBAAwB,SAAS,UAAU;AAC5D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,aAAa,sBAAsB,iBAAiB,IAAI;AAAA,IAC/G;AACA,SAAK,SAAS,MAAM,aAAa,uBAAuB,KAAK,OAAO;AACpE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,sBAAsB,cAAc;AAAA,IACzD;AAWA,UAAM,aAAa,yBAAyB,SAAS,UAAU;AAC7D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,wBAAwB,KAAK,OAAO;AACrE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,uBAAuB,cAAc;AAAA,IAC1D;AAWA,UAAM,aAAa,wBAAwB,SAAS,UAAU;AAC5D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,KAAK,MAAM,aAAa,sBAAsB,iBAAiB,IAAI;AAAA,IAChH;AACA,SAAK,SAAS,MAAM,aAAa,uBAAuB,KAAK,OAAO;AACpE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,sBAAsB,cAAc;AAAA,IACzD;AAWA,UAAM,aAAa,8BAA8B,SAAS,UAAU;AAClE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,6BAA6B,KAAK,OAAO;AAC1E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,4BAA4B,cAAc;AAAA,IAC/D;AAWA,UAAM,aAAa,WAAW,SAAS,UAAU;AAC/C,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,KAAK,MAAM,IAAI;AAAA,IAC5D;AACA,SAAK,SAAS,MAAM,aAAa,UAAU,KAAK,OAAO;AACvD,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,SAAS,cAAc;AAAA,IAC5C;AAWA,UAAM,aAAa,qCAAqC,SAAS,UAAU;AACzE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,oCAAoC,KAAK,OAAO;AACjF,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,mCAAmC,cAAc;AAAA,IACtE;AAWA,UAAM,aAAa,sCAAsC,SAAS,UAAU;AAC1E,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,qCAAqC,KAAK,OAAO;AAClF,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,oCAAoC,cAAc;AAAA,IACvE;AAWA,UAAM,aAAa,qBAAqB,SAAS,UAAU;AACzD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,oBAAoB,KAAK,OAAO;AACjE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,mBAAmB,cAAc;AAAA,IACtD;AAWA,UAAM,aAAa,sBAAsB,SAAS,UAAU;AAC1D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,qBAAqB,KAAK,OAAO;AAClE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,oBAAoB,cAAc;AAAA,IACvD;AAWA,UAAM,aAAa,wBAAwB,SAAS,UAAU;AAC5D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,aAAa,sBAAsB,iBAAiB,IAAI;AAAA,IAC/G;AACA,SAAK,SAAS,MAAM,aAAa,uBAAuB,KAAK,OAAO;AACpE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,sBAAsB,cAAc;AAAA,IACzD;AAWA,UAAM,aAAa,yBAAyB,SAAS,UAAU;AAC7D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,aAAa,uBAAuB,iBAAiB,IAAI;AAAA,IAChH;AACA,SAAK,SAAS,MAAM,aAAa,wBAAwB,KAAK,OAAO;AACrE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,uBAAuB,cAAc;AAAA,IAC1D;AAWA,UAAM,aAAa,qCAAqC,SAAS,UAAU;AACzE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,aAAa,mCAAmC,iBAAiB,IAAI;AAAA,IAC5H;AACA,SAAK,SAAS,MAAM,aAAa,oCAAoC,KAAK,OAAO;AACjF,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,mCAAmC,cAAc;AAAA,IACtE;AAWA,UAAM,aAAa,sCAAsC,SAAS,UAAU;AAC1E,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,aAAa,oCAAoC,iBAAiB,IAAI;AAAA,IAC7H;AACA,SAAK,SAAS,MAAM,aAAa,qCAAqC,KAAK,OAAO;AAClF,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,oCAAoC,cAAc;AAAA,IACvE;AAWA,UAAM,aAAa,+BAA+B,SAAS,UAAU;AACnE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,8BAA8B,KAAK,OAAO;AAC3E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,6BAA6B,cAAc;AAAA,IAChE;AAWA,UAAM,aAAa,gCAAgC,SAAS,UAAU;AACpE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,+BAA+B,KAAK,OAAO;AAC5E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,8BAA8B,cAAc;AAAA,IACjE;AAWA,UAAM,aAAa,6BAA6B,SAAS,UAAU;AACjE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,KAAK,MAAM,aAAa,2BAA2B,iBAAiB,IAAI;AAAA,IACrH;AACA,SAAK,SAAS,MAAM,aAAa,4BAA4B,KAAK,OAAO;AACzE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,2BAA2B,cAAc;AAAA,IAC9D;AAWA,UAAM,aAAa,6BAA6B,SAAS,UAAU;AACjE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,KAAK,MAAM,IAAI;AAAA,IAC5D;AACA,SAAK,SAAS,MAAM,aAAa,4BAA4B,KAAK,OAAO;AACzE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,2BAA2B,cAAc;AAAA,IAC9D;AAWA,UAAM,aAAa,0CAA0C,SAAS,UAAU;AAC9E,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,yCAAyC,KAAK,OAAO;AACtF,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,wCAAwC,cAAc;AAAA,IAC3E;AAWA,UAAM,aAAa,2CAA2C,SAAS,UAAU;AAC/E,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,0CAA0C,KAAK,OAAO;AACvF,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,yCAAyC,cAAc;AAAA,IAC5E;AAWA,UAAM,aAAa,0CAA0C,SAAS,UAAU;AAC9E,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,yCAAyC,KAAK,OAAO;AACtF,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,wCAAwC,cAAc;AAAA,IAC3E;AAWA,UAAM,aAAa,2CAA2C,SAAS,UAAU;AAC/E,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,0CAA0C,KAAK,OAAO;AACvF,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,yCAAyC,cAAc;AAAA,IAC5E;AAWA,UAAM,aAAa,2BAA2B,SAAS,UAAU;AAC/D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,aAAa,yBAAyB,iBAAiB,IAAI;AAAA,IAClH;AACA,SAAK,SAAS,MAAM,aAAa,0BAA0B,KAAK,OAAO;AACvE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,yBAAyB,cAAc;AAAA,IAC5D;AAWA,UAAM,aAAa,sBAAsB,SAAS,UAAU;AAC1D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,qBAAqB,KAAK,OAAO;AAClE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,oBAAoB,cAAc;AAAA,IACvD;AAWA,UAAM,aAAa,8BAA8B,SAAS,UAAU;AAClE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,6BAA6B,KAAK,OAAO;AAC1E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,4BAA4B,cAAc;AAAA,IAC/D;AAWA,UAAM,aAAa,cAAc,SAAS,UAAU;AAClD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,aAAa,YAAY,iBAAiB,IAAI;AAAA,IACrG;AACA,SAAK,SAAS,MAAM,aAAa,aAAa,KAAK,OAAO;AAC1D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,YAAY,cAAc;AAAA,IAC/C;AAWA,UAAM,aAAa,2BAA2B,SAAS,UAAU;AAC/D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,aAAa,yBAAyB,iBAAiB,IAAI;AAAA,IAClH;AACA,SAAK,SAAS,MAAM,aAAa,0BAA0B,KAAK,OAAO;AACvE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,yBAAyB,cAAc;AAAA,IAC5D;AAWA,UAAM,aAAa,4BAA4B,SAAS,UAAU;AAChE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,aAAa,0BAA0B,iBAAiB,IAAI;AAAA,IACnH;AACA,SAAK,SAAS,MAAM,aAAa,2BAA2B,KAAK,OAAO;AACxE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,0BAA0B,cAAc;AAAA,IAC7D;AAWA,UAAM,aAAa,wBAAwB,SAAS,UAAU;AAC5D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,uBAAuB,KAAK,OAAO;AACpE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,sBAAsB,cAAc;AAAA,IACzD;AAWA,UAAM,aAAa,yBAAyB,SAAS,UAAU;AAC7D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,wBAAwB,KAAK,OAAO;AACrE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,uBAAuB,cAAc;AAAA,IAC1D;AAIA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,kBAAkB,UAAU,WAAW,SAAS,qBAAqB;AACtF,eAAO,MAAM,aAAa,kBAAkB,SAAS,qBAAqB,IAAI;AAAA,MAChF;AAYA,YAAM,aAAa,kBAAkB,WAAW,SAAS,iBAAiB,KAAK;AAC7E,YAAI,GAAG,MAAM;AAAA,UACX,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACnD,kBAAkB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAC9D,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACvD,UAAU,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACrD,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QAC1D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,kBAAkB,oBAAoB,SAAS,OAAO;AACvE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,kBAAkB,4BAA4B,KAAK,MAAM;AAAA,IACrF;AAUA,UAAM,aAAa,kBAAkB,8BAA8B,SAAS,KAAK,QAAQ;AACvF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,oBAAoB,KAAK;AAC7B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,kBAAkB,UAAU,kBAAkB,WAAW;AAC1E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,kBAAkB,wBAAwB,MAAM,MAAM;AACzE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,kBAAkB,0BAA0B,SAAS,SAAS,QAAQ;AACvF,UAAI,IAAI;AACR,UAAI,QAAQ,UAAU;AACtB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,oBAAoB;AAChC,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,kBAAkB,UAAU,YAAY,WAAW;AACpE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,aAAa,kBAAkB,UAAU,YAAY,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,aAAa,kBAAkB,UAAU,sBAAsB,WAAW;AAC9E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,kBAAkB,UAAU,sBAAsB,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,kBAAkB,UAAU,gBAAgB,WAAW;AACxE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,aAAa,kBAAkB,UAAU,gBAAgB,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,aAAa,kBAAkB,UAAU,cAAc,WAAW;AACtE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,aAAa,kBAAkB,UAAU,cAAc,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,aAAa,kBAAkB,UAAU,UAAU,WAAW;AAClE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,aAAa,kBAAkB,UAAU,UAAU,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,aAAa,kBAAkB,UAAU,iBAAiB,WAAW;AACzE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,aAAa,kBAAkB,UAAU,iBAAiB,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,aAAa,+BAA+B,kBAAkB,CAAC,CAAC;AAItE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,+BAA+B,UAAU,WAAW,SAAS,qBAAqB;AACnG,eAAO,MAAM,aAAa,+BAA+B,SAAS,qBAAqB,IAAI;AAAA,MAC7F;AAYA,YAAM,aAAa,+BAA+B,WAAW,SAAS,iBAAiB,KAAK;AAC1F,YAAI,GAAG,MAAM;AAAA,UACX,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACxD,qBAAqB,IAAI,IAAI,sBAAsB,MAAM,UAAU,uBAAuB,SAAS,iBAAiB,CAAC;AAAA,UACrH,mBAAmB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAC9D,0BAA0B,KAAK,QAAQ;AAAA,YAAa,IAAI,4BAA4B;AAAA,YACpF,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,QAC9C;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,+BAA+B,oBAAoB,SAAS,OAAO;AACpF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,+BAA+B,4BAA4B,KAAK,MAAM;AAAA,IAClG;AAUA,UAAM,aAAa,+BAA+B,8BAA8B,SAAS,KAAK,QAAQ;AACpG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,uBAAuB,2BAA2B;AACrF,gBAAI,sBAAsB,KAAK;AAC/B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,qBAAqB,KAAK;AAC9B;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,wBAAwB,KAAK;AACjC;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,+BAA+B,UAAU,kBAAkB,WAAW;AACvF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,+BAA+B,wBAAwB,MAAM,MAAM;AACtF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,+BAA+B,0BAA0B,SAAS,SAAS,QAAQ;AACpG,UAAI,IAAI;AACR,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,sBAAsB;AAClC,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,uBAAuB;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,qBAAqB;AACjC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,4BAA4B;AACxC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,+BAA+B,UAAU,iBAAiB,WAAW;AACtF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,aAAa,+BAA+B,UAAU,iBAAiB,SAAS,OAAO;AAC3F,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,aAAa,+BAA+B,UAAU,wBAAwB,WAAW;AAC7F;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,wBAAwB,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,aAAa,+BAA+B,UAAU,wBAAwB,SAAS,OAAO;AAClG,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,+BAA+B,UAAU,0BAA0B,WAAW;AAC/F,aAAO,KAAK,sBAAsB,MAAS;AAAA,IAC7C;AAOA,UAAM,aAAa,+BAA+B,UAAU,wBAAwB,WAAW;AAC7F,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,+BAA+B,UAAU,uBAAuB,WAAW;AAC5F;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,aAAa,+BAA+B,UAAU,uBAAuB,SAAS,OAAO;AACjG,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,aAAa,+BAA+B,UAAU,8BAA8B,WAAW;AACnG;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IACpE;AAOA,UAAM,aAAa,+BAA+B,UAAU,8BAA8B,SAAS,OAAO;AACxG,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,aAAa,+BAA+B,UAAU,0BAA0B,SAAS,WAAW,WAAW;AACnH,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,UAAU,SAAS;AAAA,IAC7F;AAOA,UAAM,aAAa,+BAA+B,UAAU,gCAAgC,WAAW;AACrG,aAAO,KAAK,4BAA4B,CAAC,CAAC;AAAA,IAC5C;AASA,UAAM,aAAa,sBAAsB,kBAAkB,CAAC,CAAC;AAI7D,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,sBAAsB,UAAU,WAAW,SAAS,qBAAqB;AAC1F,eAAO,MAAM,aAAa,sBAAsB,SAAS,qBAAqB,IAAI;AAAA,MACpF;AAYA,YAAM,aAAa,sBAAsB,WAAW,SAAS,iBAAiB,KAAK;AACjF,YAAI,GAAG,MAAM;AAAA,UACX,iCAAiC,IAAI,IAAI,kCAAkC,MAAM,MAAM,aAAa,+BAA+B,SAAS,iBAAiB,CAAC;AAAA,UAC9J,oBAAoB,IAAI,IAAI,qBAAqB,MAAM,MAAM,aAAa,kBAAkB,SAAS,iBAAiB,CAAC;AAAA,UACvH,qBAAqB,IAAI,IAAI,sBAAsB,MAAM,MAAM,aAAa,2BAA2B,SAAS,iBAAiB,CAAC;AAAA,UAClI,qBAAqB,IAAI,IAAI,sBAAsB,MAAM,MAAM,aAAa,2BAA2B,SAAS,iBAAiB,CAAC;AAAA,UAClI,WAAW,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,QAC9E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,sBAAsB,oBAAoB,SAAS,OAAO;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,sBAAsB,4BAA4B,KAAK,MAAM;AAAA,IACzF;AAUA,UAAM,aAAa,sBAAsB,8BAA8B,SAAS,KAAK,QAAQ;AAC3F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,+BAA+B,2BAA2B;AACtG,gBAAI,kCAAkC,KAAK;AAC3C;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,kBAAkB,2BAA2B;AACzF,gBAAI,qBAAqB,KAAK;AAC9B;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,2BAA2B,2BAA2B;AAClG,gBAAI,sBAAsB,KAAK;AAC/B;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,2BAA2B,2BAA2B;AAClG,gBAAI,sBAAsB,KAAK;AAC/B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,sBAAsB,UAAU,kBAAkB,WAAW;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,sBAAsB,wBAAwB,MAAM,MAAM;AAC7E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,sBAAsB,0BAA0B,SAAS,SAAS,QAAQ;AAC3F,UAAI,IAAI;AACR,UAAI,QAAQ,kCAAkC;AAC9C,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,+BAA+B;AAAA,QACpD;AAAA,MACF;AACA,UAAI,QAAQ,qBAAqB;AACjC,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,kBAAkB;AAAA,QACvC;AAAA,MACF;AACA,UAAI,QAAQ,sBAAsB;AAClC,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,2BAA2B;AAAA,QAChD;AAAA,MACF;AACA,UAAI,QAAQ,sBAAsB;AAClC,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,2BAA2B;AAAA,QAChD;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,sBAAsB,UAAU,oCAAoC,WAAW;AAChG;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,aAAa,gCAAgC,CAAC;AAAA;AAAA,IAC3F;AAOA,UAAM,aAAa,sBAAsB,UAAU,oCAAoC,SAAS,OAAO;AACrG,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,sBAAsB,UAAU,sCAAsC,WAAW;AAClG,aAAO,KAAK,kCAAkC,MAAS;AAAA,IACzD;AAOA,UAAM,aAAa,sBAAsB,UAAU,oCAAoC,WAAW;AAChG,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,sBAAsB,UAAU,uBAAuB,WAAW;AACnF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,aAAa,mBAAmB,CAAC;AAAA;AAAA,IAC9E;AAOA,UAAM,aAAa,sBAAsB,UAAU,uBAAuB,SAAS,OAAO;AACxF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,sBAAsB,UAAU,yBAAyB,WAAW;AACrF,aAAO,KAAK,qBAAqB,MAAS;AAAA,IAC5C;AAOA,UAAM,aAAa,sBAAsB,UAAU,uBAAuB,WAAW;AACnF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,sBAAsB,UAAU,wBAAwB,WAAW;AACpF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,aAAa,4BAA4B,CAAC;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,sBAAsB,UAAU,wBAAwB,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,sBAAsB,UAAU,0BAA0B,WAAW;AACtF,aAAO,KAAK,sBAAsB,MAAS;AAAA,IAC7C;AAOA,UAAM,aAAa,sBAAsB,UAAU,wBAAwB,WAAW;AACpF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,sBAAsB,UAAU,wBAAwB,WAAW;AACpF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,aAAa,4BAA4B,CAAC;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,sBAAsB,UAAU,wBAAwB,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,sBAAsB,UAAU,0BAA0B,WAAW;AACtF,aAAO,KAAK,sBAAsB,MAAS;AAAA,IAC7C;AAOA,UAAM,aAAa,sBAAsB,UAAU,wBAAwB,WAAW;AACpF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,sBAAsB,UAAU,cAAc,WAAW;AAC1E;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,sBAAsB,UAAU,cAAc,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,aAAa,sBAAsB,UAAU,UAAU,SAAS,OAAO,WAAW;AACtF,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,aAAa,sBAAsB,UAAU,gBAAgB,WAAW;AAC5E,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,uBAAuB,UAAU,WAAW,SAAS,qBAAqB;AAC3F,eAAO,MAAM,aAAa,uBAAuB,SAAS,qBAAqB,IAAI;AAAA,MACrF;AAYA,YAAM,aAAa,uBAAuB,WAAW,SAAS,iBAAiB,KAAK;AAClF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,aAAa,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACpF,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,uBAAuB,oBAAoB,SAAS,OAAO;AAC5E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,uBAAuB,4BAA4B,KAAK,MAAM;AAAA,IAC1F;AAUA,UAAM,aAAa,uBAAuB,8BAA8B,SAAS,KAAK,QAAQ;AAC5F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,SAAS,2BAA2B;AAChF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,uBAAuB,UAAU,kBAAkB,WAAW;AAC/E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,uBAAuB,wBAAwB,MAAM,MAAM;AAC9E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,uBAAuB,0BAA0B,SAAS,SAAS,QAAQ;AAC5F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,SAAS;AAAA,QAC9B;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,uBAAuB,UAAU,UAAU,WAAW;AACvE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,aAAa,uBAAuB,UAAU,UAAU,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,aAAa,uBAAuB,UAAU,aAAa,WAAW;AAC1E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,uBAAuB,UAAU,aAAa,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,aAAa,uBAAuB,UAAU,UAAU,WAAW;AACvE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,aAAa,UAAU,CAAC;AAAA;AAAA,IACrE;AAOA,UAAM,aAAa,uBAAuB,UAAU,UAAU,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,uBAAuB,UAAU,YAAY,WAAW;AACzE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,aAAa,uBAAuB,UAAU,UAAU,WAAW;AACvE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,uBAAuB,UAAU,WAAW,WAAW;AACxE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,aAAa,uBAAuB,UAAU,WAAW,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,uBAAuB,UAAU,aAAa,WAAW;AAC1E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,aAAa,uBAAuB,UAAU,WAAW,WAAW;AACxE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,aAAa,sBAAsB,kBAAkB,CAAC,CAAC;AAI7D,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,sBAAsB,UAAU,WAAW,SAAS,qBAAqB;AAC1F,eAAO,MAAM,aAAa,sBAAsB,SAAS,qBAAqB,IAAI;AAAA,MACpF;AAYA,YAAM,aAAa,sBAAsB,WAAW,SAAS,iBAAiB,KAAK;AACjF,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,qBAAqB,IAAI,IAAI,sBAAsB,MAAM,UAAU,uBAAuB,SAAS,iBAAiB,CAAC;AAAA,UACrH,mBAAmB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAC9D,0BAA0B,KAAK,QAAQ;AAAA,YAAa,IAAI,4BAA4B;AAAA,YACpF,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,UAC5C,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,UACpD,eAAe,IAAI,IAAI,gBAAgB,MAAM,UAAU,WAAW,SAAS,iBAAiB,CAAC;AAAA,UAC7F,eAAe,IAAI,IAAI,gBAAgB,MAAM,UAAU,WAAW,SAAS,iBAAiB,CAAC;AAAA,UAC7F,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC7G,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC7G,YAAY,KAAK,QAAQ,oBAAoB,KAAK,IAAI,GAAG;AAAA,UACzD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,QAC3D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,sBAAsB,oBAAoB,SAAS,OAAO;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,sBAAsB,4BAA4B,KAAK,MAAM;AAAA,IACzF;AAUA,UAAM,aAAa,sBAAsB,8BAA8B,SAAS,KAAK,QAAQ;AAC3F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,uBAAuB,2BAA2B;AACrF,gBAAI,sBAAsB,KAAK;AAC/B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,qBAAqB,KAAK;AAC9B;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,wBAAwB,KAAK;AACjC;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,WAAW,2BAA2B;AACzE,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,WAAW,2BAA2B;AACzE,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,sBAAsB,UAAU,kBAAkB,WAAW;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,sBAAsB,wBAAwB,MAAM,MAAM;AAC7E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,sBAAsB,0BAA0B,SAAS,SAAS,QAAQ;AAC3F,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,sBAAsB;AAClC,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,uBAAuB;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,qBAAqB;AACjC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,4BAA4B;AACxC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,UAAU;AACtB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,WAAW;AAAA,QACvB;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,WAAW;AAAA,QACvB;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,sBAAsB,UAAU,QAAQ,WAAW;AACpE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,sBAAsB,UAAU,QAAQ,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,sBAAsB,UAAU,wBAAwB,WAAW;AACpF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,wBAAwB,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,aAAa,sBAAsB,UAAU,wBAAwB,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,sBAAsB,UAAU,0BAA0B,WAAW;AACtF,aAAO,KAAK,sBAAsB,MAAS;AAAA,IAC7C;AAOA,UAAM,aAAa,sBAAsB,UAAU,wBAAwB,WAAW;AACpF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,sBAAsB,UAAU,uBAAuB,WAAW;AACnF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,aAAa,sBAAsB,UAAU,uBAAuB,SAAS,OAAO;AACxF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,aAAa,sBAAsB,UAAU,8BAA8B,WAAW;AAC1F;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IACpE;AAOA,UAAM,aAAa,sBAAsB,UAAU,8BAA8B,SAAS,OAAO;AAC/F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,aAAa,sBAAsB,UAAU,0BAA0B,SAAS,WAAW,WAAW;AAC1G,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,UAAU,SAAS;AAAA,IAC7F;AAOA,UAAM,aAAa,sBAAsB,UAAU,gCAAgC,WAAW;AAC5F,aAAO,KAAK,4BAA4B,CAAC,CAAC;AAAA,IAC5C;AAOA,UAAM,aAAa,sBAAsB,UAAU,YAAY,WAAW;AACxE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,sBAAsB,UAAU,YAAY,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAOA,UAAM,aAAa,sBAAsB,UAAU,kBAAkB,WAAW;AAC9E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,YAAY,GAAI;AAAA;AAAA,IACjE;AAOA,UAAM,aAAa,sBAAsB,UAAU,kBAAkB,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,KAAM,KAAK;AAAA,IACvD;AAOA,UAAM,aAAa,sBAAsB,UAAU,oBAAoB,WAAW;AAChF,aAAO,KAAK,gBAAgB,MAAS;AAAA,IACvC;AAOA,UAAM,aAAa,sBAAsB,UAAU,kBAAkB,WAAW;AAC9E,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAI,KAAK;AAAA,IAC9C;AAOA,UAAM,aAAa,sBAAsB,UAAU,kBAAkB,WAAW;AAC9E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,YAAY,IAAI;AAAA;AAAA,IACjE;AAOA,UAAM,aAAa,sBAAsB,UAAU,kBAAkB,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,MAAM,KAAK;AAAA,IACvD;AAOA,UAAM,aAAa,sBAAsB,UAAU,oBAAoB,WAAW;AAChF,aAAO,KAAK,gBAAgB,MAAS;AAAA,IACvC;AAOA,UAAM,aAAa,sBAAsB,UAAU,kBAAkB,WAAW;AAC9E,aAAO,KAAK,QAAQ,SAAS,MAAM,IAAI,KAAK;AAAA,IAC9C;AAOA,UAAM,aAAa,sBAAsB,UAAU,iBAAiB,WAAW;AAC7E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,EAAE;AAAA;AAAA,IACjF;AAOA,UAAM,aAAa,sBAAsB,UAAU,iBAAiB,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,aAAa,sBAAsB,UAAU,mBAAmB,WAAW;AAC/E,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,aAAa,sBAAsB,UAAU,iBAAiB,WAAW;AAC7E,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAOA,UAAM,aAAa,sBAAsB,UAAU,iBAAiB,WAAW;AAC7E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,EAAE;AAAA;AAAA,IACjF;AAOA,UAAM,aAAa,sBAAsB,UAAU,iBAAiB,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,aAAa,sBAAsB,UAAU,mBAAmB,WAAW;AAC/E,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,aAAa,sBAAsB,UAAU,iBAAiB,WAAW;AAC7E,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAOA,UAAM,aAAa,sBAAsB,UAAU,gBAAgB,WAAW;AAC5E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,GAAG;AAAA;AAAA,IAC9E;AAOA,UAAM,aAAa,sBAAsB,UAAU,gBAAgB,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,IAAI,KAAK;AAAA,IAC7D;AAOA,UAAM,aAAa,sBAAsB,UAAU,iBAAiB,WAAW;AAC7E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,sBAAsB,UAAU,iBAAiB,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,4BAA4B,UAAU,WAAW,SAAS,qBAAqB;AAChG,eAAO,MAAM,aAAa,4BAA4B,SAAS,qBAAqB,IAAI;AAAA,MAC1F;AAYA,YAAM,aAAa,4BAA4B,WAAW,SAAS,iBAAiB,KAAK;AACvF,YAAI,GAAG,MAAM;AAAA,UACX,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACnD,gBAAgB,KAAK,QAAQ,iCAAiC,KAAK,GAAG,CAAG;AAAA,UACzE,iBAAiB,KAAK,QAAQ,iCAAiC,KAAK,GAAG,CAAG;AAAA,UAC1E,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACxD,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAC1D,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACxD,YAAY,KAAK,QAAQ,iCAAiC,KAAK,GAAG,CAAG;AAAA,UACrE,YAAY,KAAK,QAAQ,iCAAiC,KAAK,GAAG,CAAG;AAAA,UACrE,eAAe,IAAI,IAAI,gBAAgB,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,QACjH;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,4BAA4B,oBAAoB,SAAS,OAAO;AACjF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,4BAA4B,4BAA4B,KAAK,MAAM;AAAA,IAC/F;AAUA,UAAM,aAAa,4BAA4B,8BAA8B,SAAS,KAAK,QAAQ;AACjG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,mBAAmB,KAAK;AAC5B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,4BAA4B,UAAU,kBAAkB,WAAW;AACpF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,4BAA4B,wBAAwB,MAAM,MAAM;AACnF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,4BAA4B,0BAA0B,SAAS,SAAS,QAAQ;AACjG,UAAI,IAAI;AACR,UAAI,QAAQ,SAAS;AACrB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,MAAM,GAAK;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,mBAAmB;AAC/B,UAAI,MAAM,GAAK;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,MAAM,GAAK;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,MAAM,GAAK;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,4BAA4B,UAAU,WAAW,WAAW;AAC7E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,4BAA4B,UAAU,WAAW,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,4BAA4B,UAAU,oBAAoB,WAAW;AACtF;AAAA;AAAA,QAA8B,KAAK,QAAQ,iCAAiC,MAAM,GAAG,CAAG;AAAA;AAAA,IAC1F;AAOA,UAAM,aAAa,4BAA4B,UAAU,oBAAoB,SAAS,OAAO;AAC3F,aAAO,KAAK,QAAQ,oBAAoB,MAAM,GAAG,KAAK;AAAA,IACxD;AAOA,UAAM,aAAa,4BAA4B,UAAU,qBAAqB,WAAW;AACvF;AAAA;AAAA,QAA8B,KAAK,QAAQ,iCAAiC,MAAM,GAAG,CAAG;AAAA;AAAA,IAC1F;AAOA,UAAM,aAAa,4BAA4B,UAAU,qBAAqB,SAAS,OAAO;AAC5F,aAAO,KAAK,QAAQ,oBAAoB,MAAM,GAAG,KAAK;AAAA,IACxD;AAOA,UAAM,aAAa,4BAA4B,UAAU,gBAAgB,WAAW;AAClF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,4BAA4B,UAAU,gBAAgB,SAAS,OAAO;AACvF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,4BAA4B,UAAU,kBAAkB,WAAW;AACpF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,4BAA4B,UAAU,kBAAkB,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,4BAA4B,UAAU,gBAAgB,WAAW;AAClF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,4BAA4B,UAAU,gBAAgB,SAAS,OAAO;AACvF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,4BAA4B,UAAU,gBAAgB,WAAW;AAClF;AAAA;AAAA,QAA8B,KAAK,QAAQ,iCAAiC,MAAM,GAAG,CAAG;AAAA;AAAA,IAC1F;AAOA,UAAM,aAAa,4BAA4B,UAAU,gBAAgB,SAAS,OAAO;AACvF,aAAO,KAAK,QAAQ,oBAAoB,MAAM,GAAG,KAAK;AAAA,IACxD;AAOA,UAAM,aAAa,4BAA4B,UAAU,gBAAgB,WAAW;AAClF;AAAA;AAAA,QAA8B,KAAK,QAAQ,iCAAiC,MAAM,GAAG,CAAG;AAAA;AAAA,IAC1F;AAOA,UAAM,aAAa,4BAA4B,UAAU,gBAAgB,SAAS,OAAO;AACvF,aAAO,KAAK,QAAQ,oBAAoB,MAAM,GAAG,KAAK;AAAA,IACxD;AAOA,UAAM,aAAa,4BAA4B,UAAU,kBAAkB,WAAW;AACpF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,CAAC;AAAA;AAAA,IAChF;AAOA,UAAM,aAAa,4BAA4B,UAAU,kBAAkB,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,4BAA4B,UAAU,oBAAoB,WAAW;AACtF,aAAO,KAAK,gBAAgB,MAAS;AAAA,IACvC;AAOA,UAAM,aAAa,4BAA4B,UAAU,kBAAkB,WAAW;AACpF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,SAAS,UAAU,WAAW,SAAS,qBAAqB;AAC7E,eAAO,MAAM,aAAa,SAAS,SAAS,qBAAqB,IAAI;AAAA,MACvE;AAYA,YAAM,aAAa,SAAS,WAAW,SAAS,iBAAiB,KAAK;AACpE,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACnD,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACvD,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACnD,kBAAkB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAC9D,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACvD,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAC5D,yBAAyB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACrE,wBAAwB,IAAI,IAAI,yBAAyB,MAAM,MAAM,aAAa,sBAAsB,SAAS,iBAAiB,CAAC;AAAA,UACnI,oBAAoB,IAAI,IAAI,qBAAqB,MAAM,MAAM,aAAa,4BAA4B,SAAS,iBAAiB,CAAC;AAAA,UACjI,gBAAgB,IAAI,IAAI,iBAAiB,MAAM,MAAM,aAAa,2BAA2B,SAAS,iBAAiB,CAAC;AAAA,UACxH,kBAAkB,IAAI,IAAI,mBAAmB,MAAM,MAAM,aAAa,2BAA2B,SAAS,iBAAiB,CAAC;AAAA,UAC5H,cAAc,IAAI,IAAI,eAAe,MAAM,UAAU,IAAI,SAAS,iBAAiB,CAAC;AAAA,UACpF,UAAU,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,UACtD,eAAe,IAAI,IAAI,gBAAgB,MAAM,UAAU,aAAa,SAAS,iBAAiB,CAAC;AAAA,UAC/F,MAAM,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,UAClD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,UACzD,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC7G,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC7G,eAAe,IAAI,IAAI,gBAAgB,MAAM,UAAU,WAAW,SAAS,iBAAiB,CAAC;AAAA,UAC7F,eAAe,IAAI,IAAI,gBAAgB,MAAM,UAAU,WAAW,SAAS,iBAAiB,CAAC;AAAA,QAC/F;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,SAAS,oBAAoB,SAAS,OAAO;AAC9D,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,SAAS,4BAA4B,KAAK,MAAM;AAAA,IAC5E;AAUA,UAAM,aAAa,SAAS,8BAA8B,SAAS,KAAK,QAAQ;AAC9E,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,oBAAoB,KAAK;AAC7B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,2BAA2B,KAAK;AACpC;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,sBAAsB,2BAA2B;AAC7F,gBAAI,yBAAyB,KAAK;AAClC;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,4BAA4B,2BAA2B;AACnG,gBAAI,qBAAqB,KAAK;AAC9B;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,2BAA2B,2BAA2B;AAClG,gBAAI,iBAAiB,KAAK;AAC1B;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,2BAA2B,2BAA2B;AAClG,gBAAI,mBAAmB,KAAK;AAC5B;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,IAAI,2BAA2B;AAClE,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,aAAa,2BAA2B;AAC3E,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,WAAW,2BAA2B;AACzE,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,WAAW,2BAA2B;AACzE,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,SAAS,UAAU,kBAAkB,WAAW;AACjE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,SAAS,wBAAwB,MAAM,MAAM;AAChE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,SAAS,0BAA0B,SAAS,SAAS,QAAQ;AAC9E,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,UAAU;AACtB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,UAAU;AACtB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,oBAAoB;AAChC,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,2BAA2B;AACvC,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,yBAAyB;AACrC,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,sBAAsB;AAAA,QAC3C;AAAA,MACF;AACA,UAAI,QAAQ,qBAAqB;AACjC,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,4BAA4B;AAAA,QACjD;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,2BAA2B;AAAA,QAChD;AAAA,MACF;AACA,UAAI,QAAQ,mBAAmB;AAC/B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,2BAA2B;AAAA,QAChD;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,IAAI;AAAA,QAChB;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,aAAa;AAAA,QACzB;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,WAAW;AAAA,QACvB;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,WAAW;AAAA,QACvB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,SAAS,UAAU,QAAQ,WAAW;AACvD;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,SAAS,UAAU,QAAQ,SAAS,OAAO;AAC5D,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,SAAS,UAAU,YAAY,WAAW;AAC3D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,aAAa,SAAS,UAAU,YAAY,SAAS,OAAO;AAChE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,aAAa,SAAS,UAAU,gBAAgB,WAAW;AAC/D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,aAAa,SAAS,UAAU,gBAAgB,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,aAAa,SAAS,UAAU,YAAY,WAAW;AAC3D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,aAAa,SAAS,UAAU,YAAY,SAAS,OAAO;AAChE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,aAAa,SAAS,UAAU,sBAAsB,WAAW;AACrE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,SAAS,UAAU,sBAAsB,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,SAAS,UAAU,eAAe,WAAW;AAC9D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,SAAS,UAAU,eAAe,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,SAAS,UAAU,oBAAoB,WAAW;AACnE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,SAAS,UAAU,oBAAoB,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,SAAS,UAAU,6BAA6B,WAAW;AAC5E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,SAAS,UAAU,6BAA6B,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,SAAS,UAAU,2BAA2B,WAAW;AAC1E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,aAAa,uBAAuB,EAAE;AAAA;AAAA,IACnF;AAOA,UAAM,aAAa,SAAS,UAAU,2BAA2B,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,aAAa,SAAS,UAAU,6BAA6B,WAAW;AAC5E,aAAO,KAAK,yBAAyB,MAAS;AAAA,IAChD;AAOA,UAAM,aAAa,SAAS,UAAU,2BAA2B,WAAW;AAC1E,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAOA,UAAM,aAAa,SAAS,UAAU,uBAAuB,WAAW;AACtE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,aAAa,6BAA6B,EAAE;AAAA;AAAA,IACzF;AAOA,UAAM,aAAa,SAAS,UAAU,uBAAuB,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,aAAa,SAAS,UAAU,yBAAyB,WAAW;AACxE,aAAO,KAAK,qBAAqB,MAAS;AAAA,IAC5C;AAOA,UAAM,aAAa,SAAS,UAAU,uBAAuB,WAAW;AACtE,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAOA,UAAM,aAAa,SAAS,UAAU,mBAAmB,WAAW;AAClE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,aAAa,4BAA4B,EAAE;AAAA;AAAA,IACxF;AAOA,UAAM,aAAa,SAAS,UAAU,mBAAmB,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,aAAa,SAAS,UAAU,qBAAqB,WAAW;AACpE,aAAO,KAAK,iBAAiB,MAAS;AAAA,IACxC;AAOA,UAAM,aAAa,SAAS,UAAU,mBAAmB,WAAW;AAClE,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAOA,UAAM,aAAa,SAAS,UAAU,qBAAqB,WAAW;AACpE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,aAAa,4BAA4B,EAAE;AAAA;AAAA,IACxF;AAOA,UAAM,aAAa,SAAS,UAAU,qBAAqB,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,aAAa,SAAS,UAAU,uBAAuB,WAAW;AACtE,aAAO,KAAK,mBAAmB,MAAS;AAAA,IAC1C;AAOA,UAAM,aAAa,SAAS,UAAU,qBAAqB,WAAW;AACpE,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAOA,UAAM,aAAa,SAAS,UAAU,iBAAiB,WAAW;AAChE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,KAAK,EAAE;AAAA;AAAA,IACxD;AAOA,UAAM,aAAa,SAAS,UAAU,iBAAiB,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,aAAa,SAAS,UAAU,mBAAmB,WAAW;AAClE,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,aAAa,SAAS,UAAU,iBAAiB,WAAW;AAChE,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAOA,UAAM,aAAa,SAAS,UAAU,cAAc,WAAW;AAC7D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,SAAS,UAAU,cAAc,SAAS,OAAO;AAClE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAOA,UAAM,aAAa,SAAS,UAAU,kBAAkB,WAAW;AACjE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,cAAc,EAAE;AAAA;AAAA,IACjE;AAOA,UAAM,aAAa,SAAS,UAAU,kBAAkB,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,aAAa,SAAS,UAAU,oBAAoB,WAAW;AACnE,aAAO,KAAK,gBAAgB,MAAS;AAAA,IACvC;AAOA,UAAM,aAAa,SAAS,UAAU,kBAAkB,WAAW;AACjE,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAOA,UAAM,aAAa,SAAS,UAAU,UAAU,WAAW;AACzD;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,SAAS,UAAU,UAAU,SAAS,OAAO;AAC9D,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAOA,UAAM,aAAa,SAAS,UAAU,iBAAiB,WAAW;AAChE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,SAAS,UAAU,iBAAiB,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAOA,UAAM,aAAa,SAAS,UAAU,iBAAiB,WAAW;AAChE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,EAAE;AAAA;AAAA,IACjF;AAOA,UAAM,aAAa,SAAS,UAAU,iBAAiB,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,aAAa,SAAS,UAAU,mBAAmB,WAAW;AAClE,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,aAAa,SAAS,UAAU,iBAAiB,WAAW;AAChE,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAOA,UAAM,aAAa,SAAS,UAAU,iBAAiB,WAAW;AAChE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,EAAE;AAAA;AAAA,IACjF;AAOA,UAAM,aAAa,SAAS,UAAU,iBAAiB,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,aAAa,SAAS,UAAU,mBAAmB,WAAW;AAClE,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,aAAa,SAAS,UAAU,iBAAiB,WAAW;AAChE,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAOA,UAAM,aAAa,SAAS,UAAU,kBAAkB,WAAW;AACjE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,YAAY,GAAI;AAAA;AAAA,IACjE;AAOA,UAAM,aAAa,SAAS,UAAU,kBAAkB,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,KAAM,KAAK;AAAA,IACvD;AAOA,UAAM,aAAa,SAAS,UAAU,oBAAoB,WAAW;AACnE,aAAO,KAAK,gBAAgB,MAAS;AAAA,IACvC;AAOA,UAAM,aAAa,SAAS,UAAU,kBAAkB,WAAW;AACjE,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAI,KAAK;AAAA,IAC9C;AAOA,UAAM,aAAa,SAAS,UAAU,kBAAkB,WAAW;AACjE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,YAAY,IAAI;AAAA;AAAA,IACjE;AAOA,UAAM,aAAa,SAAS,UAAU,kBAAkB,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,MAAM,KAAK;AAAA,IACvD;AAOA,UAAM,aAAa,SAAS,UAAU,oBAAoB,WAAW;AACnE,aAAO,KAAK,gBAAgB,MAAS;AAAA,IACvC;AAOA,UAAM,aAAa,SAAS,UAAU,kBAAkB,WAAW;AACjE,aAAO,KAAK,QAAQ,SAAS,MAAM,IAAI,KAAK;AAAA,IAC9C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,mCAAmC,UAAU,WAAW,SAAS,qBAAqB;AACvG,eAAO,MAAM,aAAa,mCAAmC,SAAS,qBAAqB,IAAI;AAAA,MACjG;AAYA,YAAM,aAAa,mCAAmC,WAAW,SAAS,iBAAiB,KAAK;AAC9F,YAAI,GAAG,MAAM;AAAA,UACX,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACxD,iCAAiC,IAAI,IAAI,kCAAkC,MAAM,MAAM,aAAa,+BAA+B,SAAS,iBAAiB,CAAC;AAAA,QAChK;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,mCAAmC,oBAAoB,SAAS,OAAO;AACxF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,mCAAmC,4BAA4B,KAAK,MAAM;AAAA,IACtG;AAUA,UAAM,aAAa,mCAAmC,8BAA8B,SAAS,KAAK,QAAQ;AACxG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,+BAA+B,2BAA2B;AACtG,gBAAI,kCAAkC,KAAK;AAC3C;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,mCAAmC,UAAU,kBAAkB,WAAW;AAC3F,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,mCAAmC,wBAAwB,MAAM,MAAM;AAC1F,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,mCAAmC,0BAA0B,SAAS,SAAS,QAAQ;AACxG,UAAI,IAAI;AACR,UAAI,QAAQ,cAAc;AAC1B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kCAAkC;AAC9C,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,+BAA+B;AAAA,QACpD;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,mCAAmC,UAAU,gBAAgB,WAAW;AACzF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,mCAAmC,UAAU,gBAAgB,SAAS,OAAO;AAC9F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,mCAAmC,UAAU,oCAAoC,WAAW;AAC7G;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,aAAa,gCAAgC,CAAC;AAAA;AAAA,IAC3F;AAOA,UAAM,aAAa,mCAAmC,UAAU,oCAAoC,SAAS,OAAO;AAClH,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,mCAAmC,UAAU,sCAAsC,WAAW;AAC/G,aAAO,KAAK,kCAAkC,MAAS;AAAA,IACzD;AAOA,UAAM,aAAa,mCAAmC,UAAU,oCAAoC,WAAW;AAC7G,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,oCAAoC,UAAU,WAAW,SAAS,qBAAqB;AACxG,eAAO,MAAM,aAAa,oCAAoC,SAAS,qBAAqB,IAAI;AAAA,MAClG;AAYA,YAAM,aAAa,oCAAoC,WAAW,SAAS,iBAAiB,KAAK;AAC/F,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,aAAa,sBAAsB,SAAS,iBAAiB,CAAC;AAAA,UACjG,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,oCAAoC,oBAAoB,SAAS,OAAO;AACzF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,oCAAoC,4BAA4B,KAAK,MAAM;AAAA,IACvG;AAUA,UAAM,aAAa,oCAAoC,8BAA8B,SAAS,KAAK,QAAQ;AACzG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,sBAAsB,2BAA2B;AAC7F,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,oCAAoC,UAAU,kBAAkB,WAAW;AAC5F,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,oCAAoC,wBAAwB,MAAM,MAAM;AAC3F,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,oCAAoC,0BAA0B,SAAS,SAAS,QAAQ;AACzG,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,sBAAsB;AAAA,QAC3C;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,oCAAoC,UAAU,UAAU,WAAW;AACpF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,aAAa,oCAAoC,UAAU,UAAU,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,aAAa,oCAAoC,UAAU,aAAa,WAAW;AACvF;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,oCAAoC,UAAU,aAAa,SAAS,OAAO;AAC5F,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,aAAa,oCAAoC,UAAU,UAAU,WAAW;AACpF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,aAAa,uBAAuB,CAAC;AAAA;AAAA,IAClF;AAOA,UAAM,aAAa,oCAAoC,UAAU,UAAU,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,oCAAoC,UAAU,YAAY,WAAW;AACtF,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,aAAa,oCAAoC,UAAU,UAAU,WAAW;AACpF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,oCAAoC,UAAU,WAAW,WAAW;AACrF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,aAAa,oCAAoC,UAAU,WAAW,SAAS,OAAO;AAC1F,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,oCAAoC,UAAU,aAAa,WAAW;AACvF,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,aAAa,oCAAoC,UAAU,WAAW,WAAW;AACrF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,mBAAmB,UAAU,WAAW,SAAS,qBAAqB;AACvF,eAAO,MAAM,aAAa,mBAAmB,SAAS,qBAAqB,IAAI;AAAA,MACjF;AAYA,YAAM,aAAa,mBAAmB,WAAW,SAAS,iBAAiB,KAAK;AAC9E,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,yBAAyB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,QACvE;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,mBAAmB,oBAAoB,SAAS,OAAO;AACxE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,mBAAmB,4BAA4B,KAAK,MAAM;AAAA,IACtF;AAUA,UAAM,aAAa,mBAAmB,8BAA8B,SAAS,KAAK,QAAQ;AACxF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,2BAA2B,KAAK;AACpC;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,mBAAmB,UAAU,kBAAkB,WAAW;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,mBAAmB,wBAAwB,MAAM,MAAM;AAC1E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,mBAAmB,0BAA0B,SAAS,SAAS,QAAQ;AACxF,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA;AAAA,MAA2B,KAAK,QAAQ,SAAS,SAAS,CAAC;AAC3D,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,mBAAmB,UAAU,QAAQ,WAAW;AACjE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,mBAAmB,UAAU,QAAQ,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,mBAAmB,UAAU,6BAA6B,WAAW;AACtF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,mBAAmB,UAAU,6BAA6B,SAAS,OAAO;AAC3F,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,KAAK;AAAA,IAC7C;AAOA,UAAM,aAAa,mBAAmB,UAAU,+BAA+B,WAAW;AACxF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,MAAS;AAAA,IACjD;AAOA,UAAM,aAAa,mBAAmB,UAAU,6BAA6B,WAAW;AACtF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,oBAAoB,UAAU,WAAW,SAAS,qBAAqB;AACxF,eAAO,MAAM,aAAa,oBAAoB,SAAS,qBAAqB,IAAI;AAAA,MAClF;AAYA,YAAM,aAAa,oBAAoB,WAAW,SAAS,iBAAiB,KAAK;AAC/E,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,aAAa,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACpF,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,oBAAoB,oBAAoB,SAAS,OAAO;AACzE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,oBAAoB,4BAA4B,KAAK,MAAM;AAAA,IACvF;AAUA,UAAM,aAAa,oBAAoB,8BAA8B,SAAS,KAAK,QAAQ;AACzF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,SAAS,2BAA2B;AAChF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,oBAAoB,UAAU,kBAAkB,WAAW;AAC5E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,oBAAoB,wBAAwB,MAAM,MAAM;AAC3E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,oBAAoB,0BAA0B,SAAS,SAAS,QAAQ;AACzF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,SAAS;AAAA,QAC9B;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,oBAAoB,UAAU,UAAU,WAAW;AACpE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,aAAa,oBAAoB,UAAU,UAAU,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,aAAa,oBAAoB,UAAU,aAAa,WAAW;AACvE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,oBAAoB,UAAU,aAAa,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,aAAa,oBAAoB,UAAU,UAAU,WAAW;AACpE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,aAAa,UAAU,CAAC;AAAA;AAAA,IACrE;AAOA,UAAM,aAAa,oBAAoB,UAAU,UAAU,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,oBAAoB,UAAU,YAAY,WAAW;AACtE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,aAAa,oBAAoB,UAAU,UAAU,WAAW;AACpE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,oBAAoB,UAAU,WAAW,WAAW;AACrE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,aAAa,oBAAoB,UAAU,WAAW,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,oBAAoB,UAAU,aAAa,WAAW;AACvE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,aAAa,oBAAoB,UAAU,WAAW,WAAW;AACrE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,aAAa,sBAAsB,kBAAkB,CAAC,CAAC;AAI7D,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,sBAAsB,UAAU,WAAW,SAAS,qBAAqB;AAC1F,eAAO,MAAM,aAAa,sBAAsB,SAAS,qBAAqB,IAAI;AAAA,MACpF;AAYA,YAAM,aAAa,sBAAsB,WAAW,SAAS,iBAAiB,KAAK;AACjF,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,IAAI,IAAI,YAAY,MAAM,UAAU,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACnF,eAAe,KAAK,QAAQ;AAAA,YAAa,IAAI,iBAAiB;AAAA,YAC9D,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,QAC9C;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,sBAAsB,oBAAoB,SAAS,OAAO;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,sBAAsB,4BAA4B,KAAK,MAAM;AAAA,IACzF;AAUA,UAAM,aAAa,sBAAsB,8BAA8B,SAAS,KAAK,QAAQ;AAC3F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,sBAAsB,UAAU,kBAAkB,WAAW;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,sBAAsB,wBAAwB,MAAM,MAAM;AAC7E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,sBAAsB,0BAA0B,SAAS,SAAS,QAAQ;AAC3F,UAAI,IAAI;AACR,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,sBAAsB,UAAU,cAAc,WAAW;AAC1E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IAC5D;AAOA,UAAM,aAAa,sBAAsB,UAAU,cAAc,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,sBAAsB,UAAU,gBAAgB,WAAW;AAC5E,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,aAAa,sBAAsB,UAAU,cAAc,WAAW;AAC1E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,sBAAsB,UAAU,mBAAmB,WAAW;AAC/E;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IACpE;AAOA,UAAM,aAAa,sBAAsB,UAAU,mBAAmB,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,aAAa,sBAAsB,UAAU,eAAe,SAAS,WAAW,WAAW;AAC/F,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,UAAU,SAAS;AAAA,IAC7F;AAOA,UAAM,aAAa,sBAAsB,UAAU,qBAAqB,WAAW;AACjF,aAAO,KAAK,iBAAiB,CAAC,CAAC;AAAA,IACjC;AASA,UAAM,aAAa,uBAAuB,kBAAkB,CAAC,CAAC;AAI9D,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,uBAAuB,UAAU,WAAW,SAAS,qBAAqB;AAC3F,eAAO,MAAM,aAAa,uBAAuB,SAAS,qBAAqB,IAAI;AAAA,MACrF;AAYA,YAAM,aAAa,uBAAuB,WAAW,SAAS,iBAAiB,KAAK;AAClF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,MAAM,aAAa,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,UACrD,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,YAAY,IAAI,IAAI,aAAa,MAAM,UAAU,UAAU,SAAS,iBAAiB,CAAC;AAAA,QACxF;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,uBAAuB,oBAAoB,SAAS,OAAO;AAC5E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,uBAAuB,4BAA4B,KAAK,MAAM;AAAA,IAC1F;AAUA,UAAM,aAAa,uBAAuB,8BAA8B,SAAS,KAAK,QAAQ;AAC5F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,SAAS,2BAA2B;AAChF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,UAAU,2BAA2B;AACxE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,uBAAuB,UAAU,kBAAkB,WAAW;AAC/E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,uBAAuB,wBAAwB,MAAM,MAAM;AAC9E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,uBAAuB,0BAA0B,SAAS,SAAS,QAAQ;AAC5F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,SAAS;AAAA,QAC9B;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,UAAU;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,uBAAuB,UAAU,UAAU,WAAW;AACvE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,aAAa,uBAAuB,UAAU,UAAU,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,aAAa,uBAAuB,UAAU,aAAa,WAAW;AAC1E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,uBAAuB,UAAU,aAAa,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,aAAa,uBAAuB,UAAU,cAAc,WAAW;AAC3E;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,aAAa,UAAU,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,uBAAuB,UAAU,cAAc,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,aAAa,uBAAuB,UAAU,UAAU,SAAS,WAAW,WAAW;AAC3F,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,aAAa,UAAU,SAAS;AAAA,IAC1G;AAOA,UAAM,aAAa,uBAAuB,UAAU,gBAAgB,WAAW;AAC7E,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,aAAa,uBAAuB,UAAU,WAAW,WAAW;AACxE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,aAAa,uBAAuB,UAAU,WAAW,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,uBAAuB,UAAU,aAAa,WAAW;AAC1E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,aAAa,uBAAuB,UAAU,WAAW,WAAW;AACxE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,uBAAuB,UAAU,eAAe,WAAW;AAC5E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,WAAW,CAAC;AAAA;AAAA,IAC7D;AAOA,UAAM,aAAa,uBAAuB,UAAU,eAAe,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,uBAAuB,UAAU,iBAAiB,WAAW;AAC9E,aAAO,KAAK,aAAa,MAAS;AAAA,IACpC;AAOA,UAAM,aAAa,uBAAuB,UAAU,eAAe,WAAW;AAC5E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,aAAa,mCAAmC,kBAAkB,CAAC,CAAC;AAI1E,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,mCAAmC,UAAU,WAAW,SAAS,qBAAqB;AACvG,eAAO,MAAM,aAAa,mCAAmC,SAAS,qBAAqB,IAAI;AAAA,MACjG;AAYA,YAAM,aAAa,mCAAmC,WAAW,SAAS,iBAAiB,KAAK;AAC9F,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,IAAI,IAAI,YAAY,MAAM,UAAU,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACnF,eAAe,KAAK,QAAQ;AAAA,YAAa,IAAI,iBAAiB;AAAA,YAC9D,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,UAC5C,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,QAC1D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,mCAAmC,oBAAoB,SAAS,OAAO;AACxF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,mCAAmC,4BAA4B,KAAK,MAAM;AAAA,IACtG;AAUA,UAAM,aAAa,mCAAmC,8BAA8B,SAAS,KAAK,QAAQ;AACxG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,mCAAmC,UAAU,kBAAkB,WAAW;AAC3F,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,mCAAmC,wBAAwB,MAAM,MAAM;AAC1F,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,mCAAmC,0BAA0B,SAAS,SAAS,QAAQ;AACxG,UAAI,IAAI;AACR,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,mCAAmC,UAAU,cAAc,WAAW;AACvF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IAC5D;AAOA,UAAM,aAAa,mCAAmC,UAAU,cAAc,SAAS,OAAO;AAC5F,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,mCAAmC,UAAU,gBAAgB,WAAW;AACzF,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,aAAa,mCAAmC,UAAU,cAAc,WAAW;AACvF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,mCAAmC,UAAU,mBAAmB,WAAW;AAC5F;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IACpE;AAOA,UAAM,aAAa,mCAAmC,UAAU,mBAAmB,SAAS,OAAO;AACjG,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,aAAa,mCAAmC,UAAU,eAAe,SAAS,WAAW,WAAW;AAC5G,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,UAAU,SAAS;AAAA,IAC7F;AAOA,UAAM,aAAa,mCAAmC,UAAU,qBAAqB,WAAW;AAC9F,aAAO,KAAK,iBAAiB,CAAC,CAAC;AAAA,IACjC;AAOA,UAAM,aAAa,mCAAmC,UAAU,gBAAgB,WAAW;AACzF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,mCAAmC,UAAU,gBAAgB,SAAS,OAAO;AAC9F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AASA,UAAM,aAAa,oCAAoC,kBAAkB,CAAC,CAAC;AAI3E,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,oCAAoC,UAAU,WAAW,SAAS,qBAAqB;AACxG,eAAO,MAAM,aAAa,oCAAoC,SAAS,qBAAqB,IAAI;AAAA,MAClG;AAYA,YAAM,aAAa,oCAAoC,WAAW,SAAS,iBAAiB,KAAK;AAC/F,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,MAAM,aAAa,sBAAsB;AAAA,YAAU;AAAA,UAAe;AAAA,UAClE,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,YAAY,IAAI,IAAI,aAAa,MAAM,UAAU,UAAU,SAAS,iBAAiB,CAAC;AAAA,QACxF;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,oCAAoC,oBAAoB,SAAS,OAAO;AACzF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,oCAAoC,4BAA4B,KAAK,MAAM;AAAA,IACvG;AAUA,UAAM,aAAa,oCAAoC,8BAA8B,SAAS,KAAK,QAAQ;AACzG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,sBAAsB,2BAA2B;AAC7F,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,UAAU,2BAA2B;AACxE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,oCAAoC,UAAU,kBAAkB,WAAW;AAC5F,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,oCAAoC,wBAAwB,MAAM,MAAM;AAC3F,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,oCAAoC,0BAA0B,SAAS,SAAS,QAAQ;AACzG,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,sBAAsB;AAAA,QAC3C;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,UAAU;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,oCAAoC,UAAU,UAAU,WAAW;AACpF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,aAAa,oCAAoC,UAAU,UAAU,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,aAAa,oCAAoC,UAAU,aAAa,WAAW;AACvF;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,oCAAoC,UAAU,aAAa,SAAS,OAAO;AAC5F,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,aAAa,oCAAoC,UAAU,cAAc,WAAW;AACxF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,aAAa,uBAAuB,CAAC;AAAA;AAAA,IAC1F;AAOA,UAAM,aAAa,oCAAoC,UAAU,cAAc,SAAS,OAAO;AAC7F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,aAAa,oCAAoC,UAAU,UAAU,SAAS,WAAW,WAAW;AACxG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,aAAa,uBAAuB,SAAS;AAAA,IACvH;AAOA,UAAM,aAAa,oCAAoC,UAAU,gBAAgB,WAAW;AAC1F,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,aAAa,oCAAoC,UAAU,WAAW,WAAW;AACrF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,aAAa,oCAAoC,UAAU,WAAW,SAAS,OAAO;AAC1F,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,oCAAoC,UAAU,aAAa,WAAW;AACvF,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,aAAa,oCAAoC,UAAU,WAAW,WAAW;AACrF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,oCAAoC,UAAU,eAAe,WAAW;AACzF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,WAAW,CAAC;AAAA;AAAA,IAC7D;AAOA,UAAM,aAAa,oCAAoC,UAAU,eAAe,SAAS,OAAO;AAC9F,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,oCAAoC,UAAU,iBAAiB,WAAW;AAC3F,aAAO,KAAK,aAAa,MAAS;AAAA,IACpC;AAOA,UAAM,aAAa,oCAAoC,UAAU,eAAe,WAAW;AACzF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,6BAA6B,UAAU,WAAW,SAAS,qBAAqB;AACjG,eAAO,MAAM,aAAa,6BAA6B,SAAS,qBAAqB,IAAI;AAAA,MAC3F;AAYA,YAAM,aAAa,6BAA6B,WAAW,SAAS,iBAAiB,KAAK;AACxF,YAAI,GAAG,MAAM;AAAA,UACX,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACxD,yBAAyB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,QACvE;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,6BAA6B,oBAAoB,SAAS,OAAO;AAClF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,6BAA6B,4BAA4B,KAAK,MAAM;AAAA,IAChG;AAUA,UAAM,aAAa,6BAA6B,8BAA8B,SAAS,KAAK,QAAQ;AAClG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,2BAA2B,KAAK;AACpC;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,6BAA6B,UAAU,kBAAkB,WAAW;AACrF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,6BAA6B,wBAAwB,MAAM,MAAM;AACpF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,6BAA6B,0BAA0B,SAAS,SAAS,QAAQ;AAClG,UAAI,IAAI;AACR,UAAI,QAAQ,cAAc;AAC1B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,2BAA2B;AACvC,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,6BAA6B,UAAU,gBAAgB,WAAW;AACnF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,6BAA6B,UAAU,gBAAgB,SAAS,OAAO;AACxF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,6BAA6B,UAAU,6BAA6B,WAAW;AAChG;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,6BAA6B,UAAU,6BAA6B,SAAS,OAAO;AACrG,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,8BAA8B,UAAU,WAAW,SAAS,qBAAqB;AAClG,eAAO,MAAM,aAAa,8BAA8B,SAAS,qBAAqB,IAAI;AAAA,MAC5F;AAYA,YAAM,aAAa,8BAA8B,WAAW,SAAS,iBAAiB,KAAK;AACzF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,aAAa,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACpF,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,8BAA8B,oBAAoB,SAAS,OAAO;AACnF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,8BAA8B,4BAA4B,KAAK,MAAM;AAAA,IACjG;AAUA,UAAM,aAAa,8BAA8B,8BAA8B,SAAS,KAAK,QAAQ;AACnG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,SAAS,2BAA2B;AAChF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,8BAA8B,UAAU,kBAAkB,WAAW;AACtF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,8BAA8B,wBAAwB,MAAM,MAAM;AACrF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,8BAA8B,0BAA0B,SAAS,SAAS,QAAQ;AACnG,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,SAAS;AAAA,QAC9B;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,8BAA8B,UAAU,UAAU,WAAW;AAC9E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,aAAa,8BAA8B,UAAU,UAAU,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,aAAa,8BAA8B,UAAU,aAAa,WAAW;AACjF;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,8BAA8B,UAAU,aAAa,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,aAAa,8BAA8B,UAAU,UAAU,WAAW;AAC9E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,aAAa,UAAU,CAAC;AAAA;AAAA,IACrE;AAOA,UAAM,aAAa,8BAA8B,UAAU,UAAU,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,8BAA8B,UAAU,YAAY,WAAW;AAChF,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,aAAa,8BAA8B,UAAU,UAAU,WAAW;AAC9E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,8BAA8B,UAAU,WAAW,WAAW;AAC/E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,aAAa,8BAA8B,UAAU,WAAW,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,8BAA8B,UAAU,aAAa,WAAW;AACjF,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,aAAa,8BAA8B,UAAU,WAAW,WAAW;AAC/E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,aAAa,2BAA2B,kBAAkB,CAAC,CAAC;AAIlE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,2BAA2B,UAAU,WAAW,SAAS,qBAAqB;AAC/F,eAAO,MAAM,aAAa,2BAA2B,SAAS,qBAAqB,IAAI;AAAA,MACzF;AAYA,YAAM,aAAa,2BAA2B,WAAW,SAAS,iBAAiB,KAAK;AACtF,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACtD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACzD,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAC1D,oBAAoB,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UACzE,iBAAiB,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAClF,eAAe,IAAI,IAAI,gBAAgB,MAAM,UAAU,WAAW,SAAS,iBAAiB,CAAC;AAAA,UAC7F,eAAe,IAAI,IAAI,gBAAgB,MAAM,UAAU,WAAW,SAAS,iBAAiB,CAAC;AAAA,QAC/F;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,2BAA2B,oBAAoB,SAAS,OAAO;AAChF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,2BAA2B,4BAA4B,KAAK,MAAM;AAAA,IAC9F;AAUA,UAAM,aAAa,2BAA2B,8BAA8B,SAAS,KAAK,QAAQ;AAChG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,sBAAsB,KAAK;AAC/B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,WAAW,2BAA2B;AACzE,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,WAAW,2BAA2B;AACzE,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,2BAA2B,UAAU,kBAAkB,WAAW;AACnF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,2BAA2B,wBAAwB,MAAM,MAAM;AAClF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,2BAA2B,0BAA0B,SAAS,SAAS,QAAQ;AAChG,UAAI,IAAI;AACR,UAAI,QAAQ,aAAa;AACzB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,sBAAsB;AAClC,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,WAAW;AAAA,QACvB;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,WAAW;AAAA,QACvB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,2BAA2B,UAAU,eAAe,WAAW;AAChF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,aAAa,2BAA2B,UAAU,eAAe,SAAS,OAAO;AACrF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,aAAa,2BAA2B,UAAU,iBAAiB,WAAW;AAClF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,2BAA2B,UAAU,iBAAiB,SAAS,OAAO;AACvF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,2BAA2B,UAAU,kBAAkB,WAAW;AACnF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,2BAA2B,UAAU,kBAAkB,SAAS,OAAO;AACxF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,2BAA2B,UAAU,wBAAwB,WAAW;AACzF;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,2BAA2B,UAAU,wBAAwB,SAAS,OAAO;AAC9F,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,aAAa,2BAA2B,UAAU,oBAAoB,WAAW;AACrF;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,2BAA2B,UAAU,oBAAoB,SAAS,OAAO;AAC1F,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,aAAa,2BAA2B,UAAU,gBAAgB,SAAS,OAAO,WAAW;AACjG,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,aAAa,2BAA2B,UAAU,sBAAsB,WAAW;AACvF,aAAO,KAAK,kBAAkB,CAAC,CAAC;AAAA,IAClC;AAOA,UAAM,aAAa,2BAA2B,UAAU,kBAAkB,WAAW;AACnF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,YAAY,GAAI;AAAA;AAAA,IACjE;AAOA,UAAM,aAAa,2BAA2B,UAAU,kBAAkB,SAAS,OAAO;AACxF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,KAAM,KAAK;AAAA,IACvD;AAOA,UAAM,aAAa,2BAA2B,UAAU,oBAAoB,WAAW;AACrF,aAAO,KAAK,gBAAgB,MAAS;AAAA,IACvC;AAOA,UAAM,aAAa,2BAA2B,UAAU,kBAAkB,WAAW;AACnF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAI,KAAK;AAAA,IAC9C;AAOA,UAAM,aAAa,2BAA2B,UAAU,kBAAkB,WAAW;AACnF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,YAAY,IAAI;AAAA;AAAA,IACjE;AAOA,UAAM,aAAa,2BAA2B,UAAU,kBAAkB,SAAS,OAAO;AACxF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,MAAM,KAAK;AAAA,IACvD;AAOA,UAAM,aAAa,2BAA2B,UAAU,oBAAoB,WAAW;AACrF,aAAO,KAAK,gBAAgB,MAAS;AAAA,IACvC;AAOA,UAAM,aAAa,2BAA2B,UAAU,kBAAkB,WAAW;AACnF,aAAO,KAAK,QAAQ,SAAS,MAAM,IAAI,KAAK;AAAA,IAC9C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,2BAA2B,UAAU,WAAW,SAAS,qBAAqB;AAC/F,eAAO,MAAM,aAAa,2BAA2B,SAAS,qBAAqB,IAAI;AAAA,MACzF;AAYA,YAAM,aAAa,2BAA2B,WAAW,SAAS,iBAAiB,KAAK;AACtF,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACtD,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAC5D,gBAAgB,KAAK,QAAQ,iCAAiC,KAAK,GAAG,CAAG;AAAA,UACzE,eAAe,IAAI,IAAI,gBAAgB,MAAM,UAAU,WAAW,SAAS,iBAAiB,CAAC;AAAA,UAC7F,eAAe,IAAI,IAAI,gBAAgB,MAAM,UAAU,WAAW,SAAS,iBAAiB,CAAC;AAAA,QAC/F;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,2BAA2B,oBAAoB,SAAS,OAAO;AAChF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,2BAA2B,4BAA4B,KAAK,MAAM;AAAA,IAC9F;AAUA,UAAM,aAAa,2BAA2B,8BAA8B,SAAS,KAAK,QAAQ;AAChG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,WAAW,2BAA2B;AACzE,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,WAAW,2BAA2B;AACzE,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,2BAA2B,UAAU,kBAAkB,WAAW;AACnF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,2BAA2B,wBAAwB,MAAM,MAAM;AAClF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,2BAA2B,0BAA0B,SAAS,SAAS,QAAQ;AAChG,UAAI,IAAI;AACR,UAAI,QAAQ,aAAa;AACzB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,MAAM,GAAK;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,WAAW;AAAA,QACvB;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,WAAW;AAAA,QACvB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,2BAA2B,UAAU,eAAe,WAAW;AAChF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,aAAa,2BAA2B,UAAU,eAAe,SAAS,OAAO;AACrF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,aAAa,2BAA2B,UAAU,oBAAoB,WAAW;AACrF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,2BAA2B,UAAU,oBAAoB,SAAS,OAAO;AAC1F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,2BAA2B,UAAU,oBAAoB,WAAW;AACrF;AAAA;AAAA,QAA8B,KAAK,QAAQ,iCAAiC,MAAM,GAAG,CAAG;AAAA;AAAA,IAC1F;AAOA,UAAM,aAAa,2BAA2B,UAAU,oBAAoB,SAAS,OAAO;AAC1F,aAAO,KAAK,QAAQ,oBAAoB,MAAM,GAAG,KAAK;AAAA,IACxD;AAOA,UAAM,aAAa,2BAA2B,UAAU,kBAAkB,WAAW;AACnF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,YAAY,GAAI;AAAA;AAAA,IACjE;AAOA,UAAM,aAAa,2BAA2B,UAAU,kBAAkB,SAAS,OAAO;AACxF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,KAAM,KAAK;AAAA,IACvD;AAOA,UAAM,aAAa,2BAA2B,UAAU,oBAAoB,WAAW;AACrF,aAAO,KAAK,gBAAgB,MAAS;AAAA,IACvC;AAOA,UAAM,aAAa,2BAA2B,UAAU,kBAAkB,WAAW;AACnF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAI,KAAK;AAAA,IAC9C;AAOA,UAAM,aAAa,2BAA2B,UAAU,kBAAkB,WAAW;AACnF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,YAAY,IAAI;AAAA;AAAA,IACjE;AAOA,UAAM,aAAa,2BAA2B,UAAU,kBAAkB,SAAS,OAAO;AACxF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,MAAM,KAAK;AAAA,IACvD;AAOA,UAAM,aAAa,2BAA2B,UAAU,oBAAoB,WAAW;AACrF,aAAO,KAAK,gBAAgB,MAAS;AAAA,IACvC;AAOA,UAAM,aAAa,2BAA2B,UAAU,kBAAkB,WAAW;AACnF,aAAO,KAAK,QAAQ,SAAS,MAAM,IAAI,KAAK;AAAA,IAC9C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,wCAAwC,UAAU,WAAW,SAAS,qBAAqB;AAC5G,eAAO,MAAM,aAAa,wCAAwC,SAAS,qBAAqB,IAAI;AAAA,MACtG;AAYA,YAAM,aAAa,wCAAwC,WAAW,SAAS,iBAAiB,KAAK;AACnG,YAAI,GAAG,MAAM;AAAA,UACX,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACxD,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,aAAa,2BAA2B,SAAS,iBAAiB,CAAC;AAAA,QACxG;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,wCAAwC,oBAAoB,SAAS,OAAO;AAC7F,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,wCAAwC,4BAA4B,KAAK,MAAM;AAAA,IAC3G;AAUA,UAAM,aAAa,wCAAwC,8BAA8B,SAAS,KAAK,QAAQ;AAC7G,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,2BAA2B,2BAA2B;AAClG,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,wCAAwC,UAAU,kBAAkB,WAAW;AAChG,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,wCAAwC,wBAAwB,MAAM,MAAM;AAC/F,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,wCAAwC,0BAA0B,SAAS,SAAS,QAAQ;AAC7G,UAAI,IAAI;AACR,UAAI,QAAQ,cAAc;AAC1B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,2BAA2B;AAAA,QAChD;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,wCAAwC,UAAU,gBAAgB,WAAW;AAC9F;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,wCAAwC,UAAU,gBAAgB,SAAS,OAAO;AACnG,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,wCAAwC,UAAU,UAAU,WAAW;AACxF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,aAAa,4BAA4B,CAAC;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,wCAAwC,UAAU,UAAU,SAAS,OAAO;AAC7F,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,wCAAwC,UAAU,YAAY,WAAW;AAC1F,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,aAAa,wCAAwC,UAAU,UAAU,WAAW;AACxF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,yCAAyC,UAAU,WAAW,SAAS,qBAAqB;AAC7G,eAAO,MAAM,aAAa,yCAAyC,SAAS,qBAAqB,IAAI;AAAA,MACvG;AAYA,YAAM,aAAa,yCAAyC,WAAW,SAAS,iBAAiB,KAAK;AACpG,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,aAAa,2BAA2B,SAAS,iBAAiB,CAAC;AAAA,UACtG,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,yCAAyC,oBAAoB,SAAS,OAAO;AAC9F,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,yCAAyC,4BAA4B,KAAK,MAAM;AAAA,IAC5G;AAUA,UAAM,aAAa,yCAAyC,8BAA8B,SAAS,KAAK,QAAQ;AAC9G,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,2BAA2B,2BAA2B;AAClG,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,yCAAyC,UAAU,kBAAkB,WAAW;AACjG,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,yCAAyC,wBAAwB,MAAM,MAAM;AAChG,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,yCAAyC,0BAA0B,SAAS,SAAS,QAAQ;AAC9G,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,2BAA2B;AAAA,QAChD;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,yCAAyC,UAAU,UAAU,WAAW;AACzF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,aAAa,yCAAyC,UAAU,UAAU,SAAS,OAAO;AAC9F,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,aAAa,yCAAyC,UAAU,aAAa,WAAW;AAC5F;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,yCAAyC,UAAU,aAAa,SAAS,OAAO;AACjG,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,aAAa,yCAAyC,UAAU,UAAU,WAAW;AACzF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,aAAa,4BAA4B,CAAC;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,yCAAyC,UAAU,UAAU,SAAS,OAAO;AAC9F,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,yCAAyC,UAAU,YAAY,WAAW;AAC3F,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,aAAa,yCAAyC,UAAU,UAAU,WAAW;AACzF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,yCAAyC,UAAU,WAAW,WAAW;AAC1F;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,aAAa,yCAAyC,UAAU,WAAW,SAAS,OAAO;AAC/F,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,yCAAyC,UAAU,aAAa,WAAW;AAC5F,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,aAAa,yCAAyC,UAAU,WAAW,WAAW;AAC1F,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,wCAAwC,UAAU,WAAW,SAAS,qBAAqB;AAC5G,eAAO,MAAM,aAAa,wCAAwC,SAAS,qBAAqB,IAAI;AAAA,MACtG;AAYA,YAAM,aAAa,wCAAwC,WAAW,SAAS,iBAAiB,KAAK;AACnG,YAAI,GAAG,MAAM;AAAA,UACX,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACxD,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,aAAa,2BAA2B,SAAS,iBAAiB,CAAC;AAAA,QACxG;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,wCAAwC,oBAAoB,SAAS,OAAO;AAC7F,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,wCAAwC,4BAA4B,KAAK,MAAM;AAAA,IAC3G;AAUA,UAAM,aAAa,wCAAwC,8BAA8B,SAAS,KAAK,QAAQ;AAC7G,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,2BAA2B,2BAA2B;AAClG,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,wCAAwC,UAAU,kBAAkB,WAAW;AAChG,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,wCAAwC,wBAAwB,MAAM,MAAM;AAC/F,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,wCAAwC,0BAA0B,SAAS,SAAS,QAAQ;AAC7G,UAAI,IAAI;AACR,UAAI,QAAQ,cAAc;AAC1B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,2BAA2B;AAAA,QAChD;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,wCAAwC,UAAU,gBAAgB,WAAW;AAC9F;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,wCAAwC,UAAU,gBAAgB,SAAS,OAAO;AACnG,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,wCAAwC,UAAU,UAAU,WAAW;AACxF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,aAAa,4BAA4B,CAAC;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,wCAAwC,UAAU,UAAU,SAAS,OAAO;AAC7F,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,wCAAwC,UAAU,YAAY,WAAW;AAC1F,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,aAAa,wCAAwC,UAAU,UAAU,WAAW;AACxF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,yCAAyC,UAAU,WAAW,SAAS,qBAAqB;AAC7G,eAAO,MAAM,aAAa,yCAAyC,SAAS,qBAAqB,IAAI;AAAA,MACvG;AAYA,YAAM,aAAa,yCAAyC,WAAW,SAAS,iBAAiB,KAAK;AACpG,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,aAAa,2BAA2B,SAAS,iBAAiB,CAAC;AAAA,UACtG,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,yCAAyC,oBAAoB,SAAS,OAAO;AAC9F,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,yCAAyC,4BAA4B,KAAK,MAAM;AAAA,IAC5G;AAUA,UAAM,aAAa,yCAAyC,8BAA8B,SAAS,KAAK,QAAQ;AAC9G,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,2BAA2B,2BAA2B;AAClG,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,yCAAyC,UAAU,kBAAkB,WAAW;AACjG,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,yCAAyC,wBAAwB,MAAM,MAAM;AAChG,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,yCAAyC,0BAA0B,SAAS,SAAS,QAAQ;AAC9G,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,2BAA2B;AAAA,QAChD;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,yCAAyC,UAAU,UAAU,WAAW;AACzF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,aAAa,yCAAyC,UAAU,UAAU,SAAS,OAAO;AAC9F,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,aAAa,yCAAyC,UAAU,aAAa,WAAW;AAC5F;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,yCAAyC,UAAU,aAAa,SAAS,OAAO;AACjG,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,aAAa,yCAAyC,UAAU,UAAU,WAAW;AACzF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,aAAa,4BAA4B,CAAC;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,yCAAyC,UAAU,UAAU,SAAS,OAAO;AAC9F,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,yCAAyC,UAAU,YAAY,WAAW;AAC3F,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,aAAa,yCAAyC,UAAU,UAAU,WAAW;AACzF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,yCAAyC,UAAU,WAAW,WAAW;AAC1F;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,aAAa,yCAAyC,UAAU,WAAW,SAAS,OAAO;AAC/F,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,yCAAyC,UAAU,aAAa,WAAW;AAC5F,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,aAAa,yCAAyC,UAAU,WAAW,WAAW;AAC1F,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,aAAa,yBAAyB,kBAAkB,CAAC,CAAC;AAIhE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,yBAAyB,UAAU,WAAW,SAAS,qBAAqB;AAC7F,eAAO,MAAM,aAAa,yBAAyB,SAAS,qBAAqB,IAAI;AAAA,MACvF;AAYA,YAAM,aAAa,yBAAyB,WAAW,SAAS,iBAAiB,KAAK;AACpF,YAAI,GAAG,MAAM;AAAA,UACX,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACxD,WAAW,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,QAC9E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,yBAAyB,oBAAoB,SAAS,OAAO;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,yBAAyB,4BAA4B,KAAK,MAAM;AAAA,IAC5F;AAUA,UAAM,aAAa,yBAAyB,8BAA8B,SAAS,KAAK,QAAQ;AAC9F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,yBAAyB,UAAU,kBAAkB,WAAW;AACjF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,yBAAyB,wBAAwB,MAAM,MAAM;AAChF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,yBAAyB,0BAA0B,SAAS,SAAS,QAAQ;AAC9F,UAAI,IAAI;AACR,UAAI,QAAQ,cAAc;AAC1B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,yBAAyB,UAAU,gBAAgB,WAAW;AAC/E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,yBAAyB,UAAU,gBAAgB,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,yBAAyB,UAAU,cAAc,WAAW;AAC7E;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,yBAAyB,UAAU,cAAc,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,aAAa,yBAAyB,UAAU,UAAU,SAAS,OAAO,WAAW;AACzF,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,aAAa,yBAAyB,UAAU,gBAAgB,WAAW;AAC/E,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,oBAAoB,UAAU,WAAW,SAAS,qBAAqB;AACxF,eAAO,MAAM,aAAa,oBAAoB,SAAS,qBAAqB,IAAI;AAAA,MAClF;AAYA,YAAM,aAAa,oBAAoB,WAAW,SAAS,iBAAiB,KAAK;AAC/E,YAAI,GAAG,MAAM;AAAA,UACX,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACxD,oBAAoB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,QAClE;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,oBAAoB,oBAAoB,SAAS,OAAO;AACzE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,oBAAoB,4BAA4B,KAAK,MAAM;AAAA,IACvF;AAUA,UAAM,aAAa,oBAAoB,8BAA8B,SAAS,KAAK,QAAQ;AACzF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,sBAAsB,KAAK;AAC/B;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,oBAAoB,UAAU,kBAAkB,WAAW;AAC5E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,oBAAoB,wBAAwB,MAAM,MAAM;AAC3E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,oBAAoB,0BAA0B,SAAS,SAAS,QAAQ;AACzF,UAAI,IAAI;AACR,UAAI,QAAQ,cAAc;AAC1B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,sBAAsB;AAClC,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,oBAAoB,UAAU,gBAAgB,WAAW;AAC1E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,oBAAoB,UAAU,gBAAgB,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,oBAAoB,UAAU,wBAAwB,WAAW;AAClF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,oBAAoB,UAAU,wBAAwB,SAAS,OAAO;AACvF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,4BAA4B,UAAU,WAAW,SAAS,qBAAqB;AAChG,eAAO,MAAM,aAAa,4BAA4B,SAAS,qBAAqB,IAAI;AAAA,MAC1F;AAYA,YAAM,aAAa,4BAA4B,WAAW,SAAS,iBAAiB,KAAK;AACvF,YAAI,GAAG,MAAM;AAAA,UACX,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACxD,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QAC1D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,4BAA4B,oBAAoB,SAAS,OAAO;AACjF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,4BAA4B,4BAA4B,KAAK,MAAM;AAAA,IAC/F;AAUA,UAAM,aAAa,4BAA4B,8BAA8B,SAAS,KAAK,QAAQ;AACjG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,4BAA4B,UAAU,kBAAkB,WAAW;AACpF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,4BAA4B,wBAAwB,MAAM,MAAM;AACnF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,4BAA4B,0BAA0B,SAAS,SAAS,QAAQ;AACjG,UAAI,IAAI;AACR,UAAI,QAAQ,cAAc;AAC1B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,4BAA4B,UAAU,gBAAgB,WAAW;AAClF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,4BAA4B,UAAU,gBAAgB,SAAS,OAAO;AACvF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,4BAA4B,UAAU,UAAU,WAAW;AAC5E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,aAAa,4BAA4B,UAAU,UAAU,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,aAAa,4BAA4B,UAAU,iBAAiB,WAAW;AACnF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,aAAa,4BAA4B,UAAU,iBAAiB,SAAS,OAAO;AACxF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,aAAa,YAAY,kBAAkB,CAAC,IAAG,IAAG,IAAG,EAAE;AAI7D,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,YAAY,UAAU,WAAW,SAAS,qBAAqB;AAChF,eAAO,MAAM,aAAa,YAAY,SAAS,qBAAqB,IAAI;AAAA,MAC1E;AAYA,YAAM,aAAa,YAAY,WAAW,SAAS,iBAAiB,KAAK;AACvE,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACxD,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACnD,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,UACpD,WAAW,KAAK,QAAQ,oBAAoB,KAAK,IAAI,GAAG;AAAA,UACxD,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,IAAI,GAAG;AAAA,UAC7D,yBAAyB,KAAK,QAAQ,oBAAoB,KAAK,IAAI,GAAG;AAAA,UACtE,WAAW,KAAK,QAAQ,oBAAoB,KAAK,IAAI,GAAG;AAAA,UACxD,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC7G,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC7G,aAAa,KAAK,QAAQ;AAAA,YAAa,IAAI,eAAe;AAAA,YAC1D,UAAU,OAAO;AAAA,YAAU;AAAA,UAAe;AAAA,UAC1C,cAAc,KAAK,QAAQ;AAAA,YAAa,IAAI,gBAAgB;AAAA,YAC5D,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,UAC5C,eAAe,KAAK,QAAQ;AAAA,YAAa,IAAI,iBAAiB;AAAA,YAC9D,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,UAC5C,aAAa,KAAK,QAAQ;AAAA,YAAa,IAAI,eAAe;AAAA,YAC1D,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,QAC9C;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,YAAY,oBAAoB,SAAS,OAAO;AACjE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,YAAY,4BAA4B,KAAK,MAAM;AAAA,IAC/E;AAUA,UAAM,aAAa,YAAY,8BAA8B,SAAS,KAAK,QAAQ;AACjF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,2BAA2B,KAAK;AACpC;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,OAAO,2BAA2B;AACrE,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,YAAY,UAAU,kBAAkB,WAAW;AACpE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,YAAY,wBAAwB,MAAM,MAAM;AACnE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,YAAY,0BAA0B,SAAS,SAAS,QAAQ;AACjF,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,UAAU;AACtB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,UAAU;AACtB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,2BAA2B;AACvC,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,OAAO;AAAA,QACnB;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,YAAY,UAAU,QAAQ,WAAW;AAC1D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,YAAY,UAAU,QAAQ,SAAS,OAAO;AAC/D,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,YAAY,UAAU,gBAAgB,WAAW;AAClE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,YAAY,UAAU,gBAAgB,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,YAAY,UAAU,YAAY,WAAW;AAC9D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,aAAa,YAAY,UAAU,YAAY,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,aAAa,YAAY,UAAU,YAAY,WAAW;AAC9D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,YAAY,UAAU,YAAY,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAOA,UAAM,aAAa,YAAY,UAAU,eAAe,WAAW;AACjE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,GAAG;AAAA;AAAA,IAC9E;AAOA,UAAM,aAAa,YAAY,UAAU,eAAe,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,IAAI,KAAK;AAAA,IAC7D;AAOA,UAAM,aAAa,YAAY,UAAU,oBAAoB,WAAW;AACtE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,GAAG;AAAA;AAAA,IAC9E;AAOA,UAAM,aAAa,YAAY,UAAU,oBAAoB,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,IAAI,KAAK;AAAA,IAC7D;AAOA,UAAM,aAAa,YAAY,UAAU,6BAA6B,WAAW;AAC/E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,GAAG;AAAA;AAAA,IAC9E;AAOA,UAAM,aAAa,YAAY,UAAU,6BAA6B,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,IAAI,KAAK;AAAA,IAC7D;AAOA,UAAM,aAAa,YAAY,UAAU,eAAe,WAAW;AACjE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,GAAG;AAAA;AAAA,IAC9E;AAOA,UAAM,aAAa,YAAY,UAAU,eAAe,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,IAAI,KAAK;AAAA,IAC7D;AAOA,UAAM,aAAa,YAAY,UAAU,iBAAiB,WAAW;AACnE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,EAAE;AAAA;AAAA,IACjF;AAOA,UAAM,aAAa,YAAY,UAAU,iBAAiB,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,aAAa,YAAY,UAAU,mBAAmB,WAAW;AACrE,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,aAAa,YAAY,UAAU,iBAAiB,WAAW;AACnE,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAOA,UAAM,aAAa,YAAY,UAAU,iBAAiB,WAAW;AACnE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,EAAE;AAAA;AAAA,IACjF;AAOA,UAAM,aAAa,YAAY,UAAU,iBAAiB,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,aAAa,YAAY,UAAU,mBAAmB,WAAW;AACrE,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,aAAa,YAAY,UAAU,iBAAiB,WAAW;AACnE,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAOA,UAAM,aAAa,YAAY,UAAU,iBAAiB,WAAW;AACnE;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,QAAQ,EAAE;AAAA;AAAA,IACnE;AAOA,UAAM,aAAa,YAAY,UAAU,iBAAiB,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,IAAI,KAAK;AAAA,IAC7D;AAQA,UAAM,aAAa,YAAY,UAAU,aAAa,SAAS,WAAW,WAAW;AACnF,aAAO,KAAK,QAAQ,0BAA0B,MAAM,IAAI,WAAW,MAAM,QAAQ,SAAS;AAAA,IAC5F;AAOA,UAAM,aAAa,YAAY,UAAU,mBAAmB,WAAW;AACrE,aAAO,KAAK,eAAe,CAAC,CAAC;AAAA,IAC/B;AAOA,UAAM,aAAa,YAAY,UAAU,kBAAkB,WAAW;AACpE;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,EAAE;AAAA;AAAA,IACrE;AAOA,UAAM,aAAa,YAAY,UAAU,kBAAkB,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,IAAI,KAAK;AAAA,IAC7D;AAQA,UAAM,aAAa,YAAY,UAAU,cAAc,SAAS,WAAW,WAAW;AACpF,aAAO,KAAK,QAAQ,0BAA0B,MAAM,IAAI,WAAW,MAAM,UAAU,SAAS;AAAA,IAC9F;AAOA,UAAM,aAAa,YAAY,UAAU,oBAAoB,WAAW;AACtE,aAAO,KAAK,gBAAgB,CAAC,CAAC;AAAA,IAChC;AAOA,UAAM,aAAa,YAAY,UAAU,mBAAmB,WAAW;AACrE;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,EAAE;AAAA;AAAA,IACrE;AAOA,UAAM,aAAa,YAAY,UAAU,mBAAmB,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,IAAI,KAAK;AAAA,IAC7D;AAQA,UAAM,aAAa,YAAY,UAAU,eAAe,SAAS,WAAW,WAAW;AACrF,aAAO,KAAK,QAAQ,0BAA0B,MAAM,IAAI,WAAW,MAAM,UAAU,SAAS;AAAA,IAC9F;AAOA,UAAM,aAAa,YAAY,UAAU,qBAAqB,WAAW;AACvE,aAAO,KAAK,iBAAiB,CAAC,CAAC;AAAA,IACjC;AAOA,UAAM,aAAa,YAAY,UAAU,iBAAiB,WAAW;AACnE;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,EAAE;AAAA;AAAA,IACrE;AAOA,UAAM,aAAa,YAAY,UAAU,iBAAiB,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,IAAI,KAAK;AAAA,IAC7D;AAQA,UAAM,aAAa,YAAY,UAAU,aAAa,SAAS,WAAW,WAAW;AACnF,aAAO,KAAK,QAAQ,0BAA0B,MAAM,IAAI,WAAW,MAAM,UAAU,SAAS;AAAA,IAC9F;AAOA,UAAM,aAAa,YAAY,UAAU,mBAAmB,WAAW;AACrE,aAAO,KAAK,eAAe,CAAC,CAAC;AAAA,IAC/B;AASA,UAAM,aAAa,yBAAyB,kBAAkB,CAAC,CAAC;AAIhE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,yBAAyB,UAAU,WAAW,SAAS,qBAAqB;AAC7F,eAAO,MAAM,aAAa,yBAAyB,SAAS,qBAAqB,IAAI;AAAA,MACvF;AAYA,YAAM,aAAa,yBAAyB,WAAW,SAAS,iBAAiB,KAAK;AACpF,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,IAAI,IAAI,YAAY,MAAM,UAAU,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACnF,eAAe,KAAK,QAAQ;AAAA,YAAa,IAAI,iBAAiB;AAAA,YAC9D,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,UAC5C,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,QAC1D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,yBAAyB,oBAAoB,SAAS,OAAO;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,yBAAyB,4BAA4B,KAAK,MAAM;AAAA,IAC5F;AAUA,UAAM,aAAa,yBAAyB,8BAA8B,SAAS,KAAK,QAAQ;AAC9F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,yBAAyB,UAAU,kBAAkB,WAAW;AACjF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,yBAAyB,wBAAwB,MAAM,MAAM;AAChF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,yBAAyB,0BAA0B,SAAS,SAAS,QAAQ;AAC9F,UAAI,IAAI;AACR,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,yBAAyB,UAAU,cAAc,WAAW;AAC7E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IAC5D;AAOA,UAAM,aAAa,yBAAyB,UAAU,cAAc,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,yBAAyB,UAAU,gBAAgB,WAAW;AAC/E,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,aAAa,yBAAyB,UAAU,cAAc,WAAW;AAC7E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,yBAAyB,UAAU,mBAAmB,WAAW;AAClF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IACpE;AAOA,UAAM,aAAa,yBAAyB,UAAU,mBAAmB,SAAS,OAAO;AACvF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,aAAa,yBAAyB,UAAU,eAAe,SAAS,WAAW,WAAW;AAClG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,UAAU,SAAS;AAAA,IAC7F;AAOA,UAAM,aAAa,yBAAyB,UAAU,qBAAqB,WAAW;AACpF,aAAO,KAAK,iBAAiB,CAAC,CAAC;AAAA,IACjC;AAOA,UAAM,aAAa,yBAAyB,UAAU,gBAAgB,WAAW;AAC/E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,yBAAyB,UAAU,gBAAgB,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AASA,UAAM,aAAa,0BAA0B,kBAAkB,CAAC,CAAC;AAIjE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,0BAA0B,UAAU,WAAW,SAAS,qBAAqB;AAC9F,eAAO,MAAM,aAAa,0BAA0B,SAAS,qBAAqB,IAAI;AAAA,MACxF;AAYA,YAAM,aAAa,0BAA0B,WAAW,SAAS,iBAAiB,KAAK;AACrF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,MAAM,aAAa,YAAY;AAAA,YAAU;AAAA,UAAe;AAAA,UACxD,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,YAAY,IAAI,IAAI,aAAa,MAAM,UAAU,UAAU,SAAS,iBAAiB,CAAC;AAAA,QACxF;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,0BAA0B,oBAAoB,SAAS,OAAO;AAC/E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,0BAA0B,4BAA4B,KAAK,MAAM;AAAA,IAC7F;AAUA,UAAM,aAAa,0BAA0B,8BAA8B,SAAS,KAAK,QAAQ;AAC/F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,YAAY,2BAA2B;AACnF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,UAAU,2BAA2B;AACxE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,0BAA0B,UAAU,kBAAkB,WAAW;AAClF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,0BAA0B,wBAAwB,MAAM,MAAM;AACjF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,0BAA0B,0BAA0B,SAAS,SAAS,QAAQ;AAC/F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,YAAY;AAAA,QACjC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,UAAU;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,0BAA0B,UAAU,UAAU,WAAW;AAC1E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,aAAa,0BAA0B,UAAU,UAAU,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,aAAa,0BAA0B,UAAU,aAAa,WAAW;AAC7E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,0BAA0B,UAAU,aAAa,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,aAAa,0BAA0B,UAAU,cAAc,WAAW;AAC9E;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,aAAa,aAAa,CAAC;AAAA;AAAA,IAChF;AAOA,UAAM,aAAa,0BAA0B,UAAU,cAAc,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,aAAa,0BAA0B,UAAU,UAAU,SAAS,WAAW,WAAW;AAC9F,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,aAAa,aAAa,SAAS;AAAA,IAC7G;AAOA,UAAM,aAAa,0BAA0B,UAAU,gBAAgB,WAAW;AAChF,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,aAAa,0BAA0B,UAAU,WAAW,WAAW;AAC3E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,aAAa,0BAA0B,UAAU,WAAW,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,0BAA0B,UAAU,aAAa,WAAW;AAC7E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,aAAa,0BAA0B,UAAU,WAAW,WAAW;AAC3E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,0BAA0B,UAAU,eAAe,WAAW;AAC/E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,WAAW,CAAC;AAAA;AAAA,IAC7D;AAOA,UAAM,aAAa,0BAA0B,UAAU,eAAe,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,0BAA0B,UAAU,iBAAiB,WAAW;AACjF,aAAO,KAAK,aAAa,MAAS;AAAA,IACpC;AAOA,UAAM,aAAa,0BAA0B,UAAU,eAAe,WAAW;AAC/E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,sBAAsB,UAAU,WAAW,SAAS,qBAAqB;AAC1F,eAAO,MAAM,aAAa,sBAAsB,SAAS,qBAAqB,IAAI;AAAA,MACpF;AAYA,YAAM,aAAa,sBAAsB,WAAW,SAAS,iBAAiB,KAAK;AACjF,YAAI,GAAG,MAAM;AAAA,UACX,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACxD,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,QAClD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,sBAAsB,oBAAoB,SAAS,OAAO;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,sBAAsB,4BAA4B,KAAK,MAAM;AAAA,IACzF;AAUA,UAAM,aAAa,sBAAsB,8BAA8B,SAAS,KAAK,QAAQ;AAC3F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,sBAAsB,UAAU,kBAAkB,WAAW;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,sBAAsB,wBAAwB,MAAM,MAAM;AAC7E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,sBAAsB,0BAA0B,SAAS,SAAS,QAAQ;AAC3F,UAAI,IAAI;AACR,UAAI,QAAQ,cAAc;AAC1B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,sBAAsB,UAAU,gBAAgB,WAAW;AAC5E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,sBAAsB,UAAU,gBAAgB,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,sBAAsB,UAAU,QAAQ,WAAW;AACpE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,sBAAsB,UAAU,QAAQ,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,uBAAuB,UAAU,WAAW,SAAS,qBAAqB;AAC3F,eAAO,MAAM,aAAa,uBAAuB,SAAS,qBAAqB,IAAI;AAAA,MACrF;AAYA,YAAM,aAAa,uBAAuB,WAAW,SAAS,iBAAiB,KAAK;AAClF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,aAAa,YAAY,SAAS,iBAAiB,CAAC;AAAA,UACvF,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,uBAAuB,oBAAoB,SAAS,OAAO;AAC5E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,uBAAuB,4BAA4B,KAAK,MAAM;AAAA,IAC1F;AAUA,UAAM,aAAa,uBAAuB,8BAA8B,SAAS,KAAK,QAAQ;AAC5F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,YAAY,2BAA2B;AACnF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,uBAAuB,UAAU,kBAAkB,WAAW;AAC/E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,uBAAuB,wBAAwB,MAAM,MAAM;AAC9E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,uBAAuB,0BAA0B,SAAS,SAAS,QAAQ;AAC5F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,YAAY;AAAA,QACjC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,uBAAuB,UAAU,UAAU,WAAW;AACvE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,aAAa,uBAAuB,UAAU,UAAU,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,aAAa,uBAAuB,UAAU,aAAa,WAAW;AAC1E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,uBAAuB,UAAU,aAAa,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,aAAa,uBAAuB,UAAU,UAAU,WAAW;AACvE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,aAAa,aAAa,CAAC;AAAA;AAAA,IACxE;AAOA,UAAM,aAAa,uBAAuB,UAAU,UAAU,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,uBAAuB,UAAU,YAAY,WAAW;AACzE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,aAAa,uBAAuB,UAAU,UAAU,WAAW;AACvE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,uBAAuB,UAAU,WAAW,WAAW;AACxE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,aAAa,uBAAuB,UAAU,WAAW,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,uBAAuB,UAAU,aAAa,WAAW;AAC1E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,aAAa,uBAAuB,UAAU,WAAW,WAAW;AACxE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAGA,SAAK,OAAO,OAAO,SAAS,MAAM,YAAY;AAAA;AAAA;;;ACvrT9C;AAAA;AAAA;AAGA,QAAI,kBAAkB;AACtB,QAAI,YAAY;AAChB,QAAIC,QAAO,UAAQ,0BAA0B,EAAE;AAE/C,QAAIC,mBAAmB,WAAY;AACjC,eAASA,mBAAkB;AAAA,MAAC;AAC5B,MAAAA,iBAAgB,cAAc;AAC9B,aAAOA;AAAA,IACT,EAAE;AAEF,IAAAA,iBAAgB,cAAc;AAAA,MAC5B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,gBAAgB;AAAA,MAC7B,cAAc,gBAAgB;AAAA,IAChC;AAEA,IAAAA,iBAAgB,iBAAiB;AAAA,MAC/B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,gBAAgB;AAAA,MAC7B,cAAc,gBAAgB;AAAA,IAChC;AAEA,IAAAA,iBAAgB,8BAA8B;AAAA,MAC5C,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,gBAAgB;AAAA,MAC7B,cAAc,gBAAgB;AAAA,IAChC;AAEA,IAAAA,iBAAgB,wBAAwB;AAAA,MACtC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,gBAAgB;AAAA,MAC7B,cAAc,gBAAgB;AAAA,IAChC;AAEA,IAAAA,iBAAgB,iBAAiB;AAAA,MAC/B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,gBAAgB;AAAA,MAC7B,cAAc,gBAAgB;AAAA,IAChC;AAEA,IAAAA,iBAAgB,8BAA8B;AAAA,MAC5C,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,gBAAgB;AAAA,MAC7B,cAAc,gBAAgB;AAAA,IAChC;AAEA,IAAAA,iBAAgB,mCAAmC;AAAA,MACjD,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,gBAAgB;AAAA,MAC7B,cAAc,gBAAgB;AAAA,IAChC;AAEA,IAAAA,iBAAgB,mCAAmC;AAAA,MACjD,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,gBAAgB;AAAA,MAC7B,cAAc,gBAAgB;AAAA,IAChC;AAEA,IAAAA,iBAAgB,oBAAoB;AAAA,MAClC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,gBAAgB;AAAA,MAC7B,cAAc,gBAAgB;AAAA,IAChC;AAEA,IAAAA,iBAAgB,eAAe;AAAA,MAC7B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,gBAAgB;AAAA,MAC7B,cAAc,UAAU;AAAA,IAC1B;AAEA,IAAAA,iBAAgB,uBAAuB;AAAA,MACrC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,gBAAgB;AAAA,MAC7B,cAAc,gBAAgB;AAAA,IAChC;AAEA,IAAAA,iBAAgB,oBAAoB;AAAA,MAClC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,gBAAgB;AAAA,MAC7B,cAAc,gBAAgB;AAAA,IAChC;AAEA,IAAAA,iBAAgB,iBAAiB;AAAA,MAC/B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,gBAAgB;AAAA,MAC7B,cAAc,gBAAgB;AAAA,IAChC;AAEA,YAAQ,kBAAkBA;AAE1B,aAASC,uBAAsB,aAAa,SAAS;AACnD,WAAK,cAAc;AACnB,WAAK,UAAU,WAAW,CAAC;AAAA,IAC7B;AAEA,IAAAA,uBAAsB,UAAU,cAAc,SAAS,YAAY,gBAAgB,UAAU,UAAU;AACrG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,iBAAgB,aAAa;AAAA,QACnD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,uBAAsB,UAAU,iBAAiB,SAAS,eAAe,gBAAgB,UAAU,UAAU;AAC3G,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,iBAAgB,gBAAgB;AAAA,QACtD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,uBAAsB,UAAU,8BAA8B,SAAS,4BAA4B,gBAAgB,UAAU,UAAU;AACrI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,iBAAgB,6BAA6B;AAAA,QACnE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,uBAAsB,UAAU,wBAAwB,SAAS,sBAAsB,gBAAgB,UAAU,UAAU;AACzH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,iBAAgB,uBAAuB;AAAA,QAC7D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,uBAAsB,UAAU,iBAAiB,SAAS,eAAe,gBAAgB,UAAU,UAAU;AAC3G,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,iBAAgB,gBAAgB;AAAA,QACtD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,uBAAsB,UAAU,8BAA8B,SAAS,4BAA4B,gBAAgB,UAAU,UAAU;AACrI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,iBAAgB,6BAA6B;AAAA,QACnE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,uBAAsB,UAAU,mCAAmC,SAAS,iCAAiC,gBAAgB,UAAU,UAAU;AAC/I,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,iBAAgB,kCAAkC;AAAA,QACxE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,uBAAsB,UAAU,mCAAmC,SAAS,iCAAiC,gBAAgB,UAAU,UAAU;AAC/I,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,iBAAgB,kCAAkC;AAAA,QACxE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,uBAAsB,UAAU,oBAAoB,SAAS,kBAAkB,gBAAgB,UAAU,UAAU;AACjH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,iBAAgB,mBAAmB;AAAA,QACzD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,uBAAsB,UAAU,eAAe,SAAS,aAAa,gBAAgB,UAAU,UAAU;AACvG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,iBAAgB,cAAc;AAAA,QACpD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,uBAAsB,UAAU,uBAAuB,SAAS,qBAAqB,gBAAgB,UAAU,UAAU;AACvH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,iBAAgB,sBAAsB;AAAA,QAC5D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,uBAAsB,UAAU,oBAAoB,SAAS,kBAAkB,gBAAgB,UAAU,UAAU;AACjH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,iBAAgB,mBAAmB;AAAA,QACzD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,uBAAsB,UAAU,iBAAiB,SAAS,eAAe,gBAAgB,UAAU,UAAU;AAC3G,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,iBAAgB,gBAAgB;AAAA,QACtD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,wBAAwBE;AAAA;AAAA;;;AC5hBhC;AAAA;AAAA;AAaA,QAAI,OAAO,UAAQ,iBAAiB;AACpC,QAAI,OAAO;AACX,QAAI,SAAU,WAAW;AAAE,aAAO,QAAQ,UAAU,UAAU,QAAQ,SAAS,aAAa,EAAE;AAAA,IAAG,EAAG,KAAK,IAAI;AAE7G,QAAI,4BAA4B,UAAQ,8CAA8C;AACtF,SAAK,OAAO,OAAO,OAAO,yBAAyB;AACnD,QAAI,+BAA+B,UAAQ,iDAAiD;AAC5F,SAAK,OAAO,OAAO,OAAO,4BAA4B;AACtD,QAAI,YAAY;AAChB,SAAK,OAAO,OAAO,OAAO,SAAS;AACnC,SAAK,aAAa,kCAAkC,MAAM,MAAM;AAChE,SAAK,aAAa,+CAA+C,MAAM,MAAM;AAC7E,SAAK,aAAa,gDAAgD,MAAM,MAAM;AAC9E,SAAK,aAAa,+CAA+C,MAAM,MAAM;AAC7E,SAAK,aAAa,gDAAgD,MAAM,MAAM;AAC9E,SAAK,aAAa,4CAA4C,MAAM,MAAM;AAC1E,SAAK,aAAa,6CAA6C,MAAM,MAAM;AAW3E,UAAM,gBAAgB,WAAW,SAAS,UAAU;AAClD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,gBAAgB,SAAS,iBAAiB,IAAI;AAAA,IACrG;AACA,SAAK,SAAS,MAAM,gBAAgB,UAAU,KAAK,OAAO;AAC1D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,SAAS,cAAc;AAAA,IAC/C;AAWA,UAAM,gBAAgB,wBAAwB,SAAS,UAAU;AAC/D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,gBAAgB,sBAAsB,iBAAiB,IAAI;AAAA,IAClH;AACA,SAAK,SAAS,MAAM,gBAAgB,uBAAuB,KAAK,OAAO;AACvE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,sBAAsB,cAAc;AAAA,IAC5D;AAWA,UAAM,gBAAgB,yBAAyB,SAAS,UAAU;AAChE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,gBAAgB,uBAAuB,iBAAiB,IAAI;AAAA,IACnH;AACA,SAAK,SAAS,MAAM,gBAAgB,wBAAwB,KAAK,OAAO;AACxE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,uBAAuB,cAAc;AAAA,IAC7D;AAWA,UAAM,gBAAgB,qBAAqB,SAAS,UAAU;AAC5D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,gBAAgB,oBAAoB,KAAK,OAAO;AACpE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,mBAAmB,cAAc;AAAA,IACzD;AAWA,UAAM,gBAAgB,sBAAsB,SAAS,UAAU;AAC7D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,gBAAgB,qBAAqB,KAAK,OAAO;AACrE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,oBAAoB,cAAc;AAAA,IAC1D;AAWA,UAAM,gBAAgB,wBAAwB,SAAS,UAAU;AAC/D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,gBAAgB,uBAAuB,KAAK,OAAO;AACvE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,sBAAsB,cAAc;AAAA,IAC5D;AAWA,UAAM,gBAAgB,yBAAyB,SAAS,UAAU;AAChE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,gBAAgB,wBAAwB,KAAK,OAAO;AACxE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,uBAAuB,cAAc;AAAA,IAC7D;AAOA,UAAM,gBAAgB,SAAS,kBAAkB,CAAC,IAAG,EAAE;AAIvD,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,SAAS,UAAU,WAAW,SAAS,qBAAqB;AAChF,eAAO,MAAM,gBAAgB,SAAS,SAAS,qBAAqB,IAAI;AAAA,MAC1E;AAYA,YAAM,gBAAgB,SAAS,WAAW,SAAS,iBAAiB,KAAK;AACvE,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,iBAAiB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAC5D,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACxD,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAC1D,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UACrD,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACnD,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACvD,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAC5D,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAC1D,4BAA4B,KAAK,QAAQ;AAAA,YAAa,IAAI,8BAA8B;AAAA,YACxF,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,UAC5C,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC7G,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC7G,UAAU,IAAI,IAAI,WAAW,MAAM,0BAA0B,OAAO,SAAS,iBAAiB,CAAC;AAAA,UAC/F,WAAW,IAAI,IAAI,YAAY,MAAM,0BAA0B,OAAO,SAAS,iBAAiB,CAAC;AAAA,UACjG,aAAa,KAAK,QAAQ;AAAA,YAAa,IAAI,eAAe;AAAA,YAC1D,UAAU,OAAO;AAAA,YAAU;AAAA,UAAe;AAAA,QAC5C;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,SAAS,oBAAoB,SAAS,OAAO;AACjE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,SAAS,4BAA4B,KAAK,MAAM;AAAA,IAC/E;AAUA,UAAM,gBAAgB,SAAS,8BAA8B,SAAS,KAAK,QAAQ;AACjF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,mBAAmB,KAAK;AAC5B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,0BAA0B,KAAK;AACnC;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,0BAA0B;AAC1C,mBAAO,YAAY,OAAM,0BAA0B,OAAO,2BAA2B;AACrF,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,0BAA0B;AAC1C,mBAAO,YAAY,OAAM,0BAA0B,OAAO,2BAA2B;AACrF,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,OAAO,2BAA2B;AACrE,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,SAAS,UAAU,kBAAkB,WAAW;AACpE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,SAAS,wBAAwB,MAAM,MAAM;AACnE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,SAAS,0BAA0B,SAAS,SAAS,QAAQ;AACjF,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,mBAAmB;AAC/B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,UAAU;AACtB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,8BAA8B;AAC1C,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,0BAA0B,OAAO;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,0BAA0B,OAAO;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,OAAO;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,SAAS,UAAU,QAAQ,WAAW;AAC1D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,gBAAgB,SAAS,UAAU,QAAQ,SAAS,OAAO;AAC/D,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,gBAAgB,SAAS,UAAU,qBAAqB,WAAW;AACvE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,SAAS,UAAU,qBAAqB,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,gBAAgB,SAAS,UAAU,iBAAiB,WAAW;AACnE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,SAAS,UAAU,iBAAiB,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,gBAAgB,SAAS,UAAU,oBAAoB,WAAW;AACtE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,gBAAgB,SAAS,UAAU,oBAAoB,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,gBAAgB,SAAS,UAAU,eAAe,WAAW;AACjE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,gBAAgB,SAAS,UAAU,eAAe,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,gBAAgB,SAAS,UAAU,YAAY,WAAW;AAC9D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,SAAS,UAAU,YAAY,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,gBAAgB,SAAS,UAAU,eAAe,WAAW;AACjE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,gBAAgB,SAAS,UAAU,eAAe,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,gBAAgB,SAAS,UAAU,oBAAoB,WAAW;AACtE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,gBAAgB,SAAS,UAAU,oBAAoB,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,gBAAgB,SAAS,UAAU,kBAAkB,WAAW;AACpE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,gBAAgB,SAAS,UAAU,kBAAkB,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,gBAAgB,SAAS,UAAU,gCAAgC,WAAW;AAClF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,EAAE;AAAA;AAAA,IACrE;AAOA,UAAM,gBAAgB,SAAS,UAAU,gCAAgC,SAAS,OAAO;AACvF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,IAAI,KAAK;AAAA,IAC7D;AAQA,UAAM,gBAAgB,SAAS,UAAU,4BAA4B,SAAS,WAAW,WAAW;AAClG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,IAAI,WAAW,MAAM,UAAU,SAAS;AAAA,IAC9F;AAOA,UAAM,gBAAgB,SAAS,UAAU,kCAAkC,WAAW;AACpF,aAAO,KAAK,8BAA8B,CAAC,CAAC;AAAA,IAC9C;AAOA,UAAM,gBAAgB,SAAS,UAAU,iBAAiB,WAAW;AACnE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,EAAE;AAAA;AAAA,IACjF;AAOA,UAAM,gBAAgB,SAAS,UAAU,iBAAiB,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,gBAAgB,SAAS,UAAU,mBAAmB,WAAW;AACrE,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,gBAAgB,SAAS,UAAU,iBAAiB,WAAW;AACnE,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAOA,UAAM,gBAAgB,SAAS,UAAU,iBAAiB,WAAW;AACnE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,EAAE;AAAA;AAAA,IACjF;AAOA,UAAM,gBAAgB,SAAS,UAAU,iBAAiB,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,gBAAgB,SAAS,UAAU,mBAAmB,WAAW;AACrE,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,gBAAgB,SAAS,UAAU,iBAAiB,WAAW;AACnE,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAOA,UAAM,gBAAgB,SAAS,UAAU,aAAa,WAAW;AAC/D;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,0BAA0B,QAAQ,EAAE;AAAA;AAAA,IAC3E;AAOA,UAAM,gBAAgB,SAAS,UAAU,aAAa,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,gBAAgB,SAAS,UAAU,eAAe,WAAW;AACjE,aAAO,KAAK,WAAW,MAAS;AAAA,IAClC;AAOA,UAAM,gBAAgB,SAAS,UAAU,aAAa,WAAW;AAC/D,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAOA,UAAM,gBAAgB,SAAS,UAAU,cAAc,WAAW;AAChE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,0BAA0B,QAAQ,EAAE;AAAA;AAAA,IAC3E;AAOA,UAAM,gBAAgB,SAAS,UAAU,cAAc,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,gBAAgB,SAAS,UAAU,gBAAgB,WAAW;AAClE,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,gBAAgB,SAAS,UAAU,cAAc,WAAW;AAChE,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAOA,UAAM,gBAAgB,SAAS,UAAU,iBAAiB,WAAW;AACnE;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,QAAQ,EAAE;AAAA;AAAA,IACnE;AAOA,UAAM,gBAAgB,SAAS,UAAU,iBAAiB,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,IAAI,KAAK;AAAA,IAC7D;AAQA,UAAM,gBAAgB,SAAS,UAAU,aAAa,SAAS,WAAW,WAAW;AACnF,aAAO,KAAK,QAAQ,0BAA0B,MAAM,IAAI,WAAW,MAAM,QAAQ,SAAS;AAAA,IAC5F;AAOA,UAAM,gBAAgB,SAAS,UAAU,mBAAmB,WAAW;AACrE,aAAO,KAAK,eAAe,CAAC,CAAC;AAAA,IAC/B;AASA,UAAM,gBAAgB,sBAAsB,kBAAkB,CAAC,CAAC;AAIhE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,sBAAsB,UAAU,WAAW,SAAS,qBAAqB;AAC7F,eAAO,MAAM,gBAAgB,sBAAsB,SAAS,qBAAqB,IAAI;AAAA,MACvF;AAYA,YAAM,gBAAgB,sBAAsB,WAAW,SAAS,iBAAiB,KAAK;AACpF,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,IAAI,IAAI,YAAY,MAAM,UAAU,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACnF,eAAe,KAAK,QAAQ;AAAA,YAAa,IAAI,iBAAiB;AAAA,YAC9D,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,UAC5C,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACvD,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,QAC9D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,sBAAsB,oBAAoB,SAAS,OAAO;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,sBAAsB,4BAA4B,KAAK,MAAM;AAAA,IAC5F;AAUA,UAAM,gBAAgB,sBAAsB,8BAA8B,SAAS,KAAK,QAAQ;AAC9F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,kBAAkB,WAAW;AACjF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,sBAAsB,wBAAwB,MAAM,MAAM;AAChF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,sBAAsB,0BAA0B,SAAS,SAAS,QAAQ;AAC9F,UAAI,IAAI;AACR,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,cAAc,WAAW;AAC7E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IAC5D;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,cAAc,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,gBAAgB,WAAW;AAC/E,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,cAAc,WAAW;AAC7E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,mBAAmB,WAAW;AAClF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IACpE;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,mBAAmB,SAAS,OAAO;AACvF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,gBAAgB,sBAAsB,UAAU,eAAe,SAAS,WAAW,WAAW;AAClG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,UAAU,SAAS;AAAA,IAC7F;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,qBAAqB,WAAW;AACpF,aAAO,KAAK,iBAAiB,CAAC,CAAC;AAAA,IACjC;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,eAAe,WAAW;AAC9E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,eAAe,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,oBAAoB,WAAW;AACnF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,oBAAoB,SAAS,OAAO;AACxF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AASA,UAAM,gBAAgB,uBAAuB,kBAAkB,CAAC,CAAC;AAIjE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,uBAAuB,UAAU,WAAW,SAAS,qBAAqB;AAC9F,eAAO,MAAM,gBAAgB,uBAAuB,SAAS,qBAAqB,IAAI;AAAA,MACxF;AAYA,YAAM,gBAAgB,uBAAuB,WAAW,SAAS,iBAAiB,KAAK;AACrF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,MAAM,gBAAgB,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,UACxD,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,YAAY,IAAI,IAAI,aAAa,MAAM,UAAU,UAAU,SAAS,iBAAiB,CAAC;AAAA,QACxF;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,uBAAuB,oBAAoB,SAAS,OAAO;AAC/E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,uBAAuB,4BAA4B,KAAK,MAAM;AAAA,IAC7F;AAUA,UAAM,gBAAgB,uBAAuB,8BAA8B,SAAS,KAAK,QAAQ;AAC/F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,SAAS,2BAA2B;AACnF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,UAAU,2BAA2B;AACxE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,kBAAkB,WAAW;AAClF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,uBAAuB,wBAAwB,MAAM,MAAM;AACjF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,uBAAuB,0BAA0B,SAAS,SAAS,QAAQ;AAC/F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,SAAS;AAAA,QACjC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,UAAU;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,UAAU,WAAW;AAC1E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,UAAU,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,aAAa,WAAW;AAC7E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,aAAa,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,cAAc,WAAW;AAC9E;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,gBAAgB,UAAU,CAAC;AAAA;AAAA,IAChF;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,cAAc,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,gBAAgB,uBAAuB,UAAU,UAAU,SAAS,WAAW,WAAW;AAC9F,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,gBAAgB,UAAU,SAAS;AAAA,IAC7G;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,gBAAgB,WAAW;AAChF,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,WAAW,WAAW;AAC3E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,WAAW,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,aAAa,WAAW;AAC7E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,WAAW,WAAW;AAC3E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,eAAe,WAAW;AAC/E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,WAAW,CAAC;AAAA;AAAA,IAC7D;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,eAAe,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,iBAAiB,WAAW;AACjF,aAAO,KAAK,aAAa,MAAS;AAAA,IACpC;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,eAAe,WAAW;AAC/E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,mBAAmB,UAAU,WAAW,SAAS,qBAAqB;AAC1F,eAAO,MAAM,gBAAgB,mBAAmB,SAAS,qBAAqB,IAAI;AAAA,MACpF;AAYA,YAAM,gBAAgB,mBAAmB,WAAW,SAAS,iBAAiB,KAAK;AACjF,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACvD,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,QAC9D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,mBAAmB,oBAAoB,SAAS,OAAO;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,mBAAmB,4BAA4B,KAAK,MAAM;AAAA,IACzF;AAUA,UAAM,gBAAgB,mBAAmB,8BAA8B,SAAS,KAAK,QAAQ;AAC3F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,kBAAkB,WAAW;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,mBAAmB,wBAAwB,MAAM,MAAM;AAC7E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,mBAAmB,0BAA0B,SAAS,SAAS,QAAQ;AAC3F,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,QAAQ,WAAW;AACpE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,QAAQ,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,eAAe,WAAW;AAC3E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,eAAe,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,oBAAoB,WAAW;AAChF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,oBAAoB,SAAS,OAAO;AACrF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,oBAAoB,UAAU,WAAW,SAAS,qBAAqB;AAC3F,eAAO,MAAM,gBAAgB,oBAAoB,SAAS,qBAAqB,IAAI;AAAA,MACrF;AAYA,YAAM,gBAAgB,oBAAoB,WAAW,SAAS,iBAAiB,KAAK;AAClF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,gBAAgB,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACvF,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,oBAAoB,oBAAoB,SAAS,OAAO;AAC5E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,oBAAoB,4BAA4B,KAAK,MAAM;AAAA,IAC1F;AAUA,UAAM,gBAAgB,oBAAoB,8BAA8B,SAAS,KAAK,QAAQ;AAC5F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,SAAS,2BAA2B;AACnF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,oBAAoB,UAAU,kBAAkB,WAAW;AAC/E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,oBAAoB,wBAAwB,MAAM,MAAM;AAC9E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,oBAAoB,0BAA0B,SAAS,SAAS,QAAQ;AAC5F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,SAAS;AAAA,QACjC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,oBAAoB,UAAU,UAAU,WAAW;AACvE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,gBAAgB,oBAAoB,UAAU,UAAU,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,gBAAgB,oBAAoB,UAAU,aAAa,WAAW;AAC1E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,gBAAgB,oBAAoB,UAAU,aAAa,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,gBAAgB,oBAAoB,UAAU,UAAU,WAAW;AACvE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,gBAAgB,UAAU,CAAC;AAAA;AAAA,IACxE;AAOA,UAAM,gBAAgB,oBAAoB,UAAU,UAAU,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,oBAAoB,UAAU,YAAY,WAAW;AACzE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,gBAAgB,oBAAoB,UAAU,UAAU,WAAW;AACvE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,oBAAoB,UAAU,WAAW,WAAW;AACxE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,gBAAgB,oBAAoB,UAAU,WAAW,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,oBAAoB,UAAU,aAAa,WAAW;AAC1E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,gBAAgB,oBAAoB,UAAU,WAAW,WAAW;AACxE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,sBAAsB,UAAU,WAAW,SAAS,qBAAqB;AAC7F,eAAO,MAAM,gBAAgB,sBAAsB,SAAS,qBAAqB,IAAI;AAAA,MACvF;AAYA,YAAM,gBAAgB,sBAAsB,WAAW,SAAS,iBAAiB,KAAK;AACpF,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,oBAAoB,IAAI,IAAI,qBAAqB,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,QAClG;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,sBAAsB,oBAAoB,SAAS,OAAO;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,sBAAsB,4BAA4B,KAAK,MAAM;AAAA,IAC5F;AAUA,UAAM,gBAAgB,sBAAsB,8BAA8B,SAAS,KAAK,QAAQ;AAC9F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,qBAAqB;AACrC,mBAAO,YAAY,OAAO,SAAS,SAASC,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,YAAY,MAAM,IAAI,EAAE;AAAA,YACvI,CAAC;AACJ;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,kBAAkB,WAAW;AACjF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,sBAAsB,wBAAwB,MAAM,MAAM;AAChF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,sBAAsB,0BAA0B,SAAS,SAAS,QAAQ;AAC9F,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,qBAAqB,IAAI;AACrC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,WAAW;AAAA,MAC/G;AAAA,IACF;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,QAAQ,WAAW;AACvE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,QAAQ,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AASA,UAAM,gBAAgB,sBAAsB,UAAU,uBAAuB,SAAS,kBAAkB;AACtG;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,yBAAyB,WAAW;AACxF,WAAK,qBAAqB,EAAE,MAAM;AAClC,aAAO;AAAA,IAAK;AAMd,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,uBAAuB,UAAU,WAAW,SAAS,qBAAqB;AAC9F,eAAO,MAAM,gBAAgB,uBAAuB,SAAS,qBAAqB,IAAI;AAAA,MACxF;AAYA,YAAM,gBAAgB,uBAAuB,WAAW,SAAS,iBAAiB,KAAK;AACrF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,gBAAgB,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACvF,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,uBAAuB,oBAAoB,SAAS,OAAO;AAC/E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,uBAAuB,4BAA4B,KAAK,MAAM;AAAA,IAC7F;AAUA,UAAM,gBAAgB,uBAAuB,8BAA8B,SAAS,KAAK,QAAQ;AAC/F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,SAAS,2BAA2B;AACnF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,kBAAkB,WAAW;AAClF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,uBAAuB,wBAAwB,MAAM,MAAM;AACjF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,uBAAuB,0BAA0B,SAAS,SAAS,QAAQ;AAC/F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,SAAS;AAAA,QACjC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,UAAU,WAAW;AAC1E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,UAAU,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,aAAa,WAAW;AAC7E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,aAAa,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,UAAU,WAAW;AAC1E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,gBAAgB,UAAU,CAAC;AAAA;AAAA,IACxE;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,UAAU,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,YAAY,WAAW;AAC5E,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,UAAU,WAAW;AAC1E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,WAAW,WAAW;AAC3E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,WAAW,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,aAAa,WAAW;AAC7E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,gBAAgB,uBAAuB,UAAU,WAAW,WAAW;AAC3E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAGA,SAAK,OAAO,OAAO,SAAS,MAAM,eAAe;AAAA;AAAA;;;AC9xEjD;AAAA;AAAA;AAGA,QAAI,uBAAuB;AAC3B,QAAIC,QAAO,UAAQ,0BAA0B,EAAE;AAE/C,QAAIC,uBAAuB,WAAY;AACrC,eAASA,uBAAsB;AAAA,MAAC;AAChC,MAAAA,qBAAoB,cAAc;AAClC,aAAOA;AAAA,IACT,EAAE;AAEF,IAAAA,qBAAoB,iBAAiB;AAAA,MACnC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,qBAAqB;AAAA,MAClC,cAAc,qBAAqB;AAAA,IACrC;AAEA,IAAAA,qBAAoB,cAAc;AAAA,MAChC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,qBAAqB;AAAA,MAClC,cAAc,qBAAqB;AAAA,IACrC;AAEA,IAAAA,qBAAoB,iBAAiB;AAAA,MACnC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,qBAAqB;AAAA,MAClC,cAAc,qBAAqB;AAAA,IACrC;AAEA,YAAQ,sBAAsBA;AAE9B,aAASC,2BAA0B,aAAa,SAAS;AACvD,WAAK,cAAc;AACnB,WAAK,UAAU,WAAW,CAAC;AAAA,IAC7B;AAEA,IAAAA,2BAA0B,UAAU,iBAAiB,SAAS,eAAe,gBAAgB,UAAU,UAAU;AAC/G,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,qBAAoB,gBAAgB;AAAA,QAC1D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,2BAA0B,UAAU,cAAc,SAAS,YAAY,gBAAgB,UAAU,UAAU;AACzG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,qBAAoB,aAAa;AAAA,QACvD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,2BAA0B,UAAU,iBAAiB,SAAS,eAAe,gBAAgB,UAAU,UAAU;AAC/G,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,qBAAoB,gBAAgB;AAAA,QAC1D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,4BAA4BE;AAAA;AAAA;;;AC3IpC;AAAA;AAAA;AAGA,QAAI,0BAA0B;AAC9B,QAAIC,QAAO,UAAQ,0BAA0B,EAAE;AAE/C,QAAIC,8BAA8B,WAAY;AAC5C,eAASA,8BAA6B;AAAA,MAAC;AACvC,MAAAA,4BAA2B,cAAc;AACzC,aAAOA;AAAA,IACT,EAAE;AAEF,IAAAA,4BAA2B,+BAA+B;AAAA,MACxD,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,IAAAA,4BAA2B,4BAA4B;AAAA,MACrD,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,IAAAA,4BAA2B,+BAA+B;AAAA,MACxD,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,IAAAA,4BAA2B,gCAAgC;AAAA,MACzD,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,IAAAA,4BAA2B,qCAAqC;AAAA,MAC9D,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,IAAAA,4BAA2B,kCAAkC;AAAA,MAC3D,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,IAAAA,4BAA2B,qCAAqC;AAAA,MAC9D,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,IAAAA,4BAA2B,sCAAsC;AAAA,MAC/D,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,IAAAA,4BAA2B,oCAAoC;AAAA,MAC7D,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,IAAAA,4BAA2B,iCAAiC;AAAA,MAC1D,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,IAAAA,4BAA2B,oCAAoC;AAAA,MAC7D,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,IAAAA,4BAA2B,qCAAqC;AAAA,MAC9D,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,IAAAA,4BAA2B,oCAAoC;AAAA,MAC7D,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,IAAAA,4BAA2B,iCAAiC;AAAA,MAC1D,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,IAAAA,4BAA2B,oCAAoC;AAAA,MAC7D,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,IAAAA,4BAA2B,qCAAqC;AAAA,MAC9D,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,IAAAA,4BAA2B,iCAAiC;AAAA,MAC1D,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,IAAAA,4BAA2B,8BAA8B;AAAA,MACvD,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,IAAAA,4BAA2B,iCAAiC;AAAA,MAC1D,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,IAAAA,4BAA2B,kCAAkC;AAAA,MAC3D,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,wBAAwB;AAAA,MACrC,cAAc,wBAAwB;AAAA,IACxC;AAEA,YAAQ,6BAA6BA;AAErC,aAASC,kCAAiC,aAAa,SAAS;AAC9D,WAAK,cAAc;AACnB,WAAK,UAAU,WAAW,CAAC;AAAA,IAC7B;AAEA,IAAAA,kCAAiC,UAAU,+BAA+B,SAAS,6BAA6B,gBAAgB,UAAU,UAAU;AAClJ,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,8BAA8B;AAAA,QAC/E,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kCAAiC,UAAU,4BAA4B,SAAS,0BAA0B,gBAAgB,UAAU,UAAU;AAC5I,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,2BAA2B;AAAA,QAC5E,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kCAAiC,UAAU,+BAA+B,SAAS,6BAA6B,gBAAgB,UAAU,UAAU;AAClJ,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,8BAA8B;AAAA,QAC/E,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kCAAiC,UAAU,gCAAgC,SAAS,8BAA8B,gBAAgB,UAAU,UAAU;AACpJ,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,+BAA+B;AAAA,QAChF,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kCAAiC,UAAU,qCAAqC,SAAS,mCAAmC,gBAAgB,UAAU,UAAU;AAC9J,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,oCAAoC;AAAA,QACrF,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kCAAiC,UAAU,kCAAkC,SAAS,gCAAgC,gBAAgB,UAAU,UAAU;AACxJ,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,iCAAiC;AAAA,QAClF,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kCAAiC,UAAU,qCAAqC,SAAS,mCAAmC,gBAAgB,UAAU,UAAU;AAC9J,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,oCAAoC;AAAA,QACrF,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kCAAiC,UAAU,sCAAsC,SAAS,oCAAoC,gBAAgB,UAAU,UAAU;AAChK,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,qCAAqC;AAAA,QACtF,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kCAAiC,UAAU,oCAAoC,SAAS,kCAAkC,gBAAgB,UAAU,UAAU;AAC5J,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,mCAAmC;AAAA,QACpF,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kCAAiC,UAAU,iCAAiC,SAAS,+BAA+B,gBAAgB,UAAU,UAAU;AACtJ,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,gCAAgC;AAAA,QACjF,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kCAAiC,UAAU,oCAAoC,SAAS,kCAAkC,gBAAgB,UAAU,UAAU;AAC5J,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,mCAAmC;AAAA,QACpF,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kCAAiC,UAAU,qCAAqC,SAAS,mCAAmC,gBAAgB,UAAU,UAAU;AAC9J,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,oCAAoC;AAAA,QACrF,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kCAAiC,UAAU,oCAAoC,SAAS,kCAAkC,gBAAgB,UAAU,UAAU;AAC5J,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,mCAAmC;AAAA,QACpF,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kCAAiC,UAAU,iCAAiC,SAAS,+BAA+B,gBAAgB,UAAU,UAAU;AACtJ,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,gCAAgC;AAAA,QACjF,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kCAAiC,UAAU,oCAAoC,SAAS,kCAAkC,gBAAgB,UAAU,UAAU;AAC5J,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,mCAAmC;AAAA,QACpF,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kCAAiC,UAAU,qCAAqC,SAAS,mCAAmC,gBAAgB,UAAU,UAAU;AAC9J,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,oCAAoC;AAAA,QACrF,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kCAAiC,UAAU,iCAAiC,SAAS,+BAA+B,gBAAgB,UAAU,UAAU;AACtJ,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,gCAAgC;AAAA,QACjF,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kCAAiC,UAAU,8BAA8B,SAAS,4BAA4B,gBAAgB,UAAU,UAAU;AAChJ,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,6BAA6B;AAAA,QAC9E,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kCAAiC,UAAU,iCAAiC,SAAS,+BAA+B,gBAAgB,UAAU,UAAU;AACtJ,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,gCAAgC;AAAA,QACjF,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kCAAiC,UAAU,kCAAkC,SAAS,gCAAgC,gBAAgB,UAAU,UAAU;AACxJ,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,4BAA2B,iCAAiC;AAAA,QAClF,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,mCAAmCE;AAAA;AAAA;;;ACnzB3C;AAAA;AAAA;AAaA,QAAI,OAAO,UAAQ,iBAAiB;AACpC,QAAI,OAAO;AACX,QAAI,SAAU,WAAW;AAAE,aAAO,QAAQ,UAAU,UAAU,QAAQ,SAAS,aAAa,EAAE;AAAA,IAAG,EAAG,KAAK,IAAI;AAE7G,QAAI,4BAA4B,UAAQ,8CAA8C;AACtF,SAAK,OAAO,OAAO,OAAO,yBAAyB;AACnD,QAAI,YAAY;AAChB,SAAK,OAAO,OAAO,OAAO,SAAS;AACnC,SAAK,aAAa,2CAA2C,MAAM,MAAM;AACzE,SAAK,aAAa,4CAA4C,MAAM,MAAM;AAC1E,SAAK,aAAa,8CAA8C,MAAM,MAAM;AAC5E,SAAK,aAAa,+CAA+C,MAAM,MAAM;AAW7E,UAAM,YAAY,wBAAwB,SAAS,UAAU;AAC3D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,YAAY,uBAAuB,KAAK,OAAO;AACnE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,YAAY,sBAAsB,cAAc;AAAA,IACxD;AAWA,UAAM,YAAY,yBAAyB,SAAS,UAAU;AAC5D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,YAAY,wBAAwB,KAAK,OAAO;AACpE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,YAAY,uBAAuB,cAAc;AAAA,IACzD;AAWA,UAAM,YAAY,2BAA2B,SAAS,UAAU;AAC9D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,YAAY,yBAAyB,iBAAiB,IAAI;AAAA,IACjH;AACA,SAAK,SAAS,MAAM,YAAY,0BAA0B,KAAK,OAAO;AACtE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,YAAY,yBAAyB,cAAc;AAAA,IAC3D;AAWA,UAAM,YAAY,4BAA4B,SAAS,UAAU;AAC/D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,YAAY,0BAA0B,iBAAiB,IAAI;AAAA,IAClH;AACA,SAAK,SAAS,MAAM,YAAY,2BAA2B,KAAK,OAAO;AACvE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,YAAY,0BAA0B,cAAc;AAAA,IAC5D;AAIA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,YAAY,sBAAsB,UAAU,WAAW,SAAS,qBAAqB;AACzF,eAAO,MAAM,YAAY,sBAAsB,SAAS,qBAAqB,IAAI;AAAA,MACnF;AAYA,YAAM,YAAY,sBAAsB,WAAW,SAAS,iBAAiB,KAAK;AAChF,YAAI,GAAG,MAAM;AAAA,UACX,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAClD,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAClD,SAAS,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACtD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,YAAY,sBAAsB,oBAAoB,SAAS,OAAO;AAC1E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,YAAY;AAChC,aAAO,MAAM,YAAY,sBAAsB,4BAA4B,KAAK,MAAM;AAAA,IACxF;AAUA,UAAM,YAAY,sBAAsB,8BAA8B,SAAS,KAAK,QAAQ;AAC1F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,YAAY,sBAAsB,UAAU,kBAAkB,WAAW;AAC7E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,YAAY,sBAAsB,wBAAwB,MAAM,MAAM;AAC5E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,YAAY,sBAAsB,0BAA0B,SAAS,SAAS,QAAQ;AAC1F,UAAI,IAAI;AACR,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,YAAY,sBAAsB,UAAU,WAAW,WAAW;AACtE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,YAAY,sBAAsB,UAAU,WAAW,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,YAAY,sBAAsB,UAAU,UAAU,WAAW;AACrE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,YAAY,sBAAsB,UAAU,UAAU,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,YAAY,sBAAsB,UAAU,WAAW,WAAW;AACtE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,YAAY,sBAAsB,UAAU,WAAW,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,YAAY,sBAAsB,UAAU,aAAa,WAAW;AACxE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,YAAY,sBAAsB,UAAU,aAAa,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,YAAY,uBAAuB,UAAU,WAAW,SAAS,qBAAqB;AAC1F,eAAO,MAAM,YAAY,uBAAuB,SAAS,qBAAqB,IAAI;AAAA,MACpF;AAYA,YAAM,YAAY,uBAAuB,WAAW,SAAS,iBAAiB,KAAK;AACjF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,UAAU,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACrD,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACvD,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,YAAY,uBAAuB,oBAAoB,SAAS,OAAO;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,YAAY;AAChC,aAAO,MAAM,YAAY,uBAAuB,4BAA4B,KAAK,MAAM;AAAA,IACzF;AAUA,UAAM,YAAY,uBAAuB,8BAA8B,SAAS,KAAK,QAAQ;AAC3F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,YAAY,uBAAuB,UAAU,kBAAkB,WAAW;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,YAAY,uBAAuB,wBAAwB,MAAM,MAAM;AAC7E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,YAAY,uBAAuB,0BAA0B,SAAS,SAAS,QAAQ;AAC3F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,YAAY,uBAAuB,UAAU,UAAU,WAAW;AACtE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,YAAY,uBAAuB,UAAU,UAAU,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,YAAY,uBAAuB,UAAU,aAAa,WAAW;AACzE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,YAAY,uBAAuB,UAAU,aAAa,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,YAAY,uBAAuB,UAAU,cAAc,WAAW;AAC1E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,YAAY,uBAAuB,UAAU,cAAc,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,YAAY,uBAAuB,UAAU,gBAAgB,WAAW;AAC5E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,YAAY,uBAAuB,UAAU,gBAAgB,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,YAAY,uBAAuB,UAAU,WAAW,WAAW;AACvE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,YAAY,uBAAuB,UAAU,WAAW,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,YAAY,uBAAuB,UAAU,aAAa,WAAW;AACzE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,YAAY,uBAAuB,UAAU,WAAW,WAAW;AACvE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,YAAY,yBAAyB,kBAAkB,CAAC,CAAC;AAI/D,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,YAAY,yBAAyB,UAAU,WAAW,SAAS,qBAAqB;AAC5F,eAAO,MAAM,YAAY,yBAAyB,SAAS,qBAAqB,IAAI;AAAA,MACtF;AAYA,YAAM,YAAY,yBAAyB,WAAW,SAAS,iBAAiB,KAAK;AACnF,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,IAAI,IAAI,YAAY,MAAM,UAAU,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACnF,eAAe,KAAK,QAAQ;AAAA,YAAa,IAAI,iBAAiB;AAAA,YAC9D,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,UAC5C,UAAU,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACvD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,YAAY,yBAAyB,oBAAoB,SAAS,OAAO;AAC7E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,YAAY;AAChC,aAAO,MAAM,YAAY,yBAAyB,4BAA4B,KAAK,MAAM;AAAA,IAC3F;AAUA,UAAM,YAAY,yBAAyB,8BAA8B,SAAS,KAAK,QAAQ;AAC7F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,YAAY,yBAAyB,UAAU,kBAAkB,WAAW;AAChF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,YAAY,yBAAyB,wBAAwB,MAAM,MAAM;AAC/E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,YAAY,yBAAyB,0BAA0B,SAAS,SAAS,QAAQ;AAC7F,UAAI,IAAI;AACR,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,YAAY,yBAAyB,UAAU,cAAc,WAAW;AAC5E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IAC5D;AAOA,UAAM,YAAY,yBAAyB,UAAU,cAAc,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,YAAY,yBAAyB,UAAU,gBAAgB,WAAW;AAC9E,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,YAAY,yBAAyB,UAAU,cAAc,WAAW;AAC5E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,YAAY,yBAAyB,UAAU,mBAAmB,WAAW;AACjF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IACpE;AAOA,UAAM,YAAY,yBAAyB,UAAU,mBAAmB,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,YAAY,yBAAyB,UAAU,eAAe,SAAS,WAAW,WAAW;AACjG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,UAAU,SAAS;AAAA,IAC7F;AAOA,UAAM,YAAY,yBAAyB,UAAU,qBAAqB,WAAW;AACnF,aAAO,KAAK,iBAAiB,CAAC,CAAC;AAAA,IACjC;AAOA,UAAM,YAAY,yBAAyB,UAAU,cAAc,WAAW;AAC5E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,YAAY,yBAAyB,UAAU,cAAc,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,YAAY,0BAA0B,kBAAkB,CAAC,CAAC;AAIhE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,YAAY,0BAA0B,UAAU,WAAW,SAAS,qBAAqB;AAC7F,eAAO,MAAM,YAAY,0BAA0B,SAAS,qBAAqB,IAAI;AAAA,MACvF;AAYA,YAAM,YAAY,0BAA0B,WAAW,SAAS,iBAAiB,KAAK;AACpF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,0BAA0B,OAAO;AAAA,YAAU;AAAA,UAAe;AAAA,UAC1D,YAAY,IAAI,IAAI,aAAa,MAAM,UAAU,UAAU,SAAS,iBAAiB,CAAC;AAAA,UACtF,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,UAAU,IAAI,IAAI,WAAW,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,QAC9E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,YAAY,0BAA0B,oBAAoB,SAAS,OAAO;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,YAAY;AAChC,aAAO,MAAM,YAAY,0BAA0B,4BAA4B,KAAK,MAAM;AAAA,IAC5F;AAUA,UAAM,YAAY,0BAA0B,8BAA8B,SAAS,KAAK,QAAQ;AAC9F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,0BAA0B;AAC1C,mBAAO,YAAY,OAAM,0BAA0B,OAAO,2BAA2B;AACrF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,UAAU,2BAA2B;AACxE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,WAAW;AAC3B,mBAAO,YAAY,OAAO,SAAS,SAASC,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,YAAY,MAAM,IAAI,EAAE;AAAA,YACvI,CAAC;AACJ;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,YAAY,0BAA0B,UAAU,kBAAkB,WAAW;AACjF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,YAAY,0BAA0B,wBAAwB,MAAM,MAAM;AAChF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,YAAY,0BAA0B,0BAA0B,SAAS,SAAS,QAAQ;AAC9F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,0BAA0B,OAAO;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,UAAU;AAAA,QACtB;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,WAAW,IAAI;AAC3B,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,WAAW;AAAA,MAC/G;AAAA,IACF;AAOA,UAAM,YAAY,0BAA0B,UAAU,UAAU,WAAW;AACzE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,YAAY,0BAA0B,UAAU,UAAU,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,YAAY,0BAA0B,UAAU,aAAa,WAAW;AAC5E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,YAAY,0BAA0B,UAAU,aAAa,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,YAAY,0BAA0B,UAAU,cAAc,WAAW;AAC7E;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,0BAA0B,QAAQ,CAAC;AAAA;AAAA,IAClF;AAOA,UAAM,YAAY,0BAA0B,UAAU,cAAc,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,YAAY,0BAA0B,UAAU,UAAU,SAAS,WAAW,WAAW;AAC7F,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,OAAO,SAAS,QAAQ,SAAS;AAAA,IAC3G;AAOA,UAAM,YAAY,0BAA0B,UAAU,gBAAgB,WAAW;AAC/E,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,YAAY,0BAA0B,UAAU,eAAe,WAAW;AAC9E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,WAAW,CAAC;AAAA;AAAA,IAC7D;AAOA,UAAM,YAAY,0BAA0B,UAAU,eAAe,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,YAAY,0BAA0B,UAAU,iBAAiB,WAAW;AAChF,aAAO,KAAK,aAAa,MAAS;AAAA,IACpC;AAOA,UAAM,YAAY,0BAA0B,UAAU,eAAe,WAAW;AAC9E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,YAAY,0BAA0B,UAAU,WAAW,WAAW;AAC1E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,YAAY,0BAA0B,UAAU,WAAW,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,YAAY,0BAA0B,UAAU,aAAa,WAAW;AAC5E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,YAAY,0BAA0B,UAAU,WAAW,WAAW;AAC1E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,YAAY,0BAA0B,UAAU,aAAa,SAAS,kBAAkB;AAC5F;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,YAAY,0BAA0B,UAAU,eAAe,WAAW;AAC9E,WAAK,WAAW,EAAE,MAAM;AACxB,aAAO;AAAA,IAAK;AAGd,SAAK,OAAO,OAAO,SAAS,MAAM,WAAW;AAAA;AAAA;;;AC5qC7C;AAAA;AAAA;AAGA,QAAI,iBAAiB;AACrB,QAAIC,QAAO,UAAQ,0BAA0B,EAAE;AAE/C,QAAIC,kBAAkB,WAAY;AAChC,eAASA,kBAAiB;AAAA,MAAC;AAC3B,MAAAA,gBAAe,cAAc;AAC7B,aAAOA;AAAA,IACT,EAAE;AAEF,IAAAA,gBAAe,iBAAiB;AAAA,MAC9B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,eAAe;AAAA,MAC5B,cAAc,eAAe;AAAA,IAC/B;AAEA,IAAAA,gBAAe,oBAAoB;AAAA,MACjC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,eAAe;AAAA,MAC5B,cAAc,eAAe;AAAA,IAC/B;AAEA,YAAQ,iBAAiBA;AAEzB,aAASC,sBAAqB,aAAa,SAAS;AAClD,WAAK,cAAc;AACnB,WAAK,UAAU,WAAW,CAAC;AAAA,IAC7B;AAEA,IAAAA,sBAAqB,UAAU,iBAAiB,SAAS,eAAe,gBAAgB,UAAU,UAAU;AAC1G,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,gBAAe,gBAAgB;AAAA,QACrD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,sBAAqB,UAAU,oBAAoB,SAAS,kBAAkB,gBAAgB,UAAU,UAAU;AAChH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,gBAAe,mBAAmB;AAAA,QACxD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,uBAAuBE;AAAA;AAAA;;;ACnG/B;AAAA;AAAA;AAaA,QAAI,OAAO,UAAQ,iBAAiB;AACpC,QAAI,OAAO;AACX,QAAI,SAAU,WAAW;AAAE,aAAO,QAAQ,UAAU,UAAU,QAAQ,SAAS,aAAa,EAAE;AAAA,IAAG,EAAG,KAAK,IAAI;AAE7G,QAAI,4BAA4B,UAAQ,8CAA8C;AACtF,SAAK,OAAO,OAAO,OAAO,yBAAyB;AACnD,QAAI,yBAAyB,UAAQ,2CAA2C;AAChF,SAAK,OAAO,OAAO,OAAO,sBAAsB;AAChD,QAAI,YAAY;AAChB,SAAK,OAAO,OAAO,OAAO,SAAS;AACnC,SAAK,aAAa,yCAAyC,MAAM,MAAM;AACvE,SAAK,aAAa,oCAAoC,MAAM,MAAM;AAClE,SAAK,aAAa,qCAAqC,MAAM,MAAM;AACnE,SAAK,aAAa,mCAAmC,MAAM,MAAM;AACjE,SAAK,aAAa,oCAAoC,MAAM,MAAM;AAClE,SAAK,aAAa,oCAAoC,MAAM,MAAM;AAClE,SAAK,aAAa,qCAAqC,MAAM,MAAM;AAWnE,UAAM,aAAa,qBAAqB,SAAS,UAAU;AACzD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,oBAAoB,KAAK,OAAO;AACjE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,mBAAmB,cAAc;AAAA,IACtD;AAWA,UAAM,aAAa,gBAAgB,SAAS,UAAU;AACpD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,eAAe,KAAK,OAAO;AAC5D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,cAAc,cAAc;AAAA,IACjD;AAWA,UAAM,aAAa,iBAAiB,SAAS,UAAU;AACrD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,aAAa,eAAe,iBAAiB,IAAI;AAAA,IACxG;AACA,SAAK,SAAS,MAAM,aAAa,gBAAgB,KAAK,OAAO;AAC7D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,eAAe,cAAc;AAAA,IAClD;AAWA,UAAM,aAAa,gBAAgB,SAAS,UAAU;AACpD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,eAAe,KAAK,OAAO;AAC5D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,cAAc,cAAc;AAAA,IACjD;AAWA,UAAM,aAAa,iBAAiB,SAAS,UAAU;AACrD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,gBAAgB,KAAK,OAAO;AAC7D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,eAAe,cAAc;AAAA,IAClD;AAWA,UAAM,aAAa,eAAe,SAAS,UAAU;AACnD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,cAAc,KAAK,OAAO;AAC3D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,aAAa,cAAc;AAAA,IAChD;AAWA,UAAM,aAAa,gBAAgB,SAAS,UAAU;AACpD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,aAAa,eAAe,KAAK,OAAO;AAC5D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,aAAa,cAAc,cAAc;AAAA,IACjD;AAIA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,mBAAmB,UAAU,WAAW,SAAS,qBAAqB;AACvF,eAAO,MAAM,aAAa,mBAAmB,SAAS,qBAAqB,IAAI;AAAA,MACjF;AAYA,YAAM,aAAa,mBAAmB,WAAW,SAAS,iBAAiB,KAAK;AAC9E,YAAI,GAAG,MAAM;AAAA,UACX,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACxD,SAAS,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACtD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,mBAAmB,oBAAoB,SAAS,OAAO;AACxE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,mBAAmB,4BAA4B,KAAK,MAAM;AAAA,IACtF;AAUA,UAAM,aAAa,mBAAmB,8BAA8B,SAAS,KAAK,QAAQ;AACxF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,mBAAmB,UAAU,kBAAkB,WAAW;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,mBAAmB,wBAAwB,MAAM,MAAM;AAC1E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,mBAAmB,0BAA0B,SAAS,SAAS,QAAQ;AACxF,UAAI,IAAI;AACR,UAAI,QAAQ,cAAc;AAC1B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,mBAAmB,UAAU,gBAAgB,WAAW;AACzE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,mBAAmB,UAAU,gBAAgB,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,mBAAmB,UAAU,aAAa,WAAW;AACtE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,aAAa,mBAAmB,UAAU,aAAa,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,cAAc,UAAU,WAAW,SAAS,qBAAqB;AAClF,eAAO,MAAM,aAAa,cAAc,SAAS,qBAAqB,IAAI;AAAA,MAC5E;AAYA,YAAM,aAAa,cAAc,WAAW,SAAS,iBAAiB,KAAK;AACzE,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,IAAI,IAAI,YAAY,MAAM,MAAM,aAAa,mBAAmB,SAAS,iBAAiB,CAAC;AAAA,UACtG,UAAU,IAAI,IAAI,WAAW,KAAK,EAAE,SAAS,iBAAiB,MAAM,OAAO,SAAS,IAAI,QAAQ,IAAI,CAAC;AAAA,UACrG,cAAc,IAAI,IAAI,eAAe,KAAK,EAAE,SAAS,iBAAiB,MAAM,OAAO,SAAS,IAAI,QAAQ,IAAI,CAAC;AAAA,UAC7G,aAAa,IAAI,IAAI,cAAc,KAAK,EAAE,SAAS,iBAAiB,MAAM,OAAO,SAAS,IAAI,QAAQ,IAAI,CAAC;AAAA,QAC7G;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,cAAc,oBAAoB,SAAS,OAAO;AACnE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,cAAc,4BAA4B,KAAK,MAAM;AAAA,IACjF;AAUA,UAAM,aAAa,cAAc,8BAA8B,SAAS,KAAK,QAAQ;AACnF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,aAAa;AACnC,mBAAO,YAAY,OAAM,MAAM,aAAa,mBAAmB,2BAA2B;AAC1F,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,WAAW;AAC3B,mBAAO,YAAY,OAAO,SAAS,SAASC,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,aAAa,MAAM,OAAO,SAAS,IAAI,6BAA6B,IAAI,IAAI,MAAM,OAAO,SAAS,IAAI,CAAC;AAAA,YACtN,CAAC;AACJ;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,eAAe;AAC/B,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,aAAa,MAAM,OAAO,SAAS,IAAI,6BAA6B,IAAI,IAAI,MAAM,OAAO,SAAS,IAAI,CAAC;AAAA,YACtN,CAAC;AACJ;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,cAAc;AAC9B,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,aAAa,MAAM,OAAO,SAAS,IAAI,6BAA6B,IAAI,IAAI,MAAM,OAAO,SAAS,IAAI,CAAC;AAAA,YACtN,CAAC;AACJ;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,cAAc,UAAU,kBAAkB,WAAW;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,cAAc,wBAAwB,MAAM,MAAM;AACrE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,cAAc,0BAA0B,SAAS,SAAS,QAAQ;AACnF,UAAI,IAAI;AACR,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,aAAa,mBAAmB;AAAA,QACxC;AAAA,MACF;AACA,UAAI,QAAQ,WAAW,IAAI;AAC3B,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,cAAc,MAAM,OAAO,SAAS,IAAI,uBAAuB;AAAA,MACnK;AACA,UAAI,QAAQ,eAAe,IAAI;AAC/B,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,cAAc,MAAM,OAAO,SAAS,IAAI,uBAAuB;AAAA,MACnK;AACA,UAAI,QAAQ,cAAc,IAAI;AAC9B,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,cAAc,MAAM,OAAO,SAAS,IAAI,uBAAuB;AAAA,MACnK;AAAA,IACF;AAOA,UAAM,aAAa,cAAc,UAAU,cAAc,WAAW;AAClE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,aAAa,oBAAoB,CAAC;AAAA;AAAA,IAC/E;AAOA,UAAM,aAAa,cAAc,UAAU,cAAc,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,cAAc,UAAU,gBAAgB,WAAW;AACpE,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,aAAa,cAAc,UAAU,cAAc,WAAW;AAClE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,aAAa,cAAc,UAAU,aAAa,SAAS,kBAAkB;AACjF;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC,MAAM,OAAO,SAAS;AAAA,QAAG;AAAA;AAAA,IAC/B;AAOA,UAAM,aAAa,cAAc,UAAU,eAAe,WAAW;AACnE,WAAK,WAAW,EAAE,MAAM;AACxB,aAAO;AAAA,IAAK;AASd,UAAM,aAAa,cAAc,UAAU,iBAAiB,SAAS,kBAAkB;AACrF;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC,MAAM,OAAO,SAAS;AAAA,QAAG;AAAA;AAAA,IAC/B;AAOA,UAAM,aAAa,cAAc,UAAU,mBAAmB,WAAW;AACvE,WAAK,eAAe,EAAE,MAAM;AAC5B,aAAO;AAAA,IAAK;AASd,UAAM,aAAa,cAAc,UAAU,gBAAgB,SAAS,kBAAkB;AACpF;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC,MAAM,OAAO,SAAS;AAAA,QAAG;AAAA;AAAA,IAC/B;AAOA,UAAM,aAAa,cAAc,UAAU,kBAAkB,WAAW;AACtE,WAAK,cAAc,EAAE,MAAM;AAC3B,aAAO;AAAA,IAAK;AASd,UAAM,aAAa,eAAe,kBAAkB,CAAC,GAAE,CAAC;AAIxD,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,eAAe,UAAU,WAAW,SAAS,qBAAqB;AACnF,eAAO,MAAM,aAAa,eAAe,SAAS,qBAAqB,IAAI;AAAA,MAC7E;AAYA,YAAM,aAAa,eAAe,WAAW,SAAS,iBAAiB,KAAK;AAC1E,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,WAAW,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAC5E,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UACrD,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UACrD,aAAa,KAAK,QAAQ;AAAA,YAAa,IAAI,eAAe;AAAA,YAC1D,UAAU,OAAO;AAAA,YAAU;AAAA,UAAe;AAAA,UAC1C,OAAO,IAAI,IAAI,QAAQ,MAAM,0BAA0B,OAAO,SAAS,iBAAiB,CAAC;AAAA,QAC3F;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,eAAe,oBAAoB,SAAS,OAAO;AACpE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,eAAe,4BAA4B,KAAK,MAAM;AAAA,IAClF;AAUA,UAAM,aAAa,eAAe,8BAA8B,SAAS,KAAK,QAAQ;AACpF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,OAAO,2BAA2B;AACrE,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,0BAA0B;AAC1C,mBAAO,YAAY,OAAM,0BAA0B,OAAO,2BAA2B;AACrF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,eAAe,UAAU,kBAAkB,WAAW;AACvE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,eAAe,wBAAwB,MAAM,MAAM;AACtE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,eAAe,0BAA0B,SAAS,SAAS,QAAQ;AACpF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,OAAO;AAAA,QACnB;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,0BAA0B,OAAO;AAAA,QACnC;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,eAAe,UAAU,UAAU,WAAW;AAC/D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,aAAa,eAAe,UAAU,UAAU,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,aAAa,eAAe,UAAU,aAAa,WAAW;AAClE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,eAAe,UAAU,aAAa,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,aAAa,eAAe,UAAU,cAAc,WAAW;AACnE;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,eAAe,UAAU,cAAc,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,aAAa,eAAe,UAAU,UAAU,SAAS,OAAO,WAAW;AAC/E,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,aAAa,eAAe,UAAU,gBAAgB,WAAW;AACrE,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,aAAa,eAAe,UAAU,WAAW,WAAW;AAChE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,aAAa,eAAe,UAAU,WAAW,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,eAAe,UAAU,aAAa,WAAW;AAClE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,aAAa,eAAe,UAAU,WAAW,WAAW;AAChE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,eAAe,UAAU,eAAe,WAAW;AACpE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,aAAa,eAAe,UAAU,eAAe,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,aAAa,eAAe,UAAU,eAAe,WAAW;AACpE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,aAAa,eAAe,UAAU,eAAe,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,aAAa,eAAe,UAAU,iBAAiB,WAAW;AACtE;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,QAAQ,CAAC;AAAA;AAAA,IAClE;AAOA,UAAM,aAAa,eAAe,UAAU,iBAAiB,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,aAAa,eAAe,UAAU,aAAa,SAAS,WAAW,WAAW;AACtF,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,QAAQ,SAAS;AAAA,IAC3F;AAOA,UAAM,aAAa,eAAe,UAAU,mBAAmB,WAAW;AACxE,aAAO,KAAK,eAAe,CAAC,CAAC;AAAA,IAC/B;AAOA,UAAM,aAAa,eAAe,UAAU,UAAU,WAAW;AAC/D;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,0BAA0B,QAAQ,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,aAAa,eAAe,UAAU,UAAU,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,eAAe,UAAU,YAAY,WAAW;AACjE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,aAAa,eAAe,UAAU,UAAU,WAAW;AAC/D,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,cAAc,UAAU,WAAW,SAAS,qBAAqB;AAClF,eAAO,MAAM,aAAa,cAAc,SAAS,qBAAqB,IAAI;AAAA,MAC5E;AAYA,YAAM,aAAa,cAAc,WAAW,SAAS,iBAAiB,KAAK;AACzE,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACvD,WAAW,IAAI,IAAI,YAAY,MAAM,0BAA0B,OAAO,SAAS,iBAAiB,CAAC;AAAA,QACnG;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,cAAc,oBAAoB,SAAS,OAAO;AACnE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,cAAc,4BAA4B,KAAK,MAAM;AAAA,IACjF;AAUA,UAAM,aAAa,cAAc,8BAA8B,SAAS,KAAK,QAAQ;AACnF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,0BAA0B;AAC1C,mBAAO,YAAY,OAAM,0BAA0B,OAAO,2BAA2B;AACrF,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,cAAc,UAAU,kBAAkB,WAAW;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,cAAc,wBAAwB,MAAM,MAAM;AACrE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,cAAc,0BAA0B,SAAS,SAAS,QAAQ;AACnF,UAAI,IAAI;AACR,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,0BAA0B,OAAO;AAAA,QACnC;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,cAAc,UAAU,eAAe,WAAW;AACnE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,cAAc,UAAU,eAAe,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,aAAa,cAAc,UAAU,cAAc,WAAW;AAClE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,0BAA0B,QAAQ,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,aAAa,cAAc,UAAU,cAAc,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,cAAc,UAAU,gBAAgB,WAAW;AACpE,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,aAAa,cAAc,UAAU,cAAc,WAAW;AAClE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,eAAe,UAAU,WAAW,SAAS,qBAAqB;AACnF,eAAO,MAAM,aAAa,eAAe,SAAS,qBAAqB,IAAI;AAAA,MAC7E;AAYA,YAAM,aAAa,eAAe,WAAW,SAAS,iBAAiB,KAAK;AAC1E,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,eAAe,oBAAoB,SAAS,OAAO;AACpE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,eAAe,4BAA4B,KAAK,MAAM;AAAA,IAClF;AAUA,UAAM,aAAa,eAAe,8BAA8B,SAAS,KAAK,QAAQ;AACpF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,eAAe,UAAU,kBAAkB,WAAW;AACvE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,eAAe,wBAAwB,MAAM,MAAM;AACtE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,eAAe,0BAA0B,SAAS,SAAS,QAAQ;AACpF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,eAAe,UAAU,UAAU,WAAW;AAC/D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,aAAa,eAAe,UAAU,UAAU,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,aAAa,eAAe,UAAU,aAAa,WAAW;AAClE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,eAAe,UAAU,aAAa,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,aAAa,eAAe,UAAU,WAAW,WAAW;AAChE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,aAAa,eAAe,UAAU,WAAW,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,eAAe,UAAU,aAAa,WAAW;AAClE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,aAAa,eAAe,UAAU,WAAW,WAAW;AAChE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,aAAa,UAAU,WAAW,SAAS,qBAAqB;AACjF,eAAO,MAAM,aAAa,aAAa,SAAS,qBAAqB,IAAI;AAAA,MAC3E;AAYA,YAAM,aAAa,aAAa,WAAW,SAAS,iBAAiB,KAAK;AACxE,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,QACzD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,aAAa,oBAAoB,SAAS,OAAO;AAClE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,aAAa,4BAA4B,KAAK,MAAM;AAAA,IAChF;AAUA,UAAM,aAAa,aAAa,8BAA8B,SAAS,KAAK,QAAQ;AAClF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,aAAa,UAAU,kBAAkB,WAAW;AACrE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,aAAa,wBAAwB,MAAM,MAAM;AACpE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,aAAa,0BAA0B,SAAS,SAAS,QAAQ;AAClF,UAAI,IAAI;AACR,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,aAAa,UAAU,eAAe,WAAW;AAClE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,aAAa,aAAa,UAAU,eAAe,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,aAAa,cAAc,UAAU,WAAW,SAAS,qBAAqB;AAClF,eAAO,MAAM,aAAa,cAAc,SAAS,qBAAqB,IAAI;AAAA,MAC5E;AAYA,YAAM,aAAa,cAAc,WAAW,SAAS,iBAAiB,KAAK;AACzE,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,0BAA0B,OAAO,SAAS,iBAAiB,CAAC;AAAA,UACzF,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,aAAa,cAAc,oBAAoB,SAAS,OAAO;AACnE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,aAAa;AACjC,aAAO,MAAM,aAAa,cAAc,4BAA4B,KAAK,MAAM;AAAA,IACjF;AAUA,UAAM,aAAa,cAAc,8BAA8B,SAAS,KAAK,QAAQ;AACnF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,0BAA0B;AAC1C,mBAAO,YAAY,OAAM,0BAA0B,OAAO,2BAA2B;AACrF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,aAAa,cAAc,UAAU,kBAAkB,WAAW;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,aAAa,cAAc,wBAAwB,MAAM,MAAM;AACrE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,aAAa,cAAc,0BAA0B,SAAS,SAAS,QAAQ;AACnF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,0BAA0B,OAAO;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,aAAa,cAAc,UAAU,UAAU,WAAW;AAC9D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,aAAa,cAAc,UAAU,UAAU,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,aAAa,cAAc,UAAU,aAAa,WAAW;AACjE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,aAAa,cAAc,UAAU,aAAa,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,aAAa,cAAc,UAAU,UAAU,WAAW;AAC9D;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,0BAA0B,QAAQ,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,aAAa,cAAc,UAAU,UAAU,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,cAAc,UAAU,YAAY,WAAW;AAChE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,aAAa,cAAc,UAAU,UAAU,WAAW;AAC9D,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,aAAa,cAAc,UAAU,WAAW,WAAW;AAC/D;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,aAAa,cAAc,UAAU,WAAW,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,aAAa,cAAc,UAAU,aAAa,WAAW;AACjE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,aAAa,cAAc,UAAU,WAAW,WAAW;AAC/D,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAGA,SAAK,OAAO,OAAO,SAAS,MAAM,YAAY;AAAA;AAAA;;;AC1wD9C;AAAA;AAAA;AAGA,QAAI,iBAAiB;AACrB,QAAIC,QAAO,UAAQ,0BAA0B,EAAE;AAE/C,QAAIC,cAAc,WAAY;AAC5B,eAASA,cAAa;AAAA,MAAC;AACvB,MAAAA,YAAW,cAAc;AACzB,aAAOA;AAAA,IACT,EAAE;AAEF,IAAAA,YAAW,SAAS;AAAA,MAClB,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,eAAe;AAAA,MAC5B,cAAc,eAAe;AAAA,IAC/B;AAEA,IAAAA,YAAW,SAAS;AAAA,MAClB,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,eAAe;AAAA,MAC5B,cAAc,eAAe;AAAA,IAC/B;AAEA,IAAAA,YAAW,QAAQ;AAAA,MACjB,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,eAAe;AAAA,MAC5B,cAAc,eAAe;AAAA,IAC/B;AAEA,YAAQ,aAAaA;AAErB,aAASC,kBAAiB,aAAa,SAAS;AAC9C,WAAK,cAAc;AACnB,WAAK,UAAU,WAAW,CAAC;AAAA,IAC7B;AAEA,IAAAA,kBAAiB,UAAU,SAAS,SAAS,OAAO,gBAAgB,UAAU,UAAU;AACtF,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,YAAW,QAAQ;AAAA,QACzC,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kBAAiB,UAAU,SAAS,SAAS,OAAO,gBAAgB,UAAU,UAAU;AACtF,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,YAAW,QAAQ;AAAA,QACzC,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,kBAAiB,UAAU,QAAQ,SAAS,MAAM,gBAAgB,UAAU,UAAU;AACpF,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,YAAW,OAAO;AAAA,QACxC,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,mBAAmBE;AAAA;AAAA;;;AC3I3B;AAAA;AAAA;AAaA,QAAI,OAAO,UAAQ,iBAAiB;AACpC,QAAI,OAAO;AACX,QAAI,SAAU,WAAW;AAAE,aAAO,QAAQ,UAAU,UAAU,QAAQ,SAAS,aAAa,EAAE;AAAA,IAAG,EAAG,KAAK,IAAI;AAE7G,QAAI,YAAY;AAChB,SAAK,OAAO,OAAO,OAAO,SAAS;AACnC,QAAI,+BAA+B,UAAQ,iDAAiD;AAC5F,SAAK,OAAO,OAAO,OAAO,4BAA4B;AACtD,SAAK,aAAa,kDAAkD,MAAM,MAAM;AAChF,SAAK,aAAa,mDAAmD,MAAM,MAAM;AACjF,SAAK,aAAa,oDAAoD,MAAM,MAAM;AAClF,SAAK,aAAa,kDAAkD,MAAM,MAAM;AAChF,SAAK,aAAa,qDAAqD,MAAM,MAAM;AACnF,SAAK,aAAa,+CAA+C,MAAM,MAAM;AAC7E,SAAK,aAAa,0DAA0D,MAAM,MAAM;AACxF,SAAK,aAAa,mDAAmD,MAAM,MAAM;AAWjF,UAAM,kBAAkB,yBAAyB,SAAS,UAAU;AAClE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,kBAAkB,uBAAuB,iBAAiB,IAAI;AAAA,IACrH;AACA,SAAK,SAAS,MAAM,kBAAkB,wBAAwB,KAAK,OAAO;AAC1E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,kBAAkB,uBAAuB,cAAc;AAAA,IAC/D;AAWA,UAAM,kBAAkB,yBAAyB,SAAS,UAAU;AAClE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,kBAAkB,wBAAwB,KAAK,OAAO;AAC1E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,kBAAkB,uBAAuB,cAAc;AAAA,IAC/D;AAWA,UAAM,kBAAkB,2BAA2B,SAAS,UAAU;AACpE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,kBAAkB,0BAA0B,KAAK,OAAO;AAC5E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,kBAAkB,yBAAyB,cAAc;AAAA,IACjE;AAWA,UAAM,kBAAkB,4BAA4B,SAAS,UAAU;AACrE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,kBAAkB,2BAA2B,KAAK,OAAO;AAC7E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,kBAAkB,0BAA0B,cAAc;AAAA,IAClE;AAWA,UAAM,kBAAkB,sBAAsB,SAAS,UAAU;AAC/D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,MAAM,kBAAkB,oBAAoB,YAAY;AAAA,IAC/G;AACA,SAAK,SAAS,MAAM,kBAAkB,qBAAqB,KAAK,OAAO;AACvE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,kBAAkB,oBAAoB,cAAc;AAAA,IAC5D;AAWA,UAAM,kBAAkB,0BAA0B,SAAS,UAAU;AACnE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,kBAAkB,wBAAwB,iBAAiB,IAAI;AAAA,IACtH;AACA,SAAK,SAAS,MAAM,kBAAkB,yBAAyB,KAAK,OAAO;AAC3E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,kBAAkB,wBAAwB,cAAc;AAAA,IAChE;AAOA,UAAM,kBAAkB,uBAAuB,kBAAkB,CAAC,CAAC;AAInE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,kBAAkB,uBAAuB,UAAU,WAAW,SAAS,qBAAqB;AAChG,eAAO,MAAM,kBAAkB,uBAAuB,SAAS,qBAAqB,IAAI;AAAA,MAC1F;AAYA,YAAM,kBAAkB,uBAAuB,WAAW,SAAS,iBAAiB,KAAK;AACvF,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,IAAI,IAAI,YAAY,MAAM,UAAU,SAAS,SAAS,iBAAiB,CAAC;AAAA,UACnF,eAAe,KAAK,QAAQ;AAAA,YAAa,IAAI,iBAAiB;AAAA,YAC9D,UAAU,SAAS;AAAA,YAAU;AAAA,UAAe;AAAA,UAC5C,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,SAAS,SAAS,iBAAiB,CAAC;AAAA,QAC/E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,kBAAkB,uBAAuB,oBAAoB,SAAS,OAAO;AACjF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,kBAAkB;AACtC,aAAO,MAAM,kBAAkB,uBAAuB,4BAA4B,KAAK,MAAM;AAAA,IAC/F;AAUA,UAAM,kBAAkB,uBAAuB,8BAA8B,SAAS,KAAK,QAAQ;AACjG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,SAAS,2BAA2B;AACvE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,kBAAkB,WAAW;AACpF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,kBAAkB,uBAAuB,wBAAwB,MAAM,MAAM;AACnF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,kBAAkB,uBAAuB,0BAA0B,SAAS,SAAS,QAAQ;AACjG,UAAI,IAAI;AACR,UAAI,QAAQ,YAAY;AACxB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,SAAS;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,cAAc,WAAW;AAChF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IAC5D;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,cAAc,SAAS,OAAO;AACrF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,gBAAgB,WAAW;AAClF,aAAO,KAAK,YAAY,MAAS;AAAA,IACnC;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,cAAc,WAAW;AAChF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,mBAAmB,WAAW;AACrF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IACpE;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,mBAAmB,SAAS,OAAO;AAC1F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,kBAAkB,uBAAuB,UAAU,eAAe,SAAS,WAAW,WAAW;AACrG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,UAAU,SAAS;AAAA,IAC7F;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,qBAAqB,WAAW;AACvF,aAAO,KAAK,iBAAiB,CAAC,CAAC;AAAA,IACjC;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,WAAW,WAAW;AAC7E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,UAAU,CAAC;AAAA;AAAA,IAC5D;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,WAAW,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,aAAa,WAAW;AAC/E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,WAAW,WAAW;AAC7E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,kBAAkB,uBAAuB,UAAU,WAAW,SAAS,qBAAqB;AAChG,eAAO,MAAM,kBAAkB,uBAAuB,SAAS,qBAAqB,IAAI;AAAA,MAC1F;AAYA,YAAM,kBAAkB,uBAAuB,WAAW,SAAS,iBAAiB,KAAK;AACvF,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAC/C,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAClD,SAAS,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACpD,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACvD,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAC5D,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAClD,qBAAqB,IAAI,IAAI,sBAAsB,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,UAClG,gBAAgB,IAAI,IAAI,iBAAiB,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,UACxF,aAAa,IAAI,IAAI,cAAc,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC3G,aAAa,IAAI,IAAI,cAAc,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,QACpF;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,kBAAkB,uBAAuB,oBAAoB,SAAS,OAAO;AACjF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,kBAAkB;AACtC,aAAO,MAAM,kBAAkB,uBAAuB,4BAA4B,KAAK,MAAM;AAAA,IAC/F;AAUA,UAAM,kBAAkB,uBAAuB,8BAA8B,SAAS,KAAK,QAAQ;AACjG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAyE,OAAO,SAAS;AAAA;AAC7F,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,sBAAsB;AACtC,mBAAO,YAAY,OAAO,SAAS,SAASC,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,YAAY,MAAM,IAAI,EAAE;AAAA,YACvI,CAAC;AACJ;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,iBAAiB;AACjC,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,YAAY,MAAM,IAAI,EAAE;AAAA,YACvI,CAAC;AACJ;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,cAAc;AAC9B,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,YAAY,MAAM,IAAI,EAAE;AAAA,YACvI,CAAC;AACJ;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,kBAAkB,WAAW;AACpF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,kBAAkB,uBAAuB,wBAAwB,MAAM,MAAM;AACnF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,kBAAkB,uBAAuB,0BAA0B,SAAS,SAAS,QAAQ;AACjG,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAK;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,sBAAsB,IAAI;AACtC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,WAAW;AAAA,MAC/G;AACA,UAAI,QAAQ,iBAAiB,IAAI;AACjC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,WAAW;AAAA,MAC/G;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,cAAc,IAAI;AAC9B,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,IAAI,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,WAAW;AAAA,MAChH;AAAA,IACF;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,QAAQ,WAAW;AAC1E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,QAAQ,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,UAAU,WAAW;AAC5E;AAAA;AAAA,QAAwE,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IACrH;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,UAAU,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,KAAK;AAAA,IACvD;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,WAAW,WAAW;AAC7E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,WAAW,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,aAAa,WAAW;AAC/E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,aAAa,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,eAAe,WAAW;AACjF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,eAAe,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,oBAAoB,WAAW;AACtF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,oBAAoB,SAAS,OAAO;AAC3F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,WAAW,WAAW;AAC7E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,WAAW,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,kBAAkB,uBAAuB,UAAU,wBAAwB,SAAS,kBAAkB;AAC1G;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,0BAA0B,WAAW;AAC5F,WAAK,sBAAsB,EAAE,MAAM;AACnC,aAAO;AAAA,IAAK;AASd,UAAM,kBAAkB,uBAAuB,UAAU,mBAAmB,SAAS,kBAAkB;AACrG;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,qBAAqB,WAAW;AACvF,WAAK,iBAAiB,EAAE,MAAM;AAC9B,aAAO;AAAA,IAAK;AAOd,UAAM,kBAAkB,uBAAuB,UAAU,gBAAgB,WAAW;AAClF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,EAAE;AAAA;AAAA,IACjF;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,gBAAgB,SAAS,OAAO;AACvF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,kBAAkB,WAAW;AACpF,aAAO,KAAK,cAAc,MAAS;AAAA,IACrC;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,gBAAgB,WAAW;AAClF,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AASA,UAAM,kBAAkB,uBAAuB,UAAU,gBAAgB,SAAS,kBAAkB;AAClG;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAI;AAAA,UACnC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,kBAAkB,uBAAuB,UAAU,kBAAkB,WAAW;AACpF,WAAK,cAAc,EAAE,MAAM;AAC3B,aAAO;AAAA,IAAK;AAMd,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,kBAAkB,yBAAyB,UAAU,WAAW,SAAS,qBAAqB;AAClG,eAAO,MAAM,kBAAkB,yBAAyB,SAAS,qBAAqB,IAAI;AAAA,MAC5F;AAYA,YAAM,kBAAkB,yBAAyB,WAAW,SAAS,iBAAiB,KAAK;AACzF,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAC/C,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAClD,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACtD,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACvD,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAC5D,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAClD,qBAAqB,IAAI,IAAI,sBAAsB,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,UAClG,gBAAgB,IAAI,IAAI,iBAAiB,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,UACxF,aAAa,IAAI,IAAI,cAAc,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC3G,aAAa,IAAI,IAAI,cAAc,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,QACpF;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,kBAAkB,yBAAyB,oBAAoB,SAAS,OAAO;AACnF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,kBAAkB;AACtC,aAAO,MAAM,kBAAkB,yBAAyB,4BAA4B,KAAK,MAAM;AAAA,IACjG;AAUA,UAAM,kBAAkB,yBAAyB,8BAA8B,SAAS,KAAK,QAAQ;AACnG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAyE,OAAO,SAAS;AAAA;AAC7F,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,sBAAsB;AACtC,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,YAAY,MAAM,IAAI,EAAE;AAAA,YACvI,CAAC;AACJ;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,iBAAiB;AACjC,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,YAAY,MAAM,IAAI,EAAE;AAAA,YACvI,CAAC;AACJ;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,cAAc;AAC9B,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,YAAY,MAAM,IAAI,EAAE;AAAA,YACvI,CAAC;AACJ;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,kBAAkB,WAAW;AACtF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,kBAAkB,yBAAyB,wBAAwB,MAAM,MAAM;AACrF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,kBAAkB,yBAAyB,0BAA0B,SAAS,SAAS,QAAQ;AACnG,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAK;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,sBAAsB,IAAI;AACtC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,WAAW;AAAA,MAC/G;AACA,UAAI,QAAQ,iBAAiB,IAAI;AACjC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,WAAW;AAAA,MAC/G;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,cAAc,IAAI;AAC9B,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,IAAI,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,WAAW;AAAA,MAChH;AAAA,IACF;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,QAAQ,WAAW;AAC5E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,QAAQ,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,UAAU,WAAW;AAC9E;AAAA;AAAA,QAAwE,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IACrH;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,UAAU,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,KAAK;AAAA,IACvD;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,WAAW,WAAW;AAC/E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,WAAW,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,eAAe,WAAW;AACnF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,eAAe,SAAS,OAAO;AACxF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,eAAe,WAAW;AACnF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,eAAe,SAAS,OAAO;AACxF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,oBAAoB,WAAW;AACxF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,oBAAoB,SAAS,OAAO;AAC7F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,WAAW,WAAW;AAC/E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,WAAW,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,kBAAkB,yBAAyB,UAAU,wBAAwB,SAAS,kBAAkB;AAC5G;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,0BAA0B,WAAW;AAC9F,WAAK,sBAAsB,EAAE,MAAM;AACnC,aAAO;AAAA,IAAK;AASd,UAAM,kBAAkB,yBAAyB,UAAU,mBAAmB,SAAS,kBAAkB;AACvG;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,qBAAqB,WAAW;AACzF,WAAK,iBAAiB,EAAE,MAAM;AAC9B,aAAO;AAAA,IAAK;AAOd,UAAM,kBAAkB,yBAAyB,UAAU,gBAAgB,WAAW;AACpF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,EAAE;AAAA;AAAA,IACjF;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,gBAAgB,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,kBAAkB,WAAW;AACtF,aAAO,KAAK,cAAc,MAAS;AAAA,IACrC;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,gBAAgB,WAAW;AACpF,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AASA,UAAM,kBAAkB,yBAAyB,UAAU,gBAAgB,SAAS,kBAAkB;AACpG;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAI;AAAA,UACnC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,kBAAkB,yBAAyB,UAAU,kBAAkB,WAAW;AACtF,WAAK,cAAc,EAAE,MAAM;AAC3B,aAAO;AAAA,IAAK;AAMd,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,kBAAkB,0BAA0B,UAAU,WAAW,SAAS,qBAAqB;AACnG,eAAO,MAAM,kBAAkB,0BAA0B,SAAS,qBAAqB,IAAI;AAAA,MAC7F;AAYA,YAAM,kBAAkB,0BAA0B,WAAW,SAAS,iBAAiB,KAAK;AAC1F,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAC/C,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAClD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACxD,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UACvD,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAC5D,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAClD,qBAAqB,IAAI,IAAI,sBAAsB,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,UAClG,gBAAgB,IAAI,IAAI,iBAAiB,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,UACxF,aAAa,IAAI,IAAI,cAAc,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC3G,aAAa,IAAI,IAAI,cAAc,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,QACpF;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,kBAAkB,0BAA0B,oBAAoB,SAAS,OAAO;AACpF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,kBAAkB;AACtC,aAAO,MAAM,kBAAkB,0BAA0B,4BAA4B,KAAK,MAAM;AAAA,IAClG;AAUA,UAAM,kBAAkB,0BAA0B,8BAA8B,SAAS,KAAK,QAAQ;AACpG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAyE,OAAO,SAAS;AAAA;AAC7F,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,sBAAsB;AACtC,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,YAAY,MAAM,IAAI,EAAE;AAAA,YACvI,CAAC;AACJ;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,iBAAiB;AACjC,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,YAAY,MAAM,IAAI,EAAE;AAAA,YACvI,CAAC;AACJ;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,cAAc;AAC9B,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,YAAY,MAAM,IAAI,EAAE;AAAA,YACvI,CAAC;AACJ;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,kBAAkB,WAAW;AACvF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,kBAAkB,0BAA0B,wBAAwB,MAAM,MAAM;AACtF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,kBAAkB,0BAA0B,0BAA0B,SAAS,SAAS,QAAQ;AACpG,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAK;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,sBAAsB,IAAI;AACtC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,WAAW;AAAA,MAC/G;AACA,UAAI,QAAQ,iBAAiB,IAAI;AACjC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,IAAI,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,WAAW;AAAA,MAChH;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,cAAc,IAAI;AAC9B,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,IAAI,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,WAAW;AAAA,MAChH;AAAA,IACF;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,QAAQ,WAAW;AAC7E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,QAAQ,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,UAAU,WAAW;AAC/E;AAAA;AAAA,QAAwE,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IACrH;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,UAAU,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,KAAK;AAAA,IACvD;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,UAAU,WAAW;AAC/E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,UAAU,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,WAAW,WAAW;AAChF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,WAAW,SAAS,OAAO;AACrF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,iBAAiB,WAAW;AACtF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,iBAAiB,SAAS,OAAO;AAC3F,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,eAAe,WAAW;AACpF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,eAAe,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,oBAAoB,WAAW;AACzF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,oBAAoB,SAAS,OAAO;AAC9F,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,WAAW,WAAW;AAChF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,WAAW,SAAS,OAAO;AACrF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,kBAAkB,0BAA0B,UAAU,wBAAwB,SAAS,kBAAkB;AAC7G;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,0BAA0B,WAAW;AAC/F,WAAK,sBAAsB,EAAE,MAAM;AACnC,aAAO;AAAA,IAAK;AASd,UAAM,kBAAkB,0BAA0B,UAAU,mBAAmB,SAAS,kBAAkB;AACxG;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAI;AAAA,UACnC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,qBAAqB,WAAW;AAC1F,WAAK,iBAAiB,EAAE,MAAM;AAC9B,aAAO;AAAA,IAAK;AAOd,UAAM,kBAAkB,0BAA0B,UAAU,gBAAgB,WAAW;AACrF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,EAAE;AAAA;AAAA,IACjF;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,gBAAgB,SAAS,OAAO;AAC1F,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,kBAAkB,WAAW;AACvF,aAAO,KAAK,cAAc,MAAS;AAAA,IACrC;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,gBAAgB,WAAW;AACrF,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AASA,UAAM,kBAAkB,0BAA0B,UAAU,gBAAgB,SAAS,kBAAkB;AACrG;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAI;AAAA,UACnC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,kBAAkB,0BAA0B,UAAU,kBAAkB,WAAW;AACvF,WAAK,cAAc,EAAE,MAAM;AAC3B,aAAO;AAAA,IAAK;AAYd,UAAM,kBAAkB,oBAAoB,eAAe,CAAC,CAAC,GAAE,GAAE,CAAC,CAAC;AAKnE,UAAM,kBAAkB,oBAAoB,aAAa;AAAA,MACvD,gBAAgB;AAAA,MAChB,KAAK;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,IACV;AAKA,UAAM,kBAAkB,oBAAoB,UAAU,gBAAgB,WAAW;AAC/E;AAAA;AAAA,QAA6E,KAAK,QAAQ,iBAAiB,MAAM,MAAM,kBAAkB,oBAAoB,aAAa,CAAC,CAAC;AAAA;AAAA,IAC9K;AAIA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,kBAAkB,oBAAoB,UAAU,WAAW,SAAS,qBAAqB;AAC7F,eAAO,MAAM,kBAAkB,oBAAoB,SAAS,qBAAqB,IAAI;AAAA,MACvF;AAYA,YAAM,kBAAkB,oBAAoB,WAAW,SAAS,iBAAiB,KAAK;AACpF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,IAAI,IAAI,OAAO,MAAM,MAAM,kBAAkB,uBAAuB,SAAS,iBAAiB,CAAC;AAAA,UACrG,QAAQ,IAAI,IAAI,SAAS,MAAM,MAAM,kBAAkB,yBAAyB,SAAS,iBAAiB,CAAC;AAAA,UAC3G,SAAS,IAAI,IAAI,UAAU,MAAM,MAAM,kBAAkB,0BAA0B,SAAS,iBAAiB,CAAC;AAAA,QAChH;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,kBAAkB,oBAAoB,oBAAoB,SAAS,OAAO;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,kBAAkB;AACtC,aAAO,MAAM,kBAAkB,oBAAoB,4BAA4B,KAAK,MAAM;AAAA,IAC5F;AAUA,UAAM,kBAAkB,oBAAoB,8BAA8B,SAAS,KAAK,QAAQ;AAC9F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,kBAAkB;AACxC,mBAAO,YAAY,OAAM,MAAM,kBAAkB,uBAAuB,2BAA2B;AACnG,gBAAI,OAAO,KAAK;AAChB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,kBAAkB;AACxC,mBAAO,YAAY,OAAM,MAAM,kBAAkB,yBAAyB,2BAA2B;AACrG,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,kBAAkB;AACxC,mBAAO,YAAY,OAAM,MAAM,kBAAkB,0BAA0B,2BAA2B;AACtG,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,kBAAkB,oBAAoB,UAAU,kBAAkB,WAAW;AACjF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,kBAAkB,oBAAoB,wBAAwB,MAAM,MAAM;AAChF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,kBAAkB,oBAAoB,0BAA0B,SAAS,SAAS,QAAQ;AAC9F,UAAI,IAAI;AACR,UAAI,QAAQ,OAAO;AACnB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,kBAAkB,uBAAuB;AAAA,QACjD;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,kBAAkB,yBAAyB;AAAA,QACnD;AAAA,MACF;AACA,UAAI,QAAQ,UAAU;AACtB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,kBAAkB,0BAA0B;AAAA,QACpD;AAAA,MACF;AAAA,IACF;AAOA,UAAM,kBAAkB,oBAAoB,UAAU,SAAS,WAAW;AACxE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,kBAAkB,wBAAwB,CAAC;AAAA;AAAA,IACxF;AAOA,UAAM,kBAAkB,oBAAoB,UAAU,SAAS,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,MAAM,kBAAkB,oBAAoB,aAAa,CAAC,GAAG,KAAK;AAAA,IACtH;AAOA,UAAM,kBAAkB,oBAAoB,UAAU,WAAW,WAAW;AAC1E,aAAO,KAAK,OAAO,MAAS;AAAA,IAC9B;AAOA,UAAM,kBAAkB,oBAAoB,UAAU,SAAS,WAAW;AACxE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,kBAAkB,oBAAoB,UAAU,WAAW,WAAW;AAC1E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,kBAAkB,0BAA0B,CAAC;AAAA;AAAA,IAC1F;AAOA,UAAM,kBAAkB,oBAAoB,UAAU,WAAW,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,MAAM,kBAAkB,oBAAoB,aAAa,CAAC,GAAG,KAAK;AAAA,IACtH;AAOA,UAAM,kBAAkB,oBAAoB,UAAU,aAAa,WAAW;AAC5E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,kBAAkB,oBAAoB,UAAU,WAAW,WAAW;AAC1E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,kBAAkB,oBAAoB,UAAU,YAAY,WAAW;AAC3E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,kBAAkB,2BAA2B,CAAC;AAAA;AAAA,IAC3F;AAOA,UAAM,kBAAkB,oBAAoB,UAAU,YAAY,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,MAAM,kBAAkB,oBAAoB,aAAa,CAAC,GAAG,KAAK;AAAA,IACtH;AAOA,UAAM,kBAAkB,oBAAoB,UAAU,cAAc,WAAW;AAC7E,aAAO,KAAK,UAAU,MAAS;AAAA,IACjC;AAOA,UAAM,kBAAkB,oBAAoB,UAAU,YAAY,WAAW;AAC3E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,kBAAkB,wBAAwB,kBAAkB,CAAC,CAAC;AAIpE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,kBAAkB,wBAAwB,UAAU,WAAW,SAAS,qBAAqB;AACjG,eAAO,MAAM,kBAAkB,wBAAwB,SAAS,qBAAqB,IAAI;AAAA,MAC3F;AAYA,YAAM,kBAAkB,wBAAwB,WAAW,SAAS,iBAAiB,KAAK;AACxF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,MAAM,kBAAkB,oBAAoB;AAAA,YAAU;AAAA,UAAe;AAAA,UACrE,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,YAAY,IAAI,IAAI,aAAa,MAAM,UAAU,UAAU,SAAS,iBAAiB,CAAC;AAAA,QACxF;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,kBAAkB,wBAAwB,oBAAoB,SAAS,OAAO;AAClF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,kBAAkB;AACtC,aAAO,MAAM,kBAAkB,wBAAwB,4BAA4B,KAAK,MAAM;AAAA,IAChG;AAUA,UAAM,kBAAkB,wBAAwB,8BAA8B,SAAS,KAAK,QAAQ;AAClG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,kBAAkB;AACxC,mBAAO,YAAY,OAAM,MAAM,kBAAkB,oBAAoB,2BAA2B;AAChG,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,UAAU,2BAA2B;AACxE,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,kBAAkB,wBAAwB,UAAU,kBAAkB,WAAW;AACrF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,kBAAkB,wBAAwB,wBAAwB,MAAM,MAAM;AACpF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,kBAAkB,wBAAwB,0BAA0B,SAAS,SAAS,QAAQ;AAClG,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,kBAAkB,oBAAoB;AAAA,QAC9C;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,UAAU;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,kBAAkB,wBAAwB,UAAU,UAAU,WAAW;AAC7E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,kBAAkB,wBAAwB,UAAU,UAAU,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,kBAAkB,wBAAwB,UAAU,aAAa,WAAW;AAChF;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,kBAAkB,wBAAwB,UAAU,aAAa,SAAS,OAAO;AACrF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,kBAAkB,wBAAwB,UAAU,cAAc,WAAW;AACjF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,kBAAkB,qBAAqB,CAAC;AAAA;AAAA,IAC7F;AAOA,UAAM,kBAAkB,wBAAwB,UAAU,cAAc,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,kBAAkB,wBAAwB,UAAU,UAAU,SAAS,WAAW,WAAW;AACjG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,kBAAkB,qBAAqB,SAAS;AAAA,IAC1H;AAOA,UAAM,kBAAkB,wBAAwB,UAAU,gBAAgB,WAAW;AACnF,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,kBAAkB,wBAAwB,UAAU,WAAW,WAAW;AAC9E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,kBAAkB,wBAAwB,UAAU,WAAW,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,kBAAkB,wBAAwB,UAAU,aAAa,WAAW;AAChF,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,kBAAkB,wBAAwB,UAAU,WAAW,WAAW;AAC9E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,kBAAkB,wBAAwB,UAAU,eAAe,WAAW;AAClF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,WAAW,CAAC;AAAA;AAAA,IAC7D;AAOA,UAAM,kBAAkB,wBAAwB,UAAU,eAAe,SAAS,OAAO;AACvF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,kBAAkB,wBAAwB,UAAU,iBAAiB,WAAW;AACpF,aAAO,KAAK,aAAa,MAAS;AAAA,IACpC;AAOA,UAAM,kBAAkB,wBAAwB,UAAU,eAAe,WAAW;AAClF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,UAAM,kBAAkB,0BAA0B;AAAA,MAChD,uCAAuC;AAAA,MACvC,+BAA+B;AAAA,MAC/B,iCAAiC;AAAA,MACjC,kCAAkC;AAAA,IACpC;AAEA,SAAK,OAAO,OAAO,SAAS,MAAM,iBAAiB;AAAA;AAAA;;;ACv4EnD;AAAA;AAAA;AAGA,QAAI,uBAAuB;AAC3B,QAAIC,QAAO,UAAQ,0BAA0B,EAAE;AAE/C,QAAI,uBAAwB,WAAY;AACtC,eAASC,wBAAuB;AAAA,MAAC;AACjC,MAAAA,sBAAqB,cAAc;AACnC,aAAOA;AAAA,IACT,EAAE;AAEF,yBAAqB,kBAAkB;AAAA,MACrC,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,qBAAqB;AAAA,MAClC,cAAc,qBAAqB;AAAA,IACrC;AAEA,YAAQ,uBAAuB;AAE/B,aAASC,4BAA2B,aAAa,SAAS;AACxD,WAAK,cAAc;AACnB,WAAK,UAAU,WAAW,CAAC;AAAA,IAC7B;AAEA,IAAAA,4BAA2B,UAAU,kBAAkB,SAAS,gBAAgB,gBAAgB,UAAU,UAAU;AAClH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAM,qBAAqB,iBAAiB;AAAA,QAC5D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWA,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,6BAA6BE;AAAA;AAAA;;;AC3DrC;AAAA;AAAA;AAaA,QAAI,OAAO,UAAQ,iBAAiB;AACpC,QAAI,OAAO;AACX,QAAI,SAAU,WAAW;AAAE,aAAO,QAAQ,UAAU,UAAU,QAAQ,SAAS,aAAa,EAAE;AAAA,IAAG,EAAG,KAAK,IAAI;AAE7G,QAAI,+BAA+B,UAAQ,iDAAiD;AAC5F,SAAK,OAAO,OAAO,OAAO,4BAA4B;AACtD,QAAI,YAAY;AAChB,SAAK,OAAO,OAAO,OAAO,SAAS;AACnC,SAAK,aAAa,wDAAwD,MAAM,MAAM;AACtF,SAAK,aAAa,8CAA8C,MAAM,MAAM;AAC5E,SAAK,aAAa,sDAAsD,MAAM,MAAM;AACpF,SAAK,aAAa,2DAA2D,MAAM,MAAM;AAWzF,UAAM,iBAAiB,sBAAsB,SAAS,UAAU;AAC9D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,iBAAiB,qBAAqB,KAAK,OAAO;AACtE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,iBAAiB,oBAAoB,cAAc;AAAA,IAC3D;AAWA,UAAM,iBAAiB,mCAAmC,SAAS,UAAU;AAC3E,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,iBAAiB,iCAAiC,iBAAiB,IAAI;AAAA,IAC9H;AACA,SAAK,SAAS,MAAM,iBAAiB,kCAAkC,KAAK,OAAO;AACnF,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,iBAAiB,iCAAiC,cAAc;AAAA,IACxE;AAWA,UAAM,iBAAiB,gCAAgC,SAAS,UAAU;AACxE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,iBAAiB,+BAA+B,KAAK,OAAO;AAChF,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,iBAAiB,8BAA8B,cAAc;AAAA,IACrE;AAWA,UAAM,iBAAiB,8BAA8B,SAAS,UAAU;AACtE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,iBAAiB,4BAA4B,iBAAiB,IAAI;AAAA,IACzH;AACA,SAAK,SAAS,MAAM,iBAAiB,6BAA6B,KAAK,OAAO;AAC9E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,iBAAiB,4BAA4B,cAAc;AAAA,IACnE;AAIA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,iBAAiB,oBAAoB,UAAU,WAAW,SAAS,qBAAqB;AAC5F,eAAO,MAAM,iBAAiB,oBAAoB,SAAS,qBAAqB,IAAI;AAAA,MACtF;AAYA,YAAM,iBAAiB,oBAAoB,WAAW,SAAS,iBAAiB,KAAK;AACnF,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UACtD,SAAS,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACpD,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACtD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACnD,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC7G,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,QAC/G;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,iBAAiB,oBAAoB,oBAAoB,SAAS,OAAO;AAC7E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,iBAAiB;AACrC,aAAO,MAAM,iBAAiB,oBAAoB,4BAA4B,KAAK,MAAM;AAAA,IAC3F;AAUA,UAAM,iBAAiB,oBAAoB,8BAA8B,SAAS,KAAK,QAAQ;AAC7F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,kBAAkB,WAAW;AAChF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,iBAAiB,oBAAoB,wBAAwB,MAAM,MAAM;AAC/E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,iBAAiB,oBAAoB,0BAA0B,SAAS,SAAS,QAAQ;AAC7F,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,UAAU;AACtB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AAAA,IACF;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,QAAQ,WAAW;AACtE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,QAAQ,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,gBAAgB,WAAW;AAC9E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,gBAAgB,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,aAAa,WAAW;AAC3E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,aAAa,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,eAAe,WAAW;AAC7E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,eAAe,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,aAAa,WAAW;AAC3E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,aAAa,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,YAAY,WAAW;AAC1E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,YAAY,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,iBAAiB,WAAW;AAC/E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,CAAC;AAAA;AAAA,IAChF;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,iBAAiB,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,mBAAmB,WAAW;AACjF,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,iBAAiB,WAAW;AAC/E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,iBAAiB,WAAW;AAC/E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,EAAE;AAAA;AAAA,IACjF;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,iBAAiB,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,mBAAmB,WAAW;AACjF,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,iBAAiB,oBAAoB,UAAU,iBAAiB,WAAW;AAC/E,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AASA,UAAM,iBAAiB,iCAAiC,kBAAkB,CAAC,CAAC;AAI5E,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,iBAAiB,iCAAiC,UAAU,WAAW,SAAS,qBAAqB;AACzG,eAAO,MAAM,iBAAiB,iCAAiC,SAAS,qBAAqB,IAAI;AAAA,MACnG;AAYA,YAAM,iBAAiB,iCAAiC,WAAW,SAAS,iBAAiB,KAAK;AAChG,YAAI,GAAG,MAAM;AAAA,UACX,cAAc,KAAK,QAAQ;AAAA,YAAa,IAAI,gBAAgB;AAAA,YAC5D,MAAM,iBAAiB,oBAAoB;AAAA,YAAU;AAAA,UAAe;AAAA,QACtE;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,iBAAiB,iCAAiC,oBAAoB,SAAS,OAAO;AAC1F,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,iBAAiB;AACrC,aAAO,MAAM,iBAAiB,iCAAiC,4BAA4B,KAAK,MAAM;AAAA,IACxG;AAUA,UAAM,iBAAiB,iCAAiC,8BAA8B,SAAS,KAAK,QAAQ;AAC1G,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,iBAAiB;AACvC,mBAAO,YAAY,OAAM,MAAM,iBAAiB,oBAAoB,2BAA2B;AAC/F,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,iBAAiB,iCAAiC,UAAU,kBAAkB,WAAW;AAC7F,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,iBAAiB,iCAAiC,wBAAwB,MAAM,MAAM;AAC5F,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,iBAAiB,iCAAiC,0BAA0B,SAAS,SAAS,QAAQ;AAC1G,UAAI,IAAI;AACR,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,iBAAiB,oBAAoB;AAAA,QAC7C;AAAA,MACF;AAAA,IACF;AAOA,UAAM,iBAAiB,iCAAiC,UAAU,kBAAkB,WAAW;AAC7F;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,iBAAiB,qBAAqB,CAAC;AAAA;AAAA,IAC5F;AAOA,UAAM,iBAAiB,iCAAiC,UAAU,kBAAkB,SAAS,OAAO;AAClG,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,iBAAiB,iCAAiC,UAAU,cAAc,SAAS,WAAW,WAAW;AAC7G,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,iBAAiB,qBAAqB,SAAS;AAAA,IACzH;AAOA,UAAM,iBAAiB,iCAAiC,UAAU,oBAAoB,WAAW;AAC/F,aAAO,KAAK,gBAAgB,CAAC,CAAC;AAAA,IAChC;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,iBAAiB,8BAA8B,UAAU,WAAW,SAAS,qBAAqB;AACtG,eAAO,MAAM,iBAAiB,8BAA8B,SAAS,qBAAqB,IAAI;AAAA,MAChG;AAYA,YAAM,iBAAiB,8BAA8B,WAAW,SAAS,iBAAiB,KAAK;AAC7F,YAAI,GAAG,MAAM,CAEb;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,iBAAiB,8BAA8B,oBAAoB,SAAS,OAAO;AACvF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,iBAAiB;AACrC,aAAO,MAAM,iBAAiB,8BAA8B,4BAA4B,KAAK,MAAM;AAAA,IACrG;AAUA,UAAM,iBAAiB,8BAA8B,8BAA8B,SAAS,KAAK,QAAQ;AACvG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,iBAAiB,8BAA8B,UAAU,kBAAkB,WAAW;AAC1F,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,iBAAiB,8BAA8B,wBAAwB,MAAM,MAAM;AACzF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,iBAAiB,8BAA8B,0BAA0B,SAAS,SAAS,QAAQ;AACvG,UAAI,IAAI;AAAA,IACV;AASA,UAAM,iBAAiB,4BAA4B,kBAAkB,CAAC,CAAC;AAIvE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,iBAAiB,4BAA4B,UAAU,WAAW,SAAS,qBAAqB;AACpG,eAAO,MAAM,iBAAiB,4BAA4B,SAAS,qBAAqB,IAAI;AAAA,MAC9F;AAYA,YAAM,iBAAiB,4BAA4B,WAAW,SAAS,iBAAiB,KAAK;AAC3F,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,MAAM,iBAAiB,oBAAoB;AAAA,YAAU;AAAA,UAAe;AAAA,UACpE,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,iBAAiB,4BAA4B,oBAAoB,SAAS,OAAO;AACrF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,iBAAiB;AACrC,aAAO,MAAM,iBAAiB,4BAA4B,4BAA4B,KAAK,MAAM;AAAA,IACnG;AAUA,UAAM,iBAAiB,4BAA4B,8BAA8B,SAAS,KAAK,QAAQ;AACrG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,iBAAiB;AACvC,mBAAO,YAAY,OAAM,MAAM,iBAAiB,oBAAoB,2BAA2B;AAC/F,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,iBAAiB,4BAA4B,UAAU,kBAAkB,WAAW;AACxF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,iBAAiB,4BAA4B,wBAAwB,MAAM,MAAM;AACvF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,iBAAiB,4BAA4B,0BAA0B,SAAS,SAAS,QAAQ;AACrG,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,iBAAiB,oBAAoB;AAAA,QAC7C;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,iBAAiB,4BAA4B,UAAU,UAAU,WAAW;AAChF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,iBAAiB,4BAA4B,UAAU,UAAU,SAAS,OAAO;AACrF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,iBAAiB,4BAA4B,UAAU,aAAa,WAAW;AACnF;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,iBAAiB,4BAA4B,UAAU,aAAa,SAAS,OAAO;AACxF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,iBAAiB,4BAA4B,UAAU,cAAc,WAAW;AACpF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,iBAAiB,qBAAqB,CAAC;AAAA;AAAA,IAC5F;AAOA,UAAM,iBAAiB,4BAA4B,UAAU,cAAc,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,iBAAiB,4BAA4B,UAAU,UAAU,SAAS,WAAW,WAAW;AACpG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,iBAAiB,qBAAqB,SAAS;AAAA,IACzH;AAOA,UAAM,iBAAiB,4BAA4B,UAAU,gBAAgB,WAAW;AACtF,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,iBAAiB,4BAA4B,UAAU,WAAW,WAAW;AACjF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,iBAAiB,4BAA4B,UAAU,WAAW,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,iBAAiB,4BAA4B,UAAU,aAAa,WAAW;AACnF,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,iBAAiB,4BAA4B,UAAU,WAAW,WAAW;AACjF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAGA,SAAK,OAAO,OAAO,SAAS,MAAM,gBAAgB;AAAA;AAAA;;;AC//BlD;AAAA;AAAA;AAGA,QAAI,sBAAsB;AAC1B,QAAIC,QAAO,UAAQ,0BAA0B,EAAE;AAE/C,QAAI,sBAAuB,WAAY;AACrC,eAASC,uBAAsB;AAAA,MAAC;AAChC,MAAAA,qBAAoB,cAAc;AAClC,aAAOA;AAAA,IACT,EAAE;AAEF,wBAAoB,4BAA4B;AAAA,MAC9C,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,oBAAoB;AAAA,MACjC,cAAc,oBAAoB;AAAA,IACpC;AAEA,wBAAoB,0BAA0B;AAAA,MAC5C,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,oBAAoB;AAAA,MACjC,cAAc,oBAAoB;AAAA,IACpC;AAEA,YAAQ,sBAAsB;AAE9B,aAASC,2BAA0B,aAAa,SAAS;AACvD,WAAK,cAAc;AACnB,WAAK,UAAU,WAAW,CAAC;AAAA,IAC7B;AAEA,IAAAA,2BAA0B,UAAU,4BAA4B,SAAS,0BAA0B,gBAAgB,UAAU,UAAU;AACrI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAM,oBAAoB,2BAA2B;AAAA,QACrE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWA,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,2BAA0B,UAAU,0BAA0B,SAAS,wBAAwB,gBAAgB,UAAU,UAAU;AACjI,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAM,oBAAoB,yBAAyB;AAAA,QACnE,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWA,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,4BAA4BE;AAAA;AAAA;;;ACnGpC;AAAA;AAAA;AAGA,QAAI,YAAY;AAChB,QAAIC,QAAO,UAAQ,0BAA0B,EAAE;AAE/C,QAAI,SAAU,WAAY;AACxB,eAASC,UAAS;AAAA,MAAC;AACnB,MAAAA,QAAO,cAAc;AACrB,aAAOA;AAAA,IACT,EAAE;AAEF,WAAO,UAAU;AAAA,MACf,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,UAAU;AAAA,MACvB,cAAc,UAAU;AAAA,IAC1B;AAEA,YAAQ,SAAS;AAEjB,aAASC,cAAa,aAAa,SAAS;AAC1C,WAAK,cAAc;AACnB,WAAK,UAAU,WAAW,CAAC;AAAA,IAC7B;AAEA,IAAAA,cAAa,UAAU,UAAU,SAAS,QAAQ,UAAU;AAC1D,UAAI,YAAY;AAAA,QACd,MAAM,CAAC;AAAA,QACP,KAAK,CAAC;AAAA,QACN,QAAQ,CAAC;AAAA,MACX;AACA,UAAI,SAASF,MAAK,OAAO,OAAO,SAAS;AAAA,QACvC,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,MAC1B,CAAC;AACD,aAAO,MAAM,SAAU,QAAQ,eAAe,UAAU;AACtD,kBAAU,OAAO,QAAQ,SAAU,SAAS;AAC1C,kBAAQ,EAAE,MAAM,QAAQ,SAAS,eAAe,UAAU,SAAS,CAAC;AAAA,QACtE,CAAC;AACD,kBAAU,IAAI,QAAQ,SAAU,SAAS;AACvC,kBAAQ,EAAE,MAAM,QAAQ,SAAS,eAAe,UAAU,SAAS,CAAC;AAAA,QACtE,CAAC;AACD,oBAAY;AAAA,MACd,CAAC;AACD,aAAO,UAAU,SAAU,SAAS;AAClC,kBAAU,KAAK,QAAQ,SAAU,SAAS;AACxC,kBAAQ,OAAO;AAAA,QACjB,CAAC;AAAA,MACH,CAAC;AACD,aAAO,MAAM,QAAQ;AACrB,aAAO;AAAA,QACL,IAAI,SAAU,MAAM,SAAS;AAC3B,oBAAU,IAAI,EAAE,KAAK,OAAO;AAC5B,iBAAO;AAAA,QACT;AAAA,QACA,OAAO,SAAU,gBAAgB;AAC/B,iBAAO,KAAK,cAAc;AAC1B,iBAAO;AAAA,QACT;AAAA,QACA,KAAK,WAAY;AACf,iBAAO,WAAW;AAAA,QACpB;AAAA,QACA,QAAQ,WAAY;AAClB,sBAAY;AACZ,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,eAAeE;AAAA;AAAA;;;ACzEvB;AAAA;AAAA;AAaA,QAAI,OAAO,UAAQ,iBAAiB;AACpC,QAAI,OAAO;AACX,QAAI,SAAU,WAAW;AAAE,aAAO,QAAQ,UAAU,UAAU,QAAQ,SAAS,aAAa,EAAE;AAAA,IAAG,EAAG,KAAK,IAAI;AAE7G,QAAI,+BAA+B,UAAQ,iDAAiD;AAC5F,SAAK,OAAO,OAAO,OAAO,4BAA4B;AACtD,QAAI,YAAY;AAChB,SAAK,OAAO,OAAO,OAAO,SAAS;AACnC,SAAK,aAAa,iCAAiC,MAAM,MAAM;AAC/D,SAAK,aAAa,sCAAsC,MAAM,MAAM;AACpE,SAAK,aAAa,yCAAyC,MAAM,MAAM;AACvE,SAAK,aAAa,wCAAwC,MAAM,MAAM;AACtE,SAAK,aAAa,yCAAyC,MAAM,MAAM;AACvE,SAAK,aAAa,4CAA4C,MAAM,MAAM;AAC1E,SAAK,aAAa,6CAA6C,MAAM,MAAM;AAC3E,SAAK,aAAa,+CAA+C,MAAM,MAAM;AAC7E,SAAK,aAAa,gDAAgD,MAAM,MAAM;AAW9E,UAAM,YAAY,mBAAmB,SAAS,UAAU;AACtD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,YAAY,kBAAkB,KAAK,OAAO;AAC9D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,YAAY,iBAAiB,cAAc;AAAA,IACnD;AAWA,UAAM,YAAY,cAAc,SAAS,UAAU;AACjD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,YAAY,YAAY,iBAAiB,IAAI;AAAA,IACpG;AACA,SAAK,SAAS,MAAM,YAAY,aAAa,KAAK,OAAO;AACzD,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,YAAY,YAAY,cAAc;AAAA,IAC9C;AAWA,UAAM,YAAY,sBAAsB,SAAS,UAAU;AACzD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,YAAY,qBAAqB,KAAK,OAAO;AACjE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,YAAY,oBAAoB,cAAc;AAAA,IACtD;AAWA,UAAM,YAAY,qBAAqB,SAAS,UAAU;AACxD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,YAAY,oBAAoB,KAAK,OAAO;AAChE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,YAAY,mBAAmB,cAAc;AAAA,IACrD;AAWA,UAAM,YAAY,sBAAsB,SAAS,UAAU;AACzD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,YAAY,oBAAoB,iBAAiB,IAAI;AAAA,IAC5G;AACA,SAAK,SAAS,MAAM,YAAY,qBAAqB,KAAK,OAAO;AACjE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,YAAY,oBAAoB,cAAc;AAAA,IACtD;AAWA,UAAM,YAAY,yBAAyB,SAAS,UAAU;AAC5D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,YAAY,wBAAwB,KAAK,OAAO;AACpE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,YAAY,uBAAuB,cAAc;AAAA,IACzD;AAWA,UAAM,YAAY,0BAA0B,SAAS,UAAU;AAC7D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,YAAY,yBAAyB,KAAK,OAAO;AACrE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,YAAY,wBAAwB,cAAc;AAAA,IAC1D;AAWA,UAAM,YAAY,4BAA4B,SAAS,UAAU;AAC/D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,YAAY,2BAA2B,KAAK,OAAO;AACvE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,YAAY,0BAA0B,cAAc;AAAA,IAC5D;AAWA,UAAM,YAAY,6BAA6B,SAAS,UAAU;AAChE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,YAAY,4BAA4B,KAAK,OAAO;AACxE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,YAAY,2BAA2B,cAAc;AAAA,IAC7D;AAIA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,YAAY,iBAAiB,UAAU,WAAW,SAAS,qBAAqB;AACpF,eAAO,MAAM,YAAY,iBAAiB,SAAS,qBAAqB,IAAI;AAAA,MAC9E;AAYA,YAAM,YAAY,iBAAiB,WAAW,SAAS,iBAAiB,KAAK;AAC3E,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACzD,YAAY,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,QACxD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,YAAY,iBAAiB,oBAAoB,SAAS,OAAO;AACrE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,YAAY;AAChC,aAAO,MAAM,YAAY,iBAAiB,4BAA4B,KAAK,MAAM;AAAA,IACnF;AAUA,UAAM,YAAY,iBAAiB,8BAA8B,SAAS,KAAK,QAAQ;AACrF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,YAAY,iBAAiB,UAAU,kBAAkB,WAAW;AACxE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,YAAY,iBAAiB,wBAAwB,MAAM,MAAM;AACvE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,YAAY,iBAAiB,0BAA0B,SAAS,SAAS,QAAQ;AACrF,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,YAAY,iBAAiB,UAAU,QAAQ,WAAW;AAC9D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,YAAY,iBAAiB,UAAU,QAAQ,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,YAAY,iBAAiB,UAAU,kBAAkB,WAAW;AACxE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,YAAY,iBAAiB,UAAU,kBAAkB,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,YAAY,iBAAiB,UAAU,gBAAgB,WAAW;AACtE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,YAAY,iBAAiB,UAAU,gBAAgB,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AASA,UAAM,YAAY,YAAY,kBAAkB,CAAC,EAAE;AAInD,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,YAAY,YAAY,UAAU,WAAW,SAAS,qBAAqB;AAC/E,eAAO,MAAM,YAAY,YAAY,SAAS,qBAAqB,IAAI;AAAA,MACzE;AAYA,YAAM,YAAY,YAAY,WAAW,SAAS,iBAAiB,KAAK;AACtE,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACxD,WAAW,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAChE,UAAU,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC/D,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UACrD,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UACxD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UACvD,UAAU,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,UACtD,WAAW,KAAK,QAAQ,oBAAoB,KAAK,IAAI,EAAE;AAAA,UACvD,YAAY,KAAK,QAAQ;AAAA,YAAa,IAAI,cAAc;AAAA,YACxD,MAAM,YAAY,iBAAiB;AAAA,YAAU;AAAA,UAAe;AAAA,QAC9D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,YAAY,YAAY,oBAAoB,SAAS,OAAO;AAChE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,YAAY;AAChC,aAAO,MAAM,YAAY,YAAY,4BAA4B,KAAK,MAAM;AAAA,IAC9E;AAUA,UAAM,YAAY,YAAY,8BAA8B,SAAS,KAAK,QAAQ;AAChF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,YAAY;AAClC,mBAAO,YAAY,OAAM,MAAM,YAAY,iBAAiB,2BAA2B;AACvF,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,YAAY,YAAY,UAAU,kBAAkB,WAAW;AACnE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,YAAY,YAAY,wBAAwB,MAAM,MAAM;AAClE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,YAAY,YAAY,0BAA0B,SAAS,SAAS,QAAQ;AAChF,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,YAAY,iBAAiB;AAAA,QACrC;AAAA,MACF;AAAA,IACF;AAOA,UAAM,YAAY,YAAY,UAAU,QAAQ,WAAW;AACzD;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,YAAY,YAAY,UAAU,QAAQ,SAAS,OAAO;AAC9D,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,YAAY,YAAY,UAAU,UAAU,WAAW;AAC3D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,YAAY,YAAY,UAAU,UAAU,SAAS,OAAO;AAChE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,YAAY,YAAY,UAAU,UAAU,WAAW;AAC3D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,YAAY,YAAY,UAAU,UAAU,SAAS,OAAO;AAChE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,YAAY,YAAY,UAAU,iBAAiB,WAAW;AAClE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,YAAY,YAAY,UAAU,iBAAiB,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,YAAY,YAAY,UAAU,eAAe,WAAW;AAChE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,YAAY,YAAY,UAAU,eAAe,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,YAAY,YAAY,UAAU,cAAc,WAAW;AAC/D;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,YAAY,YAAY,UAAU,cAAc,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,YAAY,YAAY,UAAU,eAAe,WAAW;AAChE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,YAAY,YAAY,UAAU,eAAe,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,YAAY,YAAY,UAAU,kBAAkB,WAAW;AACnE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,YAAY,YAAY,UAAU,kBAAkB,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,YAAY,YAAY,UAAU,iBAAiB,WAAW;AAClE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,YAAY,YAAY,UAAU,iBAAiB,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,YAAY,YAAY,UAAU,cAAc,WAAW;AAC/D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,YAAY,YAAY,UAAU,cAAc,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAOA,UAAM,YAAY,YAAY,UAAU,eAAe,WAAW;AAChE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,IAAI,EAAE;AAAA;AAAA,IAC7E;AAOA,UAAM,YAAY,YAAY,UAAU,eAAe,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,IAAI,KAAK;AAAA,IAC1D;AAOA,UAAM,YAAY,YAAY,UAAU,gBAAgB,WAAW;AACjE;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,YAAY,kBAAkB,EAAE;AAAA;AAAA,IACrF;AAOA,UAAM,YAAY,YAAY,UAAU,gBAAgB,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,IAAI,KAAK;AAAA,IAC7D;AAQA,UAAM,YAAY,YAAY,UAAU,YAAY,SAAS,WAAW,WAAW;AACjF,aAAO,KAAK,QAAQ,0BAA0B,MAAM,IAAI,WAAW,MAAM,YAAY,kBAAkB,SAAS;AAAA,IAClH;AAOA,UAAM,YAAY,YAAY,UAAU,kBAAkB,WAAW;AACnE,aAAO,KAAK,cAAc,CAAC,CAAC;AAAA,IAC9B;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,YAAY,oBAAoB,UAAU,WAAW,SAAS,qBAAqB;AACvF,eAAO,MAAM,YAAY,oBAAoB,SAAS,qBAAqB,IAAI;AAAA,MACjF;AAYA,YAAM,YAAY,oBAAoB,WAAW,SAAS,iBAAiB,KAAK;AAC9E,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,gBAAgB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAC5D,eAAe,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAC3D,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACnD,iBAAiB,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAC5D,qBAAqB,IAAI,IAAI,sBAAsB,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC3H,mBAAmB,IAAI,IAAI,oBAAoB,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UACvH,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,YAAY,YAAY,SAAS,iBAAiB,CAAC;AAAA,UACtF,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,UAC7G,cAAc,IAAI,IAAI,eAAe,MAAM,6BAA6B,UAAU,SAAS,iBAAiB,CAAC;AAAA,QAC/G;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,YAAY,oBAAoB,oBAAoB,SAAS,OAAO;AACxE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,YAAY;AAChC,aAAO,MAAM,YAAY,oBAAoB,4BAA4B,KAAK,MAAM;AAAA,IACtF;AAUA,UAAM,YAAY,oBAAoB,8BAA8B,SAAS,KAAK,QAAQ;AACxF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,iBAAiB,KAAK;AAC1B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,mBAAmB,KAAK;AAC5B;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,sBAAsB,KAAK;AAC/B;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,oBAAoB,KAAK;AAC7B;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,YAAY;AAClC,mBAAO,YAAY,OAAM,MAAM,YAAY,YAAY,2BAA2B;AAClF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,6BAA6B;AAC7C,mBAAO,YAAY,OAAM,6BAA6B,UAAU,2BAA2B;AAC3F,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,YAAY,oBAAoB,UAAU,kBAAkB,WAAW;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,YAAY,oBAAoB,wBAAwB,MAAM,MAAM;AAC1E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,YAAY,oBAAoB,0BAA0B,SAAS,SAAS,QAAQ;AACxF,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,UAAU;AACtB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,mBAAmB;AAC/B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,sBAAsB;AAClC,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,oBAAoB;AAChC,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,YAAY,YAAY;AAAA,QAChC;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,6BAA6B,UAAU;AAAA,QACzC;AAAA,MACF;AAAA,IACF;AAOA,UAAM,YAAY,oBAAoB,UAAU,QAAQ,WAAW;AACjE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,YAAY,oBAAoB,UAAU,QAAQ,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,YAAY,oBAAoB,UAAU,oBAAoB,WAAW;AAC7E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,YAAY,oBAAoB,UAAU,oBAAoB,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,YAAY,oBAAoB,UAAU,mBAAmB,WAAW;AAC5E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,YAAY,oBAAoB,UAAU,mBAAmB,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,YAAY,oBAAoB,UAAU,YAAY,WAAW;AACrE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,YAAY,oBAAoB,UAAU,YAAY,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,YAAY,oBAAoB,UAAU,qBAAqB,WAAW;AAC9E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,YAAY,oBAAoB,UAAU,qBAAqB,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,YAAY,oBAAoB,UAAU,wBAAwB,WAAW;AACjF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,CAAC;AAAA;AAAA,IAChF;AAOA,UAAM,YAAY,oBAAoB,UAAU,wBAAwB,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,YAAY,oBAAoB,UAAU,0BAA0B,WAAW;AACnF,aAAO,KAAK,sBAAsB,MAAS;AAAA,IAC7C;AAOA,UAAM,YAAY,oBAAoB,UAAU,wBAAwB,WAAW;AACjF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,YAAY,oBAAoB,UAAU,sBAAsB,WAAW;AAC/E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,CAAC;AAAA;AAAA,IAChF;AAOA,UAAM,YAAY,oBAAoB,UAAU,sBAAsB,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,YAAY,oBAAoB,UAAU,wBAAwB,WAAW;AACjF,aAAO,KAAK,oBAAoB,MAAS;AAAA,IAC3C;AAOA,UAAM,YAAY,oBAAoB,UAAU,sBAAsB,WAAW;AAC/E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,YAAY,oBAAoB,UAAU,UAAU,WAAW;AACnE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,YAAY,aAAa,CAAC;AAAA;AAAA,IACvE;AAOA,UAAM,YAAY,oBAAoB,UAAU,UAAU,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,YAAY,oBAAoB,UAAU,YAAY,WAAW;AACrE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,YAAY,oBAAoB,UAAU,UAAU,WAAW;AACnE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,YAAY,oBAAoB,UAAU,iBAAiB,WAAW;AAC1E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,CAAC;AAAA;AAAA,IAChF;AAOA,UAAM,YAAY,oBAAoB,UAAU,iBAAiB,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,YAAY,oBAAoB,UAAU,mBAAmB,WAAW;AAC5E,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,YAAY,oBAAoB,UAAU,iBAAiB,WAAW;AAC1E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,YAAY,oBAAoB,UAAU,iBAAiB,WAAW;AAC1E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,6BAA6B,WAAW,EAAE;AAAA;AAAA,IACjF;AAOA,UAAM,YAAY,oBAAoB,UAAU,iBAAiB,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,IAAI,KAAK;AAAA,IACrD;AAOA,UAAM,YAAY,oBAAoB,UAAU,mBAAmB,WAAW;AAC5E,aAAO,KAAK,eAAe,MAAS;AAAA,IACtC;AAOA,UAAM,YAAY,oBAAoB,UAAU,iBAAiB,WAAW;AAC1E,aAAO,KAAK,QAAQ,SAAS,MAAM,EAAE,KAAK;AAAA,IAC5C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,YAAY,mBAAmB,UAAU,WAAW,SAAS,qBAAqB;AACtF,eAAO,MAAM,YAAY,mBAAmB,SAAS,qBAAqB,IAAI;AAAA,MAChF;AAYA,YAAM,YAAY,mBAAmB,WAAW,SAAS,iBAAiB,KAAK;AAC7E,YAAI,GAAG,MAAM,CAEb;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,YAAY,mBAAmB,oBAAoB,SAAS,OAAO;AACvE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,YAAY;AAChC,aAAO,MAAM,YAAY,mBAAmB,4BAA4B,KAAK,MAAM;AAAA,IACrF;AAUA,UAAM,YAAY,mBAAmB,8BAA8B,SAAS,KAAK,QAAQ;AACvF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,YAAY,mBAAmB,UAAU,kBAAkB,WAAW;AAC1E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,YAAY,mBAAmB,wBAAwB,MAAM,MAAM;AACzE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,YAAY,mBAAmB,0BAA0B,SAAS,SAAS,QAAQ;AACvF,UAAI,IAAI;AAAA,IACV;AASA,UAAM,YAAY,oBAAoB,kBAAkB,CAAC,CAAC;AAI1D,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,YAAY,oBAAoB,UAAU,WAAW,SAAS,qBAAqB;AACvF,eAAO,MAAM,YAAY,oBAAoB,SAAS,qBAAqB,IAAI;AAAA,MACjF;AAYA,YAAM,YAAY,oBAAoB,WAAW,SAAS,iBAAiB,KAAK;AAC9E,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,MAAM,YAAY,YAAY;AAAA,YAAU;AAAA,UAAe;AAAA,UACvD,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,YAAY,oBAAoB,oBAAoB,SAAS,OAAO;AACxE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,YAAY;AAChC,aAAO,MAAM,YAAY,oBAAoB,4BAA4B,KAAK,MAAM;AAAA,IACtF;AAUA,UAAM,YAAY,oBAAoB,8BAA8B,SAAS,KAAK,QAAQ;AACxF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,YAAY;AAClC,mBAAO,YAAY,OAAM,MAAM,YAAY,YAAY,2BAA2B;AAClF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,YAAY,oBAAoB,UAAU,kBAAkB,WAAW;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,YAAY,oBAAoB,wBAAwB,MAAM,MAAM;AAC1E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,YAAY,oBAAoB,0BAA0B,SAAS,SAAS,QAAQ;AACxF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,YAAY,YAAY;AAAA,QAChC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,YAAY,oBAAoB,UAAU,UAAU,WAAW;AACnE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,YAAY,oBAAoB,UAAU,UAAU,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,YAAY,oBAAoB,UAAU,aAAa,WAAW;AACtE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,YAAY,oBAAoB,UAAU,aAAa,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,YAAY,oBAAoB,UAAU,cAAc,WAAW;AACvE;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,YAAY,aAAa,CAAC;AAAA;AAAA,IAC/E;AAOA,UAAM,YAAY,oBAAoB,UAAU,cAAc,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,YAAY,oBAAoB,UAAU,UAAU,SAAS,WAAW,WAAW;AACvF,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,YAAY,aAAa,SAAS;AAAA,IAC5G;AAOA,UAAM,YAAY,oBAAoB,UAAU,gBAAgB,WAAW;AACzE,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,YAAY,oBAAoB,UAAU,WAAW,WAAW;AACpE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,YAAY,oBAAoB,UAAU,WAAW,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,YAAY,oBAAoB,UAAU,aAAa,WAAW;AACtE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,YAAY,oBAAoB,UAAU,WAAW,WAAW;AACpE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,YAAY,uBAAuB,UAAU,WAAW,SAAS,qBAAqB;AAC1F,eAAO,MAAM,YAAY,uBAAuB,SAAS,qBAAqB,IAAI;AAAA,MACpF;AAYA,YAAM,YAAY,uBAAuB,WAAW,SAAS,iBAAiB,KAAK;AACjF,YAAI,GAAG,MAAM,CAEb;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,YAAY,uBAAuB,oBAAoB,SAAS,OAAO;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,YAAY;AAChC,aAAO,MAAM,YAAY,uBAAuB,4BAA4B,KAAK,MAAM;AAAA,IACzF;AAUA,UAAM,YAAY,uBAAuB,8BAA8B,SAAS,KAAK,QAAQ;AAC3F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,YAAY,uBAAuB,UAAU,kBAAkB,WAAW;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,YAAY,uBAAuB,wBAAwB,MAAM,MAAM;AAC7E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,YAAY,uBAAuB,0BAA0B,SAAS,SAAS,QAAQ;AAC3F,UAAI,IAAI;AAAA,IACV;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,YAAY,wBAAwB,UAAU,WAAW,SAAS,qBAAqB;AAC3F,eAAO,MAAM,YAAY,wBAAwB,SAAS,qBAAqB,IAAI;AAAA,MACrF;AAYA,YAAM,YAAY,wBAAwB,WAAW,SAAS,iBAAiB,KAAK;AAClF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,YAAY,oBAAoB,SAAS,iBAAiB,CAAC;AAAA,UAC9F,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,YAAY,wBAAwB,oBAAoB,SAAS,OAAO;AAC5E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,YAAY;AAChC,aAAO,MAAM,YAAY,wBAAwB,4BAA4B,KAAK,MAAM;AAAA,IAC1F;AAUA,UAAM,YAAY,wBAAwB,8BAA8B,SAAS,KAAK,QAAQ;AAC5F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,YAAY;AAClC,mBAAO,YAAY,OAAM,MAAM,YAAY,oBAAoB,2BAA2B;AAC1F,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,YAAY,wBAAwB,UAAU,kBAAkB,WAAW;AAC/E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,YAAY,wBAAwB,wBAAwB,MAAM,MAAM;AAC9E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,YAAY,wBAAwB,0BAA0B,SAAS,SAAS,QAAQ;AAC5F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,YAAY,oBAAoB;AAAA,QACxC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,YAAY,wBAAwB,UAAU,UAAU,WAAW;AACvE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,YAAY,wBAAwB,UAAU,UAAU,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,YAAY,wBAAwB,UAAU,aAAa,WAAW;AAC1E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,YAAY,wBAAwB,UAAU,aAAa,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,YAAY,wBAAwB,UAAU,UAAU,WAAW;AACvE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,YAAY,qBAAqB,CAAC;AAAA;AAAA,IAC/E;AAOA,UAAM,YAAY,wBAAwB,UAAU,UAAU,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,YAAY,wBAAwB,UAAU,YAAY,WAAW;AACzE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,YAAY,wBAAwB,UAAU,UAAU,WAAW;AACvE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,YAAY,wBAAwB,UAAU,WAAW,WAAW;AACxE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,YAAY,wBAAwB,UAAU,WAAW,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,YAAY,wBAAwB,UAAU,aAAa,WAAW;AAC1E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,YAAY,wBAAwB,UAAU,WAAW,WAAW;AACxE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,YAAY,0BAA0B,UAAU,WAAW,SAAS,qBAAqB;AAC7F,eAAO,MAAM,YAAY,0BAA0B,SAAS,qBAAqB,IAAI;AAAA,MACvF;AAYA,YAAM,YAAY,0BAA0B,WAAW,SAAS,iBAAiB,KAAK;AACpF,YAAI,GAAG,MAAM;AAAA,UACX,UAAU,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACvD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,YAAY,0BAA0B,oBAAoB,SAAS,OAAO;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,YAAY;AAChC,aAAO,MAAM,YAAY,0BAA0B,4BAA4B,KAAK,MAAM;AAAA,IAC5F;AAUA,UAAM,YAAY,0BAA0B,8BAA8B,SAAS,KAAK,QAAQ;AAC9F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,YAAY,0BAA0B,UAAU,kBAAkB,WAAW;AACjF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,YAAY,0BAA0B,wBAAwB,MAAM,MAAM;AAChF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,YAAY,0BAA0B,0BAA0B,SAAS,SAAS,QAAQ;AAC9F,UAAI,IAAI;AACR,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,YAAY,0BAA0B,UAAU,cAAc,WAAW;AAC7E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,YAAY,0BAA0B,UAAU,cAAc,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,YAAY,2BAA2B,UAAU,WAAW,SAAS,qBAAqB;AAC9F,eAAO,MAAM,YAAY,2BAA2B,SAAS,qBAAqB,IAAI;AAAA,MACxF;AAYA,YAAM,YAAY,2BAA2B,WAAW,SAAS,iBAAiB,KAAK;AACrF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,YAAY,oBAAoB,SAAS,iBAAiB,CAAC;AAAA,UAC9F,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,YAAY,2BAA2B,oBAAoB,SAAS,OAAO;AAC/E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,YAAY;AAChC,aAAO,MAAM,YAAY,2BAA2B,4BAA4B,KAAK,MAAM;AAAA,IAC7F;AAUA,UAAM,YAAY,2BAA2B,8BAA8B,SAAS,KAAK,QAAQ;AAC/F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,YAAY;AAClC,mBAAO,YAAY,OAAM,MAAM,YAAY,oBAAoB,2BAA2B;AAC1F,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,YAAY,2BAA2B,UAAU,kBAAkB,WAAW;AAClF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,YAAY,2BAA2B,wBAAwB,MAAM,MAAM;AACjF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,YAAY,2BAA2B,0BAA0B,SAAS,SAAS,QAAQ;AAC/F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,YAAY,oBAAoB;AAAA,QACxC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,YAAY,2BAA2B,UAAU,UAAU,WAAW;AAC1E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,YAAY,2BAA2B,UAAU,UAAU,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,YAAY,2BAA2B,UAAU,aAAa,WAAW;AAC7E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,YAAY,2BAA2B,UAAU,aAAa,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,YAAY,2BAA2B,UAAU,UAAU,WAAW;AAC1E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,YAAY,qBAAqB,CAAC;AAAA;AAAA,IAC/E;AAOA,UAAM,YAAY,2BAA2B,UAAU,UAAU,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,YAAY,2BAA2B,UAAU,YAAY,WAAW;AAC5E,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,YAAY,2BAA2B,UAAU,UAAU,WAAW;AAC1E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,YAAY,2BAA2B,UAAU,WAAW,WAAW;AAC3E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,YAAY,2BAA2B,UAAU,WAAW,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,YAAY,2BAA2B,UAAU,aAAa,WAAW;AAC7E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,YAAY,2BAA2B,UAAU,WAAW,WAAW;AAC3E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAGA,SAAK,OAAO,OAAO,SAAS,MAAM,WAAW;AAAA;AAAA;;;ACn+E7C;AAAA;AAAA;AAGA,QAAI,iBAAiB;AACrB,QAAIC,QAAO,UAAQ,0BAA0B,EAAE;AAE/C,QAAIC,kBAAkB,WAAY;AAChC,eAASA,kBAAiB;AAAA,MAAC;AAC3B,MAAAA,gBAAe,cAAc;AAC7B,aAAOA;AAAA,IACT,EAAE;AAEF,IAAAA,gBAAe,cAAc;AAAA,MAC3B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,eAAe;AAAA,MAC5B,cAAc,eAAe;AAAA,IAC/B;AAEA,IAAAA,gBAAe,kBAAkB;AAAA,MAC/B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,eAAe;AAAA,MAC5B,cAAc,eAAe;AAAA,IAC/B;AAEA,IAAAA,gBAAe,qBAAqB;AAAA,MAClC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,eAAe;AAAA,MAC5B,cAAc,eAAe;AAAA,IAC/B;AAEA,YAAQ,iBAAiBA;AAEzB,aAASC,sBAAqB,aAAa,SAAS;AAClD,WAAK,cAAc;AACnB,WAAK,UAAU,WAAW,CAAC;AAAA,IAC7B;AAEA,IAAAA,sBAAqB,UAAU,cAAc,SAAS,YAAY,gBAAgB,UAAU,UAAU;AACpG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,gBAAe,aAAa;AAAA,QAClD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,sBAAqB,UAAU,kBAAkB,SAAS,gBAAgB,gBAAgB,UAAU,UAAU;AAC5G,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,gBAAe,iBAAiB;AAAA,QACtD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,IAAAE,sBAAqB,UAAU,qBAAqB,SAAS,mBAAmB,gBAAgB,UAAU,UAAU;AAClH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASF,MAAK,MAAMC,gBAAe,oBAAoB;AAAA,QACzD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,uBAAuBE;AAAA;AAAA;;;AC3I/B;AAAA;AAAA;AAaA,QAAI,OAAO,UAAQ,iBAAiB;AACpC,QAAI,OAAO;AACX,QAAI,SAAU,WAAW;AAAE,aAAO,QAAQ,UAAU,UAAU,QAAQ,SAAS,aAAa,EAAE;AAAA,IAAG,EAAG,KAAK,IAAI;AAE7G,QAAI,YAAY;AAChB,SAAK,OAAO,OAAO,OAAO,SAAS;AACnC,QAAI,4BAA4B,UAAQ,8CAA8C;AACtF,SAAK,OAAO,OAAO,OAAO,yBAAyB;AACnD,QAAI,yBAAyB,UAAQ,2CAA2C;AAChF,SAAK,OAAO,OAAO,OAAO,sBAAsB;AAChD,SAAK,aAAa,qCAAqC,MAAM,MAAM;AACnE,SAAK,aAAa,sCAAsC,MAAM,MAAM;AACpE,SAAK,aAAa,oCAAoC,MAAM,MAAM;AAClE,SAAK,aAAa,mCAAmC,MAAM,MAAM;AACjE,SAAK,aAAa,0CAA0C,MAAM,MAAM;AACxE,SAAK,aAAa,2CAA2C,MAAM,MAAM;AACzE,SAAK,aAAa,4CAA4C,MAAM,MAAM;AAC1E,SAAK,aAAa,2CAA2C,MAAM,MAAM;AACzE,SAAK,aAAa,mDAAmD,MAAM,MAAM;AACjF,SAAK,aAAa,8CAA8C,MAAM,MAAM;AAC5E,SAAK,aAAa,+CAA+C,MAAM,MAAM;AAC7E,SAAK,aAAa,oCAAoC,MAAM,MAAM;AAClE,SAAK,aAAa,mCAAmC,MAAM,MAAM;AACjE,SAAK,aAAa,0CAA0C,MAAM,MAAM;AACxE,SAAK,aAAa,2CAA2C,MAAM,MAAM;AACzE,SAAK,aAAa,yCAAyC,MAAM,MAAM;AACvE,SAAK,aAAa,iDAAiD,MAAM,MAAM;AAC/E,SAAK,aAAa,8CAA8C,MAAM,MAAM;AAC5E,SAAK,aAAa,yCAAyC,MAAM,MAAM;AACvE,SAAK,aAAa,0CAA0C,MAAM,MAAM;AACxE,SAAK,aAAa,2CAA2C,MAAM,MAAM;AACzE,SAAK,aAAa,uDAAuD,MAAM,MAAM;AACrF,SAAK,aAAa,4CAA4C,MAAM,MAAM;AAC1E,SAAK,aAAa,yDAAyD,MAAM,MAAM;AACvF,SAAK,aAAa,wCAAwC,MAAM,MAAM;AACtE,SAAK,aAAa,iDAAiD,MAAM,MAAM;AAC/E,SAAK,aAAa,kDAAkD,MAAM,MAAM;AAWhF,UAAM,gBAAgB,aAAa,SAAS,UAAU;AACpD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,gBAAgB,YAAY,KAAK,OAAO;AAC5D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,WAAW,cAAc;AAAA,IACjD;AAWA,UAAM,gBAAgB,iBAAiB,SAAS,UAAU;AACxD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,gBAAgB,gBAAgB,KAAK,OAAO;AAChE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,eAAe,cAAc;AAAA,IACrD;AAWA,UAAM,gBAAgB,qBAAqB,SAAS,UAAU;AAC5D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,gBAAgB,oBAAoB,KAAK,OAAO;AACpE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,mBAAmB,cAAc;AAAA,IACzD;AAWA,UAAM,gBAAgB,oBAAoB,SAAS,UAAU;AAC3D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,gBAAgB,kBAAkB,iBAAiB,IAAI;AAAA,IAC9G;AACA,SAAK,SAAS,MAAM,gBAAgB,mBAAmB,KAAK,OAAO;AACnE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,kBAAkB,cAAc;AAAA,IACxD;AAWA,UAAM,gBAAgB,4BAA4B,SAAS,UAAU;AACnE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,gBAAgB,0BAA0B,iBAAiB,IAAI;AAAA,IACtH;AACA,SAAK,SAAS,MAAM,gBAAgB,2BAA2B,KAAK,OAAO;AAC3E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,0BAA0B,cAAc;AAAA,IAChE;AAWA,UAAM,gBAAgB,YAAY,SAAS,UAAU;AACnD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,gBAAgB,UAAU,iBAAiB,IAAI;AAAA,IACtG;AACA,SAAK,SAAS,MAAM,gBAAgB,WAAW,KAAK,OAAO;AAC3D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,UAAU,cAAc;AAAA,IAChD;AAWA,UAAM,gBAAgB,mBAAmB,SAAS,UAAU;AAC1D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,gBAAgB,kBAAkB,KAAK,OAAO;AAClE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,iBAAiB,cAAc;AAAA,IACvD;AAWA,UAAM,gBAAgB,oBAAoB,SAAS,UAAU;AAC3D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,gBAAgB,kBAAkB,iBAAiB,IAAI;AAAA,IAC9G;AACA,SAAK,SAAS,MAAM,gBAAgB,mBAAmB,KAAK,OAAO;AACnE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,kBAAkB,cAAc;AAAA,IACxD;AAWA,UAAM,gBAAgB,YAAY,SAAS,UAAU;AACnD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,gBAAgB,WAAW,KAAK,OAAO;AAC3D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,UAAU,cAAc;AAAA,IAChD;AAWA,UAAM,gBAAgB,mBAAmB,SAAS,UAAU;AAC1D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,gBAAgB,kBAAkB,KAAK,OAAO;AAClE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,iBAAiB,cAAc;AAAA,IACvD;AAWA,UAAM,gBAAgB,oBAAoB,SAAS,UAAU;AAC3D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,gBAAgB,kBAAkB,iBAAiB,IAAI;AAAA,IAC9G;AACA,SAAK,SAAS,MAAM,gBAAgB,mBAAmB,KAAK,OAAO;AACnE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,kBAAkB,cAAc;AAAA,IACxD;AAWA,UAAM,gBAAgB,eAAe,SAAS,UAAU;AACtD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,gBAAgB,aAAa,iBAAiB,IAAI;AAAA,IACzG;AACA,SAAK,SAAS,MAAM,gBAAgB,cAAc,KAAK,OAAO;AAC9D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,aAAa,cAAc;AAAA,IACnD;AAWA,UAAM,gBAAgB,cAAc,SAAS,UAAU;AACrD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,gBAAgB,YAAY,iBAAiB,IAAI;AAAA,IACxG;AACA,SAAK,SAAS,MAAM,gBAAgB,aAAa,KAAK,OAAO;AAC7D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,YAAY,cAAc;AAAA,IAClD;AAWA,UAAM,gBAAgB,0BAA0B,SAAS,UAAU;AACjE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,gBAAgB,yBAAyB,KAAK,OAAO;AACzE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,wBAAwB,cAAc;AAAA,IAC9D;AAWA,UAAM,gBAAgB,uBAAuB,SAAS,UAAU;AAC9D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,gBAAgB,sBAAsB,KAAK,OAAO;AACtE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,qBAAqB,cAAc;AAAA,IAC3D;AAWA,UAAM,gBAAgB,kBAAkB,SAAS,UAAU;AACzD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,gBAAgB,gBAAgB,iBAAiB,IAAI;AAAA,IAC5G;AACA,SAAK,SAAS,MAAM,gBAAgB,iBAAiB,KAAK,OAAO;AACjE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,gBAAgB,cAAc;AAAA,IACtD;AAWA,UAAM,gBAAgB,mBAAmB,SAAS,UAAU;AAC1D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,gBAAgB,iBAAiB,iBAAiB,IAAI;AAAA,IAC7G;AACA,SAAK,SAAS,MAAM,gBAAgB,kBAAkB,KAAK,OAAO;AAClE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,iBAAiB,cAAc;AAAA,IACvD;AAWA,UAAM,gBAAgB,kBAAkB,SAAS,UAAU;AACzD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,gBAAgB,iBAAiB,KAAK,OAAO;AACjE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,gBAAgB,cAAc;AAAA,IACtD;AAWA,UAAM,gBAAgB,oBAAoB,SAAS,UAAU;AAC3D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,MAAM,gBAAgB,kBAAkB,YAAY;AAAA,IAC3G;AACA,SAAK,SAAS,MAAM,gBAAgB,mBAAmB,KAAK,OAAO;AACnE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,kBAAkB,cAAc;AAAA,IACxD;AAWA,UAAM,gBAAgB,qBAAqB,SAAS,UAAU;AAC5D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,MAAM,gBAAgB,mBAAmB,YAAY;AAAA,IAC5G;AACA,SAAK,SAAS,MAAM,gBAAgB,oBAAoB,KAAK,OAAO;AACpE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,mBAAmB,cAAc;AAAA,IACzD;AAWA,UAAM,gBAAgB,0BAA0B,SAAS,UAAU;AACjE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,gBAAgB,yBAAyB,KAAK,OAAO;AACzE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,wBAAwB,cAAc;AAAA,IAC9D;AAWA,UAAM,gBAAgB,2BAA2B,SAAS,UAAU;AAClE,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,gBAAgB,0BAA0B,KAAK,OAAO;AAC1E,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,yBAAyB,cAAc;AAAA,IAC/D;AAWA,UAAM,gBAAgB,aAAa,SAAS,UAAU;AACpD,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,gBAAgB,YAAY,KAAK,OAAO;AAC5D,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,WAAW,cAAc;AAAA,IACjD;AAWA,UAAM,gBAAgB,uBAAuB,SAAS,UAAU;AAC9D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,IAAI;AAAA,IAC3D;AACA,SAAK,SAAS,MAAM,gBAAgB,sBAAsB,KAAK,OAAO;AACtE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,qBAAqB,cAAc;AAAA,IAC3D;AAWA,UAAM,gBAAgB,wBAAwB,SAAS,UAAU;AAC/D,WAAK,QAAQ,WAAW,MAAM,UAAU,GAAG,IAAI,MAAM,gBAAgB,sBAAsB,iBAAiB,IAAI;AAAA,IAClH;AACA,SAAK,SAAS,MAAM,gBAAgB,uBAAuB,KAAK,OAAO;AACvE,QAAI,KAAK,SAAS,CAAC,UAAU;AAK3B,YAAM,gBAAgB,sBAAsB,cAAc;AAAA,IAC5D;AAIA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,WAAW,UAAU,WAAW,SAAS,qBAAqB;AAClF,eAAO,MAAM,gBAAgB,WAAW,SAAS,qBAAqB,IAAI;AAAA,MAC5E;AAYA,YAAM,gBAAgB,WAAW,WAAW,SAAS,iBAAiB,KAAK;AACzE,YAAI,GAAG,MAAM;AAAA,UACX,IAAI,KAAK,QAAQ,oBAAoB,KAAK,GAAG,GAAG;AAAA,UAChD,QAAQ,IAAI,IAAI,SAAS,MAAM,0BAA0B,OAAO,SAAS,iBAAiB,CAAC;AAAA,QAC7F;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,WAAW,oBAAoB,SAAS,OAAO;AACnE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,WAAW,4BAA4B,KAAK,MAAM;AAAA,IACjF;AAUA,UAAM,gBAAgB,WAAW,8BAA8B,SAAS,KAAK,QAAQ;AACnF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,iBAAiB;AAAA;AAC3D,gBAAI,MAAM,KAAK;AACf;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,0BAA0B;AAC1C,mBAAO,YAAY,OAAM,0BAA0B,OAAO,2BAA2B;AACrF,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,WAAW,UAAU,kBAAkB,WAAW;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,WAAW,wBAAwB,MAAM,MAAM;AACrE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,WAAW,0BAA0B,SAAS,SAAS,QAAQ;AACnF,UAAI,IAAI;AACR,UAAI,QAAQ,MAAM;AAClB,UAAI,SAAS,GAAG,EAAE,MAAM,GAAG;AACzB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,0BAA0B,OAAO;AAAA,QACnC;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,WAAW,UAAU,QAAQ,WAAW;AAC5D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,GAAG;AAAA;AAAA,IAC7E;AAOA,UAAM,gBAAgB,WAAW,UAAU,QAAQ,SAAS,OAAO;AACjE,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAOA,UAAM,gBAAgB,WAAW,UAAU,WAAW,WAAW;AAC/D;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,0BAA0B,QAAQ,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,gBAAgB,WAAW,UAAU,WAAW,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,WAAW,UAAU,aAAa,WAAW;AACjE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,gBAAgB,WAAW,UAAU,WAAW,WAAW;AAC/D,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,eAAe,UAAU,WAAW,SAAS,qBAAqB;AACtF,eAAO,MAAM,gBAAgB,eAAe,SAAS,qBAAqB,IAAI;AAAA,MAChF;AAYA,YAAM,gBAAgB,eAAe,WAAW,SAAS,iBAAiB,KAAK;AAC7E,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,qBAAqB,IAAI,IAAI,sBAAsB,MAAM,MAAM,gBAAgB,mBAAmB,SAAS,iBAAiB,CAAC;AAAA,QAC/H;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,eAAe,oBAAoB,SAAS,OAAO;AACvE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,eAAe,4BAA4B,KAAK,MAAM;AAAA,IACrF;AAUA,UAAM,gBAAgB,eAAe,8BAA8B,SAAS,KAAK,QAAQ;AACvF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,mBAAmB,2BAA2B;AAC7F,gBAAI,sBAAsB,KAAK;AAC/B;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,eAAe,UAAU,kBAAkB,WAAW;AAC1E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,eAAe,wBAAwB,MAAM,MAAM;AACzE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,eAAe,0BAA0B,SAAS,SAAS,QAAQ;AACvF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,sBAAsB;AAClC,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,mBAAmB;AAAA,QAC3C;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,eAAe,UAAU,UAAU,WAAW;AAClE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,eAAe,UAAU,UAAU,SAAS,OAAO;AACvE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,gBAAgB,eAAe,UAAU,wBAAwB,WAAW;AAChF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,gBAAgB,oBAAoB,CAAC;AAAA;AAAA,IAClF;AAOA,UAAM,gBAAgB,eAAe,UAAU,wBAAwB,SAAS,OAAO;AACrF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,eAAe,UAAU,0BAA0B,WAAW;AAClF,aAAO,KAAK,sBAAsB,MAAS;AAAA,IAC7C;AAOA,UAAM,gBAAgB,eAAe,UAAU,wBAAwB,WAAW;AAChF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,mBAAmB,UAAU,WAAW,SAAS,qBAAqB;AAC1F,eAAO,MAAM,gBAAgB,mBAAmB,SAAS,qBAAqB,IAAI;AAAA,MACpF;AAYA,YAAM,gBAAgB,mBAAmB,WAAW,SAAS,iBAAiB,KAAK;AACjF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACxD,aAAa,IAAI,IAAI,cAAc,MAAM,MAAM,gBAAgB,kBAAkB,SAAS,iBAAiB,CAAC;AAAA,QAC9G;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,mBAAmB,oBAAoB,SAAS,OAAO;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,mBAAmB,4BAA4B,KAAK,MAAM;AAAA,IACzF;AAUA,UAAM,gBAAgB,mBAAmB,8BAA8B,SAAS,KAAK,QAAQ;AAC3F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,kBAAkB,2BAA2B;AAC5F,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,kBAAkB,WAAW;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,mBAAmB,wBAAwB,MAAM,MAAM;AAC7E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,mBAAmB,0BAA0B,SAAS,SAAS,QAAQ;AAC3F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AAC1B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,kBAAkB;AAAA,QAC1C;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,UAAU,WAAW;AACtE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,UAAU,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,iBAAiB,WAAW;AAC7E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,iBAAiB,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,gBAAgB,WAAW;AAC5E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,gBAAgB,mBAAmB,CAAC;AAAA;AAAA,IACjF;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,gBAAgB,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,kBAAkB,WAAW;AAC9E,aAAO,KAAK,cAAc,MAAS;AAAA,IACrC;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,gBAAgB,WAAW;AAC5E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,gBAAgB,kBAAkB,kBAAkB,CAAC,CAAC;AAI5D,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,kBAAkB,UAAU,WAAW,SAAS,qBAAqB;AACzF,eAAO,MAAM,gBAAgB,kBAAkB,SAAS,qBAAqB,IAAI;AAAA,MACnF;AAYA,YAAM,gBAAgB,kBAAkB,WAAW,SAAS,iBAAiB,KAAK;AAChF,YAAI,GAAG,MAAM;AAAA,UACX,eAAe,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAChF,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,gBAAgB,IAAI,IAAI,iBAAiB,KAAK,EAAE,SAAS,iBAAiB,MAAM,gBAAgB,0BAA0B,QAAQ,IAAI,CAAC;AAAA,QACzI;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,kBAAkB,oBAAoB,SAAS,OAAO;AAC1E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,kBAAkB,4BAA4B,KAAK,MAAM;AAAA,IACxF;AAUA,UAAM,gBAAgB,kBAAkB,8BAA8B,SAAS,KAAK,QAAQ;AAC1F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,iBAAiB;AACjC,mBAAO,YAAY,OAAO,SAAS,SAASC,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,aAAa,MAAM,gBAAgB,0BAA0B,6BAA6B,IAAI,IAAI,MAAM,gBAAgB,0BAA0B,CAAC;AAAA,YAClQ,CAAC;AACJ;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,kBAAkB,WAAW;AAC7E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,kBAAkB,wBAAwB,MAAM,MAAM;AAC5E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,kBAAkB,0BAA0B,SAAS,SAAS,QAAQ;AAC1F,UAAI,IAAI;AACR,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB,IAAI;AACjC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,cAAc,MAAM,gBAAgB,0BAA0B,uBAAuB;AAAA,MACzL;AAAA,IACF;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,kBAAkB,WAAW;AAC7E;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,kBAAkB,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,gBAAgB,kBAAkB,UAAU,cAAc,SAAS,OAAO,WAAW;AACzF,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,oBAAoB,WAAW;AAC/E,aAAO,KAAK,gBAAgB,CAAC,CAAC;AAAA,IAChC;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,UAAU,WAAW;AACrE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,UAAU,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,gBAAgB,kBAAkB,UAAU,mBAAmB,SAAS,kBAAkB;AAC9F;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC,MAAM,gBAAgB;AAAA,QAAyB;AAAA;AAAA,IACrD;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,qBAAqB,WAAW;AAChF,WAAK,iBAAiB,EAAE,MAAM;AAC9B,aAAO;AAAA,IAAK;AASd,UAAM,gBAAgB,0BAA0B,kBAAkB,CAAC,CAAC;AAIpE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,0BAA0B,UAAU,WAAW,SAAS,qBAAqB;AACjG,eAAO,MAAM,gBAAgB,0BAA0B,SAAS,qBAAqB,IAAI;AAAA,MAC3F;AAYA,YAAM,gBAAgB,0BAA0B,WAAW,SAAS,iBAAiB,KAAK;AACxF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,aAAa,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACxD,WAAW,IAAI,KAAK,QAAQ,iBAAiB,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAC5E,QAAQ,IAAI,IAAI,SAAS,MAAM,MAAM,gBAAgB,kBAAkB,SAAS,iBAAiB,CAAC;AAAA,QACpG;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,0BAA0B,oBAAoB,SAAS,OAAO;AAClF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,0BAA0B,4BAA4B,KAAK,MAAM;AAAA,IAChG;AAUA,UAAM,gBAAgB,0BAA0B,8BAA8B,SAAS,KAAK,QAAQ;AAClG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,eAAe,KAAK;AACxB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,kBAAkB,2BAA2B;AAC5F,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,0BAA0B,UAAU,kBAAkB,WAAW;AACrF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,0BAA0B,wBAAwB,MAAM,MAAM;AACpF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,0BAA0B,0BAA0B,SAAS,SAAS,QAAQ;AAClG,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,kBAAkB;AAAA,QAC1C;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,0BAA0B,UAAU,UAAU,WAAW;AAC7E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,0BAA0B,UAAU,UAAU,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,gBAAgB,0BAA0B,UAAU,iBAAiB,WAAW;AACpF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,0BAA0B,UAAU,iBAAiB,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,gBAAgB,0BAA0B,UAAU,cAAc,WAAW;AACjF;AAAA;AAAA,QAAsC,KAAK,QAAQ,iBAAiB,MAAM,CAAC;AAAA;AAAA,IAC7E;AAOA,UAAM,gBAAgB,0BAA0B,UAAU,cAAc,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,gBAAgB,0BAA0B,UAAU,UAAU,SAAS,OAAO,WAAW;AAC7F,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,gBAAgB,0BAA0B,UAAU,gBAAgB,WAAW;AACnF,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,gBAAgB,0BAA0B,UAAU,WAAW,WAAW;AAC9E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,gBAAgB,mBAAmB,CAAC;AAAA;AAAA,IACjF;AAOA,UAAM,gBAAgB,0BAA0B,UAAU,WAAW,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,0BAA0B,UAAU,aAAa,WAAW;AAChF,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,gBAAgB,0BAA0B,UAAU,WAAW,WAAW;AAC9E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,gBAAgB,UAAU,kBAAkB,CAAC,CAAC;AAIpD,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,UAAU,UAAU,WAAW,SAAS,qBAAqB;AACjF,eAAO,MAAM,gBAAgB,UAAU,SAAS,qBAAqB,IAAI;AAAA,MAC3E;AAYA,YAAM,gBAAgB,UAAU,WAAW,SAAS,iBAAiB,KAAK;AACxE,YAAI,GAAG,MAAM;AAAA,UACX,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UACjD,gBAAgB,IAAI,KAAK,QAAQ,8BAA8B,KAAK,CAAC,MAAM,OAAO,SAAY;AAAA,UAC9F,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACrD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,UAAU,oBAAoB,SAAS,OAAO;AAClE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,UAAU,4BAA4B,KAAK,MAAM;AAAA,IAChF;AAUA,UAAM,gBAAgB,UAAU,8BAA8B,SAAS,KAAK,QAAQ;AAClF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAwC,OAAO,YAAY,IAAI,OAAO,iBAAiB,IAAI,CAAC,OAAO,WAAW,CAAC;AAAA;AACnH,qBAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,kBAAI,aAAa,OAAO,CAAC,CAAC;AAAA,YAC5B;AACA;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,UAAU,UAAU,kBAAkB,WAAW;AACrE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,UAAU,wBAAwB,MAAM,MAAM;AACpE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,UAAU,0BAA0B,SAAS,SAAS,QAAQ;AAClF,UAAI,IAAI;AACR,UAAI,QAAQ,SAAS;AACrB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,UAAU;AACtB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,UAAU,UAAU,WAAW,WAAW;AAC9D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,gBAAgB,UAAU,UAAU,WAAW,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,gBAAgB,UAAU,UAAU,mBAAmB,WAAW;AACtE;AAAA;AAAA,QAAsC,KAAK,QAAQ,8BAA8B,MAAM,CAAC;AAAA;AAAA,IAC1F;AAOA,UAAM,gBAAgB,UAAU,UAAU,mBAAmB,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,SAAS,CAAC,CAAC;AAAA,IACnD;AAQA,UAAM,gBAAgB,UAAU,UAAU,eAAe,SAAS,OAAO,WAAW;AAClF,aAAO,KAAK,QAAQ,mBAAmB,MAAM,GAAG,OAAO,SAAS;AAAA,IAClE;AAOA,UAAM,gBAAgB,UAAU,UAAU,qBAAqB,WAAW;AACxE,aAAO,KAAK,iBAAiB,CAAC,CAAC;AAAA,IACjC;AAOA,UAAM,gBAAgB,UAAU,UAAU,YAAY,WAAW;AAC/D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,UAAU,UAAU,YAAY,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,iBAAiB,UAAU,WAAW,SAAS,qBAAqB;AACxF,eAAO,MAAM,gBAAgB,iBAAiB,SAAS,qBAAqB,IAAI;AAAA,MAClF;AAYA,YAAM,gBAAgB,iBAAiB,WAAW,SAAS,iBAAiB,KAAK;AAC/E,YAAI,GAAG,MAAM;AAAA,UACX,aAAa,IAAI,IAAI,cAAc,MAAM,MAAM,gBAAgB,WAAW,SAAS,iBAAiB,CAAC;AAAA,UACrG,aAAa,IAAI,IAAI,cAAc,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,UAClF,qBAAqB,IAAI,IAAI,sBAAsB,KAAK,EAAE,SAAS,iBAAiB,MAAM,OAAO,SAAS,IAAI,QAAQ,IAAI,CAAC;AAAA,UAC3H,oBAAoB,IAAI,IAAI,qBAAqB,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,UAChG,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QAC3D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,iBAAiB,oBAAoB,SAAS,OAAO;AACzE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,iBAAiB,4BAA4B,KAAK,MAAM;AAAA,IACvF;AAUA,UAAM,gBAAgB,iBAAiB,8BAA8B,SAAS,KAAK,QAAQ;AACzF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,WAAW,2BAA2B;AACrF,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,cAAc;AAC9B,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,WAAW,KAAK,aAAa,UAAU,YAAY,MAAM,GAAG,EAAE;AAAA,YACrI,CAAC;AACJ;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,sBAAsB;AACtC,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,aAAa,MAAM,OAAO,SAAS,IAAI,6BAA6B,IAAI,IAAI,MAAM,OAAO,SAAS,IAAI,CAAC;AAAA,YACtN,CAAC;AACJ;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,qBAAqB;AACrC,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,YAAY,MAAM,IAAI,EAAE;AAAA,YACvI,CAAC;AACJ;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,kBAAkB,WAAW;AAC5E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,iBAAiB,wBAAwB,MAAM,MAAM;AAC3E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,iBAAiB,0BAA0B,SAAS,SAAS,QAAQ;AACzF,UAAI,IAAI;AACR,UAAI,QAAQ,cAAc;AAC1B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,WAAW;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,cAAc,IAAI;AAC9B,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,WAAW;AAAA,MAC9G;AACA,UAAI,QAAQ,sBAAsB,IAAI;AACtC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,cAAc,MAAM,OAAO,SAAS,IAAI,uBAAuB;AAAA,MACnK;AACA,UAAI,QAAQ,qBAAqB,IAAI;AACrC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,WAAW;AAAA,MAC/G;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,gBAAgB,WAAW;AAC1E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,gBAAgB,YAAY,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,gBAAgB,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,kBAAkB,WAAW;AAC5E,aAAO,KAAK,cAAc,MAAS;AAAA,IACrC;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,gBAAgB,WAAW;AAC1E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,gBAAgB,iBAAiB,UAAU,gBAAgB,SAAS,kBAAkB;AAC1F;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,kBAAkB,WAAW;AAC5E,WAAK,cAAc,EAAE,MAAM;AAC3B,aAAO;AAAA,IAAK;AASd,UAAM,gBAAgB,iBAAiB,UAAU,wBAAwB,SAAS,kBAAkB;AAClG;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC,MAAM,OAAO,SAAS;AAAA,QAAG;AAAA;AAAA,IAC/B;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,0BAA0B,WAAW;AACpF,WAAK,sBAAsB,EAAE,MAAM;AACnC,aAAO;AAAA,IAAK;AASd,UAAM,gBAAgB,iBAAiB,UAAU,uBAAuB,SAAS,kBAAkB;AACjG;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,yBAAyB,WAAW;AACnF,WAAK,qBAAqB,EAAE,MAAM;AAClC,aAAO;AAAA,IAAK;AAOd,UAAM,gBAAgB,iBAAiB,UAAU,kBAAkB,WAAW;AAC5E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,kBAAkB,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,gBAAgB,kBAAkB,kBAAkB,CAAC,GAAE,CAAC;AAI9D,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,kBAAkB,UAAU,WAAW,SAAS,qBAAqB;AACzF,eAAO,MAAM,gBAAgB,kBAAkB,SAAS,qBAAqB,IAAI;AAAA,MACnF;AAYA,YAAM,gBAAgB,kBAAkB,WAAW,SAAS,iBAAiB,KAAK;AAChF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UACrD,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,MAAM,gBAAgB,UAAU;AAAA,YAAU;AAAA,UAAe;AAAA,UACzD,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,aAAa,KAAK,QAAQ;AAAA,YAAa,IAAI,eAAe;AAAA,YAC1D,UAAU,OAAO;AAAA,YAAU;AAAA,UAAe;AAAA,QAC5C;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,kBAAkB,oBAAoB,SAAS,OAAO;AAC1E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,kBAAkB,4BAA4B,KAAK,MAAM;AAAA,IACxF;AAUA,UAAM,gBAAgB,kBAAkB,8BAA8B,SAAS,KAAK,QAAQ;AAC1F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,UAAU,2BAA2B;AACpF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,OAAO,2BAA2B;AACrE,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,kBAAkB,WAAW;AAC7E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,kBAAkB,wBAAwB,MAAM,MAAM;AAC5E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,kBAAkB,0BAA0B,SAAS,SAAS,QAAQ;AAC1F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,UAAU;AAAA,QAClC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,OAAO;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,UAAU,WAAW;AACrE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,UAAU,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,aAAa,WAAW;AACxE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,aAAa,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,eAAe,WAAW;AAC1E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,eAAe,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,cAAc,WAAW;AACzE;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,gBAAgB,WAAW,CAAC;AAAA;AAAA,IACjF;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,cAAc,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,gBAAgB,kBAAkB,UAAU,UAAU,SAAS,WAAW,WAAW;AACzF,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,gBAAgB,WAAW,SAAS;AAAA,IAC9G;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,gBAAgB,WAAW;AAC3E,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,WAAW,WAAW;AACtE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,WAAW,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,aAAa,WAAW;AACxE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,WAAW,WAAW;AACtE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,iBAAiB,WAAW;AAC5E;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,QAAQ,CAAC;AAAA;AAAA,IAClE;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,iBAAiB,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,gBAAgB,kBAAkB,UAAU,aAAa,SAAS,WAAW,WAAW;AAC5F,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,QAAQ,SAAS;AAAA,IAC3F;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,mBAAmB,WAAW;AAC9E,aAAO,KAAK,eAAe,CAAC,CAAC;AAAA,IAC/B;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,UAAU,UAAU,WAAW,SAAS,qBAAqB;AACjF,eAAO,MAAM,gBAAgB,UAAU,SAAS,qBAAqB,IAAI;AAAA,MAC3E;AAYA,YAAM,gBAAgB,UAAU,WAAW,SAAS,iBAAiB,KAAK;AACxE,YAAI,GAAG,MAAM;AAAA,UACX,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UACjD,SAAS,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACpD,gBAAgB,KAAK,QAAQ,iCAAiC,KAAK,GAAG,CAAG;AAAA,QAC3E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,UAAU,oBAAoB,SAAS,OAAO;AAClE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,UAAU,4BAA4B,KAAK,MAAM;AAAA,IAChF;AAUA,UAAM,gBAAgB,UAAU,8BAA8B,SAAS,KAAK,QAAQ;AAClF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,kBAAkB,KAAK;AAC3B;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,UAAU,UAAU,kBAAkB,WAAW;AACrE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,UAAU,wBAAwB,MAAM,MAAM;AACpE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,UAAU,0BAA0B,SAAS,SAAS,QAAQ;AAClF,UAAI,IAAI;AACR,UAAI,QAAQ,SAAS;AACrB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,kBAAkB;AAC9B,UAAI,MAAM,GAAK;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,UAAU,UAAU,WAAW,WAAW;AAC9D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,gBAAgB,UAAU,UAAU,WAAW,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,gBAAgB,UAAU,UAAU,aAAa,WAAW;AAChE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,UAAU,UAAU,aAAa,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,gBAAgB,UAAU,UAAU,oBAAoB,WAAW;AACvE;AAAA;AAAA,QAA8B,KAAK,QAAQ,iCAAiC,MAAM,GAAG,CAAG;AAAA;AAAA,IAC1F;AAOA,UAAM,gBAAgB,UAAU,UAAU,oBAAoB,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,oBAAoB,MAAM,GAAG,KAAK;AAAA,IACxD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,iBAAiB,UAAU,WAAW,SAAS,qBAAqB;AACxF,eAAO,MAAM,gBAAgB,iBAAiB,SAAS,qBAAqB,IAAI;AAAA,MAClF;AAYA,YAAM,gBAAgB,iBAAiB,WAAW,SAAS,iBAAiB,KAAK;AAC/E,YAAI,GAAG,MAAM;AAAA,UACX,aAAa,IAAI,IAAI,cAAc,MAAM,MAAM,gBAAgB,WAAW,SAAS,iBAAiB,CAAC;AAAA,UACrG,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAClD,aAAa,IAAI,IAAI,cAAc,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,UAClF,qBAAqB,IAAI,IAAI,sBAAsB,KAAK,EAAE,SAAS,iBAAiB,MAAM,OAAO,SAAS,IAAI,QAAQ,IAAI,CAAC;AAAA,UAC3H,oBAAoB,IAAI,IAAI,qBAAqB,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,UAChG,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QAC3D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,iBAAiB,oBAAoB,SAAS,OAAO;AACzE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,iBAAiB,4BAA4B,KAAK,MAAM;AAAA,IACvF;AAUA,UAAM,gBAAgB,iBAAiB,8BAA8B,SAAS,KAAK,QAAQ;AACzF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,WAAW,2BAA2B;AACrF,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,cAAc;AAC9B,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,WAAW,KAAK,aAAa,UAAU,YAAY,MAAM,GAAG,EAAE;AAAA,YACrI,CAAC;AACJ;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,sBAAsB;AACtC,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,aAAa,MAAM,OAAO,SAAS,IAAI,6BAA6B,IAAI,IAAI,MAAM,OAAO,SAAS,IAAI,CAAC;AAAA,YACtN,CAAC;AACJ;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,qBAAqB;AACrC,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,YAAY,MAAM,IAAI,EAAE;AAAA,YACvI,CAAC;AACJ;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,kBAAkB,WAAW;AAC5E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,iBAAiB,wBAAwB,MAAM,MAAM;AAC3E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,iBAAiB,0BAA0B,SAAS,SAAS,QAAQ;AACzF,UAAI,IAAI;AACR,UAAI,QAAQ,cAAc;AAC1B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,WAAW;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,cAAc,IAAI;AAC9B,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,WAAW;AAAA,MAC9G;AACA,UAAI,QAAQ,sBAAsB,IAAI;AACtC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,cAAc,MAAM,OAAO,SAAS,IAAI,uBAAuB;AAAA,MACnK;AACA,UAAI,QAAQ,qBAAqB,IAAI;AACrC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,WAAW;AAAA,MAC/G;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,gBAAgB,WAAW;AAC1E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,gBAAgB,YAAY,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,gBAAgB,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,kBAAkB,WAAW;AAC5E,aAAO,KAAK,cAAc,MAAS;AAAA,IACrC;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,gBAAgB,WAAW;AAC1E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,WAAW,WAAW;AACrE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,WAAW,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,gBAAgB,iBAAiB,UAAU,gBAAgB,SAAS,kBAAkB;AAC1F;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,kBAAkB,WAAW;AAC5E,WAAK,cAAc,EAAE,MAAM;AAC3B,aAAO;AAAA,IAAK;AASd,UAAM,gBAAgB,iBAAiB,UAAU,wBAAwB,SAAS,kBAAkB;AAClG;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC,MAAM,OAAO,SAAS;AAAA,QAAG;AAAA;AAAA,IAC/B;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,0BAA0B,WAAW;AACpF,WAAK,sBAAsB,EAAE,MAAM;AACnC,aAAO;AAAA,IAAK;AASd,UAAM,gBAAgB,iBAAiB,UAAU,uBAAuB,SAAS,kBAAkB;AACjG;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,yBAAyB,WAAW;AACnF,WAAK,qBAAqB,EAAE,MAAM;AAClC,aAAO;AAAA,IAAK;AAOd,UAAM,gBAAgB,iBAAiB,UAAU,kBAAkB,WAAW;AAC5E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,kBAAkB,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,gBAAgB,kBAAkB,kBAAkB,CAAC,GAAE,CAAC;AAI9D,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,kBAAkB,UAAU,WAAW,SAAS,qBAAqB;AACzF,eAAO,MAAM,gBAAgB,kBAAkB,SAAS,qBAAqB,IAAI;AAAA,MACnF;AAYA,YAAM,gBAAgB,kBAAkB,WAAW,SAAS,iBAAiB,KAAK;AAChF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UACrD,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,MAAM,gBAAgB,UAAU;AAAA,YAAU;AAAA,UAAe;AAAA,UACzD,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,aAAa,KAAK,QAAQ;AAAA,YAAa,IAAI,eAAe;AAAA,YAC1D,UAAU,OAAO;AAAA,YAAU;AAAA,UAAe;AAAA,QAC5C;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,kBAAkB,oBAAoB,SAAS,OAAO;AAC1E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,kBAAkB,4BAA4B,KAAK,MAAM;AAAA,IACxF;AAUA,UAAM,gBAAgB,kBAAkB,8BAA8B,SAAS,KAAK,QAAQ;AAC1F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,UAAU,2BAA2B;AACpF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,OAAO,2BAA2B;AACrE,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,kBAAkB,WAAW;AAC7E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,kBAAkB,wBAAwB,MAAM,MAAM;AAC5E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,kBAAkB,0BAA0B,SAAS,SAAS,QAAQ;AAC1F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,UAAU;AAAA,QAClC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,OAAO;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,UAAU,WAAW;AACrE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,UAAU,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,aAAa,WAAW;AACxE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,aAAa,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,eAAe,WAAW;AAC1E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,eAAe,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,cAAc,WAAW;AACzE;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,gBAAgB,WAAW,CAAC;AAAA;AAAA,IACjF;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,cAAc,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,gBAAgB,kBAAkB,UAAU,UAAU,SAAS,WAAW,WAAW;AACzF,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,gBAAgB,WAAW,SAAS;AAAA,IAC9G;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,gBAAgB,WAAW;AAC3E,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,WAAW,WAAW;AACtE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,WAAW,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,aAAa,WAAW;AACxE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,WAAW,WAAW;AACtE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,iBAAiB,WAAW;AAC5E;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,QAAQ,CAAC;AAAA;AAAA,IAClE;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,iBAAiB,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,gBAAgB,kBAAkB,UAAU,aAAa,SAAS,WAAW,WAAW;AAC5F,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,QAAQ,SAAS;AAAA,IAC3F;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,mBAAmB,WAAW;AAC9E,aAAO,KAAK,eAAe,CAAC,CAAC;AAAA,IAC/B;AASA,UAAM,gBAAgB,aAAa,kBAAkB,CAAC,CAAC;AAIvD,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,aAAa,UAAU,WAAW,SAAS,qBAAqB;AACpF,eAAO,MAAM,gBAAgB,aAAa,SAAS,qBAAqB,IAAI;AAAA,MAC9E;AAYA,YAAM,gBAAgB,aAAa,WAAW,SAAS,iBAAiB,KAAK;AAC3E,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACtD,OAAO,IAAI,IAAI,QAAQ,MAAM,UAAU,QAAQ,SAAS,iBAAiB,CAAC;AAAA,UAC1E,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,aAAa,KAAK,QAAQ;AAAA,YAAa,IAAI,eAAe;AAAA,YAC1D,UAAU,OAAO;AAAA,YAAU;AAAA,UAAe;AAAA,UAC1C,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QAC3D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,aAAa,oBAAoB,SAAS,OAAO;AACrE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,aAAa,4BAA4B,KAAK,MAAM;AAAA,IACnF;AAUA,UAAM,gBAAgB,aAAa,8BAA8B,SAAS,KAAK,QAAQ;AACrF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,QAAQ,2BAA2B;AACtE,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,OAAO,2BAA2B;AACrE,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,aAAa,UAAU,kBAAkB,WAAW;AACxE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,aAAa,wBAAwB,MAAM,MAAM;AACvE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,aAAa,0BAA0B,SAAS,SAAS,QAAQ;AACrF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,QAAQ;AAAA,QACpB;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,OAAO;AAAA,QACnB;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,aAAa,UAAU,UAAU,WAAW;AAChE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,gBAAgB,aAAa,UAAU,UAAU,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,gBAAgB,aAAa,UAAU,aAAa,WAAW;AACnE;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,gBAAgB,aAAa,UAAU,aAAa,SAAS,OAAO;AACxE,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,gBAAgB,aAAa,UAAU,eAAe,WAAW;AACrE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,aAAa,UAAU,eAAe,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,gBAAgB,aAAa,UAAU,UAAU,WAAW;AAChE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,SAAS,CAAC;AAAA;AAAA,IAC3D;AAOA,UAAM,gBAAgB,aAAa,UAAU,UAAU,SAAS,OAAO;AACrE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,aAAa,UAAU,YAAY,WAAW;AAClE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,gBAAgB,aAAa,UAAU,UAAU,WAAW;AAChE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,aAAa,UAAU,WAAW,WAAW;AACjE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,gBAAgB,aAAa,UAAU,WAAW,SAAS,OAAO;AACtE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,aAAa,UAAU,aAAa,WAAW;AACnE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,gBAAgB,aAAa,UAAU,WAAW,WAAW;AACjE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,aAAa,UAAU,iBAAiB,WAAW;AACvE;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,QAAQ,CAAC;AAAA;AAAA,IAClE;AAOA,UAAM,gBAAgB,aAAa,UAAU,iBAAiB,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,gBAAgB,aAAa,UAAU,aAAa,SAAS,WAAW,WAAW;AACvF,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,QAAQ,SAAS;AAAA,IAC3F;AAOA,UAAM,gBAAgB,aAAa,UAAU,mBAAmB,WAAW;AACzE,aAAO,KAAK,eAAe,CAAC,CAAC;AAAA,IAC/B;AAOA,UAAM,gBAAgB,aAAa,UAAU,kBAAkB,WAAW;AACxE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,aAAa,UAAU,kBAAkB,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,gBAAgB,YAAY,kBAAkB,CAAC,GAAE,CAAC;AAIxD,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,YAAY,UAAU,WAAW,SAAS,qBAAqB;AACnF,eAAO,MAAM,gBAAgB,YAAY,SAAS,qBAAqB,IAAI;AAAA,MAC7E;AAYA,YAAM,gBAAgB,YAAY,WAAW,SAAS,iBAAiB,KAAK;AAC1E,YAAI,GAAG,MAAM;AAAA,UACX,aAAa,IAAI,IAAI,cAAc,MAAM,MAAM,gBAAgB,WAAW,SAAS,iBAAiB,CAAC;AAAA,UACrG,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACtD,mBAAmB,KAAK,QAAQ;AAAA,YAAa,IAAI,qBAAqB;AAAA,YACtE,UAAU,QAAQ;AAAA,YAAU;AAAA,UAAe;AAAA,UAC3C,oBAAoB,IAAI,IAAI,qBAAqB,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,UAChG,qBAAqB,IAAI,IAAI,sBAAsB,KAAK,EAAE,SAAS,iBAAiB,MAAM,OAAO,SAAS,IAAI,QAAQ,IAAI,CAAC;AAAA,UAC3H,qBAAqB,KAAK,QAAQ;AAAA,YAAa,IAAI,uBAAuB;AAAA,YAC1E,MAAM,gBAAgB,eAAe;AAAA,YAAU;AAAA,UAAe;AAAA,UAC9D,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACzD,uBAAuB,IAAI,IAAI,wBAAwB,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,QACxG;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,YAAY,oBAAoB,SAAS,OAAO;AACpE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,YAAY,4BAA4B,KAAK,MAAM;AAAA,IAClF;AAUA,UAAM,gBAAgB,YAAY,8BAA8B,SAAS,KAAK,QAAQ;AACpF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,WAAW,2BAA2B;AACrF,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,QAAQ,2BAA2B;AACtE,gBAAI,iBAAiB,KAAK;AAC1B;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,qBAAqB;AACrC,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,YAAY,MAAM,IAAI,EAAE;AAAA,YACvI,CAAC;AACJ;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,sBAAsB;AACtC,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,aAAa,MAAM,OAAO,SAAS,IAAI,6BAA6B,IAAI,IAAI,MAAM,OAAO,SAAS,IAAI,CAAC;AAAA,YACtN,CAAC;AACJ;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,eAAe,2BAA2B;AACzF,gBAAI,mBAAmB,KAAK;AAC5B;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,wBAAwB;AACxC,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,YAAY,MAAM,IAAI,EAAE;AAAA,YACvI,CAAC;AACJ;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,YAAY,UAAU,kBAAkB,WAAW;AACvE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,YAAY,wBAAwB,MAAM,MAAM;AACtE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,YAAY,0BAA0B,SAAS,SAAS,QAAQ;AACpF,UAAI,IAAI;AACR,UAAI,QAAQ,cAAc;AAC1B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,WAAW;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,qBAAqB;AACjC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,QAAQ;AAAA,QACpB;AAAA,MACF;AACA,UAAI,QAAQ,qBAAqB,IAAI;AACrC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,WAAW;AAAA,MAC/G;AACA,UAAI,QAAQ,sBAAsB,IAAI;AACtC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,cAAc,MAAM,OAAO,SAAS,IAAI,uBAAuB;AAAA,MACnK;AACA,UAAI,QAAQ,uBAAuB;AACnC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,eAAe;AAAA,QACvC;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,wBAAwB,IAAI;AACxC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,WAAW;AAAA,MAC/G;AAAA,IACF;AAOA,UAAM,gBAAgB,YAAY,UAAU,gBAAgB,WAAW;AACrE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,gBAAgB,YAAY,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,gBAAgB,YAAY,UAAU,gBAAgB,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,YAAY,UAAU,kBAAkB,WAAW;AACvE,aAAO,KAAK,cAAc,MAAS;AAAA,IACrC;AAOA,UAAM,gBAAgB,YAAY,UAAU,gBAAgB,WAAW;AACrE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,YAAY,UAAU,eAAe,WAAW;AACpE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,YAAY,UAAU,eAAe,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,gBAAgB,YAAY,UAAU,uBAAuB,WAAW;AAC5E;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,SAAS,CAAC;AAAA;AAAA,IACnE;AAOA,UAAM,gBAAgB,YAAY,UAAU,uBAAuB,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,gBAAgB,YAAY,UAAU,mBAAmB,SAAS,WAAW,WAAW;AAC5F,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,SAAS,SAAS;AAAA,IAC5F;AAOA,UAAM,gBAAgB,YAAY,UAAU,yBAAyB,WAAW;AAC9E,aAAO,KAAK,qBAAqB,CAAC,CAAC;AAAA,IACrC;AASA,UAAM,gBAAgB,YAAY,UAAU,uBAAuB,SAAS,kBAAkB;AAC5F;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,gBAAgB,YAAY,UAAU,yBAAyB,WAAW;AAC9E,WAAK,qBAAqB,EAAE,MAAM;AAClC,aAAO;AAAA,IAAK;AASd,UAAM,gBAAgB,YAAY,UAAU,wBAAwB,SAAS,kBAAkB;AAC7F;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC,MAAM,OAAO,SAAS;AAAA,QAAG;AAAA;AAAA,IAC/B;AAOA,UAAM,gBAAgB,YAAY,UAAU,0BAA0B,WAAW;AAC/E,WAAK,sBAAsB,EAAE,MAAM;AACnC,aAAO;AAAA,IAAK;AAOd,UAAM,gBAAgB,YAAY,UAAU,yBAAyB,WAAW;AAC9E;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,gBAAgB,gBAAgB,CAAC;AAAA;AAAA,IACtF;AAOA,UAAM,gBAAgB,YAAY,UAAU,yBAAyB,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,gBAAgB,YAAY,UAAU,qBAAqB,SAAS,WAAW,WAAW;AAC9F,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,gBAAgB,gBAAgB,SAAS;AAAA,IACnH;AAOA,UAAM,gBAAgB,YAAY,UAAU,2BAA2B,WAAW;AAChF,aAAO,KAAK,uBAAuB,CAAC,CAAC;AAAA,IACvC;AAOA,UAAM,gBAAgB,YAAY,UAAU,kBAAkB,WAAW;AACvE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,YAAY,UAAU,kBAAkB,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,gBAAgB,YAAY,UAAU,0BAA0B,SAAS,kBAAkB;AAC/F;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,gBAAgB,YAAY,UAAU,4BAA4B,WAAW;AACjF,WAAK,wBAAwB,EAAE,MAAM;AACrC,aAAO;AAAA,IAAK;AAMd,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,wBAAwB,UAAU,WAAW,SAAS,qBAAqB;AAC/F,eAAO,MAAM,gBAAgB,wBAAwB,SAAS,qBAAqB,IAAI;AAAA,MACzF;AAYA,YAAM,gBAAgB,wBAAwB,WAAW,SAAS,iBAAiB,KAAK;AACtF,YAAI,GAAG,MAAM;AAAA,UACX,aAAa,IAAI,IAAI,cAAc,MAAM,MAAM,gBAAgB,WAAW,SAAS,iBAAiB,CAAC;AAAA,UACrG,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACzD,uBAAuB,IAAI,IAAI,wBAAwB,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,QACxG;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,wBAAwB,oBAAoB,SAAS,OAAO;AAChF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,wBAAwB,4BAA4B,KAAK,MAAM;AAAA,IAC9F;AAUA,UAAM,gBAAgB,wBAAwB,8BAA8B,SAAS,KAAK,QAAQ;AAChG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,WAAW,2BAA2B;AACrF,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,wBAAwB;AACxC,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,YAAY,MAAM,IAAI,EAAE;AAAA,YACvI,CAAC;AACJ;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,wBAAwB,UAAU,kBAAkB,WAAW;AACnF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,wBAAwB,wBAAwB,MAAM,MAAM;AAClF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,wBAAwB,0BAA0B,SAAS,SAAS,QAAQ;AAChG,UAAI,IAAI;AACR,UAAI,QAAQ,cAAc;AAC1B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,WAAW;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,wBAAwB,IAAI;AACxC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,WAAW;AAAA,MAC/G;AAAA,IACF;AAOA,UAAM,gBAAgB,wBAAwB,UAAU,gBAAgB,WAAW;AACjF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,gBAAgB,YAAY,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,gBAAgB,wBAAwB,UAAU,gBAAgB,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,wBAAwB,UAAU,kBAAkB,WAAW;AACnF,aAAO,KAAK,cAAc,MAAS;AAAA,IACrC;AAOA,UAAM,gBAAgB,wBAAwB,UAAU,gBAAgB,WAAW;AACjF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,wBAAwB,UAAU,kBAAkB,WAAW;AACnF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,wBAAwB,UAAU,kBAAkB,SAAS,OAAO;AACxF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,gBAAgB,wBAAwB,UAAU,0BAA0B,SAAS,kBAAkB;AAC3G;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,gBAAgB,wBAAwB,UAAU,4BAA4B,WAAW;AAC7F,WAAK,wBAAwB,EAAE,MAAM;AACrC,aAAO;AAAA,IAAK;AAMd,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,qBAAqB,UAAU,WAAW,SAAS,qBAAqB;AAC5F,eAAO,MAAM,gBAAgB,qBAAqB,SAAS,qBAAqB,IAAI;AAAA,MACtF;AAYA,YAAM,gBAAgB,qBAAqB,WAAW,SAAS,iBAAiB,KAAK;AACnF,YAAI,GAAG,MAAM;AAAA,UACX,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACzD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,QAC5E;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,qBAAqB,oBAAoB,SAAS,OAAO;AAC7E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,qBAAqB,4BAA4B,KAAK,MAAM;AAAA,IAC3F;AAUA,UAAM,gBAAgB,qBAAqB,8BAA8B,SAAS,KAAK,QAAQ;AAC7F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,kBAAkB,WAAW;AAChF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,qBAAqB,wBAAwB,MAAM,MAAM;AAC/E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,qBAAqB,0BAA0B,SAAS,SAAS,QAAQ;AAC7F,UAAI,IAAI;AACR,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,kBAAkB,WAAW;AAChF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,kBAAkB,SAAS,OAAO;AACrF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,aAAa,WAAW;AAC3E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,aAAa,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,WAAW,WAAW;AACzE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,WAAW,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,aAAa,WAAW;AAC3E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,WAAW,WAAW;AACzE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AASA,UAAM,gBAAgB,gBAAgB,kBAAkB,CAAC,GAAE,CAAC;AAI5D,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,gBAAgB,UAAU,WAAW,SAAS,qBAAqB;AACvF,eAAO,MAAM,gBAAgB,gBAAgB,SAAS,qBAAqB,IAAI;AAAA,MACjF;AAYA,YAAM,gBAAgB,gBAAgB,WAAW,SAAS,iBAAiB,KAAK;AAC9E,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACtD,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACzD,mBAAmB,KAAK,QAAQ;AAAA,YAAa,IAAI,qBAAqB;AAAA,YACtE,UAAU,QAAQ;AAAA,YAAU;AAAA,UAAe;AAAA,UAC3C,oBAAoB,IAAI,IAAI,qBAAqB,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,UAChG,qBAAqB,IAAI,IAAI,sBAAsB,KAAK,EAAE,SAAS,iBAAiB,MAAM,OAAO,SAAS,IAAI,QAAQ,IAAI,CAAC;AAAA,UAC3H,qBAAqB,KAAK,QAAQ;AAAA,YAAa,IAAI,uBAAuB;AAAA,YAC1E,MAAM,gBAAgB,eAAe;AAAA,YAAU;AAAA,UAAe;AAAA,QAChE;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,gBAAgB,oBAAoB,SAAS,OAAO;AACxE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,gBAAgB,4BAA4B,KAAK,MAAM;AAAA,IACtF;AAUA,UAAM,gBAAgB,gBAAgB,8BAA8B,SAAS,KAAK,QAAQ;AACxF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,QAAQ,2BAA2B;AACtE,gBAAI,iBAAiB,KAAK;AAC1B;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,qBAAqB;AACrC,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,YAAY,MAAM,IAAI,EAAE;AAAA,YACvI,CAAC;AACJ;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,sBAAsB;AACtC,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,aAAa,MAAM,OAAO,SAAS,IAAI,6BAA6B,IAAI,IAAI,MAAM,OAAO,SAAS,IAAI,CAAC;AAAA,YACtN,CAAC;AACJ;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,eAAe,2BAA2B;AACzF,gBAAI,mBAAmB,KAAK;AAC5B;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,gBAAgB,UAAU,kBAAkB,WAAW;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,gBAAgB,wBAAwB,MAAM,MAAM;AAC1E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,gBAAgB,0BAA0B,SAAS,SAAS,QAAQ;AACxF,UAAI,IAAI;AACR,UAAI,QAAQ,aAAa;AACzB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,qBAAqB;AACjC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,QAAQ;AAAA,QACpB;AAAA,MACF;AACA,UAAI,QAAQ,qBAAqB,IAAI;AACrC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,WAAW;AAAA,MAC/G;AACA,UAAI,QAAQ,sBAAsB,IAAI;AACtC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,cAAc,MAAM,OAAO,SAAS,IAAI,uBAAuB;AAAA,MACnK;AACA,UAAI,QAAQ,uBAAuB;AACnC,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,eAAe;AAAA,QACvC;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,gBAAgB,UAAU,eAAe,WAAW;AACxE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,gBAAgB,UAAU,eAAe,SAAS,OAAO;AAC7E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,gBAAgB,gBAAgB,UAAU,kBAAkB,WAAW;AAC3E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,gBAAgB,UAAU,kBAAkB,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,gBAAgB,gBAAgB,UAAU,uBAAuB,WAAW;AAChF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,SAAS,CAAC;AAAA;AAAA,IACnE;AAOA,UAAM,gBAAgB,gBAAgB,UAAU,uBAAuB,SAAS,OAAO;AACrF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,gBAAgB,gBAAgB,UAAU,mBAAmB,SAAS,WAAW,WAAW;AAChG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,SAAS,SAAS;AAAA,IAC5F;AAOA,UAAM,gBAAgB,gBAAgB,UAAU,yBAAyB,WAAW;AAClF,aAAO,KAAK,qBAAqB,CAAC,CAAC;AAAA,IACrC;AASA,UAAM,gBAAgB,gBAAgB,UAAU,uBAAuB,SAAS,kBAAkB;AAChG;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,gBAAgB,gBAAgB,UAAU,yBAAyB,WAAW;AAClF,WAAK,qBAAqB,EAAE,MAAM;AAClC,aAAO;AAAA,IAAK;AASd,UAAM,gBAAgB,gBAAgB,UAAU,wBAAwB,SAAS,kBAAkB;AACjG;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC,MAAM,OAAO,SAAS;AAAA,QAAG;AAAA;AAAA,IAC/B;AAOA,UAAM,gBAAgB,gBAAgB,UAAU,0BAA0B,WAAW;AACnF,WAAK,sBAAsB,EAAE,MAAM;AACnC,aAAO;AAAA,IAAK;AAOd,UAAM,gBAAgB,gBAAgB,UAAU,yBAAyB,WAAW;AAClF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,gBAAgB,gBAAgB,CAAC;AAAA;AAAA,IACtF;AAOA,UAAM,gBAAgB,gBAAgB,UAAU,yBAAyB,SAAS,OAAO;AACvF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,gBAAgB,gBAAgB,UAAU,qBAAqB,SAAS,WAAW,WAAW;AAClG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,gBAAgB,gBAAgB,SAAS;AAAA,IACnH;AAOA,UAAM,gBAAgB,gBAAgB,UAAU,2BAA2B,WAAW;AACpF,aAAO,KAAK,uBAAuB,CAAC,CAAC;AAAA,IACvC;AASA,UAAM,gBAAgB,iBAAiB,kBAAkB,CAAC,CAAC;AAI3D,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,iBAAiB,UAAU,WAAW,SAAS,qBAAqB;AACxF,eAAO,MAAM,gBAAgB,iBAAiB,SAAS,qBAAqB,IAAI;AAAA,MAClF;AAYA,YAAM,gBAAgB,iBAAiB,WAAW,SAAS,iBAAiB,KAAK;AAC/E,YAAI,GAAG,MAAM;AAAA,UACX,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACtD,OAAO,IAAI,IAAI,QAAQ,MAAM,UAAU,QAAQ,SAAS,iBAAiB,CAAC;AAAA,UAC1E,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,aAAa,KAAK,QAAQ;AAAA,YAAa,IAAI,eAAe;AAAA,YAC1D,UAAU,OAAO;AAAA,YAAU;AAAA,UAAe;AAAA,UAC1C,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QAC3D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,iBAAiB,oBAAoB,SAAS,OAAO;AACzE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,iBAAiB,4BAA4B,KAAK,MAAM;AAAA,IACvF;AAUA,UAAM,gBAAgB,iBAAiB,8BAA8B,SAAS,KAAK,QAAQ;AACzF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,QAAQ,2BAA2B;AACtE,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,OAAO,2BAA2B;AACrE,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,kBAAkB,WAAW;AAC5E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,iBAAiB,wBAAwB,MAAM,MAAM;AAC3E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,iBAAiB,0BAA0B,SAAS,SAAS,QAAQ;AACzF,UAAI,IAAI;AACR,UAAI,QAAQ,aAAa;AACzB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,QAAQ;AAAA,QACpB;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,OAAO;AAAA,QACnB;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,eAAe,WAAW;AACzE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,eAAe,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,UAAU,WAAW;AACpE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,SAAS,CAAC;AAAA;AAAA,IAC3D;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,UAAU,SAAS,OAAO;AACzE,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,YAAY,WAAW;AACtE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,UAAU,WAAW;AACpE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,WAAW,WAAW;AACrE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,WAAW,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,aAAa,WAAW;AACvE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,WAAW,WAAW;AACrE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,iBAAiB,WAAW;AAC3E;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,QAAQ,CAAC;AAAA;AAAA,IAClE;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,iBAAiB,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,gBAAgB,iBAAiB,UAAU,aAAa,SAAS,WAAW,WAAW;AAC3F,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,QAAQ,SAAS;AAAA,IAC3F;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,mBAAmB,WAAW;AAC7E,aAAO,KAAK,eAAe,CAAC,CAAC;AAAA,IAC/B;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,kBAAkB,WAAW;AAC5E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,iBAAiB,UAAU,kBAAkB,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,gBAAgB,UAAU,WAAW,SAAS,qBAAqB;AACvF,eAAO,MAAM,gBAAgB,gBAAgB,SAAS,qBAAqB,IAAI;AAAA,MACjF;AAYA,YAAM,gBAAgB,gBAAgB,WAAW,SAAS,iBAAiB,KAAK;AAC9E,YAAI,GAAG,MAAM;AAAA,UACX,QAAQ,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACrD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,gBAAgB,oBAAoB,SAAS,OAAO;AACxE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,gBAAgB,4BAA4B,KAAK,MAAM;AAAA,IACtF;AAUA,UAAM,gBAAgB,gBAAgB,8BAA8B,SAAS,KAAK,QAAQ;AACxF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,UAAU,KAAK;AACnB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,gBAAgB,UAAU,kBAAkB,WAAW;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,gBAAgB,wBAAwB,MAAM,MAAM;AAC1E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,gBAAgB,0BAA0B,SAAS,SAAS,QAAQ;AACxF,UAAI,IAAI;AACR,UAAI,QAAQ,UAAU;AACtB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,gBAAgB,UAAU,YAAY,WAAW;AACrE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,gBAAgB,UAAU,YAAY,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAYA,UAAM,gBAAgB,kBAAkB,eAAe,CAAC,CAAC,GAAE,GAAE,CAAC,CAAC;AAK/D,UAAM,gBAAgB,kBAAkB,cAAc;AAAA,MACpD,iBAAiB;AAAA,MACjB,eAAe;AAAA,MACf,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAKA,UAAM,gBAAgB,kBAAkB,UAAU,iBAAiB,WAAW;AAC5E;AAAA;AAAA,QAA0E,KAAK,QAAQ,iBAAiB,MAAM,MAAM,gBAAgB,kBAAkB,aAAa,CAAC,CAAC;AAAA;AAAA,IACvK;AAIA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,kBAAkB,UAAU,WAAW,SAAS,qBAAqB;AACzF,eAAO,MAAM,gBAAgB,kBAAkB,SAAS,qBAAqB,IAAI;AAAA,MACnF;AAYA,YAAM,gBAAgB,kBAAkB,WAAW,SAAS,iBAAiB,KAAK;AAChF,YAAI,GAAG,MAAM;AAAA,UACX,gBAAgB,IAAI,IAAI,iBAAiB,MAAM,MAAM,gBAAgB,wBAAwB,SAAS,iBAAiB,CAAC;AAAA,UACxH,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,gBAAgB,gBAAgB,SAAS,iBAAiB,CAAC;AAAA,UAC9F,QAAQ,IAAI,IAAI,SAAS,MAAM,MAAM,gBAAgB,gBAAgB,SAAS,iBAAiB,CAAC;AAAA,QAClG;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,kBAAkB,oBAAoB,SAAS,OAAO;AAC1E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,kBAAkB,4BAA4B,KAAK,MAAM;AAAA,IACxF;AAUA,UAAM,gBAAgB,kBAAkB,8BAA8B,SAAS,KAAK,QAAQ;AAC1F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,wBAAwB,2BAA2B;AAClG,gBAAI,iBAAiB,KAAK;AAC1B;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,gBAAgB,2BAA2B;AAC1F,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,gBAAgB,2BAA2B;AAC1F,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,kBAAkB,WAAW;AAC7E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,kBAAkB,wBAAwB,MAAM,MAAM;AAC5E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,kBAAkB,0BAA0B,SAAS,SAAS,QAAQ;AAC1F,UAAI,IAAI;AACR,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,wBAAwB;AAAA,QAChD;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,gBAAgB;AAAA,QACxC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,gBAAgB;AAAA,QACxC;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,mBAAmB,WAAW;AAC9E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,gBAAgB,yBAAyB,CAAC;AAAA;AAAA,IACvF;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,mBAAmB,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,MAAM,gBAAgB,kBAAkB,aAAa,CAAC,GAAG,KAAK;AAAA,IAClH;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,qBAAqB,WAAW;AAChF,aAAO,KAAK,iBAAiB,MAAS;AAAA,IACxC;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,mBAAmB,WAAW;AAC9E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,UAAU,WAAW;AACrE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,gBAAgB,iBAAiB,CAAC;AAAA;AAAA,IAC/E;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,UAAU,SAAS,OAAO;AAC1E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,MAAM,gBAAgB,kBAAkB,aAAa,CAAC,GAAG,KAAK;AAAA,IAClH;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,YAAY,WAAW;AACvE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,UAAU,WAAW;AACrE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,WAAW,WAAW;AACtE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,gBAAgB,iBAAiB,CAAC;AAAA;AAAA,IAC/E;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,WAAW,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,MAAM,gBAAgB,kBAAkB,aAAa,CAAC,GAAG,KAAK;AAAA,IAClH;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,aAAa,WAAW;AACxE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,gBAAgB,kBAAkB,UAAU,WAAW,WAAW;AACtE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAYA,UAAM,gBAAgB,mBAAmB,eAAe,CAAC,CAAC,GAAE,GAAE,CAAC,CAAC;AAKhE,UAAM,gBAAgB,mBAAmB,eAAe;AAAA,MACtD,kBAAkB;AAAA,MAClB,eAAe;AAAA,MACf,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAKA,UAAM,gBAAgB,mBAAmB,UAAU,kBAAkB,WAAW;AAC9E;AAAA;AAAA,QAA4E,KAAK,QAAQ,iBAAiB,MAAM,MAAM,gBAAgB,mBAAmB,aAAa,CAAC,CAAC;AAAA;AAAA,IAC1K;AAIA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,mBAAmB,UAAU,WAAW,SAAS,qBAAqB;AAC1F,eAAO,MAAM,gBAAgB,mBAAmB,SAAS,qBAAqB,IAAI;AAAA,MACpF;AAYA,YAAM,gBAAgB,mBAAmB,WAAW,SAAS,iBAAiB,KAAK;AACjF,YAAI,GAAG,MAAM;AAAA,UACX,gBAAgB,IAAI,IAAI,iBAAiB,MAAM,MAAM,gBAAgB,qBAAqB,SAAS,iBAAiB,CAAC;AAAA,UACrH,OAAO,IAAI,IAAI,QAAQ,MAAM,MAAM,gBAAgB,iBAAiB,SAAS,iBAAiB,CAAC;AAAA,UAC/F,QAAQ,IAAI,IAAI,SAAS,MAAM,MAAM,gBAAgB,gBAAgB,SAAS,iBAAiB,CAAC;AAAA,QAClG;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,mBAAmB,oBAAoB,SAAS,OAAO;AAC3E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,mBAAmB,4BAA4B,KAAK,MAAM;AAAA,IACzF;AAUA,UAAM,gBAAgB,mBAAmB,8BAA8B,SAAS,KAAK,QAAQ;AAC3F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,qBAAqB,2BAA2B;AAC/F,gBAAI,iBAAiB,KAAK;AAC1B;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,iBAAiB,2BAA2B;AAC3F,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,gBAAgB,2BAA2B;AAC1F,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,kBAAkB,WAAW;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,mBAAmB,wBAAwB,MAAM,MAAM;AAC7E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,mBAAmB,0BAA0B,SAAS,SAAS,QAAQ;AAC3F,UAAI,IAAI;AACR,UAAI,QAAQ,iBAAiB;AAC7B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,qBAAqB;AAAA,QAC7C;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ;AACpB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,iBAAiB;AAAA,QACzC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,gBAAgB;AAAA,QACxC;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,mBAAmB,WAAW;AAC/E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,gBAAgB,sBAAsB,CAAC;AAAA;AAAA,IACpF;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,mBAAmB,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,MAAM,gBAAgB,mBAAmB,aAAa,CAAC,GAAG,KAAK;AAAA,IACnH;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,qBAAqB,WAAW;AACjF,aAAO,KAAK,iBAAiB,MAAS;AAAA,IACxC;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,mBAAmB,WAAW;AAC/E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,UAAU,WAAW;AACtE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,gBAAgB,kBAAkB,CAAC;AAAA;AAAA,IAChF;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,UAAU,SAAS,OAAO;AAC3E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,MAAM,gBAAgB,mBAAmB,aAAa,CAAC,GAAG,KAAK;AAAA,IACnH;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,YAAY,WAAW;AACxE,aAAO,KAAK,QAAQ,MAAS;AAAA,IAC/B;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,UAAU,WAAW;AACtE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,WAAW,WAAW;AACvE;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,gBAAgB,iBAAiB,CAAC;AAAA;AAAA,IAC/E;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,WAAW,SAAS,OAAO;AAC5E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,MAAM,gBAAgB,mBAAmB,aAAa,CAAC,GAAG,KAAK;AAAA,IACnH;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,aAAa,WAAW;AACzE,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,gBAAgB,mBAAmB,UAAU,WAAW,WAAW;AACvE,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,wBAAwB,UAAU,WAAW,SAAS,qBAAqB;AAC/F,eAAO,MAAM,gBAAgB,wBAAwB,SAAS,qBAAqB,IAAI;AAAA,MACzF;AAYA,YAAM,gBAAgB,wBAAwB,WAAW,SAAS,iBAAiB,KAAK;AACtF,YAAI,GAAG,MAAM;AAAA,UACX,aAAa,IAAI,IAAI,cAAc,MAAM,MAAM,gBAAgB,WAAW,SAAS,iBAAiB,CAAC;AAAA,UACrG,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QAC3D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,wBAAwB,oBAAoB,SAAS,OAAO;AAChF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,wBAAwB,4BAA4B,KAAK,MAAM;AAAA,IAC9F;AAUA,UAAM,gBAAgB,wBAAwB,8BAA8B,SAAS,KAAK,QAAQ;AAChG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,WAAW,2BAA2B;AACrF,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,wBAAwB,UAAU,kBAAkB,WAAW;AACnF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,wBAAwB,wBAAwB,MAAM,MAAM;AAClF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,wBAAwB,0BAA0B,SAAS,SAAS,QAAQ;AAChG,UAAI,IAAI;AACR,UAAI,QAAQ,cAAc;AAC1B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,WAAW;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,wBAAwB,UAAU,gBAAgB,WAAW;AACjF;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,gBAAgB,YAAY,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,gBAAgB,wBAAwB,UAAU,gBAAgB,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,wBAAwB,UAAU,kBAAkB,WAAW;AACnF,aAAO,KAAK,cAAc,MAAS;AAAA,IACrC;AAOA,UAAM,gBAAgB,wBAAwB,UAAU,gBAAgB,WAAW;AACjF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,wBAAwB,UAAU,kBAAkB,WAAW;AACnF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,wBAAwB,UAAU,kBAAkB,SAAS,OAAO;AACxF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,yBAAyB,UAAU,WAAW,SAAS,qBAAqB;AAChG,eAAO,MAAM,gBAAgB,yBAAyB,SAAS,qBAAqB,IAAI;AAAA,MAC1F;AAYA,YAAM,gBAAgB,yBAAyB,WAAW,SAAS,iBAAiB,KAAK;AACvF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UACrD,UAAU,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACrD,cAAc,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QAC3D;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,yBAAyB,oBAAoB,SAAS,OAAO;AACjF,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,yBAAyB,4BAA4B,KAAK,MAAM;AAAA,IAC/F;AAUA,UAAM,gBAAgB,yBAAyB,8BAA8B,SAAS,KAAK,QAAQ;AACjG,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,YAAY,KAAK;AACrB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,gBAAgB,KAAK;AACzB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,yBAAyB,UAAU,kBAAkB,WAAW;AACpF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,yBAAyB,wBAAwB,MAAM,MAAM;AACnF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,yBAAyB,0BAA0B,SAAS,SAAS,QAAQ;AACjG,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA;AAAA,MAA2B,KAAK,QAAQ,SAAS,SAAS,CAAC;AAC3D,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,gBAAgB;AAC5B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,yBAAyB,UAAU,UAAU,WAAW;AAC5E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,gBAAgB,yBAAyB,UAAU,UAAU,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,gBAAgB,yBAAyB,UAAU,aAAa,WAAW;AAC/E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,gBAAgB,yBAAyB,UAAU,aAAa,SAAS,OAAO;AACpF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,gBAAgB,yBAAyB,UAAU,eAAe,WAAW;AACjF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,gBAAgB,yBAAyB,UAAU,eAAe,SAAS,OAAO;AACtF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,gBAAgB,yBAAyB,UAAU,cAAc,WAAW;AAChF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,yBAAyB,UAAU,cAAc,SAAS,OAAO;AACrF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,KAAK;AAAA,IAC7C;AAOA,UAAM,gBAAgB,yBAAyB,UAAU,gBAAgB,WAAW;AAClF,aAAO,KAAK,QAAQ,SAAS,MAAM,GAAG,MAAS;AAAA,IACjD;AAOA,UAAM,gBAAgB,yBAAyB,UAAU,cAAc,WAAW;AAChF,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,yBAAyB,UAAU,kBAAkB,WAAW;AACpF;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,yBAAyB,UAAU,kBAAkB,SAAS,OAAO;AACzF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,WAAW,UAAU,WAAW,SAAS,qBAAqB;AAClF,eAAO,MAAM,gBAAgB,WAAW,SAAS,qBAAqB,IAAI;AAAA,MAC5E;AAYA,YAAM,gBAAgB,WAAW,WAAW,SAAS,iBAAiB,KAAK;AACzE,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACjD,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,QACpD;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,WAAW,oBAAoB,SAAS,OAAO;AACnE,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,WAAW,4BAA4B,KAAK,MAAM;AAAA,IACjF;AAUA,UAAM,gBAAgB,WAAW,8BAA8B,SAAS,KAAK,QAAQ;AACnF,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,WAAW,UAAU,kBAAkB,WAAW;AACtE,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,WAAW,wBAAwB,MAAM,MAAM;AACrE,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,WAAW,0BAA0B,SAAS,SAAS,QAAQ;AACnF,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,WAAW,UAAU,UAAU,WAAW;AAC9D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,WAAW,UAAU,UAAU,SAAS,OAAO;AACnE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,gBAAgB,WAAW,UAAU,WAAW,WAAW;AAC/D;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,WAAW,UAAU,WAAW,SAAS,OAAO;AACpE,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAMA,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,qBAAqB,UAAU,WAAW,SAAS,qBAAqB;AAC5F,eAAO,MAAM,gBAAgB,qBAAqB,SAAS,qBAAqB,IAAI;AAAA,MACtF;AAYA,YAAM,gBAAgB,qBAAqB,WAAW,SAAS,iBAAiB,KAAK;AACnF,YAAI,GAAG,MAAM;AAAA,UACX,aAAa,IAAI,IAAI,cAAc,MAAM,MAAM,gBAAgB,WAAW,SAAS,iBAAiB,CAAC;AAAA,UACrG,OAAO,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UAClD,SAAS,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACpD,SAAS,KAAK,QAAQ,oBAAoB,KAAK,GAAG,EAAE;AAAA,UACpD,oBAAoB,IAAI,IAAI,qBAAqB,KAAK,EAAE,SAAS,iBAAiB,MAAS,IAAI,CAAC;AAAA,UAChG,qBAAqB,IAAI,IAAI,sBAAsB,KAAK,EAAE,SAAS,iBAAiB,MAAM,OAAO,SAAS,IAAI,QAAQ,IAAI,CAAC;AAAA,QAC7H;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,qBAAqB,oBAAoB,SAAS,OAAO;AAC7E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,qBAAqB,4BAA4B,KAAK,MAAM;AAAA,IAC3F;AAUA,UAAM,gBAAgB,qBAAqB,8BAA8B,SAAS,KAAK,QAAQ;AAC7F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,WAAW,2BAA2B;AACrF,gBAAI,cAAc,KAAK;AACvB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,qBAAqB;AACrC,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,YAAY,MAAM,IAAI,EAAE;AAAA,YACvI,CAAC;AACJ;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,sBAAsB;AACtC,mBAAO,YAAY,OAAO,SAAS,SAASA,SAAQ;AAClD,mBAAK,IAAI,kBAAkB,SAASA,SAAQ,KAAK,aAAa,UAAU,YAAY,KAAK,aAAa,UAAU,aAAa,MAAM,OAAO,SAAS,IAAI,6BAA6B,IAAI,IAAI,MAAM,OAAO,SAAS,IAAI,CAAC;AAAA,YACtN,CAAC;AACJ;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,kBAAkB,WAAW;AAChF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,qBAAqB,wBAAwB,MAAM,MAAM;AAC/E,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,qBAAqB,0BAA0B,SAAS,SAAS,QAAQ;AAC7F,UAAI,IAAI;AACR,UAAI,QAAQ,cAAc;AAC1B,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,WAAW;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,qBAAqB,IAAI;AACrC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,WAAW;AAAA,MAC/G;AACA,UAAI,QAAQ,sBAAsB,IAAI;AACtC,UAAI,KAAK,EAAE,UAAU,IAAI,GAAG;AAC1B,UAAE,gBAAgB,GAAG,QAAQ,KAAK,aAAa,UAAU,aAAa,KAAK,aAAa,UAAU,cAAc,MAAM,OAAO,SAAS,IAAI,uBAAuB;AAAA,MACnK;AAAA,IACF;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,gBAAgB,WAAW;AAC9E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,MAAM,gBAAgB,YAAY,CAAC;AAAA;AAAA,IAC1E;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,gBAAgB,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,kBAAkB,WAAW;AAChF,aAAO,KAAK,cAAc,MAAS;AAAA,IACrC;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,gBAAgB,WAAW;AAC9E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,WAAW,WAAW;AACzE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,WAAW,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,aAAa,WAAW;AAC3E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,aAAa,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,aAAa,WAAW;AAC3E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,EAAE;AAAA;AAAA,IAC5E;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,aAAa,SAAS,OAAO;AAChF,aAAO,KAAK,QAAQ,qBAAqB,MAAM,GAAG,KAAK;AAAA,IACzD;AASA,UAAM,gBAAgB,qBAAqB,UAAU,uBAAuB,SAAS,kBAAkB;AACrG;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC;AAAA,QAAI;AAAA;AAAA,IACV;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,yBAAyB,WAAW;AACvF,WAAK,qBAAqB,EAAE,MAAM;AAClC,aAAO;AAAA,IAAK;AASd,UAAM,gBAAgB,qBAAqB,UAAU,wBAAwB,SAAS,kBAAkB;AACtG;AAAA;AAAA,QACI,KAAK,QAAQ;AAAA,UAAY;AAAA,UAAM;AAAA,UAAG;AAAA,UAClC,MAAM,OAAO,SAAS;AAAA,QAAG;AAAA;AAAA,IAC/B;AAOA,UAAM,gBAAgB,qBAAqB,UAAU,0BAA0B,WAAW;AACxF,WAAK,sBAAsB,EAAE,MAAM;AACnC,aAAO;AAAA,IAAK;AASd,UAAM,gBAAgB,sBAAsB,kBAAkB,CAAC,GAAE,CAAC;AAIlE,QAAI,KAAK,QAAQ,oBAAoB;AAarC,YAAM,gBAAgB,sBAAsB,UAAU,WAAW,SAAS,qBAAqB;AAC7F,eAAO,MAAM,gBAAgB,sBAAsB,SAAS,qBAAqB,IAAI;AAAA,MACvF;AAYA,YAAM,gBAAgB,sBAAsB,WAAW,SAAS,iBAAiB,KAAK;AACpF,YAAI,GAAG,MAAM;AAAA,UACX,MAAM,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UAChD,SAAS,KAAK,QAAQ,2BAA2B,KAAK,GAAG,KAAK;AAAA,UAC9D,WAAW,KAAK,QAAQ,oBAAoB,KAAK,GAAG,CAAC;AAAA,UACrD,UAAU,KAAK,QAAQ;AAAA,YAAa,IAAI,YAAY;AAAA,YACpD,MAAM,gBAAgB,WAAW;AAAA,YAAU;AAAA,UAAe;AAAA,UAC1D,QAAQ,IAAI,IAAI,SAAS,MAAM,UAAU,MAAM,SAAS,iBAAiB,CAAC;AAAA,UAC1E,aAAa,KAAK,QAAQ;AAAA,YAAa,IAAI,eAAe;AAAA,YAC1D,UAAU,OAAO;AAAA,YAAU;AAAA,UAAe;AAAA,QAC5C;AAEA,YAAI,iBAAiB;AACnB,cAAI,uBAAuB;AAAA,QAC7B;AACA,eAAO;AAAA,MACT;AAAA,IACA;AAQA,UAAM,gBAAgB,sBAAsB,oBAAoB,SAAS,OAAO;AAC9E,UAAI,SAAS,IAAI,KAAK,aAAa,KAAK;AACxC,UAAI,MAAM,IAAI,MAAM,gBAAgB;AACpC,aAAO,MAAM,gBAAgB,sBAAsB,4BAA4B,KAAK,MAAM;AAAA,IAC5F;AAUA,UAAM,gBAAgB,sBAAsB,8BAA8B,SAAS,KAAK,QAAQ;AAC9F,aAAO,OAAO,UAAU,GAAG;AACzB,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA,QACF;AACA,YAAI,QAAQ,OAAO,eAAe;AAClC,gBAAQ,OAAO;AAAA,UACf,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,UAAU;AAAA;AACpD,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAAgC,OAAO,SAAS;AAAA;AACpD,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF,KAAK;AACH,gBAAI;AAAA;AAAA,cAA+B,OAAO,WAAW;AAAA;AACrD,gBAAI,aAAa,KAAK;AACtB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,MAAM,gBAAgB;AACtC,mBAAO,YAAY,OAAM,MAAM,gBAAgB,WAAW,2BAA2B;AACrF,gBAAI,QAAQ,KAAK;AACjB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,MAAM,2BAA2B;AACpE,gBAAI,SAAS,KAAK;AAClB;AAAA,UACF,KAAK;AACH,gBAAI,QAAQ,IAAI,UAAU;AAC1B,mBAAO,YAAY,OAAM,UAAU,OAAO,2BAA2B;AACrE,gBAAI,WAAW,KAAK;AACpB;AAAA,UACF;AACE,mBAAO,UAAU;AACjB;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,kBAAkB,WAAW;AACjF,UAAI,SAAS,IAAI,KAAK,aAAa;AACnC,YAAM,gBAAgB,sBAAsB,wBAAwB,MAAM,MAAM;AAChF,aAAO,OAAO,gBAAgB;AAAA,IAChC;AAUA,UAAM,gBAAgB,sBAAsB,0BAA0B,SAAS,SAAS,QAAQ;AAC9F,UAAI,IAAI;AACR,UAAI,QAAQ,QAAQ;AACpB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACvB,UAAI,GAAG;AACL,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACzB,UAAI,MAAM,GAAG;AACX,eAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,YAAY;AACxB,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,MAAM,gBAAgB,WAAW;AAAA,QACnC;AAAA,MACF;AACA,UAAI,QAAQ,SAAS;AACrB,UAAI,KAAK,MAAM;AACb,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,MAAM;AAAA,QAClB;AAAA,MACF;AACA,UAAI,QAAQ,eAAe;AAC3B,UAAI,EAAE,SAAS,GAAG;AAChB,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,UAAU,OAAO;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,UAAU,WAAW;AACzE;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,UAAU,SAAS,OAAO;AAC9E,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,aAAa,WAAW;AAC5E;AAAA;AAAA,QAA+B,KAAK,QAAQ,2BAA2B,MAAM,GAAG,KAAK;AAAA;AAAA,IACvF;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,aAAa,SAAS,OAAO;AACjF,aAAO,KAAK,QAAQ,sBAAsB,MAAM,GAAG,KAAK;AAAA,IAC1D;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,eAAe,WAAW;AAC9E;AAAA;AAAA,QAA8B,KAAK,QAAQ,oBAAoB,MAAM,GAAG,CAAC;AAAA;AAAA,IAC3E;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,eAAe,SAAS,OAAO;AACnF,aAAO,KAAK,QAAQ,kBAAkB,MAAM,GAAG,KAAK;AAAA,IACtD;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,cAAc,WAAW;AAC7E;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,MAAM,gBAAgB,YAAY,CAAC;AAAA;AAAA,IAClF;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,cAAc,SAAS,OAAO;AAClF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,gBAAgB,sBAAsB,UAAU,UAAU,SAAS,WAAW,WAAW;AAC7F,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,gBAAgB,YAAY,SAAS;AAAA,IAC/G;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,gBAAgB,WAAW;AAC/E,aAAO,KAAK,YAAY,CAAC,CAAC;AAAA,IAC5B;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,WAAW,WAAW;AAC1E;AAAA;AAAA,QACE,KAAK,QAAQ,gBAAgB,MAAM,UAAU,OAAO,CAAC;AAAA;AAAA,IACzD;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,WAAW,SAAS,OAAO;AAC/E,aAAO,KAAK,QAAQ,gBAAgB,MAAM,GAAG,KAAK;AAAA,IACpD;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,aAAa,WAAW;AAC5E,aAAO,KAAK,SAAS,MAAS;AAAA,IAChC;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,WAAW,WAAW;AAC1E,aAAO,KAAK,QAAQ,SAAS,MAAM,CAAC,KAAK;AAAA,IAC3C;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,iBAAiB,WAAW;AAChF;AAAA;AAAA,QACE,KAAK,QAAQ,wBAAwB,MAAM,UAAU,QAAQ,CAAC;AAAA;AAAA,IAClE;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,iBAAiB,SAAS,OAAO;AACrF,aAAO,KAAK,QAAQ,wBAAwB,MAAM,GAAG,KAAK;AAAA,IAC5D;AAQA,UAAM,gBAAgB,sBAAsB,UAAU,aAAa,SAAS,WAAW,WAAW;AAChG,aAAO,KAAK,QAAQ,0BAA0B,MAAM,GAAG,WAAW,MAAM,QAAQ,SAAS;AAAA,IAC3F;AAOA,UAAM,gBAAgB,sBAAsB,UAAU,mBAAmB,WAAW;AAClF,aAAO,KAAK,eAAe,CAAC,CAAC;AAAA,IAC/B;AAGA,SAAK,OAAO,OAAO,SAAS,MAAM,eAAe;AAAA;AAAA;;;ACvhOjD;AAAA;AAAA;AAGA,QAAI,qBAAqB;AACzB,QAAIC,QAAO,UAAQ,0BAA0B,EAAE;AAE/C,QAAIC,0BAA0B,WAAY;AACxC,eAASA,0BAAyB;AAAA,MAAC;AACnC,MAAAA,wBAAuB,cAAc;AACrC,aAAOA;AAAA,IACT,EAAE;AAEF,IAAAA,wBAAuB,OAAO;AAAA,MAC5B,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,mBAAmB;AAAA,MAChC,cAAc,mBAAmB;AAAA,IACnC;AAEA,IAAAA,wBAAuB,aAAa;AAAA,MAClC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,mBAAmB;AAAA,MAChC,cAAc,mBAAmB;AAAA,IACnC;AAEA,IAAAA,wBAAuB,YAAY;AAAA,MACjC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,mBAAmB;AAAA,MAChC,cAAc,mBAAmB;AAAA,IACnC;AAEA,IAAAA,wBAAuB,YAAY;AAAA,MACjC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,mBAAmB;AAAA,MAChC,cAAc,mBAAmB;AAAA,IACnC;AAEA,IAAAA,wBAAuB,mBAAmB;AAAA,MACxC,YAAY;AAAA,MACZ,SAASA;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,aAAa,mBAAmB;AAAA,MAChC,cAAc,mBAAmB;AAAA,IACnC;AAEA,YAAQ,yBAAyBA;AAEjC,aAAS,6BAA6B,aAAa,SAAS;AAC1D,WAAK,cAAc;AACnB,WAAK,UAAU,WAAW,CAAC;AAAA,IAC7B;AAEA,iCAA6B,UAAU,OAAO,SAAS,KAAK,gBAAgB,UAAU,UAAU;AAC9F,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASD,MAAK,MAAMC,wBAAuB,MAAM;AAAA,QACnD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,iCAA6B,UAAU,aAAa,SAAS,WAAW,UAAU;AAChF,UAAI,YAAY;AAAA,QACd,MAAM,CAAC;AAAA,QACP,KAAK,CAAC;AAAA,QACN,QAAQ,CAAC;AAAA,MACX;AACA,UAAI,SAASA,MAAK,OAAOC,wBAAuB,YAAY;AAAA,QAC1D,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,MAC1B,CAAC;AACD,aAAO,MAAM,SAAU,QAAQ,eAAe,UAAU;AACtD,kBAAU,OAAO,QAAQ,SAAU,SAAS;AAC1C,kBAAQ,EAAE,MAAM,QAAQ,SAAS,eAAe,UAAU,SAAS,CAAC;AAAA,QACtE,CAAC;AACD,kBAAU,IAAI,QAAQ,SAAU,SAAS;AACvC,kBAAQ,EAAE,MAAM,QAAQ,SAAS,eAAe,UAAU,SAAS,CAAC;AAAA,QACtE,CAAC;AACD,oBAAY;AAAA,MACd,CAAC;AACD,aAAO,UAAU,SAAU,SAAS;AAClC,kBAAU,KAAK,QAAQ,SAAU,SAAS;AACxC,kBAAQ,OAAO;AAAA,QACjB,CAAC;AAAA,MACH,CAAC;AACD,aAAO,MAAM,QAAQ;AACrB,aAAO;AAAA,QACL,IAAI,SAAU,MAAM,SAAS;AAC3B,oBAAU,IAAI,EAAE,KAAK,OAAO;AAC5B,iBAAO;AAAA,QACT;AAAA,QACA,OAAO,SAAU,gBAAgB;AAC/B,iBAAO,KAAK,cAAc;AAC1B,iBAAO;AAAA,QACT;AAAA,QACA,KAAK,WAAY;AACf,iBAAO,WAAW;AAAA,QACpB;AAAA,QACA,QAAQ,WAAY;AAClB,sBAAY;AACZ,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,iCAA6B,UAAU,YAAY,SAAS,UAAU,gBAAgB,UAAU,UAAU;AACxG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASD,MAAK,MAAMC,wBAAuB,WAAW;AAAA,QACxD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,iCAA6B,UAAU,YAAY,SAAS,UAAU,gBAAgB,UAAU,UAAU;AACxG,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASA,MAAK,MAAMC,wBAAuB,WAAW;AAAA,QACxD,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,iCAA6B,UAAU,mBAAmB,SAAS,iBAAiB,gBAAgB,UAAU,UAAU;AACtH,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,UAAU,CAAC;AAAA,MACxB;AACA,UAAI,SAASA,MAAK,MAAMC,wBAAuB,kBAAkB;AAAA,QAC/D,SAAS;AAAA,QACT,MAAM,KAAK;AAAA,QACX;AAAA,QACA,WAAW,KAAK,QAAQ;AAAA,QACxB,OAAO,KAAK,QAAQ;AAAA,QACpB,OAAO,SAAU,UAAU;AACzB,cAAI,UAAU;AACZ,gBAAI,SAAS,WAAWD,MAAK,KAAK,IAAI;AACpC,kBAAI,MAAM,IAAI,MAAM,SAAS,aAAa;AAC1C,kBAAI,OAAO,SAAS;AACpB,kBAAI,WAAW,SAAS;AACxB,uBAAS,KAAK,IAAI;AAAA,YACpB,OAAO;AACL,uBAAS,MAAM,SAAS,OAAO;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AACD,aAAO;AAAA,QACL,QAAQ,WAAY;AAClB,qBAAW;AACX,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,+BAA+B;AAAA;AAAA;;;ACjNvC,YAAY,WAAW;AAQhB,SAAS,mBAAmB,OAAmB;AAEpD,QAAM,EAAE,uBAAuB,0BAA0B,IAAU;AAAA,IACjE,MAAM,qBAAqB,KAAK;AAAA,IAChC,CAAC;AAAA,EACH;AAGA,SAAO,EAAE,uBAAuB,0BAA0B;AAC5D;AAOA,SAAS,qBAAqB,OAAmB;AAO/C,QAAM,wBAAwB,OAC5B,WACA,MACA,aACA,UACG;AACH,UAAM,MAAM,oBAAoB,WAAW;AAAA,MACzC;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAEA,QAAM,4BAA4B,OAChC,WACA,UACG;AACH,UAAM,MAAM,oBAAoB,WAAW;AAAA,MACzC;AAAA,QACE,MAAM;AAAA,QACN,aAAa;AAAA,QACb;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;;;AC/DA,YAAYE,YAAW;AAQhB,SAAS,wBAAwB,OAAmB;AAEzD,QAAM,EAAE,2BAA2B,2BAA2B,IACtD,eAAQ,MAAM,0BAA0B,KAAK,GAAG,CAAC,CAAC;AAG1D,SAAO,EAAE,2BAA2B,2BAA2B;AACjE;AAOA,SAAS,0BAA0B,OAAmB;AAOpD,QAAM,6BAA6B,OACjC,MACA,aACA,UACG;AACH,UAAM,MAAM,yBAAyB;AAAA,MACnC;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAEA,QAAM,4BAA4B,OAAO,UAAoB;AAC3D,UAAM,MAAM,yBAAyB;AAAA,MACnC;AAAA,QACE,MAAM;AAAA,QACN,aAAa;AAAA,QACb;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;;;ACzDA,YAAYC,YAAW;AAUhB,SAAS,gBAAgB,OAAmB;AAIjD,QAAM,EAAE,oBAAoB,sBAAsB,IAAU;AAAA,IAC1D,OAAO;AAAA,MACL,oBAAoB,YAAY;AAC9B,YAAI,CAAC,MAAO,OAAM,IAAI,MAAM,mCAAmC;AAC/D,cAAM,MAAM,QAAQ;AAAA,MACtB;AAAA,MACA,uBAAuB,YAAY;AACjC,YAAI,CAAC,MAAO,OAAM,IAAI,MAAM,mCAAmC;AAC/D,cAAM,MAAM,WAAW;AAAA,MACzB;AAAA,IACF;AAAA,IACA,CAAC,KAAK;AAAA;AAAA,EACR;AAGA,QAAM,aAAmB;AAAA,IACvB,MAAO,QAAQ,4BAA4B,KAAK,IAAI;AAAA,IACpD,CAAC,KAAK;AAAA;AAAA,EACR;AAGA,QAAM,EAAE,aAAa,aAAa,IAAI,mBAAmB,YAAY;AAAA,IACnE,aAAa,OAAO,eAAe;AAAA;AAAA,IACnC,cAAc,OAAO;AAAA,EACvB,CAAC;AAGD,SAAO,EAAE,oBAAoB,uBAAuB,aAAa,aAAa;AAChF;;;ACxCA,YAAYC,YAAW;AAShB,SAAS,wBAAwB,OAAmB;AACzD,QAAM,EAAE,kBAAkB,kBAAkB,IAAU;AAAA,IACpD,OAAO;AAAA,MACL,kBAAkB,YAAY;AAC5B,YAAI,CAAC,MAAO,OAAM,IAAI,MAAM,mCAAmC;AAC/D,YAAI,MAAM,mBAAmB,aAAa,8BAA0B;AACpE,cAAM,MAAM,iCAA4B;AAAA,MAC1C;AAAA,MACA,mBAAmB,YAAY;AAC7B,YAAI,CAAC,MAAO,OAAM,IAAI,MAAM,mCAAmC;AAC/D,YAAI,MAAM,mBAAmB,aAAa,gCAA2B;AACrE,cAAM,MAAM,mCAA6B;AAAA,MAC3C;AAAA,IACF;AAAA,IACA,CAAC,KAAK;AAAA,EACR;AAEA,QAAM,aAAmB;AAAA,IACvB,MAAO,QAAQ,yBAAyB,KAAK,IAAI;AAAA,IACjD,CAAC,KAAK;AAAA,EACR;AAEA,QAAM,EAAE,QAAQ,IAAI,mBAAmB,YAAY;AAAA,IACjD,SAAS,MAAM,mBAAmB,aAAa;AAAA,EACjD,CAAC;AAED,SAAO,EAAE,kBAAkB,mBAAmB,QAAQ;AACxD;;;ACrCA,YAAYC,YAAW;AAUhB,SAAS,aAAa,OAAmB;AAE9C,QAAM,EAAE,YAAY,cAAc,iBAAiB,IAAU;AAAA,IAC3D,OAAO;AAAA,MACL,YAAY,MAAM;AAChB,YAAI,CAAC,MAAO,OAAM,IAAI,MAAM,mCAAmC;AAC/D,cAAM,KAAK;AAAA,MACb;AAAA,MACA,cAAc,MAAM;AAClB,YAAI,CAAC,MAAO,OAAM,IAAI,MAAM,mCAAmC;AAC/D,cAAM,OAAO;AAAA,MACf;AAAA,MACA,kBAAkB,MAAM;AACtB,YAAI,CAAC,MAAO,OAAM,IAAI,MAAM,mCAAmC;AAC/D,eAAO,MAAM,WAAW;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,CAAC,KAAK;AAAA,EACR;AAGA,QAAM,aAAmB;AAAA,IACvB,MAAO,QAAQ,sBAAsB,KAAK,IAAI;AAAA,IAC9C,CAAC,KAAK;AAAA,EACR;AAGA,QAAM,EAAE,QAAQ,IAAI,mBAAmB,YAAY;AAAA,IACjD,SAAS,OAAO,WAAW;AAAA,EAC7B,CAAC;AAGD,SAAO,EAAE,YAAY,cAAc,kBAAkB,QAAQ;AAC/D;;;AC5CO,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,oBAAA,sBAAmB;AAGnB,EAAAA,oBAAA,cAAW;AAGX,EAAAA,oBAAA,iBAAc;AAGd,EAAAA,oBAAA,WAAQ;AAXE,SAAAA;AAAA,GAAA;;;ACAZ,uBAA0C;;;ACC1C,SAAS,WAAW;AAEpB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP,SAAS,KAAK,YAAwB,eAA4B;AAChE,QAAM,WAAW,IAAI,IAAI;AACzB,WAAS,KAAK,YAAY,aAAa;AACvC,SAAO;AACT;AAGO,SAAS,iBAAiB,QAAuB;AACtD,SAAO,OAAO,IAAI,CAAC,MAAM;AACvB,WAAO,YAAY,CAAC;AAAA,EACtB,CAAC;AACH;AAGO,SAAS,YAAY,OAAoB;AAC9C,QAAM,cAAc,IAAI,YAAY;AACpC,cAAY,SAAS,KAAK;AAC1B,QAAM,aAAa,YAAY,gBAAgB;AAC/C,SAAO,KAAK,YAAY,iDAAiD;AAC3E;AAGO,SAAS,YAAY,UAAuB;AACjD,QAAM,cAAc,YAAY,kBAAkB,SAAS,cAAc,CAAC;AAC1E,SAAO,YAAY,SAAS;AAC9B;AAGO,SAAS,WAAW,OAAoB;AAC7C,QAAM,cAAc,IAAI,YAAY;AACpC,cAAY,SAAS,KAAK;AAC1B,QAAM,aAAa,YAAY,gBAAgB;AAC/C,SAAO,KAAK,YAAY,iDAAiD;AAC3E;AAGO,SAAS,WAAW,UAAuB;AAChD,QAAM,cAAc,YAAY,kBAAkB,SAAS,cAAc,CAAC;AAC1E,SAAO,YAAY,SAAS;AAC9B;AAGO,SAAS,WAAW,OAAoB;AAC7C,QAAM,aAAa,IAAI,WAAW;AAClC,aAAW,SAAS,KAAK;AACzB,QAAM,aAAa,WAAW,gBAAgB;AAC9C,SAAO,KAAK,YAAY,gDAAgD;AAC1E;AAGO,SAAS,WAAW,UAAuB;AAChD,QAAM,aAAa,WAAW,kBAAkB,SAAS,cAAc,CAAC;AACxE,SAAO,WAAW,SAAS;AAC7B;AAGO,SAAS,UAAU,OAAqB;AAC7C,QAAM,YAAY,IAAI,UAAU;AAChC,YAAU,SAAS,KAAK;AACxB,QAAM,aAAa,UAAU,gBAAgB;AAC7C,SAAO,KAAK,YAAY,+CAA+C;AACzE;AAGO,SAAS,UAAU,UAAwB;AAChD,QAAM,YAAY,UAAU,kBAAkB,SAAS,cAAc,CAAC;AACtE,SAAO,UAAU,SAAS;AAC5B;AAGO,SAAS,WAAW,OAAwB;AACjD,QAAM,aAAa,IAAI,WAAW;AAClC,aAAW,SAAS,KAAK;AACzB,QAAM,aAAa,WAAW,gBAAgB;AAC9C,SAAO,KAAK,YAAY,gDAAgD;AAC1E;AAGO,SAAS,UAAU,OAAoB;AAC5C,QAAM,aAAa,KAAK,UAAU,KAAK;AACvC,QAAM,cAAc,IAAI,YAAY;AACpC,cAAY,SAAS,UAAU;AAC/B,QAAM,aAAa,YAAY,gBAAgB;AAC/C,SAAO,KAAK,YAAY,iDAAiD;AAC3E;AAGO,SAAS,UAAU,UAAuB;AAC/C,QAAM,cAAc,YAAY,kBAAkB,SAAS,cAAc,CAAC;AAC1E,SAAO,KAAK,MAAM,YAAY,SAAS,CAAC;AAC1C;AAEO,SAAS,YACd,UACqB;AACrB,QAAM,SAA8B,CAAC;AACrC,WAAS,QAAQ,CAAC,OAAO,QAAQ;AAC/B,QAAI;AACF,UAAI,iBAAiB,KAAK;AAExB,eAAO,GAAG,IAAI,IAAI,YAAY,EAAE,OAAO,MAAM,cAAc,CAAC;AAAA,MAC9D,OAAO;AACL,eAAO,GAAG,IAAI;AAAA,MAChB;AAAA,IACF,SAAS,GAAG;AAAA,IAAC;AAAA,EACf,CAAC;AAED,SAAO;AACT;;;ADnHA,yBAIO;AAKA,IAAM,eAAN,MAAmB;AAAA;AAAA,EAExB,WAAsB,uCAA4B;AAAA;AAAA,EAGlD;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,IAAI,2BAAyC;AAC3C,UAAM,MAAM,IAAI,gCAAa;AAC7B,QAAI,KAAK,iCAA2B;AAClC,YAAM,QAAQ,IAAI,+BAAY;AAG9B,UAAI,SAAS,KAAK;AAAA,IACpB,WAAW,KAAK,+BAA0B;AACxC,YAAM,OAAO,IAAI,8BAAW;AAC5B,UAAI,QAAQ,IAAI;AAAA,IAClB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,YACE,UACA,SACA,UACA,YACA;AACA,SAAK,WAAW;AAChB,QAAI,QAAS,MAAK,UAAU;AAC5B,QAAI,SAAU,MAAK,SAAS;AAC5B,SAAK,aAAa;AAAA,EACpB;AAEF;AAKO,IAAM,gBAAN,MAAoB;AAAA;AAAA,EAEzB,WAAsB,uCAA4B;AAAA;AAAA,EAGlD;AAAA;AAAA,EAGA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,4BAA0C;AAC5C,UAAM,MAAM,IAAI,gCAAa;AAC7B,QAAI,KAAK,iCAA2B;AAClC,YAAM,QAAQ,IAAI,+BAAY;AAC9B,UAAI,SAAS,KAAK;AAAA,IACpB,WAAW,KAAK,+BAA0B;AACxC,YAAM,OAAO,IAAI,8BAAW;AAC5B,UAAI,QAAQ,IAAI;AAAA,IAClB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,YAAY,UAAqB,SAAmB,UAAmB;AACrE,SAAK,WAAW;AAChB,QAAI,QAAS,MAAK,UAAU;AAC5B,QAAI,SAAU,MAAK,SAAS;AAAA,EAC9B;AACF;AAEO,IAAM,iBAAN,MAAqB;AAAA;AAAA,EAE1B;AAAA;AAAA,EAGA;AAAA,EAGA,YAAY,IAAY,MAAe;AACrC,SAAK,KAAK;AACV,SAAK,OAAO;AAAA,EAEd;AACF;AAKO,IAAM,cAAN,MAAkB;AAAA;AAAA;AAAA;AAAA,EAIvB;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,YACE,IACA,eAA6B,IAAI,aAAa;AAAA;AAAA;AAAA,EAG9C,oBAAe,GACf,gBAA+B,IAAI,cAAc,uCAA4B,oBAAe,GAC5F,SACA,UACA,SACA,UACA,gBACA;AACA,SAAK,KAAK;AACV,SAAK,UAAU;AACf,SAAK,YAAY;AACjB,SAAK,UAAU;AACf,SAAK,WAAW;AAChB,SAAK,eAAe;AACpB,SAAK,gBAAgB;AACrB,SAAK,iBAAiB;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAI,aAAkC;AACpC,UAAM,MAAM,IAAI,qCAAoB;AACpC,QAAI,eAAe,KAAK,EAAE;AAC1B,QAAI,KAAK,SAAS;AAChB,UAAI,WAAW,KAAK,OAAO;AAAA,IAC7B;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAY,UAA0B;AACpC,QAAI,KAAK,WAAW,OAAW,MAAK,UAAU,oBAAI,IAAI;AACtD,SAAK,QAAQ,UAAU,IAAI,iBAAiB,QAAQ;AACpD,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,gBAAgB,GAAW,KAAuC;AAChE,QAAI,KAAK,WAAW,OAAW,MAAK,UAAU,oBAAI,IAAI;AACtD,SAAK,QAAQ,IAAI,GAAG,GAAG;AACvB,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,YAAY,GAAW,MAAwC;AAC7D,QAAI,KAAK,YAAY,OAAW,MAAK,WAAW,oBAAI,IAAI;AACxD,SAAK,SAAS,IAAI,GAAG,IAAI;AACzB,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,YAAY,GAAW,OAAqB;AAC1C,QAAI,KAAK,aAAa,OAAW,MAAK,YAAY,oBAAI,IAAI;AAC1D,SAAK,WAAW,IAAI,GAAG,YAAY,KAAK,CAAC;AACzC,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,kBAAkB,IAAY,MAAqB;AACjD,SAAK,iBAAiB,IAAI,eAAe,IAAI,IAAI;AACjD,WAAO;AAAA,EACT;AAEF;;;AEnQA,SAAS,UAAU,WAAW,cAAc;AAuBrC,IAAM,oCAAoC,CAC/C,cACA,QAAgB,GAChB,SAAiB,KACjB,SAAiB,MACd;AACH,QAAM,CAAC,gBAAgB,iBAAiB,IAAI;AAAA,IAC1C,MAAM,KAAK,EACR,KAAK,CAAC,CAAC,EACP,IAAI,MAAM,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;AAAA,EAChC;AAGA,QAAM,eAAe;AAAA,IACnB,MAAM,KAAK,EACR,KAAK,CAAC,CAAC,EACP,IAAI,MAAM,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;AAAA,EAChC;AAEA,YAAU,MAAM;AACd,QAAI;AACJ,QAAI,iBAAiB;AACrB,UAAM,iBAAiB;AAEvB,UAAM,eAAe,CAAC,cAAsB;AAE1C,UAAI,YAAY,iBAAiB,gBAAgB;AAC/C,2BAAmB,sBAAsB,YAAY;AACrD;AAAA,MACF;AACA,uBAAiB;AAEjB,YAAM,cAAc,cAAc,0BAA0B;AAC5D,UAAI,CAAC,eAAe,YAAY,WAAW,GAAG;AAC5C,2BAAmB,sBAAsB,YAAY;AACrD;AAAA,MACF;AAOA,YAAM,YAAY,YAAY;AAI9B,YAAM,aAAyB,CAAC;AAEhC,eAAS,YAAY,GAAG,YAAY,OAAO,aAAa;AAGtD,cAAM,iBAAiB,KAAK,IAAI,YAAY,OAAO,GAAG,KAAK,SAAS,UAAU;AAC9E,cAAM,eAAe,KAAK,KAAK,YAAY,KAAK,OAAO,GAAG,KAAK,SAAS,UAAU;AAElF,cAAM,YAAY,KAAK,MAAM,YAAY,cAAc;AACvD,cAAM,UAAU,KAAK,IAAI,KAAK,MAAM,YAAY,YAAY,GAAG,SAAS;AAGxE,cAAM,aAAa,KAAK,IAAI,UAAU,WAAW,CAAC;AAClD,cAAM,kBAA4B,IAAI,MAAM,UAAU;AACtD,iBAAS,IAAI,GAAG,IAAI,YAAY,KAAK;AAEnC,gBAAM,cAAc,YAAY,YAAY,CAAC,KAAK,KAAK;AAEvD,0BAAgB,CAAC,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,YAAY,GAAG,IAAI,GAAG,CAAC;AAAA,QAC/E;AAGA,cAAM,gBAAgB,cAAc,iBAAiB,EAAE;AACvD,mBAAW,KAAK,aAAa;AAAA,MAC/B;AAGA,YAAM,gBAAgB,WAAW,IAAI,CAAC,iBAAiB,cAAc;AACnE,cAAM,WAAW,aAAa,QAAQ,SAAS,KAAK;AAGpD,eAAO,gBAAgB,IAAI,CAAC,MAAM,MAAM;AACtC,gBAAM,YAAY,SAAS,CAAC,KAAK;AAEjC,gBAAM,kBAAkB,OAAO,YAAY,MAAM;AACjD,iBAAO,OAAO,kBAAkB,aAAa,IAAI;AAAA,QACnD,CAAC;AAAA,MACH,CAAC;AAGD,mBAAa,UAAU;AAEvB,wBAAkB,aAAa;AAC/B,yBAAmB,sBAAsB,YAAY;AAAA,IACvD;AAGA,UAAM,gBAAgB,CAAC,KAAe,cAAgC;AACpE,UAAI,IAAI,WAAW,EAAG,QAAO,IAAI,MAAM,SAAS,EAAE,KAAK,CAAC;AAExD,YAAM,SAAS,IAAI,MAAM,SAAS;AAClC,YAAM,WAAW,IAAI,SAAS;AAE9B,eAAS,IAAI,GAAG,IAAI,WAAW,KAAK;AAClC,cAAM,QAAQ,KAAK,MAAM,IAAI,QAAQ;AACrC,cAAM,MAAM,KAAK,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,MAAM;AAC/D,YAAI,MAAM;AACV,YAAI,QAAQ;AAEZ,iBAAS,IAAI,OAAO,IAAI,KAAK,KAAK;AAChC,iBAAO,IAAI,CAAC,KAAK;AACjB;AAAA,QACF;AAEA,eAAO,CAAC,IAAI,QAAQ,IAAI,MAAM,QAAQ;AAAA,MACxC;AAEA,aAAO;AAAA,IACT;AAGA,uBAAmB,sBAAsB,YAAY;AAErD,WAAO,MAAM;AACX,UAAI,kBAAkB;AACpB,6BAAqB,gBAAgB;AAAA,MACvC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,cAAc,QAAQ,QAAQ,KAAK,CAAC;AAExC,SAAO;AACT;AA8FO,IAAM,mCAAmC,CAC9C,cACA,QAAgB,GAChB,SAAiB,KACjB,SAAiB,MACd;AACH,QAAM,CAAC,gBAAgB,iBAAiB,IAAI;AAAA,IAC1C,MAAM,KAAK,EACR,KAAK,CAAC,CAAC,EACP,IAAI,MAAM,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;AAAA,EAChC;AACA,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAKvC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,EAAE,CAAC;AAEtD,QAAM,YAAY,OAAe,KAAK,IAAI,CAAC;AAC3C,QAAM,eAAe;AAAA,IACnB,MAAM,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,MAAM,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;AAAA,EACnD;AAEA,YAAU,MAAM;AACd,UAAM,eAAe,MAAM;AACzB,YAAM,cAAc,cAAc,2BAA2B;AAC7D,UAAI,CAAC,eAAe,YAAY,WAAW,EAAG;AAE9C,YAAM,aAAa,KAAK,MAAM,YAAY,SAAS,MAAM;AACzD,YAAM,WAAW,KAAK,MAAM,YAAY,SAAS,MAAM;AAGvD,YAAM,eAAe,WAAW;AAChC,YAAM,iBAAiB,KAAK,MAAM,eAAe,KAAK;AACtD,YAAM,aAAyB,CAAC;AAEhC,eAAS,YAAY,GAAG,YAAY,OAAO,aAAa;AACtD,cAAM,YAAY,YAAY;AAC9B,cAAM,UACJ,cAAc,QAAQ,IAClB,gBACC,YAAY,KAAK;AAGxB,cAAM,aAAa,UAAU;AAC7B,cAAM,kBAA4B,IAAI,MAAM,UAAU;AACtD,iBAAS,IAAI,GAAG,IAAI,YAAY,KAAK;AAEnC,gBAAM,YAAY,YAAY,aAAa,YAAY,CAAC,KAAK;AAC7D,0BAAgB,CAAC,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,YAAY,GAAG,CAAC;AAAA,QAC/D;AAGA,cAAM,gBAAgB,cAAc,iBAAiB,EAAE;AACvD,mBAAW,KAAK,aAAa;AAAA,MAC/B;AAGA,YAAM,YAAY,aAAa;AAC/B,YAAM,gBACJ,UAAU,WAAW,QACjB,aACA,WAAW,IAAI,CAAC,iBAAiB,cAAc;AAC7C,YAAI,CAAC,UAAU,SAAS,EAAG,QAAO;AAClC,cAAM,kBAAkB;AACxB,eAAO,gBAAgB,IAAI,CAAC,MAAM,MAAM;AACtC,gBAAM,YAAY,UAAU,SAAS,EAAE,CAAC,KAAK;AAC7C,iBAAO,OAAO,kBAAkB,aAAa,IAAI;AAAA,QACnD,CAAC;AAAA,MACH,CAAC;AACP,mBAAa,UAAU;AAGvB,YAAM,QAAQ,0BAA0B,cAAc,CAAC,CAAC;AACxD,YAAM,QAAQ,QAAQ,IAAI,0BAA0B,cAAc,CAAC,CAAC,IAAI;AACxE,YAAM,QAAQ,QAAQ,IAAI,0BAA0B,cAAc,CAAC,CAAC,IAAI;AACxE,YAAM,kBAAkB,KAAK,IAAI,IAAI,UAAU,WAAW;AAG1D,wBAAkB,aAAa;AAC/B,uBAAiB,EAAE,OAAO,OAAO,OAAO,eAAe,CAAC;AAAA,IAC1D;AAGA,UAAM,gBAAgB,CAAC,KAAe,cAAgC;AACpE,UAAI,IAAI,WAAW,EAAG,QAAO,IAAI,MAAM,SAAS,EAAE,KAAK,CAAC;AAExD,YAAM,SAAS,IAAI,MAAM,SAAS;AAClC,YAAM,WAAW,IAAI,SAAS;AAE9B,eAAS,IAAI,GAAG,IAAI,WAAW,KAAK;AAClC,cAAM,QAAQ,KAAK,MAAM,IAAI,QAAQ;AACrC,cAAM,MAAM,KAAK,OAAO,IAAI,KAAK,QAAQ;AACzC,YAAI,MAAM;AACV,YAAI,QAAQ;AAEZ,iBAAS,IAAI,OAAO,IAAI,KAAK,KAAK;AAChC,iBAAO,IAAI,CAAC,KAAK;AACjB;AAAA,QACF;AAEA,eAAO,CAAC,IAAI,QAAQ,IAAI,MAAM,QAAQ;AAAA,MACxC;AAEA,aAAO;AAAA,IACT;AAEA,UAAM,4BAA4B,CAAC,SAA2B;AAC5D,aAAO,KAAK,OAAO,CAAC,KAAK,cAAc,MAAM,WAAW,CAAC,IAAI,KAAK;AAAA,IACpE;AAEA,UAAM,WAAW,YAAY,cAAc,GAAG;AAC9C,WAAO,MAAM,cAAc,QAAQ;AAAA,EACrC,GAAG,CAAC,cAAc,QAAQ,QAAQ,KAAK,CAAC;AAExC,SAAO,EAAE,gBAAgB,GAAG,cAAc;AAC5C;;;AC1WA,iCAAkC;AAClC,SAAS,YAAY;AAWrB,sCAAuC;AACvC,gCAAqC;AACrC,sCAAuC;AACvC,qCAAsC;AACtC,kCAAmC;AACnC,qCAAsC;AACtC,0CAA0C;AAC1C,6CAAiD;AACjD,IAAAC,6BAA0C;AAC1C,oCAAqC;AACrC,IAAAA,6BAA4C;AAC5C,oCAAiC;AACjC,0CAA0C;;;AChBnC,IAAM,oBAAkC;AACxC,IAAM,kBAAgC;AACtC,IAAM,aAA2B;AACjC,IAAM,oBAAkC;AACxC,IAAM,kBAAgC;AACtC,IAAM,gBAA8B;AAEpC,SAAS,qBAAqB,QAA8B;AACjE,SAAO;AACT;AAIO,SAAS,QAAQ,OAA6B;AACnD,UAAQ,MAAM,YAAY,GAAG;AAAA,IAC3B,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IAET;AACE,cAAQ;AAAA,QACN;AAAA,MACF;AACA,aAAO;AAAA,EACX;AACF;;;ADLA,yCAA0C;AAC1C,+BAA6B;AAC7B,oCAAqC;AAyB9B,IAAM,mBAAN,MAAM,kBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5B,OAAO,aAAa;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAIiB;AACf,WAAO;AAAA,MACL;AAAA,MACA,CAAC,cAAc,GAAG;AAAA,MAClB,CAAC,iBAAiB,GAAG;AAAA,MACrB,QAAQ;AAAA,QACN,CAAC,iBAAiB,GAAG;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,kBAAkB;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAIiB;AACf,WAAO;AAAA,MACL,eAAe;AAAA,MACf,CAAC,cAAc,GAAG;AAAA,MAClB,CAAC,iBAAiB,GAAG;AAAA,MACrB,QAAQ;AAAA,QACN,CAAC,iBAAiB,GAAG;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,oBAAoB;AAAA,IACzB;AAAA,IACA;AAAA,EACF,GAGmB;AACjB,WAAO;AAAA,MACL,CAAC,cAAc,GAAG;AAAA,MAClB,CAAC,cAAc,GAAG;AAAA,MAClB,QAAQ;AAAA,QACN,CAAC,iBAAiB,GAAG;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO,QAAQ;AAAA,IACb;AAAA,IACA;AAAA,EACF,GAGmB;AACjB,WAAO;AAAA,MACL,CAAC,cAAc,GAAG;AAAA,MAClB,CAAC,cAAc,GAAG;AAAA,MAClB,QAAQ;AAAA,QACN,CAAC,iBAAiB,GAAG;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AAAA,EAEA;AAAA,EAKA;AAAA,EACA;AAAA,EAEA,mBAAmB;AACjB,WAAO,EAAE,OAAO,KAAK,MAAM;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA,EAEA,YACE,WAII;AAAA,IACA,WAAW;AAAA,IACX,KAAK;AAAA,IACL,UAAU;AAAA,EACZ,GACF,QAAiB,OACjB;AACA,SAAK,WAAW;AAAA,MACd,WAAW,SAAS,aAAa;AAAA,MACjC,KAAK,SAAS,OAAO;AAAA,MACrB,UAAU,SAAS,YAAY;AAAA,IACjC;AACA,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,IAAI,qBAAwC;AAC1C,WAAO,IAAI;AAAA,MACT,KAAK,SAAS;AAAA,MACd,KAAK,iBAAiB;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,IAAI,kBAA0C;AAC5C,WAAO,IAAI;AAAA,MACT,KAAK,SAAS;AAAA,MACd,KAAK,iBAAiB;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,IAAI,qBAAgD;AAClD,WAAO,IAAI;AAAA,MACT,KAAK,SAAS;AAAA,MACd,KAAK,iBAAiB;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,IAAI,gBAAsC;AACxC,WAAO,IAAI,+CAAqB,KAAK,SAAS,KAAK,KAAK,iBAAiB,CAAC;AAAA,EAC5E;AAAA,EAEA,IAAI,kBAA0C;AAC5C,WAAO,IAAI;AAAA,MACT,KAAK,SAAS;AAAA,MACd,KAAK,iBAAiB;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,IAAI,mBAAqC;AACvC,WAAO,IAAI,+CAAiB,KAAK,SAAS,KAAK,KAAK,iBAAiB,CAAC;AAAA,EACxE;AAAA,EAEA,IAAI,iBAAwC;AAC1C,WAAO,IAAI;AAAA,MACT,KAAK,SAAS;AAAA,MACd,KAAK,iBAAiB;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,IAAI,cAAkC;AACpC,WAAO,IAAI,+CAAmB,KAAK,SAAS,KAAK,KAAK,iBAAiB,CAAC;AAAA,EAC1E;AAAA,EAEA,IAAI,iBAAwC;AAC1C,WAAO,IAAI;AAAA,MACT,KAAK,SAAS;AAAA,MACd,KAAK,iBAAiB;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,IAAI,qBAAgD;AAClD,WAAO,IAAI;AAAA,MACT,KAAK,SAAS;AAAA,MACd,KAAK,iBAAiB;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,IAAI,4BAA8D;AAChE,WAAO,IAAI;AAAA,MACT,KAAK,SAAS;AAAA,MACd,KAAK,iBAAiB;AAAA,IACxB;AAAA,EACF;AAAA,EAEE,IAAI,6BAAyD;AAC7D,WAAO,IAAI;AAAA,MACT,KAAK,SAAS;AAAA,MACd,KAAK,iBAAiB;AAAA,IACxB;AAAA,EACF;AAAA,EAGA,IAAI,qBAAgD;AAClD,WAAO,IAAI;AAAA,MACT,KAAK,SAAS;AAAA,MACd,KAAK,iBAAiB;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,IAAI,gBAAsC;AACxC,WAAO,IAAI,mDAAqB,KAAK,SAAS,KAAK,KAAK,iBAAiB,CAAC;AAAA,EAC5E;AAAA,EAEA,IAAI,gBAAsC;AACxC,WAAO,IAAI,mDAAqB,KAAK,SAAS,KAAK,KAAK,iBAAiB,CAAC;AAAA,EAC5E;AAAA,EAEA,IAAI,uBAAoD;AACtD,WAAO,IAAI;AAAA,MACT,KAAK,SAAS;AAAA,MACd,KAAK,iBAAiB;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,IAAI,eAAkC;AACpC,WAAO,IAAI,6CAAkB,KAAK,SAAS,WAAW;AAAA,MACpD,GAAG,KAAK,iBAAiB;AAAA,MACzB,WAAW,KAAK,mBAAmB;AAAA,IACrC,CAAC;AAAA,EACH;AAAA,EAEA,IAAI,eAA6B;AAC/B,WAAO,IAAI,sCAAa,KAAK,SAAS,WAAW;AAAA,MAC/C,GAAG,KAAK,iBAAiB;AAAA,MACzB,WAAW,KAAK,mBAAmB;AAAA,IACrC,CAAC;AAAA,EACH;AAAA,EAEA,YAAkB;AAChB,WAAO,KAAK,mBAAmB;AAAA,MAC7B,WAAW;AAAA,MACX,KAAK;AAAA,MACL,UAAU;AAAA,IACZ,CAAC;AAAA,EACH;AAAA,EAEA,SAAS,MAA2C;AAClD,SAAK,WAAW;AAChB,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,OAAkD;AACpD,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,wBACL,MACkB;AAClB,UAAM,KAAK,IAAI,kBAAiB;AAChC,OAAG,SAAS,IAAI;AAChB,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,mBACE,WAII;AAAA,IACA,WAAW;AAAA,IACX,KAAK;AAAA,IACL,UAAU;AAAA,EACZ,GACF,OACM;AACN,SAAK,WAAW;AAAA,MACd,WAAW,SAAS,aAAa;AAAA,MACjC,KAAK,SAAS,OAAO;AAAA,MACrB,UAAU,SAAS,YAAY;AAAA,IACjC;AACA,QAAI,UAAU,OAAW,MAAK,QAAQ;AACtC,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,uBAAuB,IAA8B;AAGnD,SAAK,YAAY;AACjB,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,mBAAmB,YAA6B;AAC9C,QAAI,4CAA0C;AAC5C,UAAI,KAAK,aAAa,KAAK,WAAW,WAAW;AAC/C,aAAK,UAAU,UAAU;AAAA,MAC3B;AACA;AAAA,IACF;AACA,QAAI,KAAK,aAAa,KAAK,WAAW,cAAc;AAClD,WAAK,UAAU,aAAa;AAAA,IAC9B;AACA;AAAA,EACF;AACF;;;AEtXO,IAAM,gBAAgB,CAC3B,WACA,WACgC;AAChC,UAAQ,QAAQ;AAAA,IACd,KAAK,YAAY;AACf,YAAM,aAAa,UAAU,sBAAsB;AACnD,aAAO,aACH;AAAA,QACA,MAAM;AAAA,QACN;AAAA,QACA,SAAS,WAAW,cAAc,KAAK;AAAA,QACvC,UAAU,WAAW,eAAe,KAAK;AAAA,MAC3C,IACE;AAAA,IACN;AAAA,IACA,KAAK,cAAc;AACjB,YAAM,aAAa,UAAU,uBAAuB;AACpD,aAAO,aACH;AAAA,QACA,MAAM;AAAA,QACN;AAAA,QACA,SAAS,WAAW,cAAc,KAAK;AAAA,QACvC,UAAU,WAAW,eAAe,KAAK;AAAA,MAC3C,IACE;AAAA,IACN;AAAA,IACA,SAAS;AACP,YAAM,aAAa,UAAU,iBAAiB;AAC9C,aAAO,aACH;AAAA,QACA,MAAM;AAAA,QACN;AAAA,QACA,SAAS,WAAW,cAAc,KAAK;AAAA,QACvC,UAAU,WAAW,eAAe,KAAK;AAAA,MAC3C,IACE;AAAA,IACN;AAAA,EACF;AACF;;;AC/DA,OAAOC,YAAW;AAMX,SAAS,iBAAiB,OAAmB;AAElD,QAAM,aAAaA,OAAM;AAAA,IACvB,MAAM,0BAA0B,KAAK;AAAA;AAAA,IACrC,CAAC,KAAK;AAAA,EACR;AAGA,QAAM,EAAE,MAAM,IAAI,mBAAmB,YAAY;AAAA,IAC/C,WAAW;AAAA,IACX,OAAO,MAAM;AAAA,EACf,CAAC;AAGD,SAAO,EAAE,UAAU,MAAM;AAC3B;;;ACfA,6BAGO;AAYA,SAAS,uBACd,QACA,aACA,sBACA,WACA,YACA,IAIA;AACA,QAAM,MAAM,IAAI,qDAA8B;AAC9C,MAAI,2BAA2B,oBAAoB;AACnD,MAAI,eAAe,WAAW;AAC9B,MAAI,aAAa,SAAS;AAC1B,SAAO,OAAO,eAAe;AAAA,IAC3B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;;;AChBO,SAAS,OACd,WACA,SACA,YACyB;AACzB,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,WAAO,UAAU,iBAAiB;AAAA,MAChC;AAAA,MACA,gBAAgB,cAAc,UAAU,IAAI;AAAA,MAC5C,CAAC,KAA0B,aAAoC;AAC7D,YAAI,IAAK,QAAO,GAAG;AAAA,YACd,SAAQ,QAAS;AAAA,MACxB;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;ACxCA,wBAoBO;AACP,IAAAC,oBAAmC;AAiB5B,SAAS,iBACd,QACA,OACA,UACA,IACA;AACA,QAAM,gBAAgB,IAAI,sCAAoB;AAC9C,gBAAc,SAAS,KAAK;AAC5B,gBAAc,YAAY,QAAQ;AAClC,SAAO,OAAO,qBAAqB,aAAa,eAAe,EAAE;AACnE;AAQO,SAAS,cACd,QACA,IACA,YACA;AACA,SAAO,OAAO,qBAAqB;AAAA,IACjC,IAAI,mCAAiB;AAAA,IACrB,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAUO,SAAS,aACd,QACA,OACA,UACA,MACA,IACA;AACA,QAAM,gBAAgB,IAAI,sCAAoB;AAC9C,gBAAc,SAAS,KAAK;AAC5B,gBAAc,QAAQ,IAAI;AAC1B,gBAAc,YAAY,QAAQ;AAClC,SAAO,OAAO,qBAAqB,aAAa,eAAe,EAAE;AACnE;AASO,SAAS,YACd,QACA,OACA,WACA,IAIA;AACA,QAAM,gBAAgB,IAAI,qCAAmB;AAC7C,gBAAc,SAAS,KAAK;AAC5B,gBAAc,aAAa,SAAS;AACpC,SAAO,OAAO,qBAAqB,YAAY,eAAe,EAAE;AAClE;AAQO,SAAS,eACd,QACA,OACA,IACA;AACA,QAAM,gBAAgB,IAAI,wCAAsB;AAChD,gBAAc,SAAS,KAAK;AAC5B,SAAO,OAAO,qBAAqB,eAAe,eAAe,EAAE;AACrE;AASO,SAAS,eACd,QACA,OACA,UACA,IACA;AACA,QAAM,gBAAgB,IAAI,wCAAsB;AAChD,gBAAc,SAAS,KAAK;AAC5B,gBAAc,YAAY,QAAQ;AAClC,SAAO,OAAO,qBAAqB,eAAe,eAAe,EAAE;AACrE;AAQO,SAAS,QACd,QACA,IACA,YACA;AACA,SAAO,OAAO,qBAAqB;AAAA,IACjC,IAAI,iCAAe;AAAA,IACnB,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AASO,SAAS,WACd,QACA,IACA,YACA,MACA;AACA,QAAM,gBAAgB,IAAI,oCAAkB;AAC5C,MAAI,KAAM,eAAc,QAAQ,IAAI;AACpC,SAAO,OAAO,qBAAqB;AAAA,IACjC;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAWO,SAAS,WACd,QACA,MACA,UACA,UACA,IACA,YACA;AACA,QAAM,MAAM,IAAI,oCAAkB;AAClC,QAAM,WAAW,IAAI,2BAAS;AAE9B,WAAS,QAAQ,CAAC,EAAE,KAAK,MAAM,MAAM;AACnC,UAAM,MAAM,IAAI,2BAAS;AACzB,QAAI,OAAO,GAAG;AACd,QAAI,SAAS,KAAK;AAClB,QAAI,aAAa,GAAG;AAAA,EACtB,CAAC;AACD,WAAS,QAAQ,IAAI;AACrB,WAAS,YAAY,QAAQ;AAC7B,MAAI,YAAY,QAAQ;AAExB,SAAO,OAAO,qBAAqB;AAAA,IACjC;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AASO,SAAS,OACd,QACA,IACA,OACA,MACA;AACA,QAAM,gBAAgB,IAAI,8CAA4B;AACtD,MAAI,MAAO,eAAc,SAAS,KAAK;AACvC,MAAI,KAAM,eAAc,QAAQ,IAAI;AACpC,SAAO,OAAO,qBAAqB,OAAO,eAAe,EAAE;AAC7D;AASO,SAAS,SACd,QACA,IACA,OACA,MACA;AACA,QAAM,gBAAgB,IAAI,8CAA4B;AACtD,MAAI,MAAO,eAAc,SAAS,KAAK;AACvC,MAAI,KAAM,eAAc,QAAQ,IAAI;AACpC,SAAO,OAAO,qBAAqB,SAAS,eAAe,EAAE;AAC/D;AASO,SAAS,OACd,QACA,IACA,OACA,MACA;AACA,QAAM,gBAAgB,IAAI,8CAA4B;AACtD,MAAI,MAAO,eAAc,SAAS,KAAK;AACvC,MAAI,KAAM,eAAc,QAAQ,IAAI;AACpC,SAAO,OAAO,qBAAqB,OAAO,eAAe,EAAE;AAC7D;AASO,SAAS,eACd,WACA,SACA,MACiC;AACjC,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,cAAU,qBAAqB;AAAA,MAC7B;AAAA,MACA,gBAAgB,UAAU,QAAQ,IAAI;AAAA,MACtC,CAAC,KAA0B,aAA4C;AACrE,YAAI,IAAK,QAAO,GAAG;AAAA,YACd,SAAQ,QAAS;AAAA,MACxB;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;AC/SA,4BAKO;AAoBA,SAAS,eACd,QACA,SACA,MACA,OACA,OACA,YACA,IAIA;AACA,QAAM,MAAM,IAAI,4CAAsB;AACtC,MAAI,WAAW,OAAO;AACtB,MAAI,QAAQ,IAAI;AAChB,MAAI,SAAS,KAAK;AAClB,MAAI,SAAS,KAAK;AAClB,SAAO,OAAO,cAAc;AAAA,IAC1B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAWO,SAAS,kBACd,QACA,UACA,WACA,YACA,IAIA;AACA,QAAM,MAAM,IAAI,+CAAyB;AACzC,MAAI,YAAY,QAAQ;AACxB,MAAI,iBAAiB,SAAS;AAC9B,SAAO,OAAO,cAAc;AAAA,IAC1B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;;;AC/EA,IAAAC,qBAaO;AAmBA,SAAS,mBACd,kBACA,MACA,MACA,UACA,YACA,IAIA;AACA,QAAM,gBAAgB,IAAI,6CAA0B;AACpD,gBAAc,oBAAoB,IAAI;AACtC,gBAAc,oBAAoB,IAAI;AACtC,gBAAc,wBAAwB,QAAQ;AAE9C,SAAO,iBAAiB,mBAAmB;AAAA,IACzC;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAaO,SAAS,mBACd,kBACA,gBACA,YACA,IAIA,kBACA,sBACA,qBACA;AACA,QAAM,gBAAgB,IAAI,6CAA0B;AACpD,gBAAc,kBAAkB,cAAc;AAE9C,MAAI,kBAAkB;AACpB,kBAAc,oBAAoB,gBAAgB;AAAA,EACpD;AACA,MAAI,sBAAsB;AACxB,kBAAc,wBAAwB,oBAAoB;AAAA,EAC5D;AACA,MAAI,qBAAqB;AACvB,kBAAc,uBAAuB,mBAAmB;AAAA,EAC1D;AAEA,SAAO,iBAAiB,mBAAmB;AAAA,IACzC;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AASO,SAAS,gBACd,kBACA,YACA,IAIA;AACA,QAAM,gBAAgB,IAAI,0CAAuB;AAEjD,SAAO,iBAAiB,mBAAmB;AAAA,IACzC;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAEO,SAAS,yBACd,kBACA,KACA,YAC2C;AAC3C,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,qBAAiB,mBAAmB;AAAA,MAClC;AAAA,MACA,gBAAgB,iBAAiB,QAAQ,UAAU;AAAA,MACnD,CACE,KACA,aACG;AACH,YAAI,IAAK,QAAO,GAAG;AAAA,YACd,SAAQ,QAAS;AAAA,MACxB;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEO,SAAS,2BACd,kBACA,KACA,YAC6C;AAC7C,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,qBAAiB,mBAAmB;AAAA,MAClC;AAAA,MACA,gBAAgB,iBAAiB,QAAQ,UAAU;AAAA,MACnD,CACE,KACA,aACG;AACH,YAAI,IAAK,QAAO,GAAG;AAAA,YACd,SAAQ,QAAS;AAAA,MACxB;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEO,SAAS,2BACd,kBACA,KACA,YAC6C;AAC7C,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,qBAAiB,mBAAmB;AAAA,MAClC;AAAA,MACA,gBAAgB,iBAAiB,QAAQ,UAAU;AAAA,MACnD,CACE,KACA,aACG;AACH,YAAI,IAAK,QAAO,GAAG;AAAA,YACd,SAAQ,QAAS;AAAA,MACxB;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;AClLA,IAAAC,oBAAmC;AAOnC,kCAKO;AAcA,SAAS,cACd,kBACA,WACA,MACA,UACA,UACA,IAIA,YACA;AACA,QAAM,MAAM,IAAI,kDAAsB;AACtC,MAAI,aAAa,SAAS;AAE1B,QAAM,WAAW,IAAI,2BAAS;AAC9B,WAAS,QAAQ,CAAC,EAAE,KAAK,OAAO,MAAM,MAAM;AAC1C,UAAM,MAAM,IAAI,2BAAS;AACzB,QAAI,OAAO,GAAG;AACd,QAAI,SAAS,KAAK;AAClB,QAAI,SAAS,KAAK;AAClB,QAAI,aAAa,GAAG;AAAA,EACtB,CAAC;AAED,WAAS,QAAQ,IAAI;AACrB,WAAS,YAAY,QAAQ;AAC7B,MAAI,YAAY,QAAQ;AAExB,SAAO,iBAAiB,mBAAmB;AAAA,IACzC;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAWO,SAAS,YACd,kBACA,WACA,SACA,IACA,YACA;AACA,QAAM,MAAM,IAAI,+CAAmB;AACnC,MAAI,aAAa,SAAS;AAC1B,MAAI,MAAM,OAAO;AAEjB,SAAO,iBAAiB,mBAAmB;AAAA,IACzC;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;;;ACtFA,IAAAC,oBAAmC;AACnC,6BA2BO;AAmBA,SAAS,eACd,QACA,MACA,UACA,UACA,IAIA,YACA;AACA,QAAM,MAAM,IAAI,6CAAsB;AACtC,QAAM,WAAW,IAAI,2BAAS;AAC9B,WAAS,QAAQ,CAAC,EAAE,KAAK,OAAO,MAAM,MAAM;AAC1C,UAAM,MAAM,IAAI,2BAAS;AACzB,QAAI,OAAO,GAAG;AACd,QAAI,SAAS,KAAK;AAClB,QAAI,SAAS,KAAK;AAClB,QAAI,aAAa,GAAG;AAAA,EACtB,CAAC;AACD,WAAS,QAAQ,IAAI;AACrB,WAAS,YAAY,QAAQ;AAC7B,MAAI,YAAY,QAAQ;AACxB,SAAO,OAAO,eAAe;AAAA,IAC3B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAWO,SAAS,sBACd,QACA,YACA,yBACA,YACA,IAIA;AACA,QAAM,MAAM,IAAI,oDAA6B;AAC7C,MAAI,cAAc,UAAU;AAC5B,MAAI,2BAA2B,uBAAuB;AACtD,SAAO,OAAO,eAAe;AAAA,IAC3B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAaO,SAAS,4BACd,QACA,YACA,MACA,UACA,UACA,IAIA,YACA;AACA,QAAM,MAAM,IAAI,0DAAmC;AACnD,MAAI,cAAc,UAAU;AAC5B,QAAM,WAAW,IAAI,2BAAS;AAC9B,WAAS,QAAQ,CAAC,EAAE,KAAK,MAAM,MAAM;AACnC,UAAM,MAAM,IAAI,2BAAS;AACzB,QAAI,OAAO,GAAG;AACd,QAAI,SAAS,KAAK;AAClB,QAAI,aAAa,GAAG;AAAA,EACtB,CAAC;AACD,WAAS,QAAQ,IAAI;AACrB,WAAS,YAAY,QAAQ;AAC7B,MAAI,YAAY,QAAQ;AACxB,SAAO,OAAO,eAAe;AAAA,IAC3B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAWO,SAAS,YACd,QACA,YACA,yBACA,YACA,IACA;AACA,QAAM,MAAM,IAAI,0CAAmB;AACnC,MAAI,MAAM,UAAU;AACpB,MAAI,yBAAyB;AAC3B,QAAI,2BAA2B,uBAAuB;AAAA,EACxD;AACA,SAAO,OAAO,eAAe;AAAA,IAC3B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAWO,SAAS,4BACd,QACA,YACA,uBACA,YACA,IAIA;AACA,QAAM,MAAM,IAAI,0DAAmC;AACnD,MAAI,cAAc,UAAU;AAC5B,MAAI,kCAAkC,qBAAqB;AAC3D,SAAO,OAAO,eAAe;AAAA,IAC3B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAcO,SAAS,eACd,QACA,uBACA,oBACA,MACA,YACA,IAIA,aACA,aACA;AACA,QAAM,MAAM,IAAI,6CAAsB;AACtC,MAAI,qBAAqB,kBAAkB;AAC3C,MAAI,kCAAkC,qBAAqB;AAC3D,MAAI,YAAa,KAAI,sBAAsB,WAAW;AACtD,MAAI,YAAa,KAAI,sBAAsB,WAAW;AACtD,MAAI,YAAY,IAAI;AACpB,SAAO,OAAO,eAAe;AAAA,IAC3B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAWO,SAAS,kBACd,QACA,YACA,MACA,YACA,IACA;AACA,QAAM,MAAM,IAAI,gDAAyB;AACzC,MAAI,YAAY,IAAI;AACpB,MAAI,cAAc,UAAU;AAC5B,SAAO,OAAO,eAAe;AAAA,IAC3B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAYO,SAAS,qBACd,QACA,YACA,MACA,aACA,YACA,IACA;AACA,QAAM,MAAM,IAAI,mDAA4B;AAC5C,MAAI,QAAQ,IAAI;AAChB,MAAI,eAAe,WAAW;AAC9B,MAAI,cAAc,UAAU;AAC5B,SAAO,OAAO,eAAe;AAAA,IAC3B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAeO,SAAS,iCACd,QACA,YACA,WACA,aACA,cACA,oBACA,YACA,YACA,IAIA;AACA,QAAM,UAAU,IAAI,+DAAwC;AAC5D,QAAM,OAAO,IAAI,kDAA2B;AAC5C,OAAK,kBAAkB,UAAU;AACjC,OAAK,sBAAsB,kBAAkB;AAC7C,OAAK,gBAAgB,YAAY;AACjC,OAAK,eAAe,WAAW;AAC/B,OAAK,aAAa,SAAS;AAC3B,UAAQ,cAAc,UAAU;AAChC,UAAQ,QAAQ,IAAI;AACpB,SAAO,OAAO,eAAe;AAAA,IAC3B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAaO,SAAS,iCACd,QACA,YACA,WACA,gBACA,gBACA,YACA,IAIA;AACA,QAAM,UAAU,IAAI,+DAAwC;AAC5D,QAAM,OAAO,IAAI,kDAA2B;AAC5C,OAAK,kBAAkB,cAAc;AACrC,OAAK,kBAAkB,cAAc;AACrC,OAAK,aAAa,SAAS;AAC3B,UAAQ,cAAc,UAAU;AAChC,UAAQ,QAAQ,IAAI;AACpB,SAAO,OAAO,eAAe;AAAA,IAC3B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAWO,SAAS,kBACd,QACA,YACA,MACA,UACA,UACA,IAIA,YACA;AACA,QAAM,MAAM,IAAI,gDAAyB;AACzC,MAAI,cAAc,UAAU;AAC5B,QAAM,WAAW,IAAI,2BAAS;AAC9B,WAAS,QAAQ,CAAC,EAAE,KAAK,OAAO,MAAM,MAAM;AAC1C,UAAM,MAAM,IAAI,2BAAS;AACzB,QAAI,OAAO,GAAG;AACd,QAAI,SAAS,KAAK;AAClB,QAAI,SAAS,KAAK;AAClB,QAAI,aAAa,GAAG;AAAA,EACtB,CAAC;AAED,WAAS,QAAQ,IAAI;AACrB,WAAS,YAAY,QAAQ;AAC7B,MAAI,YAAY,QAAQ;AAExB,SAAO,OAAO,eAAe;AAAA,IAC3B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAWO,SAAS,eACd,QACA,YACA,OACA,IAIA,YACA;AACA,QAAM,MAAM,IAAI,6CAAsB;AACtC,MAAI,cAAc,UAAU;AAC5B,MAAI,MAAM,KAAK;AACf,SAAO,OAAO,eAAe;AAAA,IAC3B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;;;ACjcA,0BAMO;AACP,IAAAC,oBAAmC;AAgB5B,SAAS,kBACd,kBACA,KACA,YACgC;AAChC,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,qBAAiB,YAAY;AAAA,MAC3B;AAAA,MACA,gBAAgB,iBAAiB,QAAQ,UAAU;AAAA,MACnD,CAAC,KAA0B,aAA2C;AACpE,YAAI,IAAK,QAAO,GAAG;AAAA,YACd,SAAQ,QAAS;AAAA,MACxB;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAUO,SAAS,kBACd,kBACA,eACA,IACA,YACA;AACA,QAAM,gBAAgB,IAAI,4CAAwB;AAClD,gBAAc,WAAW,aAAa;AACtC,mBAAiB,YAAY;AAAA,IAC3B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAMO,SAAS,6BACd,kBACA,MACA,UACA,UACA,IAIA,YACA;AACA,QAAM,MAAM,IAAI,wDAAoC;AACpD,QAAM,WAAW,IAAI,2BAAS;AAC9B,WAAS,QAAQ,CAAC,MAAM;AACtB,QAAI,MAAM,IAAI,2BAAS;AACvB,QAAI,OAAO,EAAE,GAAG;AAChB,QAAI,SAAS,EAAE,KAAK;AACpB,QAAI,SAAS,EAAE,KAAK;AACpB,QAAI,aAAa,GAAG;AAAA,EACtB,CAAC;AACD,WAAS,QAAQ,IAAI;AACrB,WAAS,YAAY,QAAQ;AAC7B,MAAI,YAAY,QAAQ;AACxB,mBAAiB,YAAY;AAAA,IAC3B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;;;AC7FA,IAAAC,oBAIO;AAOP,8BAoBO;AACP,IAAAC,2BAAuE;AAqBhE,SAAS,gBACd,kBACA,KACA,YACkC;AAClC,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,qBAAiB,gBAAgB;AAAA,MAC/B;AAAA,MACA,gBAAgB,iBAAiB,QAAQ,UAAU;AAAA,MACnD,CAAC,KAA0B,aAA6C;AACtE,YAAI,IAAK,QAAO,GAAG;AAAA,YACd,SAAQ,QAAS;AAAA,MACxB;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAUO,SAAS,iBACd,QACA,iBACA,IACA,YACA;AACA,QAAM,MAAM,IAAI,4CAAoB;AACpC,MAAI,MAAM,eAAe;AACzB,SAAO,OAAO,gBAAgB;AAAA,IAC5B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAYO,SAAS,qBACd,QACA,MACA,UACA,UACA,IAIA,YACA;AACA,QAAM,MAAM,IAAI,+CAAuB;AACvC,QAAM,WAAW,IAAI,2BAAS;AAE9B,WAAS,QAAQ,CAAC,EAAE,KAAK,OAAO,MAAM,MAAM;AAC1C,UAAM,MAAM,IAAI,2BAAS;AACzB,QAAI,OAAO,GAAG;AACd,QAAI,SAAS,KAAK;AAClB,QAAI,SAAS,KAAK;AAClB,QAAI,aAAa,GAAG;AAAA,EACtB,CAAC;AAED,WAAS,QAAQ,IAAI;AACrB,WAAS,YAAY,QAAQ;AAC7B,MAAI,YAAY,QAAQ;AAExB,SAAO,OAAO,gBAAgB;AAAA,IAC5B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAiBO,SAAS,wBACd,QACA,aACA,gBACA,YACA,cACA,cACA,kBACA,WACA,cACA,cACA,IAIA,YACA;AACA,QAAM,MAAM,IAAI,uDAA+B;AAE/C,MAAI,qCAA6C;AAC/C,QAAI,kBAAkB,CAAC;AAAA,EACzB;AAEA,MAAI,yCAA+C;AACjD,QAAI,kBAAkB,CAAC;AAAA,EACzB;AACA,MAAI,qBAAqB,YAAY;AACrC,MAAI,eAAe,WAAW;AAC9B,MAAI,cAAc,UAAU;AAC5B,MAAI,cAAc,uDAA+B,YAAY,YAAY,CAAC;AAC1E,MAAI,gBAAgB,gBAAgB;AAEpC,MAAI,wCAAqD;AACvD,QAAI,aAAa,SAAS;AAC1B,QAAI,gBAAgB,YAAY;AAChC,QAAI,gBAAgB,YAAY;AAAA,EAClC;AAEA,SAAO,OAAO,gBAAgB;AAAA,IAC5B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAaO,SAAS,wBACd,QACA,aACA,MACA,UACA,UACA,IAIA,YACA;AACA,QAAM,MAAM,IAAI,uDAA+B;AAC/C,MAAI,eAAe,WAAW;AAE9B,QAAM,WAAW,IAAI,2BAAS;AAC9B,WAAS,QAAQ,CAAC,EAAE,KAAK,MAAM,MAAM;AACnC,UAAM,MAAM,IAAI,2BAAS;AACzB,QAAI,OAAO,GAAG;AACd,QAAI,SAAS,KAAK;AAClB,QAAI,aAAa,GAAG;AAAA,EACtB,CAAC;AAED,WAAS,QAAQ,IAAI;AACrB,WAAS,YAAY,QAAQ;AAC7B,MAAI,YAAY,QAAQ;AAExB,SAAO,OAAO,gBAAgB;AAAA,IAC5B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAaO,SAAS,+BACd,QACA,aACA,MACA,UACA,UACA,IAIA,YACA;AACA,QAAM,MAAM,IAAI,8DAAsC;AACtD,MAAI,eAAe,WAAW;AAE9B,QAAM,WAAW,IAAI,2BAAS;AAC9B,WAAS,QAAQ,CAAC,EAAE,KAAK,MAAM,MAAM;AACnC,UAAM,MAAM,IAAI,2BAAS;AACzB,QAAI,OAAO,GAAG;AACd,QAAI,SAAS,KAAK;AAClB,QAAI,aAAa,GAAG;AAAA,EACtB,CAAC;AAED,WAAS,QAAQ,IAAI;AACrB,WAAS,YAAY,QAAQ;AAC7B,MAAI,YAAY,QAAQ;AAExB,SAAO,OAAO,gBAAgB;AAAA,IAC5B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAWO,SAAS,mBACd,QACA,aACA,MACA,IACA,YACA;AACA,QAAM,MAAM,IAAI,kDAA0B;AAC1C,MAAI,YAAY,IAAI;AACpB,MAAI,eAAe,WAAW;AAE9B,SAAO,OAAO,gBAAgB;AAAA,IAC5B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAYO,SAAS,sBACd,QACA,aACA,MACA,aACA,IACA,YACA;AACA,QAAM,MAAM,IAAI,qDAA6B;AAC7C,MAAI,eAAe,WAAW;AAC9B,MAAI,QAAQ,IAAI;AAChB,MAAI,eAAe,WAAW;AAE9B,SAAO,OAAO,gBAAgB;AAAA,IAC5B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAWO,SAAS,+BACd,QACA,YACA,OACA,QACA,IACA,YACA;AACA,QAAM,MAAM,IAAI,+DAAsC;AACtD,MAAI,cAAc,UAAU;AAC5B,MAAI,UAAU,MAAM;AACpB,MAAI,SAAS,KAAK;AAClB,SAAO,OAAO,gBAAgB;AAAA,IAC5B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAoBO,SAAS,+BACd,QACA,YACA,OACA,mBACA,WACA,cACA,YACA,YACA,WACA,gBACA,eACA,gBACA,cACA,IACA,YACA;AACA,QAAM,MAAM,IAAI,8DAAsC;AACtD,MAAI,qBAAqB,iBAAiB;AAC1C,MAAI,aAAa,SAAS;AAC1B,MAAI,gBAAgB,YAAY;AAChC,MAAI,cAAc,UAAU;AAC5B,MAAI,cAAc,UAAU;AAC5B,MAAI,aAAa,SAAS;AAC1B,MAAI,kBAAkB,cAAc;AACpC,MAAI,iBAAiB,aAAa;AAClC,MAAI,kBAAkB,cAAc;AACpC,MAAI,gBAAgB,YAAY;AAChC,MAAI,cAAc,UAAU;AAC5B,MAAI,SAAS,KAAK;AAClB,SAAO,OAAO,gBAAgB;AAAA,IAC5B;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAQO,SAAS,gBACd,WACA,SACA,MACkC;AAClC,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,cAAU,gBAAgB;AAAA,MACxB;AAAA,MACA,gBAAgB,UAAU,QAAQ,IAAI;AAAA,MACtC,CAAC,KAA0B,aAA6C;AACtE,YAAI,IAAK,QAAO,GAAG;AAAA,YACd,SAAQ,QAAS;AAAA,MACxB;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAQO,SAAS,mBACd,WACA,SACA,MACqC;AACrC,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,cAAU,gBAAgB;AAAA,MACxB;AAAA,MACA,gBAAgB,UAAU,QAAQ,IAAI;AAAA,MACtC,CACE,KACA,aACG;AACH,YAAI,IAAK,QAAO,GAAG;AAAA,YACd,SAAQ,QAAS;AAAA,MACxB;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;AC3dA,IAAAC,qBAmBO;AACP,IAAAC,oBAAmC;AAS5B,SAAS,kBACd,kBACA,KACA,YACoC;AACpC,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,qBAAiB,cAAc;AAAA,MAC7B;AAAA,MACA,gBAAgB,iBAAiB,QAAQ,UAAU;AAAA,MACnD,CACE,KACA,aACG;AACH,YAAI,IAAK,QAAO,GAAG;AAAA,YACd,SAAQ,QAAS;AAAA,MACxB;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEO,SAAS,sBACd,kBACA,KACA,YACwC;AACxC,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,qBAAiB,cAAc;AAAA,MAC7B;AAAA,MACA,gBAAgB,iBAAiB,QAAQ,UAAU;AAAA,MACnD,CACE,KACA,aACG;AACH,YAAI,IAAK,QAAO,GAAG;AAAA,YACd,SAAQ,QAAS;AAAA,MACxB;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAWO,SAAS,cACd,kBACA,aACA,oBACA,YACA,IACA;AACA,QAAM,gBAAgB,IAAI,wCAAqB;AAC/C,gBAAc,eAAe,WAAW;AACxC,gBAAc,sBAAsB,kBAAkB;AAEtD,SAAO,iBAAiB,cAAc;AAAA,IACpC;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAYO,SAAS,cACd,kBACA,WACA,IAIA,YACA,aACA,oBACA;AACA,QAAM,gBAAgB,IAAI,wCAAqB;AAC/C,gBAAc,aAAa,SAAS;AAEpC,MAAI,YAAa,eAAc,eAAe,WAAW;AACzD,MAAI;AACF,kBAAc,sBAAsB,kBAAkB;AAExD,SAAO,iBAAiB,cAAc;AAAA,IACpC;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAYO,SAAS,cACd,kBACA,MACA,UACA,UACA,IAIA,YACA;AACA,QAAM,MAAM,IAAI,wCAAqB;AACrC,QAAM,WAAW,IAAI,2BAAS;AAE9B,WAAS,QAAQ,CAAC,EAAE,KAAK,MAAM,MAAM;AACnC,UAAM,MAAM,IAAI,2BAAS;AACzB,QAAI,OAAO,GAAG;AACd,QAAI,SAAS,KAAK;AAClB,QAAI,aAAa,GAAG;AAAA,EACtB,CAAC;AAED,WAAS,QAAQ,IAAI;AACrB,WAAS,YAAY,QAAQ;AAC7B,MAAI,YAAY,QAAQ;AAExB,SAAO,iBAAiB,cAAc;AAAA,IACpC;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAUO,SAAS,WACd,kBACA,WACA,IACA,YACA;AACA,QAAM,gBAAgB,IAAI,qCAAkB;AAC5C,gBAAc,aAAa,SAAS;AAEpC,SAAO,iBAAiB,cAAc;AAAA,IACpC;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAUO,SAAS,cACd,kBACA,WACA,IAIA,YACA;AACA,QAAM,gBAAgB,IAAI,yCAAsB;AAChD,gBAAc,MAAM,SAAS;AAE7B,SAAO,iBAAiB,cAAc;AAAA,IACpC;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAUO,SAAS,wBACd,kBACA,WACA,IAIA,YACA;AACA,QAAM,gBAAgB,IAAI,kDAA+B;AACzD,gBAAc,aAAa,SAAS;AAEpC,SAAO,iBAAiB,cAAc;AAAA,IACpC;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAWO,SAAS,wBACd,kBACA,WACA,MACA,IAIA,YACA;AACA,QAAM,gBAAgB,IAAI,kDAA+B;AACzD,gBAAc,aAAa,SAAS;AACpC,gBAAc,QAAQ,IAAI;AAE1B,SAAO,iBAAiB,cAAc;AAAA,IACpC;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;;;ACjTA,4BAOO;AASA,SAAS,YACd,kBACA,YACA,IAIA;AACA,QAAM,gBAAgB,IAAI,yCAAmB;AAC7C,SAAO,iBAAiB,cAAc;AAAA,IACpC;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAEO,SAAS,gBACd,kBACA,YACA,IAIA;AACA,QAAM,gBAAgB,IAAI,6CAAuB;AACjD,SAAO,iBAAiB,cAAc;AAAA,IACpC;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;AAEO,SAAS,mBACd,kBACA,UACA,YACA,IAIA;AACA,QAAM,gBAAgB,IAAI,gDAA0B;AACpD,gBAAc,YAAY,QAAQ;AAClC,SAAO,iBAAiB,cAAc;AAAA,IACpC;AAAA,IACA,gBAAgB,UAAU;AAAA,IAC1B;AAAA,EACF;AACF;;;ACqLA,IAAAC,kCAGO;AACP,IAAAC,0CAGO;AACP,kCAAsK;AACtK,IAAAC,iCAGO;AACP,IAAAC,+BAGO;AACP,IAAAC,iCAGO;AACP,oCASO;AACP,wCAEO;AACP,IAAAC,+BAQO;AACP,IAAAC,mCAGO;AACP,IAAAC,uBAOO;AACP,IAAAC,sBAOO;AACP,uBAGO;AAEP,4BAQO;AACP,IAAAC,qBA8DO;AACP,IAAAC,oBAgCO;AACP,IAAAC,mCAGO;AACP,IAAAC,8BAGO;AACP,mCAOO;AACP,IAAAC,yBAKO;AACP,IAAAC,kCAGO;AACP,IAAAC,0BAGO;AACP,IAAAC,0BAgCO;AACP,+BAcO;AACP,gCAmBO;AACP,qCAoBO;AACP,IAAAC,uCAGO;AACP,IAAAC,2BAyBO;AACP,8BAgCO;AACP,IAAAC,6BAOO;;;ACtkBA,SAAS,gBACd,WACA,SACA,YACkC;AAClC,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,cAAU,mBAAmB;AAAA,MAC3B;AAAA,MACA,gBAAgB,cAAc,UAAU,IAAI;AAAA,MAC5C,CAAC,KAA0B,aAA6C;AACtE,YAAI,IAAK,QAAO,GAAG;AAAA,YACd,SAAQ,QAAS;AAAA,MACxB;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAaO,SAAS,oBACd,WACA,SACA,YACsC;AACtC,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,cAAU,mBAAmB;AAAA,MAC3B;AAAA,MACA,gBAAgB,cAAc,UAAU,IAAI;AAAA,MAC5C,CACE,KACA,aACG;AACH,YAAI,IAAK,QAAO,GAAG;AAAA,YACd,SAAQ,QAAS;AAAA,MACxB;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;AD0hBA,IAAAC,sBAKO;AASP,IAAAC,iCAGO;AACP,IAAAC,yBAUO;AASP,IAAAC,+BAGO;AAEP,iCAKO;;;AEnmBA,SAAS,gBACd,WACA,SACA,MACkC;AAClC,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,cAAU,2BAA2B;AAAA,MACnC;AAAA,MACA,gBAAgB,UAAU,QAAQ,IAAI;AAAA,MACtC,CACE,KACA,aACG;AACH,YAAI,IAAK,QAAO,GAAG;AAAA,YACd,SAAQ,QAAS;AAAA,MACxB;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;AFolBA,mCASO;;;AG/mBA,SAAS,0BACd,WACA,SACA,MACsC;AACtC,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,cAAU,mBAAmB;AAAA,MAC3B;AAAA,MACA,gBAAgB,UAAU,QAAQ,IAAI;AAAA,MACtC,CACE,KACA,aACG;AACH,YAAI,IAAK,QAAO,GAAG;AAAA,YACd,SAAQ,QAAS;AAAA,MACxB;AAAA,IACF;AAAA,EACF,CAAC;AACH;AASO,SAAS,uBACd,WACA,SACA,MACsC;AACtC,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,cAAU,mBAAmB;AAAA,MAC3B;AAAA,MACA,gBAAgB,UAAU,QAAQ,IAAI;AAAA,MACtC,CACE,KACA,aACG;AACH,YAAI,IAAK,QAAO,GAAG;AAAA,YACd,SAAQ,QAAS;AAAA,MACxB;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;AHykBA,IAAAC,sBAYO;","names":["grpc","TalkService","TalkServiceClient","grpc","AssistantService","AssistantServiceClient","reader","grpc","AuthenticationService","AuthenticationServiceClient","OrganizationService","OrganizationServiceClient","ProjectService","ProjectServiceClient","reader","grpc","KnowledgeService","KnowledgeServiceClient","grpc","DocumentService","DocumentServiceClient","grpc","VaultService","VaultServiceClient","grpc","EndpointService","EndpointServiceClient","reader","grpc","AuditLoggingService","AuditLoggingServiceClient","grpc","AssistantDeploymentService","AssistantDeploymentServiceClient","reader","grpc","ConnectService","ConnectServiceClient","reader","grpc","Deployment","DeploymentClient","reader","grpc","ObservabilityService","ObservabilityServiceClient","grpc","NotificationService","NotificationServiceClient","grpc","WebRTC","WebRTCClient","grpc","BillingService","BillingServiceClient","reader","grpc","UnifiedProviderService","React","React","React","React","MediaDeviceFailure","import_web_api_pb_service","React","import_common_pb","import_web_api_pb","import_common_pb","import_common_pb","import_common_pb","import_common_pb","import_knowledge_api_pb","import_web_api_pb","import_common_pb","import_endpoint_api_pb_service","import_assistant_deployment_pb_service","import_connect_api_pb_service","import_vault_api_pb_service","import_invoker_api_pb_service","import_audit_logging_api_pb","import_knowledge_api_pb_service","import_vault_api_pb","import_talk_api_pb","import_web_api_pb","import_common_pb","import_assistant_api_pb_service","import_talk_api_pb_service","import_connect_api_pb","import_document_api_pb_service","import_document_api_pb","import_endpoint_api_pb","import_audit_logging_api_pb_service","import_knowledge_api_pb","import_web_api_pb_service","import_talk_api_pb","import_billing_api_pb_service","import_billing_api_pb","import_observability_api_pb","import_talk_api_pb"]}