# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: soulfire/task.proto
# Protobuf Python Version: 6.31.1
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC,
    6,
    31,
    1,
    '',
    'soulfire/task.proto'
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2
from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
from soulfire import api_docs_pb2 as soulfire_dot_api__docs__pb2
from soulfire import bot_live_pb2 as soulfire_dot_bot__live__pb2
from soulfire import common_pb2 as soulfire_dot_common__pb2
from soulfire import domain_pb2 as soulfire_dot_domain__pb2
from soulfire import inventory_pb2 as soulfire_dot_inventory__pb2
from soulfire import world_pb2 as soulfire_dot_world__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13soulfire/task.proto\x12\x0bsoulfire.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17soulfire/api_docs.proto\x1a\x17soulfire/bot_live.proto\x1a\x15soulfire/common.proto\x1a\x15soulfire/domain.proto\x1a\x18soulfire/inventory.proto\x1a\x14soulfire/world.proto\"\xb4\x01\n\x0f\x42otTaskProgress\x12\x1a\n\x08\x66raction\x18\x01 \x01(\x01R\x08\x66raction\x12\x18\n\x07\x63urrent\x18\x02 \x01(\x04R\x07\x63urrent\x12\x19\n\x05total\x18\x03 \x01(\x04H\x00R\x05total\x88\x01\x01\x12\x18\n\x07message\x18\x04 \x01(\tR\x07message\x12,\n\x06\x64\x65tail\x18\x05 \x01(\x0b\x32\x14.google.protobuf.AnyR\x06\x64\x65tailB\x08\n\x06_total\"\x94\x01\n\x0e\x42otTaskFailure\x12\x17\n\x04\x63ode\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04\x63ode\x12\x1d\n\x07message\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x07message\x12\x1c\n\tretryable\x18\x03 \x01(\x08R\tretryable\x12,\n\x06\x64\x65tail\x18\x04 \x01(\x0b\x32\x14.google.protobuf.AnyR\x06\x64\x65tail\"\xcd\x0b\n\x07\x42otTask\x12&\n\x07task_id\x18\x01 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\x06taskId\x12.\n\x0binstance_id\x18\x02 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\ninstanceId\x12$\n\x06\x62ot_id\x18\x03 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\x05\x62otId\x12 \n\ttask_type\x18\x04 \x01(\tB\x03\xe0\x41\x02R\x08taskType\x12(\n\x08owner_id\x18\x05 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\x07ownerId\x12\"\n\nowner_name\x18\x06 \x01(\tB\x03\xe0\x41\x02R\townerName\x12\x37\n\x06status\x18\x07 \x01(\x0e\x32\x1a.soulfire.v1.BotTaskStatusB\x03\xe0\x41\x02R\x06status\x12\x38\n\x08progress\x18\x08 \x01(\x0b\x32\x1c.soulfire.v1.BotTaskProgressR\x08progress\x12\x18\n\x07summary\x18\t \x01(\tR\x07summary\x12\x35\n\x07\x66\x61ilure\x18\n \x01(\x0b\x32\x1b.soulfire.v1.BotTaskFailureR\x07\x66\x61ilure\x12>\n\ncreated_at\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\tcreatedAt\x12\x39\n\nstarted_at\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12>\n\nupdated_at\x18\r \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\tupdatedAt\x12=\n\x0c\x63ompleted_at\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0b\x63ompletedAt\x12\x36\n\x08\x64\x65\x61\x64line\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08\x64\x65\x61\x64line\x12I\n\x11\x63laimed_resources\x18\x10 \x03(\x0e\x32\x1c.soulfire.v1.BotTaskResourceR\x10\x63laimedResources\x12\x35\n\x0eparent_task_id\x18\x11 \x01(\tB\n\xd2\xf3\x18\x06\n\x04uuidH\x00R\x0cparentTaskId\x88\x01\x01\x12$\n\x0e\x63hild_task_ids\x18\x12 \x03(\tR\x0c\x63hildTaskIds\x12&\n\x0c\x63\x61usation_id\x18\x13 \x01(\tH\x01R\x0b\x63\x61usationId\x88\x01\x01\x12,\n\x0fidempotency_key\x18\x14 \x01(\tH\x02R\x0eidempotencyKey\x88\x01\x01\x12N\n\x10reconnect_policy\x18\x15 \x01(\x0e\x32#.soulfire.v1.BotTaskReconnectPolicyR\x0freconnectPolicy\x12Q\n\x11\x64isconnect_policy\x18\x16 \x01(\x0e\x32$.soulfire.v1.BotTaskDisconnectPolicyR\x10\x64isconnectPolicy\x12K\n\x0f\x63onflict_policy\x18\x17 \x01(\x0e\x32\".soulfire.v1.BotTaskConflictPolicyR\x0e\x63onflictPolicy\x12\x38\n\x08priority\x18\x18 \x01(\x0e\x32\x1c.soulfire.v1.BotTaskPriorityR\x08priority\x12/\n\x05input\x18\x19 \x01(\x0b\x32\x14.google.protobuf.AnyB\x03\xe0\x41\x02R\x05input\x12,\n\x06result\x18\x1a \x01(\x0b\x32\x14.google.protobuf.AnyR\x06result\x12\x1f\n\x08revision\x18\x1b \x01(\x04\x42\x03\xe0\x41\x02R\x08revisionB\x11\n\x0f_parent_task_idB\x0f\n\r_causation_idB\x12\n\x10_idempotency_key\"\xc3\x05\n\x13StartBotTaskRequest\x12.\n\x0binstance_id\x18\x01 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\ninstanceId\x12$\n\x06\x62ot_id\x18\x02 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\x05\x62otId\x12/\n\x05input\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyB\x03\xe0\x41\x02R\x05input\x12K\n\x0f\x63onflict_policy\x18\x04 \x01(\x0e\x32\".soulfire.v1.BotTaskConflictPolicyR\x0e\x63onflictPolicy\x12N\n\x10reconnect_policy\x18\x05 \x01(\x0e\x32#.soulfire.v1.BotTaskReconnectPolicyR\x0freconnectPolicy\x12Q\n\x11\x64isconnect_policy\x18\x06 \x01(\x0e\x32$.soulfire.v1.BotTaskDisconnectPolicyR\x10\x64isconnectPolicy\x12\x38\n\x08priority\x18\x07 \x01(\x0e\x32\x1c.soulfire.v1.BotTaskPriorityR\x08priority\x12\x36\n\x08\x64\x65\x61\x64line\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08\x64\x65\x61\x64line\x12\x35\n\x0eparent_task_id\x18\t \x01(\tB\n\xd2\xf3\x18\x06\n\x04uuidH\x00R\x0cparentTaskId\x88\x01\x01\x12&\n\x0c\x63\x61usation_id\x18\n \x01(\tH\x01R\x0b\x63\x61usationId\x88\x01\x01\x12,\n\x0fidempotency_key\x18\x0b \x01(\tH\x02R\x0eidempotencyKey\x88\x01\x01\x42\x11\n\x0f_parent_task_idB\x0f\n\r_causation_idB\x12\n\x10_idempotency_key\";\n\x11GetBotTaskRequest\x12&\n\x07task_id\x18\x01 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\x06taskId\"\xa9\x02\n\x13ListBotTasksRequest\x12\x30\n\x0binstance_id\x18\x01 \x01(\tB\n\xd2\xf3\x18\x06\n\x04uuidH\x00R\ninstanceId\x88\x01\x01\x12&\n\x06\x62ot_id\x18\x02 \x01(\tB\n\xd2\xf3\x18\x06\n\x04uuidH\x01R\x05\x62otId\x88\x01\x01\x12\x36\n\x08statuses\x18\x03 \x03(\x0e\x32\x1a.soulfire.v1.BotTaskStatusR\x08statuses\x12\x1b\n\tpage_size\x18\x04 \x01(\rR\x08pageSize\x12\x1d\n\npage_token\x18\x05 \x01(\tR\tpageToken\x12)\n\x10include_terminal\x18\x06 \x01(\x08R\x0fincludeTerminalB\x0e\n\x0c_instance_idB\t\n\x07_bot_id\"j\n\x14ListBotTasksResponse\x12*\n\x05tasks\x18\x01 \x03(\x0b\x32\x14.soulfire.v1.BotTaskR\x05tasks\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"|\n\x13WatchBotTaskRequest\x12&\n\x07task_id\x18\x01 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\x06taskId\x12%\n\x0e\x61\x66ter_revision\x18\x02 \x01(\x04R\rafterRevision\x12\x16\n\x06\x66ollow\x18\x03 \x01(\x08R\x06\x66ollow\"\x95\x02\n\x14WatchBotTasksRequest\x12\x30\n\x0binstance_id\x18\x01 \x01(\tB\n\xd2\xf3\x18\x06\n\x04uuidH\x00R\ninstanceId\x88\x01\x01\x12&\n\x06\x62ot_id\x18\x02 \x01(\tB\n\xd2\xf3\x18\x06\n\x04uuidH\x01R\x05\x62otId\x88\x01\x01\x12\x36\n\x08statuses\x18\x03 \x03(\x0e\x32\x1a.soulfire.v1.BotTaskStatusR\x08statuses\x12%\n\x0e\x61\x66ter_sequence\x18\x04 \x01(\x04R\rafterSequence\x12)\n\x10include_snapshot\x18\x05 \x01(\x08R\x0fincludeSnapshotB\x0e\n\x0c_instance_idB\t\n\x07_bot_id\"\xa0\x01\n\x0c\x42otTaskEvent\x12\x1f\n\x08sequence\x18\x01 \x01(\x04\x42\x03\xe0\x41\x02R\x08sequence\x12@\n\x0bobserved_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\nobservedAt\x12-\n\x04task\x18\x03 \x01(\x0b\x32\x14.soulfire.v1.BotTaskB\x03\xe0\x41\x02R\x04task\"V\n\x14\x43\x61ncelBotTaskRequest\x12&\n\x07task_id\x18\x01 \x01(\tB\r\xe0\x41\x02\xd2\xf3\x18\x06\n\x04uuidR\x06taskId\x12\x16\n\x06reason\x18\x02 \x01(\tR\x06reason\"v\n\x08GoToTask\x12\x32\n\x04goal\x18\x01 \x01(\x0b\x32\x19.soulfire.v1.PathfindGoalB\x03\xe0\x41\x02R\x04goal\x12\x36\n\x07options\x18\x02 \x01(\x0b\x32\x1c.soulfire.v1.PathfindOptionsR\x07options\"S\n\x0eGoToTaskResult\x12\x41\n\x0e\x66inal_position\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionR\rfinalPosition\"\xda\x01\n\x10\x46ollowEntityTask\x12\x41\n\x06target\x18\x01 \x01(\x0b\x32$.soulfire.v1.PathfindGoal.EntityGoalB\x03\xe0\x41\x02R\x06target\x12\x36\n\x07options\x18\x02 \x01(\x0b\x32\x1c.soulfire.v1.PathfindOptionsR\x07options\x12K\n\"target_unavailable_timeout_seconds\x18\x03 \x01(\rR\x1ftargetUnavailableTimeoutSeconds\"\x9e\x01\n\x16\x46ollowEntityTaskResult\x12\x41\n\x0e\x66inal_position\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionR\rfinalPosition\x12\x41\n\x06reason\x18\x02 \x01(\x0e\x32).soulfire.v1.FollowEntityCompletionReasonR\x06reason\"\xab\x04\n\x10\x41ttackEntityTask\x12\x39\n\x06target\x18\x01 \x01(\x0b\x32\x1c.soulfire.v1.EntityReferenceB\x03\xe0\x41\x02R\x06target\x12\x36\n\x07options\x18\x02 \x01(\x0b\x32\x1c.soulfire.v1.PathfindOptionsR\x07options\x12!\n\x0c\x61ttack_range\x18\x03 \x01(\x02R\x0b\x61ttackRange\x12\x1c\n\tsprinting\x18\x04 \x01(\x08R\tsprinting\x12\'\n\x0fmaximum_attacks\x18\x05 \x01(\rR\x0emaximumAttacks\x12K\n\"target_unavailable_timeout_seconds\x18\x06 \x01(\rR\x1ftargetUnavailableTimeoutSeconds\x12\x31\n\x12select_best_weapon\x18\x07 \x01(\x08H\x00R\x10selectBestWeapon\x88\x01\x01\x12\x36\n\x06weapon\x18\x08 \x01(\x0b\x32\x19.soulfire.v1.ItemSelectorH\x01R\x06weapon\x88\x01\x01\x12\x32\n\x15restore_selected_slot\x18\t \x01(\x08R\x13restoreSelectedSlot\x12,\n\x12use_offhand_shield\x18\n \x01(\x08R\x10useOffhandShieldB\x15\n\x13_select_best_weaponB\t\n\x07_weapon\"\xdb\x01\n\x16\x41ttackEntityTaskResult\x12\x41\n\x0e\x66inal_position\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionR\rfinalPosition\x12\x41\n\x06reason\x18\x02 \x01(\x0e\x32).soulfire.v1.AttackEntityCompletionReasonR\x06reason\x12\x18\n\x07\x61ttacks\x18\x03 \x01(\rR\x07\x61ttacks\x12!\n\x0ctarget_alive\x18\x04 \x01(\x08R\x0btargetAlive\"\xe7\x04\n\x11\x41ttackNearestTask\x12<\n\x08selector\x18\x01 \x01(\x0b\x32\x1b.soulfire.v1.EntitySelectorB\x03\xe0\x41\x02R\x08selector\x12\x16\n\x06radius\x18\x02 \x01(\x02R\x06radius\x12\x36\n\x07options\x18\x03 \x01(\x0b\x32\x1c.soulfire.v1.PathfindOptionsR\x07options\x12!\n\x0c\x61ttack_range\x18\x04 \x01(\x02R\x0b\x61ttackRange\x12\x1c\n\tsprinting\x18\x05 \x01(\x08R\tsprinting\x12\'\n\x0fmaximum_attacks\x18\x06 \x01(\rR\x0emaximumAttacks\x12\'\n\x0fmaximum_targets\x18\x07 \x01(\rR\x0emaximumTargets\x12\x39\n\x19no_target_timeout_seconds\x18\x08 \x01(\rR\x16noTargetTimeoutSeconds\x12\x35\n\x17\x63omplete_when_no_target\x18\t \x01(\x08R\x14\x63ompleteWhenNoTarget\x12\x31\n\x12select_best_weapon\x18\n \x01(\x08H\x00R\x10selectBestWeapon\x88\x01\x01\x12\x36\n\x06weapon\x18\x0b \x01(\x0b\x32\x19.soulfire.v1.ItemSelectorH\x01R\x06weapon\x88\x01\x01\x12\x32\n\x15restore_selected_slot\x18\x0c \x01(\x08R\x13restoreSelectedSlotB\x15\n\x13_select_best_weaponB\t\n\x07_weapon\"\xe5\x01\n\x17\x41ttackNearestTaskResult\x12\x41\n\x0e\x66inal_position\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionR\rfinalPosition\x12\x42\n\x06reason\x18\x02 \x01(\x0e\x32*.soulfire.v1.AttackNearestCompletionReasonR\x06reason\x12\x18\n\x07\x61ttacks\x18\x03 \x01(\rR\x07\x61ttacks\x12)\n\x10targets_defeated\x18\x04 \x01(\rR\x0ftargetsDefeated\"\xc6\x04\n\x10RangedAttackTask\x12\x39\n\x06target\x18\x01 \x01(\x0b\x32\x1c.soulfire.v1.EntityReferenceB\x03\xe0\x41\x02R\x06target\x12\x36\n\x07options\x18\x02 \x01(\x0b\x32\x1c.soulfire.v1.PathfindOptionsR\x07options\x12#\n\rminimum_range\x18\x03 \x01(\x02R\x0cminimumRange\x12#\n\rmaximum_range\x18\x04 \x01(\x02R\x0cmaximumRange\x12#\n\rmaximum_shots\x18\x05 \x01(\rR\x0cmaximumShots\x12K\n\"target_unavailable_timeout_seconds\x18\x06 \x01(\rR\x1ftargetUnavailableTimeoutSeconds\x12\x36\n\x06weapon\x18\x07 \x01(\x0b\x32\x19.soulfire.v1.ItemSelectorH\x00R\x06weapon\x88\x01\x01\x12$\n\x0e\x62ow_draw_ticks\x18\x08 \x01(\rR\x0c\x62owDrawTicks\x12\x1f\n\x0blead_target\x18\t \x01(\x08R\nleadTarget\x12-\n\x12\x63ompensate_gravity\x18\n \x01(\x08R\x11\x63ompensateGravity\x12\x16\n\x06strafe\x18\x0b \x01(\x08R\x06strafe\x12\x32\n\x15restore_selected_slot\x18\x0c \x01(\x08R\x13restoreSelectedSlotB\t\n\x07_weapon\"\xe8\x01\n\x16RangedAttackTaskResult\x12\x41\n\x0e\x66inal_position\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionR\rfinalPosition\x12\x41\n\x06reason\x18\x02 \x01(\x0e\x32).soulfire.v1.RangedAttackCompletionReasonR\x06reason\x12%\n\x0eshots_released\x18\x03 \x01(\rR\rshotsReleased\x12!\n\x0ctarget_alive\x18\x04 \x01(\x08R\x0btargetAlive\"\xc4\x02\n\x08\x46leeTask\x12:\n\x07threats\x18\x01 \x01(\x0b\x32\x1b.soulfire.v1.EntitySelectorB\x03\xe0\x41\x02R\x07threats\x12%\n\x0etrigger_radius\x18\x02 \x01(\x02R\rtriggerRadius\x12#\n\rsafe_distance\x18\x03 \x01(\x02R\x0csafeDistance\x12\x36\n\x07options\x18\x04 \x01(\x0b\x32\x1c.soulfire.v1.PathfindOptionsR\x07options\x12!\n\x0csafe_seconds\x18\x05 \x01(\rR\x0bsafeSeconds\x12,\n\x12\x63omplete_when_safe\x18\x06 \x01(\x08R\x10\x63ompleteWhenSafe\x12\'\n\x0fmaximum_escapes\x18\x07 \x01(\rR\x0emaximumEscapes\"\xa8\x01\n\x0e\x46leeTaskResult\x12\x41\n\x0e\x66inal_position\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionR\rfinalPosition\x12\x39\n\x06reason\x18\x02 \x01(\x0e\x32!.soulfire.v1.FleeCompletionReasonR\x06reason\x12\x18\n\x07\x65scapes\x18\x03 \x01(\rR\x07\x65scapes\"\xa7\x06\n\tGuardTask\x12\x38\n\x08position\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.BlockPositionH\x00R\x08position\x12\x36\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\x1c.soulfire.v1.EntityReferenceH\x00R\x06\x65ntity\x12:\n\x07threats\x18\x03 \x01(\x0b\x32\x1b.soulfire.v1.EntitySelectorB\x03\xe0\x41\x02R\x07threats\x12!\n\x0cguard_radius\x18\x04 \x01(\x02R\x0bguardRadius\x12\x38\n\x18maximum_pursuit_distance\x18\x05 \x01(\x02R\x16maximumPursuitDistance\x12#\n\rreturn_radius\x18\x06 \x01(\x02R\x0creturnRadius\x12\x36\n\x07options\x18\x07 \x01(\x0b\x32\x1c.soulfire.v1.PathfindOptionsR\x07options\x12!\n\x0c\x61ttack_range\x18\x08 \x01(\x02R\x0b\x61ttackRange\x12\x1c\n\tsprinting\x18\t \x01(\x08R\tsprinting\x12\'\n\x0fmaximum_attacks\x18\n \x01(\rR\x0emaximumAttacks\x12\'\n\x0fmaximum_targets\x18\x0b \x01(\rR\x0emaximumTargets\x12.\n\x13\x63omplete_when_clear\x18\x0c \x01(\x08R\x11\x63ompleteWhenClear\x12#\n\rclear_seconds\x18\r \x01(\rR\x0c\x63learSeconds\x12\x31\n\x12select_best_weapon\x18\x0e \x01(\x08H\x01R\x10selectBestWeapon\x88\x01\x01\x12\x36\n\x06weapon\x18\x0f \x01(\x0b\x32\x19.soulfire.v1.ItemSelectorH\x02R\x06weapon\x88\x01\x01\x12\x32\n\x15restore_selected_slot\x18\x10 \x01(\x08R\x13restoreSelectedSlotB\t\n\x07subjectB\x15\n\x13_select_best_weaponB\t\n\x07_weapon\"\xd5\x01\n\x0fGuardTaskResult\x12\x41\n\x0e\x66inal_position\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionR\rfinalPosition\x12:\n\x06reason\x18\x02 \x01(\x0e\x32\".soulfire.v1.GuardCompletionReasonR\x06reason\x12\x18\n\x07\x61ttacks\x18\x03 \x01(\rR\x07\x61ttacks\x12)\n\x10targets_defeated\x18\x04 \x01(\rR\x0ftargetsDefeated\"\x85\x02\n\tSleepTask\x12\x31\n\x03\x62\x65\x64\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.BlockPositionH\x00R\x03\x62\x65\x64\x88\x01\x01\x12#\n\rsearch_radius\x18\x02 \x01(\rR\x0csearchRadius\x12\x36\n\x07options\x18\x03 \x01(\x0b\x32\x1c.soulfire.v1.PathfindOptionsR\x07options\x12.\n\x13wait_until_possible\x18\x04 \x01(\x08R\x11waitUntilPossible\x12\x30\n\x14retry_interval_ticks\x18\x05 \x01(\rR\x12retryIntervalTicksB\x06\n\x04_bed\"{\n\x0fSleepTaskResult\x12,\n\x03\x62\x65\x64\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.BlockPositionR\x03\x62\x65\x64\x12:\n\x06reason\x18\x02 \x01(\x0e\x32\".soulfire.v1.SleepCompletionReasonR\x06reason\"\xe0\x02\n\x08\x46ishTask\x12\'\n\x0fmaximum_catches\x18\x01 \x01(\rR\x0emaximumCatches\x12\x30\n\x03rod\x18\x02 \x01(\x0b\x32\x19.soulfire.v1.ItemSelectorH\x00R\x03rod\x88\x01\x01\x12,\n\x12\x63\x61st_timeout_ticks\x18\x03 \x01(\rR\x10\x63\x61stTimeoutTicks\x12,\n\x12\x62ite_timeout_ticks\x18\x04 \x01(\rR\x10\x62iteTimeoutTicks\x12/\n\x14\x63omplete_when_no_rod\x18\x05 \x01(\x08R\x11\x63ompleteWhenNoRod\x12\x32\n\x15restore_selected_slot\x18\x06 \x01(\x08R\x13restoreSelectedSlot\x12\x30\n\x14maximum_failed_casts\x18\x07 \x01(\rR\x12maximumFailedCastsB\x06\n\x04_rod\"\x88\x01\n\x0e\x46ishTaskResult\x12\x39\n\x06reason\x18\x01 \x01(\x0e\x32!.soulfire.v1.FishCompletionReasonR\x06reason\x12\x18\n\x07\x63\x61tches\x18\x02 \x01(\rR\x07\x63\x61tches\x12!\n\x0c\x66\x61iled_casts\x18\x03 \x01(\rR\x0b\x66\x61iledCasts\"\xa8\x03\n\x08\x46\x61rmTask\x12\x19\n\x08\x63rop_ids\x18\x01 \x03(\tR\x07\x63ropIds\x12\x37\n\x06\x63\x65nter\x18\x02 \x01(\x0b\x32\x1a.soulfire.v1.BlockPositionH\x00R\x06\x63\x65nter\x88\x01\x01\x12\x16\n\x06radius\x18\x03 \x01(\rR\x06radius\x12)\n\x10maximum_harvests\x18\x04 \x01(\rR\x0fmaximumHarvests\x12\x18\n\x07replant\x18\x05 \x01(\x08R\x07replant\x12@\n\x1d\x63omplete_when_no_mature_crops\x18\x06 \x01(\x08R\x19\x63ompleteWhenNoMatureCrops\x12\x36\n\x07options\x18\x07 \x01(\x0b\x32\x1c.soulfire.v1.PathfindOptionsR\x07options\x12\x32\n\x15rescan_interval_ticks\x18\x08 \x01(\rR\x13rescanIntervalTicks\x12\x32\n\x15restore_selected_slot\x18\t \x01(\x08R\x13restoreSelectedSlotB\t\n\x07_center\"\x89\x02\n\x0e\x46\x61rmTaskResult\x12\x39\n\x06reason\x18\x01 \x01(\x0e\x32!.soulfire.v1.FarmCompletionReasonR\x06reason\x12\'\n\x0f\x63rops_harvested\x18\x02 \x01(\rR\x0e\x63ropsHarvested\x12\'\n\x0f\x63rops_replanted\x18\x03 \x01(\rR\x0e\x63ropsReplanted\x12\'\n\x0f\x66\x61iled_harvests\x18\x04 \x01(\rR\x0e\x66\x61iledHarvests\x12\x41\n\x0e\x66inal_position\x18\x05 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionR\rfinalPosition\"\xbc\x04\n\tBreedTask\x12\x35\n\x07\x61nimals\x18\x01 \x01(\x0b\x32\x1b.soulfire.v1.EntitySelectorR\x07\x61nimals\x12\x32\n\x04\x66ood\x18\x02 \x01(\x0b\x32\x19.soulfire.v1.ItemSelectorH\x00R\x04\x66ood\x88\x01\x01\x12\x37\n\x06\x63\x65nter\x18\x03 \x01(\x0b\x32\x1a.soulfire.v1.BlockPositionH\x01R\x06\x63\x65nter\x88\x01\x01\x12\x16\n\x06radius\x18\x04 \x01(\rR\x06radius\x12#\n\rmaximum_pairs\x18\x05 \x01(\rR\x0cmaximumPairs\x12\x31\n\x15\x63omplete_when_no_pair\x18\x06 \x01(\x08R\x12\x63ompleteWhenNoPair\x12\x31\n\x15\x63omplete_when_no_food\x18\x07 \x01(\x08R\x12\x63ompleteWhenNoFood\x12\x36\n\x07options\x18\x08 \x01(\x0b\x32\x1c.soulfire.v1.PathfindOptionsR\x07options\x12\x32\n\x15rescan_interval_ticks\x18\t \x01(\rR\x13rescanIntervalTicks\x12\x34\n\x16\x62reeding_timeout_ticks\x18\n \x01(\rR\x14\x62reedingTimeoutTicks\x12\x32\n\x15restore_selected_slot\x18\x0b \x01(\x08R\x13restoreSelectedSlotB\x07\n\x05_foodB\t\n\x07_center\"\xf9\x01\n\x0f\x42reedTaskResult\x12:\n\x06reason\x18\x01 \x01(\x0e\x32\".soulfire.v1.BreedCompletionReasonR\x06reason\x12#\n\rpairs_started\x18\x02 \x01(\rR\x0cpairsStarted\x12\x1f\n\x0b\x61nimals_fed\x18\x03 \x01(\rR\nanimalsFed\x12!\n\x0c\x66\x61iled_pairs\x18\x04 \x01(\rR\x0b\x66\x61iledPairs\x12\x41\n\x0e\x66inal_position\x18\x05 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionR\rfinalPosition\"\xbd\x02\n\x0b\x45xploreTask\x12\x37\n\x06origin\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.BlockPositionH\x00R\x06origin\x88\x01\x01\x12\x16\n\x06radius\x18\x02 \x01(\rR\x06radius\x12)\n\x10waypoint_spacing\x18\x03 \x01(\rR\x0fwaypointSpacing\x12+\n\x11maximum_waypoints\x18\x04 \x01(\rR\x10maximumWaypoints\x12\x36\n\x07options\x18\x05 \x01(\x0b\x32\x1c.soulfire.v1.PathfindOptionsR\x07options\x12(\n\x10return_to_origin\x18\x06 \x01(\x08R\x0ereturnToOrigin\x12\x18\n\x07purpose\x18\x07 \x01(\tR\x07purposeB\t\n\x07_origin\"\xa8\x02\n\x11\x45xploreTaskResult\x12<\n\x06reason\x18\x01 \x01(\x0e\x32$.soulfire.v1.ExploreCompletionReasonR\x06reason\x12+\n\x11waypoints_visited\x18\x02 \x01(\rR\x10waypointsVisited\x12#\n\rfailed_routes\x18\x03 \x01(\rR\x0c\x66\x61iledRoutes\x12@\n\x1chorizontal_distance_traveled\x18\x04 \x01(\x01R\x1ahorizontalDistanceTraveled\x12\x41\n\x0e\x66inal_position\x18\x05 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionR\rfinalPosition\"\x98\x01\n\x1a\x43ontainerTransferOperation\x12:\n\x08selector\x18\x01 \x01(\x0b\x32\x19.soulfire.v1.ItemSelectorB\x03\xe0\x41\x02R\x08selector\x12\x19\n\x05\x63ount\x18\x02 \x01(\rB\x03\xe0\x41\x02R\x05\x63ount\x12#\n\rallow_partial\x18\x03 \x01(\x08R\x0c\x61llowPartial\"\xd1\x02\n\x15\x43ontainerTransferTask\x12=\n\tcontainer\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.BlockPositionB\x03\xe0\x41\x02R\tcontainer\x12J\n\tdirection\x18\x02 \x01(\x0e\x32\'.soulfire.v1.ContainerTransferDirectionB\x03\xe0\x41\x02R\tdirection\x12L\n\noperations\x18\x03 \x03(\x0b\x32\'.soulfire.v1.ContainerTransferOperationB\x03\xe0\x41\x02R\noperations\x12\x36\n\x07options\x18\x04 \x01(\x0b\x32\x1c.soulfire.v1.PathfindOptionsR\x07options\x12\'\n\x0f\x63lose_container\x18\x05 \x01(\x08R\x0e\x63loseContainer\"\x91\x01\n\x18\x43ontainerTransferOutcome\x12\x35\n\x08selector\x18\x01 \x01(\x0b\x32\x19.soulfire.v1.ItemSelectorR\x08selector\x12\x1c\n\trequested\x18\x02 \x01(\rR\trequested\x12 \n\x0btransferred\x18\x03 \x01(\rR\x0btransferred\"\xc7\x02\n\x1b\x43ontainerTransferTaskResult\x12\x46\n\x06reason\x18\x01 \x01(\x0e\x32..soulfire.v1.ContainerTransferCompletionReasonR\x06reason\x12\x41\n\x08outcomes\x18\x02 \x03(\x0b\x32%.soulfire.v1.ContainerTransferOutcomeR\x08outcomes\x12+\n\x11total_transferred\x18\x03 \x01(\rR\x10totalTransferred\x12-\n\x12\x63ontainer_revision\x18\x04 \x01(\x04R\x11\x63ontainerRevision\x12\x41\n\x0e\x66inal_position\x18\x05 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionR\rfinalPosition\"\x8e\x02\n\x0b\x41utoEatTask\x12\"\n\rfood_item_ids\x18\x01 \x03(\tR\x0b\x66oodItemIds\x12\x1d\n\nfood_level\x18\x02 \x01(\rR\tfoodLevel\x12\x30\n\x14\x63heck_interval_ticks\x18\x03 \x01(\rR\x12\x63heckIntervalTicks\x12#\n\rmaximum_meals\x18\x04 \x01(\rR\x0cmaximumMeals\x12\x31\n\x15\x63omplete_when_no_food\x18\x05 \x01(\x08R\x12\x63ompleteWhenNoFood\x12\x32\n\x15restore_selected_slot\x18\x06 \x01(\x08R\x13restoreSelectedSlot\"\x9c\x01\n\x11\x41utoEatTaskResult\x12<\n\x06reason\x18\x01 \x01(\x0e\x32$.soulfire.v1.AutoEatCompletionReasonR\x06reason\x12\x1f\n\x0bmeals_eaten\x18\x02 \x01(\rR\nmealsEaten\x12(\n\x10\x66inal_food_level\x18\x03 \x01(\rR\x0e\x66inalFoodLevel\"l\n\x0f\x41utoRespawnTask\x12.\n\x13respawn_delay_ticks\x18\x01 \x01(\rR\x11respawnDelayTicks\x12)\n\x10maximum_respawns\x18\x02 \x01(\rR\x0fmaximumRespawns\"u\n\x15\x41utoRespawnTaskResult\x12@\n\x06reason\x18\x01 \x01(\x0e\x32(.soulfire.v1.AutoRespawnCompletionReasonR\x06reason\x12\x1a\n\x08respawns\x18\x02 \x01(\rR\x08respawns\"\xd7\x01\n\rAutoTotemTask\x12\x30\n\x14\x63heck_interval_ticks\x18\x01 \x01(\rR\x12\x63heckIntervalTicks\x12%\n\x0emaximum_equips\x18\x02 \x01(\rR\rmaximumEquips\x12\x33\n\x16\x63omplete_when_no_totem\x18\x03 \x01(\x08R\x13\x63ompleteWhenNoTotem\x12\x38\n\x18replace_occupied_offhand\x18\x04 \x01(\x08R\x16replaceOccupiedOffhand\"m\n\x13\x41utoTotemTaskResult\x12>\n\x06reason\x18\x01 \x01(\x0e\x32&.soulfire.v1.AutoTotemCompletionReasonR\x06reason\x12\x16\n\x06\x65quips\x18\x02 \x01(\rR\x06\x65quips\"\xa1\x01\n\rAutoArmorTask\x12\x30\n\x14\x63heck_interval_ticks\x18\x01 \x01(\rR\x12\x63heckIntervalTicks\x12%\n\x0emaximum_equips\x18\x02 \x01(\rR\rmaximumEquips\x12\x37\n\x18\x63omplete_when_no_upgrade\x18\x03 \x01(\x08R\x15\x63ompleteWhenNoUpgrade\"m\n\x13\x41utoArmorTaskResult\x12>\n\x06reason\x18\x01 \x01(\x0e\x32&.soulfire.v1.AutoArmorCompletionReasonR\x06reason\x12\x16\n\x06\x65quips\x18\x02 \x01(\rR\x06\x65quips\"\xdf\x02\n\x11\x43ollectBlocksTask\x12\x1b\n\tblock_ids\x18\x01 \x03(\tR\x08\x62lockIds\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags\x12\x14\n\x05\x63ount\x18\x03 \x01(\rR\x05\x63ount\x12#\n\rsearch_radius\x18\x04 \x01(\rR\x0csearchRadius\x12\x36\n\x07options\x18\x05 \x01(\x0b\x32\x1c.soulfire.v1.PathfindOptionsR\x07options\x12\x36\n\x17\x61void_submerged_targets\x18\x06 \x01(\x08R\x15\x61voidSubmergedTargets\x12\x31\n\x15require_line_of_sight\x18\x07 \x01(\x08R\x12requireLineOfSight\x12;\n\x0etarget_y_range\x18\x08 \x01(\x0b\x32\x15.soulfire.v1.IntRangeR\x0ctargetYRange\"\xc5\x01\n\x17\x43ollectBlocksTaskResult\x12\x42\n\x06reason\x18\x01 \x01(\x0e\x32*.soulfire.v1.CollectBlocksCompletionReasonR\x06reason\x12#\n\rblocks_broken\x18\x02 \x01(\rR\x0c\x62locksBroken\x12\x41\n\x0e\x66inal_position\x18\x03 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionR\rfinalPosition\"\x87\x08\n\x1f\x43ollectBlocksTaskProgressDetail\x12M\n\x05phase\x18\x01 \x01(\x0e\x32\x32.soulfire.v1.CollectBlocksTaskProgressDetail.PhaseB\x03\xe0\x41\x02R\x05phase\x12\x43\n\x0fplayer_position\x18\x02 \x01(\x0b\x32\x1a.soulfire.v1.BlockPositionR\x0eplayerPosition\x12\x41\n\x0e\x61\x63tive_targets\x18\x03 \x03(\x0b\x32\x1a.soulfire.v1.BlockPositionR\ractiveTargets\x12\x45\n\x10rejected_targets\x18\x04 \x03(\x0b\x32\x1a.soulfire.v1.BlockPositionR\x0frejectedTargets\x12h\n\x11\x66\x61iled_approaches\x18\x05 \x03(\x0b\x32;.soulfire.v1.CollectBlocksTaskProgressDetail.FailedApproachR\x10\x66\x61iledApproaches\x12#\n\rpath_planning\x18\x06 \x01(\x08R\x0cpathPlanning\x12\x32\n\x15path_current_movement\x18\x07 \x01(\rR\x13pathCurrentMovement\x12\x30\n\x14path_total_movements\x18\x08 \x01(\rR\x12pathTotalMovements\x12\x45\n\x10\x63ompleted_breaks\x18\t \x03(\x0b\x32\x1a.soulfire.v1.BlockPositionR\x0f\x63ompletedBreaks\x12:\n\x19\x63onsecutive_stalled_paths\x18\n \x01(\rR\x17\x63onsecutiveStalledPaths\x1a\x90\x01\n\x0e\x46\x61iledApproach\x12\x37\n\x06target\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.BlockPositionB\x03\xe0\x41\x02R\x06target\x12\x45\n\x10player_positions\x18\x02 \x03(\x0b\x32\x1a.soulfire.v1.BlockPositionR\x0fplayerPositions\"\xba\x01\n\x05Phase\x12\x15\n\x11PHASE_UNSPECIFIED\x10\x00\x12\x13\n\x0fPHASE_SEARCHING\x10\x01\x12\x18\n\x14PHASE_PLANNING_ROUTE\x10\x02\x12\x19\n\x15PHASE_FOLLOWING_ROUTE\x10\x03\x12\x18\n\x14PHASE_BREAKING_BLOCK\x10\x04\x12\x1b\n\x17PHASE_RETRYING_APPROACH\x10\x05\x12\x19\n\x15PHASE_SKIPPING_TARGET\x10\x06\"\xe5\x01\n\x0c\x45xcavateTask\x12:\n\x08\x63orner_a\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.BlockPositionB\x03\xe0\x41\x02R\x07\x63ornerA\x12:\n\x08\x63orner_b\x18\x02 \x01(\x0b\x32\x1a.soulfire.v1.BlockPositionB\x03\xe0\x41\x02R\x07\x63ornerB\x12\x36\n\x07options\x18\x03 \x01(\x0b\x32\x1c.soulfire.v1.PathfindOptionsR\x07options\x12%\n\x0emaximum_blocks\x18\x04 \x01(\rR\rmaximumBlocks\"\x91\x02\n\x12\x45xcavateTaskResult\x12=\n\x06reason\x18\x01 \x01(\x0e\x32%.soulfire.v1.ExcavateCompletionReasonR\x06reason\x12#\n\rblocks_broken\x18\x02 \x01(\rR\x0c\x62locksBroken\x12%\n\x0e\x62locks_skipped\x18\x03 \x01(\rR\rblocksSkipped\x12-\n\x12unreachable_blocks\x18\x04 \x01(\rR\x11unreachableBlocks\x12\x41\n\x0e\x66inal_position\x18\x05 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionR\rfinalPosition\"7\n\x0b\x42uildOffset\x12\x0c\n\x01x\x18\x01 \x01(\x11R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x11R\x01y\x12\x0c\n\x01z\x18\x03 \x01(\x11R\x01z\"\xeb\x01\n\nBuildBlock\x12\x35\n\x06offset\x18\x01 \x01(\x0b\x32\x18.soulfire.v1.BuildOffsetB\x03\xe0\x41\x02R\x06offset\x12\x1e\n\x08\x62lock_id\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x07\x62lockId\x12G\n\nproperties\x18\x03 \x03(\x0b\x32\'.soulfire.v1.BuildBlock.PropertiesEntryR\nproperties\x1a=\n\x0fPropertiesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\x81\x01\n\x19\x42uildMaterialSubstitution\x12+\n\x0fsource_block_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\rsourceBlockId\x12\x37\n\x15replacement_block_ids\x18\x02 \x03(\tB\x03\xe0\x41\x02R\x13replacementBlockIds\"\xa6\x04\n\tBuildTask\x12\x37\n\x06origin\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.BlockPositionB\x03\xe0\x41\x02R\x06origin\x12\x34\n\x06\x62locks\x18\x02 \x03(\x0b\x32\x17.soulfire.v1.BuildBlockB\x03\xe0\x41\x02R\x06\x62locks\x12\x36\n\x08rotation\x18\x03 \x01(\x0e\x32\x1a.soulfire.v1.BuildRotationR\x08rotation\x12\x30\n\x06mirror\x18\x04 \x01(\x0e\x32\x18.soulfire.v1.BuildMirrorR\x06mirror\x12L\n\rsubstitutions\x18\x05 \x03(\x0b\x32&.soulfire.v1.BuildMaterialSubstitutionR\rsubstitutions\x12\x36\n\x07options\x18\x06 \x01(\x0b\x32\x1c.soulfire.v1.PathfindOptionsR\x07options\x12\x34\n\x16\x62reak_incorrect_blocks\x18\x07 \x01(\x08R\x14\x62reakIncorrectBlocks\x12\x32\n\x15restore_selected_slot\x18\x08 \x01(\x08R\x13restoreSelectedSlot\x12\'\n\x0fpartition_index\x18\t \x01(\rR\x0epartitionIndex\x12\'\n\x0fpartition_count\x18\n \x01(\rR\x0epartitionCount\"\xf2\x01\n\x11\x42uildBlockOutcome\x12\x36\n\x08position\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.BlockPositionR\x08position\x12,\n\x12requested_block_id\x18\x02 \x01(\tR\x10requestedBlockId\x12&\n\x0fplaced_block_id\x18\x03 \x01(\tR\rplacedBlockId\x12\x35\n\x06status\x18\x04 \x01(\x0e\x32\x1d.soulfire.v1.BuildBlockStatusR\x06status\x12\x18\n\x07message\x18\x05 \x01(\tR\x07message\"\x84\x03\n\x0f\x42uildTaskResult\x12:\n\x06reason\x18\x01 \x01(\x0e\x32\".soulfire.v1.BuildCompletionReasonR\x06reason\x12#\n\rblocks_placed\x18\x02 \x01(\rR\x0c\x62locksPlaced\x12\x34\n\x16\x62locks_already_correct\x18\x03 \x01(\rR\x14\x62locksAlreadyCorrect\x12\x36\n\x17incorrect_blocks_broken\x18\x04 \x01(\rR\x15incorrectBlocksBroken\x12#\n\rblocks_failed\x18\x05 \x01(\rR\x0c\x62locksFailed\x12:\n\x08outcomes\x18\x06 \x03(\x0b\x32\x1e.soulfire.v1.BuildBlockOutcomeR\x08outcomes\x12\x41\n\x0e\x66inal_position\x18\x07 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionR\rfinalPosition\"\xc7\x01\n\x12LoadoutRequirement\x12:\n\x08selector\x18\x01 \x01(\x0b\x32\x19.soulfire.v1.ItemSelectorB\x03\xe0\x41\x02R\x08selector\x12(\n\rminimum_count\x18\x02 \x01(\rB\x03\xe0\x41\x02R\x0cminimumCount\x12&\n\x0ctarget_count\x18\x03 \x01(\rB\x03\xe0\x41\x02R\x0btargetCount\x12#\n\rmaximum_count\x18\x04 \x01(\rR\x0cmaximumCount\"\x98\x03\n\x13MaintainLoadoutTask\x12=\n\tcontainer\x18\x01 \x01(\x0b\x32\x1a.soulfire.v1.BlockPositionB\x03\xe0\x41\x02R\tcontainer\x12H\n\x0crequirements\x18\x02 \x03(\x0b\x32\x1f.soulfire.v1.LoadoutRequirementB\x03\xe0\x41\x02R\x0crequirements\x12\x36\n\x07options\x18\x03 \x01(\x0b\x32\x1c.soulfire.v1.PathfindOptionsR\x07options\x12\x30\n\x14\x63heck_interval_ticks\x18\x04 \x01(\rR\x12\x63heckIntervalTicks\x12-\n\x12maximum_rebalances\x18\x05 \x01(\rR\x11maximumRebalances\x12\x36\n\x17\x63omplete_when_satisfied\x18\x06 \x01(\x08R\x15\x63ompleteWhenSatisfied\x12\'\n\x0f\x63lose_container\x18\x07 \x01(\x08R\x0e\x63loseContainer\"\xcc\x01\n\x18LoadoutRequirementResult\x12\x35\n\x08selector\x18\x01 \x01(\x0b\x32\x19.soulfire.v1.ItemSelectorR\x08selector\x12\x1f\n\x0b\x66inal_count\x18\x02 \x01(\rR\nfinalCount\x12\x1c\n\twithdrawn\x18\x03 \x01(\rR\twithdrawn\x12\x1c\n\tdeposited\x18\x04 \x01(\rR\tdeposited\x12\x1c\n\tsatisfied\x18\x05 \x01(\x08R\tsatisfied\"\xe1\x02\n\x19MaintainLoadoutTaskResult\x12\x44\n\x06reason\x18\x01 \x01(\x0e\x32,.soulfire.v1.MaintainLoadoutCompletionReasonR\x06reason\x12\x1e\n\nrebalances\x18\x02 \x01(\rR\nrebalances\x12\'\n\x0ftotal_withdrawn\x18\x03 \x01(\rR\x0etotalWithdrawn\x12\'\n\x0ftotal_deposited\x18\x04 \x01(\rR\x0etotalDeposited\x12I\n\x0crequirements\x18\x05 \x03(\x0b\x32%.soulfire.v1.LoadoutRequirementResultR\x0crequirements\x12\x41\n\x0e\x66inal_position\x18\x06 \x01(\x0b\x32\x1a.soulfire.v1.WorldPositionR\rfinalPosition*\x94\x03\n\x0f\x42otTaskResource\x12!\n\x1d\x42OT_TASK_RESOURCE_UNSPECIFIED\x10\x00\x12\x1e\n\x1a\x42OT_TASK_RESOURCE_MOVEMENT\x10\x01\x12\x1e\n\x1a\x42OT_TASK_RESOURCE_ROTATION\x10\x02\x12\x1f\n\x1b\x42OT_TASK_RESOURCE_MAIN_HAND\x10\x03\x12\x1e\n\x1a\x42OT_TASK_RESOURCE_OFF_HAND\x10\x04\x12\x1f\n\x1b\x42OT_TASK_RESOURCE_INVENTORY\x10\x05\x12\x1f\n\x1b\x42OT_TASK_RESOURCE_CONTAINER\x10\x06\x12\x1a\n\x16\x42OT_TASK_RESOURCE_CHAT\x10\x07\x12\x1d\n\x19\x42OT_TASK_RESOURCE_VEHICLE\x10\x08\x12\x1c\n\x18\x42OT_TASK_RESOURCE_CAMERA\x10\t\x12\x1e\n\x1a\x42OT_TASK_RESOURCE_PROTOCOL\x10\x0b\"\x04\x08\n\x10\n*\x1c\x42OT_TASK_RESOURCE_AUTOMATION*\xcc\x02\n\rBotTaskStatus\x12\x1f\n\x1b\x42OT_TASK_STATUS_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x42OT_TASK_STATUS_QUEUED\x10\x01\x12)\n%BOT_TASK_STATUS_WAITING_FOR_RESOURCES\x10\x02\x12\x1b\n\x17\x42OT_TASK_STATUS_RUNNING\x10\x03\x12\x1d\n\x19\x42OT_TASK_STATUS_SUSPENDED\x10\x04\x12\x1e\n\x1a\x42OT_TASK_STATUS_RECOVERING\x10\x05\x12\x1d\n\x19\x42OT_TASK_STATUS_COMPLETED\x10\x06\x12\x1d\n\x19\x42OT_TASK_STATUS_CANCELLED\x10\x07\x12\x1a\n\x16\x42OT_TASK_STATUS_FAILED\x10\x08\x12\x1d\n\x19\x42OT_TASK_STATUS_TIMED_OUT\x10\t*\xe5\x01\n\x15\x42otTaskConflictPolicy\x12(\n$BOT_TASK_CONFLICT_POLICY_UNSPECIFIED\x10\x00\x12#\n\x1f\x42OT_TASK_CONFLICT_POLICY_REJECT\x10\x01\x12\"\n\x1e\x42OT_TASK_CONFLICT_POLICY_QUEUE\x10\x02\x12$\n BOT_TASK_CONFLICT_POLICY_REPLACE\x10\x03\x12\x33\n/BOT_TASK_CONFLICT_POLICY_SUSPEND_LOWER_PRIORITY\x10\x04*\xbf\x01\n\x16\x42otTaskReconnectPolicy\x12)\n%BOT_TASK_RECONNECT_POLICY_UNSPECIFIED\x10\x00\x12\"\n\x1e\x42OT_TASK_RECONNECT_POLICY_FAIL\x10\x01\x12.\n*BOT_TASK_RECONNECT_POLICY_PAUSE_AND_RESUME\x10\x02\x12&\n\"BOT_TASK_RECONNECT_POLICY_CONTINUE\x10\x03*\x9f\x01\n\x17\x42otTaskDisconnectPolicy\x12*\n&BOT_TASK_DISCONNECT_POLICY_UNSPECIFIED\x10\x00\x12\'\n#BOT_TASK_DISCONNECT_POLICY_CONTINUE\x10\x01\x12/\n+BOT_TASK_DISCONNECT_POLICY_CANCEL_WITH_CALL\x10\x02*\xa9\x01\n\x0f\x42otTaskPriority\x12!\n\x1d\x42OT_TASK_PRIORITY_UNSPECIFIED\x10\x00\x12\x19\n\x15\x42OT_TASK_PRIORITY_LOW\x10\x01\x12\x1c\n\x18\x42OT_TASK_PRIORITY_NORMAL\x10\x02\x12\x1a\n\x16\x42OT_TASK_PRIORITY_HIGH\x10\x03\x12\x1e\n\x1a\x42OT_TASK_PRIORITY_CRITICAL\x10\x04*\x87\x01\n\x1c\x46ollowEntityCompletionReason\x12/\n+FOLLOW_ENTITY_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12\x36\n2FOLLOW_ENTITY_COMPLETION_REASON_TARGET_UNAVAILABLE\x10\x01*\xf6\x01\n\x1c\x41ttackEntityCompletionReason\x12/\n+ATTACK_ENTITY_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12\x33\n/ATTACK_ENTITY_COMPLETION_REASON_TARGET_DEFEATED\x10\x01\x12\x36\n2ATTACK_ENTITY_COMPLETION_REASON_TARGET_UNAVAILABLE\x10\x02\x12\x38\n4ATTACK_ENTITY_COMPLETION_REASON_ATTACK_LIMIT_REACHED\x10\x03*\xf7\x01\n\x1d\x41ttackNearestCompletionReason\x12\x30\n,ATTACK_NEAREST_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12\x39\n5ATTACK_NEAREST_COMPLETION_REASON_TARGET_LIMIT_REACHED\x10\x01\x12\x39\n5ATTACK_NEAREST_COMPLETION_REASON_ATTACK_LIMIT_REACHED\x10\x02\x12.\n*ATTACK_NEAREST_COMPLETION_REASON_NO_TARGET\x10\x03*\xd6\x02\n\x1cRangedAttackCompletionReason\x12/\n+RANGED_ATTACK_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12\x33\n/RANGED_ATTACK_COMPLETION_REASON_TARGET_DEFEATED\x10\x01\x12\x36\n2RANGED_ATTACK_COMPLETION_REASON_TARGET_UNAVAILABLE\x10\x02\x12\x36\n2RANGED_ATTACK_COMPLETION_REASON_SHOT_LIMIT_REACHED\x10\x03\x12-\n)RANGED_ATTACK_COMPLETION_REASON_NO_WEAPON\x10\x04\x12\x31\n-RANGED_ATTACK_COMPLETION_REASON_NO_AMMUNITION\x10\x05*\x90\x01\n\x14\x46leeCompletionReason\x12&\n\"FLEE_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x46LEE_COMPLETION_REASON_SAFE\x10\x01\x12/\n+FLEE_COMPLETION_REASON_ESCAPE_LIMIT_REACHED\x10\x02*\xfd\x01\n\x15GuardCompletionReason\x12\'\n#GUARD_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12&\n\"GUARD_COMPLETION_REASON_AREA_CLEAR\x10\x01\x12\x30\n,GUARD_COMPLETION_REASON_TARGET_LIMIT_REACHED\x10\x02\x12\x30\n,GUARD_COMPLETION_REASON_ATTACK_LIMIT_REACHED\x10\x03\x12/\n+GUARD_COMPLETION_REASON_SUBJECT_UNAVAILABLE\x10\x04*\xbe\x01\n\x15SleepCompletionReason\x12\'\n#SLEEP_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12$\n SLEEP_COMPLETION_REASON_SLEEPING\x10\x01\x12,\n(SLEEP_COMPLETION_REASON_ALREADY_SLEEPING\x10\x02\x12(\n$SLEEP_COMPLETION_REASON_NO_BED_FOUND\x10\x03*\xc7\x01\n\x14\x46ishCompletionReason\x12&\n\"FISH_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12.\n*FISH_COMPLETION_REASON_CATCH_LIMIT_REACHED\x10\x01\x12!\n\x1d\x46ISH_COMPLETION_REASON_NO_ROD\x10\x02\x12\x34\n0FISH_COMPLETION_REASON_FAILED_CAST_LIMIT_REACHED\x10\x03*\xc8\x01\n\x14\x46\x61rmCompletionReason\x12&\n\"FARM_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12\x30\n,FARM_COMPLETION_REASON_HARVEST_LIMIT_REACHED\x10\x01\x12*\n&FARM_COMPLETION_REASON_NO_MATURE_CROPS\x10\x02\x12*\n&FARM_COMPLETION_REASON_NO_REPLANT_ITEM\x10\x03*\xc5\x01\n\x15\x42reedCompletionReason\x12\'\n#BREED_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12.\n*BREED_COMPLETION_REASON_PAIR_LIMIT_REACHED\x10\x01\x12.\n*BREED_COMPLETION_REASON_NO_COMPATIBLE_PAIR\x10\x02\x12#\n\x1f\x42REED_COMPLETION_REASON_NO_FOOD\x10\x03*\xda\x01\n\x17\x45xploreCompletionReason\x12)\n%EXPLORE_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12\x34\n0EXPLORE_COMPLETION_REASON_WAYPOINT_LIMIT_REACHED\x10\x01\x12,\n(EXPLORE_COMPLETION_REASON_AREA_EXHAUSTED\x10\x02\x12\x30\n,EXPLORE_COMPLETION_REASON_RETURNED_TO_ORIGIN\x10\x03*\x9f\x01\n\x1a\x43ontainerTransferDirection\x12,\n(CONTAINER_TRANSFER_DIRECTION_UNSPECIFIED\x10\x00\x12(\n$CONTAINER_TRANSFER_DIRECTION_DEPOSIT\x10\x01\x12)\n%CONTAINER_TRANSFER_DIRECTION_WITHDRAW\x10\x02*\xbf\x01\n!ContainerTransferCompletionReason\x12\x34\n0CONTAINER_TRANSFER_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12\x32\n.CONTAINER_TRANSFER_COMPLETION_REASON_COMPLETED\x10\x01\x12\x30\n,CONTAINER_TRANSFER_COMPLETION_REASON_PARTIAL\x10\x02*\xd3\x01\n\x17\x41utoEatCompletionReason\x12*\n&AUTO_EAT_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12\x31\n-AUTO_EAT_COMPLETION_REASON_MEAL_LIMIT_REACHED\x10\x01\x12&\n\"AUTO_EAT_COMPLETION_REASON_NO_FOOD\x10\x02\x12\x31\n-AUTO_EAT_COMPLETION_REASON_FOOD_LEVEL_REACHED\x10\x03*\x87\x01\n\x1b\x41utoRespawnCompletionReason\x12.\n*AUTO_RESPAWN_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12\x38\n4AUTO_RESPAWN_COMPLETION_REASON_RESPAWN_LIMIT_REACHED\x10\x01*\xaa\x01\n\x19\x41utoTotemCompletionReason\x12,\n(AUTO_TOTEM_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12\x34\n0AUTO_TOTEM_COMPLETION_REASON_EQUIP_LIMIT_REACHED\x10\x01\x12)\n%AUTO_TOTEM_COMPLETION_REASON_NO_TOTEM\x10\x02*\xac\x01\n\x19\x41utoArmorCompletionReason\x12,\n(AUTO_ARMOR_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12\x34\n0AUTO_ARMOR_COMPLETION_REASON_EQUIP_LIMIT_REACHED\x10\x01\x12+\n\'AUTO_ARMOR_COMPLETION_REASON_NO_UPGRADE\x10\x02*\xf9\x01\n\x1d\x43ollectBlocksCompletionReason\x12\x30\n,COLLECT_BLOCKS_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12\x33\n/COLLECT_BLOCKS_COMPLETION_REASON_TARGET_REACHED\x10\x01\x12\x37\n3COLLECT_BLOCKS_COMPLETION_REASON_NO_MATCHING_BLOCKS\x10\x02\x12\x38\n4COLLECT_BLOCKS_COMPLETION_REASON_NO_REACHABLE_BLOCKS\x10\x03*\xdb\x01\n\x18\x45xcavateCompletionReason\x12*\n&EXCAVATE_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12+\n\'EXCAVATE_COMPLETION_REASON_AREA_CLEARED\x10\x01\x12\x32\n.EXCAVATE_COMPLETION_REASON_BLOCK_LIMIT_REACHED\x10\x02\x12\x32\n.EXCAVATE_COMPLETION_REASON_NO_REACHABLE_BLOCKS\x10\x03*\xaa\x01\n\rBuildRotation\x12\x1e\n\x1a\x42UILD_ROTATION_UNSPECIFIED\x10\x00\x12\x17\n\x13\x42UILD_ROTATION_NONE\x10\x01\x12\x1f\n\x1b\x42UILD_ROTATION_CLOCKWISE_90\x10\x02\x12\x17\n\x13\x42UILD_ROTATION_HALF\x10\x03\x12&\n\"BUILD_ROTATION_COUNTERCLOCKWISE_90\x10\x04*j\n\x0b\x42uildMirror\x12\x1c\n\x18\x42UILD_MIRROR_UNSPECIFIED\x10\x00\x12\x15\n\x11\x42UILD_MIRROR_NONE\x10\x01\x12\x12\n\x0e\x42UILD_MIRROR_X\x10\x02\x12\x12\n\x0e\x42UILD_MIRROR_Z\x10\x03*\xbd\x02\n\x10\x42uildBlockStatus\x12\"\n\x1e\x42UILD_BLOCK_STATUS_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x42UILD_BLOCK_STATUS_PLACED\x10\x01\x12&\n\"BUILD_BLOCK_STATUS_ALREADY_CORRECT\x10\x02\x12\'\n#BUILD_BLOCK_STATUS_MISSING_MATERIAL\x10\x03\x12\"\n\x1e\x42UILD_BLOCK_STATUS_UNREACHABLE\x10\x04\x12\"\n\x1e\x42UILD_BLOCK_STATUS_UNSUPPORTED\x10\x05\x12%\n!BUILD_BLOCK_STATUS_STATE_MISMATCH\x10\x06\x12&\n\"BUILD_BLOCK_STATUS_INCORRECT_BLOCK\x10\x07*\x8c\x01\n\x15\x42uildCompletionReason\x12\'\n#BUILD_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12%\n!BUILD_COMPLETION_REASON_COMPLETED\x10\x01\x12#\n\x1f\x42UILD_COMPLETION_REASON_PARTIAL\x10\x02*\x83\x02\n\x1fMaintainLoadoutCompletionReason\x12\x32\n.MAINTAIN_LOADOUT_COMPLETION_REASON_UNSPECIFIED\x10\x00\x12\x30\n,MAINTAIN_LOADOUT_COMPLETION_REASON_SATISFIED\x10\x01\x12>\n:MAINTAIN_LOADOUT_COMPLETION_REASON_REBALANCE_LIMIT_REACHED\x10\x02\x12:\n6MAINTAIN_LOADOUT_COMPLETION_REASON_CONTAINER_EXHAUSTED\x10\x03\x32\xce\x0b\n\x0e\x42otTaskService\x12\xc2\x02\n\x0cStartBotTask\x12 .soulfire.v1.StartBotTaskRequest\x1a\x14.soulfire.v1.BotTask\"\xf9\x01\xca\xf3\x18\xba\x01\n\x0eStart bot task\x1a\x13\x43ONTROL_BOT_ACTIONS\"\x0cinstance.bot2ICreates a durable task and schedules it according to its resource policy.::May drive the bot or mutate the connected Minecraft world.\x82\xd3\xe4\x93\x02\x34\"//v1/instances/{instance_id}/bots/{bot_id}/tasks:\x01*\x12\x87\x02\n\nRunBotTask\x12 .soulfire.v1.StartBotTaskRequest\x1a\x19.soulfire.v1.BotTaskEvent\"\xb9\x01\xca\xf3\x18\xb4\x01\n\x0cRun bot task\x1a\x13\x43ONTROL_BOT_ACTIONS\"\x0cinstance.bot2ECreates a task and streams every state transition through completion.::May drive the bot or mutate the connected Minecraft world.0\x01\x12\x86\x01\n\nGetBotTask\x12\x1e.soulfire.v1.GetBotTaskRequest\x1a\x14.soulfire.v1.BotTask\"B\xca\xf3\x18#\n\x0cGet bot task\x1a\rREAD_BOT_INFO\"\x04task\x82\xd3\xe4\x93\x02\x15\x12\x13/v1/tasks/{task_id}\x12\x93\x01\n\x0cListBotTasks\x12 .soulfire.v1.ListBotTasksRequest\x1a!.soulfire.v1.ListBotTasksResponse\">\xca\xf3\x18)\n\x0eList bot tasks\x1a\rREAD_BOT_INFO\"\x08instance\x82\xd3\xe4\x93\x02\x0b\x12\t/v1/tasks\x12\xbb\x01\n\x0cWatchBotTask\x12 .soulfire.v1.WatchBotTaskRequest\x1a\x19.soulfire.v1.BotTaskEvent\"l\xca\xf3\x18h\n\x0eWatch bot task\x1a\rREAD_BOT_INFO\"\x04task2AStreams task revisions until cancellation or terminal completion.0\x01\x12\xb4\x01\n\rWatchBotTasks\x12!.soulfire.v1.WatchBotTasksRequest\x1a\x19.soulfire.v1.BotTaskEvent\"c\xca\xf3\x18_\n\x0fWatch bot tasks\x1a\rREAD_BOT_INFO\"\x08instance23Streams matching task revisions until cancellation.0\x01\x12\xd8\x01\n\rCancelBotTask\x12!.soulfire.v1.CancelBotTaskRequest\x1a\x14.soulfire.v1.BotTask\"\x8d\x01\xca\xf3\x18\x64\n\x0f\x43\x61ncel bot task\x1a\x13\x43ONTROL_BOT_ACTIONS\"\x04task:6Stops the task and releases its claimed bot resources.\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/tasks/{task_id}:cancel:\x01*B!\n\x1d\x63om.soulfiremc.grpc.generatedP\x01\x62\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'soulfire.task_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'\n\035com.soulfiremc.grpc.generatedP\001'
  _globals['_BOTTASKFAILURE'].fields_by_name['code']._loaded_options = None
  _globals['_BOTTASKFAILURE'].fields_by_name['code']._serialized_options = b'\340A\002'
  _globals['_BOTTASKFAILURE'].fields_by_name['message']._loaded_options = None
  _globals['_BOTTASKFAILURE'].fields_by_name['message']._serialized_options = b'\340A\002'
  _globals['_BOTTASK'].fields_by_name['task_id']._loaded_options = None
  _globals['_BOTTASK'].fields_by_name['task_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_BOTTASK'].fields_by_name['instance_id']._loaded_options = None
  _globals['_BOTTASK'].fields_by_name['instance_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_BOTTASK'].fields_by_name['bot_id']._loaded_options = None
  _globals['_BOTTASK'].fields_by_name['bot_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_BOTTASK'].fields_by_name['task_type']._loaded_options = None
  _globals['_BOTTASK'].fields_by_name['task_type']._serialized_options = b'\340A\002'
  _globals['_BOTTASK'].fields_by_name['owner_id']._loaded_options = None
  _globals['_BOTTASK'].fields_by_name['owner_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_BOTTASK'].fields_by_name['owner_name']._loaded_options = None
  _globals['_BOTTASK'].fields_by_name['owner_name']._serialized_options = b'\340A\002'
  _globals['_BOTTASK'].fields_by_name['status']._loaded_options = None
  _globals['_BOTTASK'].fields_by_name['status']._serialized_options = b'\340A\002'
  _globals['_BOTTASK'].fields_by_name['created_at']._loaded_options = None
  _globals['_BOTTASK'].fields_by_name['created_at']._serialized_options = b'\340A\002'
  _globals['_BOTTASK'].fields_by_name['updated_at']._loaded_options = None
  _globals['_BOTTASK'].fields_by_name['updated_at']._serialized_options = b'\340A\002'
  _globals['_BOTTASK'].fields_by_name['parent_task_id']._loaded_options = None
  _globals['_BOTTASK'].fields_by_name['parent_task_id']._serialized_options = b'\322\363\030\006\n\004uuid'
  _globals['_BOTTASK'].fields_by_name['input']._loaded_options = None
  _globals['_BOTTASK'].fields_by_name['input']._serialized_options = b'\340A\002'
  _globals['_BOTTASK'].fields_by_name['revision']._loaded_options = None
  _globals['_BOTTASK'].fields_by_name['revision']._serialized_options = b'\340A\002'
  _globals['_STARTBOTTASKREQUEST'].fields_by_name['instance_id']._loaded_options = None
  _globals['_STARTBOTTASKREQUEST'].fields_by_name['instance_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_STARTBOTTASKREQUEST'].fields_by_name['bot_id']._loaded_options = None
  _globals['_STARTBOTTASKREQUEST'].fields_by_name['bot_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_STARTBOTTASKREQUEST'].fields_by_name['input']._loaded_options = None
  _globals['_STARTBOTTASKREQUEST'].fields_by_name['input']._serialized_options = b'\340A\002'
  _globals['_STARTBOTTASKREQUEST'].fields_by_name['parent_task_id']._loaded_options = None
  _globals['_STARTBOTTASKREQUEST'].fields_by_name['parent_task_id']._serialized_options = b'\322\363\030\006\n\004uuid'
  _globals['_GETBOTTASKREQUEST'].fields_by_name['task_id']._loaded_options = None
  _globals['_GETBOTTASKREQUEST'].fields_by_name['task_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_LISTBOTTASKSREQUEST'].fields_by_name['instance_id']._loaded_options = None
  _globals['_LISTBOTTASKSREQUEST'].fields_by_name['instance_id']._serialized_options = b'\322\363\030\006\n\004uuid'
  _globals['_LISTBOTTASKSREQUEST'].fields_by_name['bot_id']._loaded_options = None
  _globals['_LISTBOTTASKSREQUEST'].fields_by_name['bot_id']._serialized_options = b'\322\363\030\006\n\004uuid'
  _globals['_WATCHBOTTASKREQUEST'].fields_by_name['task_id']._loaded_options = None
  _globals['_WATCHBOTTASKREQUEST'].fields_by_name['task_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_WATCHBOTTASKSREQUEST'].fields_by_name['instance_id']._loaded_options = None
  _globals['_WATCHBOTTASKSREQUEST'].fields_by_name['instance_id']._serialized_options = b'\322\363\030\006\n\004uuid'
  _globals['_WATCHBOTTASKSREQUEST'].fields_by_name['bot_id']._loaded_options = None
  _globals['_WATCHBOTTASKSREQUEST'].fields_by_name['bot_id']._serialized_options = b'\322\363\030\006\n\004uuid'
  _globals['_BOTTASKEVENT'].fields_by_name['sequence']._loaded_options = None
  _globals['_BOTTASKEVENT'].fields_by_name['sequence']._serialized_options = b'\340A\002'
  _globals['_BOTTASKEVENT'].fields_by_name['observed_at']._loaded_options = None
  _globals['_BOTTASKEVENT'].fields_by_name['observed_at']._serialized_options = b'\340A\002'
  _globals['_BOTTASKEVENT'].fields_by_name['task']._loaded_options = None
  _globals['_BOTTASKEVENT'].fields_by_name['task']._serialized_options = b'\340A\002'
  _globals['_CANCELBOTTASKREQUEST'].fields_by_name['task_id']._loaded_options = None
  _globals['_CANCELBOTTASKREQUEST'].fields_by_name['task_id']._serialized_options = b'\340A\002\322\363\030\006\n\004uuid'
  _globals['_GOTOTASK'].fields_by_name['goal']._loaded_options = None
  _globals['_GOTOTASK'].fields_by_name['goal']._serialized_options = b'\340A\002'
  _globals['_FOLLOWENTITYTASK'].fields_by_name['target']._loaded_options = None
  _globals['_FOLLOWENTITYTASK'].fields_by_name['target']._serialized_options = b'\340A\002'
  _globals['_ATTACKENTITYTASK'].fields_by_name['target']._loaded_options = None
  _globals['_ATTACKENTITYTASK'].fields_by_name['target']._serialized_options = b'\340A\002'
  _globals['_ATTACKNEARESTTASK'].fields_by_name['selector']._loaded_options = None
  _globals['_ATTACKNEARESTTASK'].fields_by_name['selector']._serialized_options = b'\340A\002'
  _globals['_RANGEDATTACKTASK'].fields_by_name['target']._loaded_options = None
  _globals['_RANGEDATTACKTASK'].fields_by_name['target']._serialized_options = b'\340A\002'
  _globals['_FLEETASK'].fields_by_name['threats']._loaded_options = None
  _globals['_FLEETASK'].fields_by_name['threats']._serialized_options = b'\340A\002'
  _globals['_GUARDTASK'].fields_by_name['threats']._loaded_options = None
  _globals['_GUARDTASK'].fields_by_name['threats']._serialized_options = b'\340A\002'
  _globals['_CONTAINERTRANSFEROPERATION'].fields_by_name['selector']._loaded_options = None
  _globals['_CONTAINERTRANSFEROPERATION'].fields_by_name['selector']._serialized_options = b'\340A\002'
  _globals['_CONTAINERTRANSFEROPERATION'].fields_by_name['count']._loaded_options = None
  _globals['_CONTAINERTRANSFEROPERATION'].fields_by_name['count']._serialized_options = b'\340A\002'
  _globals['_CONTAINERTRANSFERTASK'].fields_by_name['container']._loaded_options = None
  _globals['_CONTAINERTRANSFERTASK'].fields_by_name['container']._serialized_options = b'\340A\002'
  _globals['_CONTAINERTRANSFERTASK'].fields_by_name['direction']._loaded_options = None
  _globals['_CONTAINERTRANSFERTASK'].fields_by_name['direction']._serialized_options = b'\340A\002'
  _globals['_CONTAINERTRANSFERTASK'].fields_by_name['operations']._loaded_options = None
  _globals['_CONTAINERTRANSFERTASK'].fields_by_name['operations']._serialized_options = b'\340A\002'
  _globals['_COLLECTBLOCKSTASKPROGRESSDETAIL_FAILEDAPPROACH'].fields_by_name['target']._loaded_options = None
  _globals['_COLLECTBLOCKSTASKPROGRESSDETAIL_FAILEDAPPROACH'].fields_by_name['target']._serialized_options = b'\340A\002'
  _globals['_COLLECTBLOCKSTASKPROGRESSDETAIL'].fields_by_name['phase']._loaded_options = None
  _globals['_COLLECTBLOCKSTASKPROGRESSDETAIL'].fields_by_name['phase']._serialized_options = b'\340A\002'
  _globals['_EXCAVATETASK'].fields_by_name['corner_a']._loaded_options = None
  _globals['_EXCAVATETASK'].fields_by_name['corner_a']._serialized_options = b'\340A\002'
  _globals['_EXCAVATETASK'].fields_by_name['corner_b']._loaded_options = None
  _globals['_EXCAVATETASK'].fields_by_name['corner_b']._serialized_options = b'\340A\002'
  _globals['_BUILDBLOCK_PROPERTIESENTRY']._loaded_options = None
  _globals['_BUILDBLOCK_PROPERTIESENTRY']._serialized_options = b'8\001'
  _globals['_BUILDBLOCK'].fields_by_name['offset']._loaded_options = None
  _globals['_BUILDBLOCK'].fields_by_name['offset']._serialized_options = b'\340A\002'
  _globals['_BUILDBLOCK'].fields_by_name['block_id']._loaded_options = None
  _globals['_BUILDBLOCK'].fields_by_name['block_id']._serialized_options = b'\340A\002'
  _globals['_BUILDMATERIALSUBSTITUTION'].fields_by_name['source_block_id']._loaded_options = None
  _globals['_BUILDMATERIALSUBSTITUTION'].fields_by_name['source_block_id']._serialized_options = b'\340A\002'
  _globals['_BUILDMATERIALSUBSTITUTION'].fields_by_name['replacement_block_ids']._loaded_options = None
  _globals['_BUILDMATERIALSUBSTITUTION'].fields_by_name['replacement_block_ids']._serialized_options = b'\340A\002'
  _globals['_BUILDTASK'].fields_by_name['origin']._loaded_options = None
  _globals['_BUILDTASK'].fields_by_name['origin']._serialized_options = b'\340A\002'
  _globals['_BUILDTASK'].fields_by_name['blocks']._loaded_options = None
  _globals['_BUILDTASK'].fields_by_name['blocks']._serialized_options = b'\340A\002'
  _globals['_LOADOUTREQUIREMENT'].fields_by_name['selector']._loaded_options = None
  _globals['_LOADOUTREQUIREMENT'].fields_by_name['selector']._serialized_options = b'\340A\002'
  _globals['_LOADOUTREQUIREMENT'].fields_by_name['minimum_count']._loaded_options = None
  _globals['_LOADOUTREQUIREMENT'].fields_by_name['minimum_count']._serialized_options = b'\340A\002'
  _globals['_LOADOUTREQUIREMENT'].fields_by_name['target_count']._loaded_options = None
  _globals['_LOADOUTREQUIREMENT'].fields_by_name['target_count']._serialized_options = b'\340A\002'
  _globals['_MAINTAINLOADOUTTASK'].fields_by_name['container']._loaded_options = None
  _globals['_MAINTAINLOADOUTTASK'].fields_by_name['container']._serialized_options = b'\340A\002'
  _globals['_MAINTAINLOADOUTTASK'].fields_by_name['requirements']._loaded_options = None
  _globals['_MAINTAINLOADOUTTASK'].fields_by_name['requirements']._serialized_options = b'\340A\002'
  _globals['_BOTTASKSERVICE'].methods_by_name['StartBotTask']._loaded_options = None
  _globals['_BOTTASKSERVICE'].methods_by_name['StartBotTask']._serialized_options = b'\312\363\030\272\001\n\016Start bot task\032\023CONTROL_BOT_ACTIONS\"\014instance.bot2ICreates a durable task and schedules it according to its resource policy.::May drive the bot or mutate the connected Minecraft world.\202\323\344\223\0024\"//v1/instances/{instance_id}/bots/{bot_id}/tasks:\001*'
  _globals['_BOTTASKSERVICE'].methods_by_name['RunBotTask']._loaded_options = None
  _globals['_BOTTASKSERVICE'].methods_by_name['RunBotTask']._serialized_options = b'\312\363\030\264\001\n\014Run bot task\032\023CONTROL_BOT_ACTIONS\"\014instance.bot2ECreates a task and streams every state transition through completion.::May drive the bot or mutate the connected Minecraft world.'
  _globals['_BOTTASKSERVICE'].methods_by_name['GetBotTask']._loaded_options = None
  _globals['_BOTTASKSERVICE'].methods_by_name['GetBotTask']._serialized_options = b'\312\363\030#\n\014Get bot task\032\rREAD_BOT_INFO\"\004task\202\323\344\223\002\025\022\023/v1/tasks/{task_id}'
  _globals['_BOTTASKSERVICE'].methods_by_name['ListBotTasks']._loaded_options = None
  _globals['_BOTTASKSERVICE'].methods_by_name['ListBotTasks']._serialized_options = b'\312\363\030)\n\016List bot tasks\032\rREAD_BOT_INFO\"\010instance\202\323\344\223\002\013\022\t/v1/tasks'
  _globals['_BOTTASKSERVICE'].methods_by_name['WatchBotTask']._loaded_options = None
  _globals['_BOTTASKSERVICE'].methods_by_name['WatchBotTask']._serialized_options = b'\312\363\030h\n\016Watch bot task\032\rREAD_BOT_INFO\"\004task2AStreams task revisions until cancellation or terminal completion.'
  _globals['_BOTTASKSERVICE'].methods_by_name['WatchBotTasks']._loaded_options = None
  _globals['_BOTTASKSERVICE'].methods_by_name['WatchBotTasks']._serialized_options = b'\312\363\030_\n\017Watch bot tasks\032\rREAD_BOT_INFO\"\010instance23Streams matching task revisions until cancellation.'
  _globals['_BOTTASKSERVICE'].methods_by_name['CancelBotTask']._loaded_options = None
  _globals['_BOTTASKSERVICE'].methods_by_name['CancelBotTask']._serialized_options = b'\312\363\030d\n\017Cancel bot task\032\023CONTROL_BOT_ACTIONS\"\004task:6Stops the task and releases its claimed bot resources.\202\323\344\223\002\037\"\032/v1/tasks/{task_id}:cancel:\001*'
  _globals['_BOTTASKRESOURCE']._serialized_start=18673
  _globals['_BOTTASKRESOURCE']._serialized_end=19077
  _globals['_BOTTASKSTATUS']._serialized_start=19080
  _globals['_BOTTASKSTATUS']._serialized_end=19412
  _globals['_BOTTASKCONFLICTPOLICY']._serialized_start=19415
  _globals['_BOTTASKCONFLICTPOLICY']._serialized_end=19644
  _globals['_BOTTASKRECONNECTPOLICY']._serialized_start=19647
  _globals['_BOTTASKRECONNECTPOLICY']._serialized_end=19838
  _globals['_BOTTASKDISCONNECTPOLICY']._serialized_start=19841
  _globals['_BOTTASKDISCONNECTPOLICY']._serialized_end=20000
  _globals['_BOTTASKPRIORITY']._serialized_start=20003
  _globals['_BOTTASKPRIORITY']._serialized_end=20172
  _globals['_FOLLOWENTITYCOMPLETIONREASON']._serialized_start=20175
  _globals['_FOLLOWENTITYCOMPLETIONREASON']._serialized_end=20310
  _globals['_ATTACKENTITYCOMPLETIONREASON']._serialized_start=20313
  _globals['_ATTACKENTITYCOMPLETIONREASON']._serialized_end=20559
  _globals['_ATTACKNEARESTCOMPLETIONREASON']._serialized_start=20562
  _globals['_ATTACKNEARESTCOMPLETIONREASON']._serialized_end=20809
  _globals['_RANGEDATTACKCOMPLETIONREASON']._serialized_start=20812
  _globals['_RANGEDATTACKCOMPLETIONREASON']._serialized_end=21154
  _globals['_FLEECOMPLETIONREASON']._serialized_start=21157
  _globals['_FLEECOMPLETIONREASON']._serialized_end=21301
  _globals['_GUARDCOMPLETIONREASON']._serialized_start=21304
  _globals['_GUARDCOMPLETIONREASON']._serialized_end=21557
  _globals['_SLEEPCOMPLETIONREASON']._serialized_start=21560
  _globals['_SLEEPCOMPLETIONREASON']._serialized_end=21750
  _globals['_FISHCOMPLETIONREASON']._serialized_start=21753
  _globals['_FISHCOMPLETIONREASON']._serialized_end=21952
  _globals['_FARMCOMPLETIONREASON']._serialized_start=21955
  _globals['_FARMCOMPLETIONREASON']._serialized_end=22155
  _globals['_BREEDCOMPLETIONREASON']._serialized_start=22158
  _globals['_BREEDCOMPLETIONREASON']._serialized_end=22355
  _globals['_EXPLORECOMPLETIONREASON']._serialized_start=22358
  _globals['_EXPLORECOMPLETIONREASON']._serialized_end=22576
  _globals['_CONTAINERTRANSFERDIRECTION']._serialized_start=22579
  _globals['_CONTAINERTRANSFERDIRECTION']._serialized_end=22738
  _globals['_CONTAINERTRANSFERCOMPLETIONREASON']._serialized_start=22741
  _globals['_CONTAINERTRANSFERCOMPLETIONREASON']._serialized_end=22932
  _globals['_AUTOEATCOMPLETIONREASON']._serialized_start=22935
  _globals['_AUTOEATCOMPLETIONREASON']._serialized_end=23146
  _globals['_AUTORESPAWNCOMPLETIONREASON']._serialized_start=23149
  _globals['_AUTORESPAWNCOMPLETIONREASON']._serialized_end=23284
  _globals['_AUTOTOTEMCOMPLETIONREASON']._serialized_start=23287
  _globals['_AUTOTOTEMCOMPLETIONREASON']._serialized_end=23457
  _globals['_AUTOARMORCOMPLETIONREASON']._serialized_start=23460
  _globals['_AUTOARMORCOMPLETIONREASON']._serialized_end=23632
  _globals['_COLLECTBLOCKSCOMPLETIONREASON']._serialized_start=23635
  _globals['_COLLECTBLOCKSCOMPLETIONREASON']._serialized_end=23884
  _globals['_EXCAVATECOMPLETIONREASON']._serialized_start=23887
  _globals['_EXCAVATECOMPLETIONREASON']._serialized_end=24106
  _globals['_BUILDROTATION']._serialized_start=24109
  _globals['_BUILDROTATION']._serialized_end=24279
  _globals['_BUILDMIRROR']._serialized_start=24281
  _globals['_BUILDMIRROR']._serialized_end=24387
  _globals['_BUILDBLOCKSTATUS']._serialized_start=24390
  _globals['_BUILDBLOCKSTATUS']._serialized_end=24707
  _globals['_BUILDCOMPLETIONREASON']._serialized_start=24710
  _globals['_BUILDCOMPLETIONREASON']._serialized_end=24850
  _globals['_MAINTAINLOADOUTCOMPLETIONREASON']._serialized_start=24853
  _globals['_MAINTAINLOADOUTCOMPLETIONREASON']._serialized_end=25112
  _globals['_BOTTASKPROGRESS']._serialized_start=304
  _globals['_BOTTASKPROGRESS']._serialized_end=484
  _globals['_BOTTASKFAILURE']._serialized_start=487
  _globals['_BOTTASKFAILURE']._serialized_end=635
  _globals['_BOTTASK']._serialized_start=638
  _globals['_BOTTASK']._serialized_end=2123
  _globals['_STARTBOTTASKREQUEST']._serialized_start=2126
  _globals['_STARTBOTTASKREQUEST']._serialized_end=2833
  _globals['_GETBOTTASKREQUEST']._serialized_start=2835
  _globals['_GETBOTTASKREQUEST']._serialized_end=2894
  _globals['_LISTBOTTASKSREQUEST']._serialized_start=2897
  _globals['_LISTBOTTASKSREQUEST']._serialized_end=3194
  _globals['_LISTBOTTASKSRESPONSE']._serialized_start=3196
  _globals['_LISTBOTTASKSRESPONSE']._serialized_end=3302
  _globals['_WATCHBOTTASKREQUEST']._serialized_start=3304
  _globals['_WATCHBOTTASKREQUEST']._serialized_end=3428
  _globals['_WATCHBOTTASKSREQUEST']._serialized_start=3431
  _globals['_WATCHBOTTASKSREQUEST']._serialized_end=3708
  _globals['_BOTTASKEVENT']._serialized_start=3711
  _globals['_BOTTASKEVENT']._serialized_end=3871
  _globals['_CANCELBOTTASKREQUEST']._serialized_start=3873
  _globals['_CANCELBOTTASKREQUEST']._serialized_end=3959
  _globals['_GOTOTASK']._serialized_start=3961
  _globals['_GOTOTASK']._serialized_end=4079
  _globals['_GOTOTASKRESULT']._serialized_start=4081
  _globals['_GOTOTASKRESULT']._serialized_end=4164
  _globals['_FOLLOWENTITYTASK']._serialized_start=4167
  _globals['_FOLLOWENTITYTASK']._serialized_end=4385
  _globals['_FOLLOWENTITYTASKRESULT']._serialized_start=4388
  _globals['_FOLLOWENTITYTASKRESULT']._serialized_end=4546
  _globals['_ATTACKENTITYTASK']._serialized_start=4549
  _globals['_ATTACKENTITYTASK']._serialized_end=5104
  _globals['_ATTACKENTITYTASKRESULT']._serialized_start=5107
  _globals['_ATTACKENTITYTASKRESULT']._serialized_end=5326
  _globals['_ATTACKNEARESTTASK']._serialized_start=5329
  _globals['_ATTACKNEARESTTASK']._serialized_end=5944
  _globals['_ATTACKNEARESTTASKRESULT']._serialized_start=5947
  _globals['_ATTACKNEARESTTASKRESULT']._serialized_end=6176
  _globals['_RANGEDATTACKTASK']._serialized_start=6179
  _globals['_RANGEDATTACKTASK']._serialized_end=6761
  _globals['_RANGEDATTACKTASKRESULT']._serialized_start=6764
  _globals['_RANGEDATTACKTASKRESULT']._serialized_end=6996
  _globals['_FLEETASK']._serialized_start=6999
  _globals['_FLEETASK']._serialized_end=7323
  _globals['_FLEETASKRESULT']._serialized_start=7326
  _globals['_FLEETASKRESULT']._serialized_end=7494
  _globals['_GUARDTASK']._serialized_start=7497
  _globals['_GUARDTASK']._serialized_end=8304
  _globals['_GUARDTASKRESULT']._serialized_start=8307
  _globals['_GUARDTASKRESULT']._serialized_end=8520
  _globals['_SLEEPTASK']._serialized_start=8523
  _globals['_SLEEPTASK']._serialized_end=8784
  _globals['_SLEEPTASKRESULT']._serialized_start=8786
  _globals['_SLEEPTASKRESULT']._serialized_end=8909
  _globals['_FISHTASK']._serialized_start=8912
  _globals['_FISHTASK']._serialized_end=9264
  _globals['_FISHTASKRESULT']._serialized_start=9267
  _globals['_FISHTASKRESULT']._serialized_end=9403
  _globals['_FARMTASK']._serialized_start=9406
  _globals['_FARMTASK']._serialized_end=9830
  _globals['_FARMTASKRESULT']._serialized_start=9833
  _globals['_FARMTASKRESULT']._serialized_end=10098
  _globals['_BREEDTASK']._serialized_start=10101
  _globals['_BREEDTASK']._serialized_end=10673
  _globals['_BREEDTASKRESULT']._serialized_start=10676
  _globals['_BREEDTASKRESULT']._serialized_end=10925
  _globals['_EXPLORETASK']._serialized_start=10928
  _globals['_EXPLORETASK']._serialized_end=11245
  _globals['_EXPLORETASKRESULT']._serialized_start=11248
  _globals['_EXPLORETASKRESULT']._serialized_end=11544
  _globals['_CONTAINERTRANSFEROPERATION']._serialized_start=11547
  _globals['_CONTAINERTRANSFEROPERATION']._serialized_end=11699
  _globals['_CONTAINERTRANSFERTASK']._serialized_start=11702
  _globals['_CONTAINERTRANSFERTASK']._serialized_end=12039
  _globals['_CONTAINERTRANSFEROUTCOME']._serialized_start=12042
  _globals['_CONTAINERTRANSFEROUTCOME']._serialized_end=12187
  _globals['_CONTAINERTRANSFERTASKRESULT']._serialized_start=12190
  _globals['_CONTAINERTRANSFERTASKRESULT']._serialized_end=12517
  _globals['_AUTOEATTASK']._serialized_start=12520
  _globals['_AUTOEATTASK']._serialized_end=12790
  _globals['_AUTOEATTASKRESULT']._serialized_start=12793
  _globals['_AUTOEATTASKRESULT']._serialized_end=12949
  _globals['_AUTORESPAWNTASK']._serialized_start=12951
  _globals['_AUTORESPAWNTASK']._serialized_end=13059
  _globals['_AUTORESPAWNTASKRESULT']._serialized_start=13061
  _globals['_AUTORESPAWNTASKRESULT']._serialized_end=13178
  _globals['_AUTOTOTEMTASK']._serialized_start=13181
  _globals['_AUTOTOTEMTASK']._serialized_end=13396
  _globals['_AUTOTOTEMTASKRESULT']._serialized_start=13398
  _globals['_AUTOTOTEMTASKRESULT']._serialized_end=13507
  _globals['_AUTOARMORTASK']._serialized_start=13510
  _globals['_AUTOARMORTASK']._serialized_end=13671
  _globals['_AUTOARMORTASKRESULT']._serialized_start=13673
  _globals['_AUTOARMORTASKRESULT']._serialized_end=13782
  _globals['_COLLECTBLOCKSTASK']._serialized_start=13785
  _globals['_COLLECTBLOCKSTASK']._serialized_end=14136
  _globals['_COLLECTBLOCKSTASKRESULT']._serialized_start=14139
  _globals['_COLLECTBLOCKSTASKRESULT']._serialized_end=14336
  _globals['_COLLECTBLOCKSTASKPROGRESSDETAIL']._serialized_start=14339
  _globals['_COLLECTBLOCKSTASKPROGRESSDETAIL']._serialized_end=15370
  _globals['_COLLECTBLOCKSTASKPROGRESSDETAIL_FAILEDAPPROACH']._serialized_start=15037
  _globals['_COLLECTBLOCKSTASKPROGRESSDETAIL_FAILEDAPPROACH']._serialized_end=15181
  _globals['_COLLECTBLOCKSTASKPROGRESSDETAIL_PHASE']._serialized_start=15184
  _globals['_COLLECTBLOCKSTASKPROGRESSDETAIL_PHASE']._serialized_end=15370
  _globals['_EXCAVATETASK']._serialized_start=15373
  _globals['_EXCAVATETASK']._serialized_end=15602
  _globals['_EXCAVATETASKRESULT']._serialized_start=15605
  _globals['_EXCAVATETASKRESULT']._serialized_end=15878
  _globals['_BUILDOFFSET']._serialized_start=15880
  _globals['_BUILDOFFSET']._serialized_end=15935
  _globals['_BUILDBLOCK']._serialized_start=15938
  _globals['_BUILDBLOCK']._serialized_end=16173
  _globals['_BUILDBLOCK_PROPERTIESENTRY']._serialized_start=16112
  _globals['_BUILDBLOCK_PROPERTIESENTRY']._serialized_end=16173
  _globals['_BUILDMATERIALSUBSTITUTION']._serialized_start=16176
  _globals['_BUILDMATERIALSUBSTITUTION']._serialized_end=16305
  _globals['_BUILDTASK']._serialized_start=16308
  _globals['_BUILDTASK']._serialized_end=16858
  _globals['_BUILDBLOCKOUTCOME']._serialized_start=16861
  _globals['_BUILDBLOCKOUTCOME']._serialized_end=17103
  _globals['_BUILDTASKRESULT']._serialized_start=17106
  _globals['_BUILDTASKRESULT']._serialized_end=17494
  _globals['_LOADOUTREQUIREMENT']._serialized_start=17497
  _globals['_LOADOUTREQUIREMENT']._serialized_end=17696
  _globals['_MAINTAINLOADOUTTASK']._serialized_start=17699
  _globals['_MAINTAINLOADOUTTASK']._serialized_end=18107
  _globals['_LOADOUTREQUIREMENTRESULT']._serialized_start=18110
  _globals['_LOADOUTREQUIREMENTRESULT']._serialized_end=18314
  _globals['_MAINTAINLOADOUTTASKRESULT']._serialized_start=18317
  _globals['_MAINTAINLOADOUTTASKRESULT']._serialized_end=18670
  _globals['_BOTTASKSERVICE']._serialized_start=25115
  _globals['_BOTTASKSERVICE']._serialized_end=26601
# @@protoc_insertion_point(module_scope)
