From a0cbab55b8ab795543e9b33c1879031c5795715c Mon Sep 17 00:00:00 2001 From: Da-Yi Wu Date: Thu, 5 Oct 2023 08:21:32 +0800 Subject: [PATCH] Update Execution Tag(#4142) Signed-off-by: Da-Yi Wu --- .../flyte/golang_support_tools/tools.go | 2 +- .../flyte/golang_test_targets/go-gen.sh | 2 +- .../gen/pb-cpp/flyteidl/admin/execution.pb.cc | 117 +- .../gen/pb-cpp/flyteidl/admin/execution.pb.h | 92 + flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go | 3 +- .../flyteidl/admin/cluster_assignment.pb.go | 3 +- .../gen/pb-go/flyteidl/admin/common.pb.go | 3 +- .../flyteidl/admin/description_entity.pb.go | 3 +- flyteidl/gen/pb-go/flyteidl/admin/event.pb.go | 3 +- .../gen/pb-go/flyteidl/admin/execution.pb.go | 252 +- .../pb-go/flyteidl/admin/launch_plan.pb.go | 3 +- .../flyteidl/admin/matchable_resource.pb.go | 3 +- .../pb-go/flyteidl/admin/node_execution.pb.go | 3 +- .../pb-go/flyteidl/admin/notification.pb.go | 3 +- .../gen/pb-go/flyteidl/admin/project.pb.go | 3 +- .../flyteidl/admin/project_attributes.pb.go | 3 +- .../admin/project_domain_attributes.pb.go | 3 +- .../gen/pb-go/flyteidl/admin/schedule.pb.go | 3 +- .../gen/pb-go/flyteidl/admin/signal.pb.go | 3 +- flyteidl/gen/pb-go/flyteidl/admin/task.pb.go | 3 +- .../pb-go/flyteidl/admin/task_execution.pb.go | 3 +- .../gen/pb-go/flyteidl/admin/version.pb.go | 3 +- .../gen/pb-go/flyteidl/admin/workflow.pb.go | 3 +- .../flyteidl/admin/workflow_attributes.pb.go | 3 +- .../gen/pb-go/flyteidl/core/catalog.pb.go | 3 +- .../gen/pb-go/flyteidl/core/compiler.pb.go | 3 +- .../gen/pb-go/flyteidl/core/condition.pb.go | 3 +- .../gen/pb-go/flyteidl/core/dynamic_job.pb.go | 3 +- flyteidl/gen/pb-go/flyteidl/core/errors.pb.go | 3 +- .../gen/pb-go/flyteidl/core/execution.pb.go | 3 +- .../gen/pb-go/flyteidl/core/identifier.pb.go | 3 +- .../gen/pb-go/flyteidl/core/interface.pb.go | 3 +- .../gen/pb-go/flyteidl/core/literals.pb.go | 3 +- .../gen/pb-go/flyteidl/core/metrics.pb.go | 3 +- .../gen/pb-go/flyteidl/core/security.pb.go | 3 +- flyteidl/gen/pb-go/flyteidl/core/tasks.pb.go | 3 +- flyteidl/gen/pb-go/flyteidl/core/types.pb.go | 3 +- .../gen/pb-go/flyteidl/core/workflow.pb.go | 3 +- .../flyteidl/core/workflow_closure.pb.go | 3 +- .../flyteidl/datacatalog/datacatalog.pb.go | 23 +- flyteidl/gen/pb-go/flyteidl/event/event.pb.go | 3 +- .../pb-go/flyteidl/plugins/array_job.pb.go | 3 +- .../gen/pb-go/flyteidl/plugins/dask.pb.go | 3 +- .../flyteidl/plugins/kubeflow/common.pb.go | 3 +- .../pb-go/flyteidl/plugins/kubeflow/mpi.pb.go | 3 +- .../flyteidl/plugins/kubeflow/pytorch.pb.go | 3 +- .../plugins/kubeflow/tensorflow.pb.go | 3 +- flyteidl/gen/pb-go/flyteidl/plugins/mpi.pb.go | 3 +- .../gen/pb-go/flyteidl/plugins/presto.pb.go | 3 +- .../gen/pb-go/flyteidl/plugins/pytorch.pb.go | 3 +- .../gen/pb-go/flyteidl/plugins/qubole.pb.go | 3 +- flyteidl/gen/pb-go/flyteidl/plugins/ray.pb.go | 3 +- .../sagemaker/hyperparameter_tuning_job.pb.go | 3 +- .../plugins/sagemaker/parameter_ranges.pb.go | 3 +- .../plugins/sagemaker/training_job.pb.go | 3 +- .../gen/pb-go/flyteidl/plugins/spark.pb.go | 3 +- .../pb-go/flyteidl/plugins/tensorflow.pb.go | 3 +- .../gen/pb-go/flyteidl/plugins/waitable.pb.go | 3 +- .../gen/pb-go/flyteidl/service/admin.pb.go | 3 +- .../pb-go/flyteidl/service/admin.swagger.json | 7 + .../gen/pb-go/flyteidl/service/agent.pb.go | 3 +- .../gen/pb-go/flyteidl/service/auth.pb.go | 3 +- .../pb-go/flyteidl/service/dataproxy.pb.go | 3 +- .../service/external_plugin_service.pb.go | 3 +- .../service/flyteadmin/api/swagger.yaml | 5 + .../service/flyteadmin/api_admin_service.go | 2247 ++++++++--------- .../flyteidl/service/flyteadmin/client.go | 22 +- .../flyteadmin/model_admin_abort_metadata.go | 2 +- .../flyteadmin/model_admin_cron_schedule.go | 2 +- .../flyteadmin/model_admin_description.go | 8 +- .../model_admin_description_format.go | 7 +- .../model_admin_execution_closure.go | 4 +- .../model_admin_execution_create_request.go | 10 +- .../model_admin_execution_metadata.go | 2 +- .../model_admin_execution_recover_request.go | 4 +- .../model_admin_execution_relaunch_request.go | 4 +- .../flyteadmin/model_admin_execution_spec.go | 8 +- .../flyteadmin/model_admin_execution_state.go | 3 +- ...el_admin_execution_state_change_details.go | 2 +- .../model_admin_execution_update_request.go | 5 +- .../flyteadmin/model_admin_fixed_rate.go | 4 +- .../flyteadmin/model_admin_fixed_rate_unit.go | 5 +- .../flyteadmin/model_admin_flyte_ur_ls.go | 4 +- .../model_admin_launch_plan_closure.go | 6 +- .../model_admin_launch_plan_metadata.go | 2 +- .../model_admin_launch_plan_spec.go | 8 +- .../model_admin_launch_plan_state.go | 3 +- .../model_admin_literal_map_blob.go | 2 +- ...dmin_matchable_attributes_configuration.go | 8 +- .../model_admin_matchable_resource.go | 15 +- .../model_admin_matching_attributes.go | 14 +- .../flyteadmin/model_admin_named_entity.go | 4 +- .../model_admin_named_entity_identifier.go | 2 +- .../model_admin_named_entity_state.go | 5 +- ...model_admin_named_entity_update_request.go | 6 +- .../model_admin_node_execution_closure.go | 10 +- ..._admin_node_execution_get_data_response.go | 2 +- .../model_admin_node_execution_meta_data.go | 4 +- .../flyteadmin/model_admin_notification.go | 8 +- .../service/flyteadmin/model_admin_project.go | 10 +- .../model_admin_project_attributes.go | 2 +- ...admin_project_attributes_delete_request.go | 2 +- .../model_admin_project_domain_attributes.go | 2 +- ...roject_domain_attributes_delete_request.go | 4 +- .../flyteadmin/model_admin_schedule.go | 6 +- .../service/flyteadmin/model_admin_sort.go | 2 +- ..._admin_task_execution_get_data_response.go | 2 +- .../model_admin_task_resource_attributes.go | 2 +- .../model_admin_task_resource_spec.go | 8 +- .../service/flyteadmin/model_admin_version.go | 4 +- .../model_admin_workflow_attributes.go | 2 +- ...dmin_workflow_attributes_delete_request.go | 6 +- .../model_admin_workflow_create_request.go | 2 +- .../model_blob_type_blob_dimensionality.go | 2 +- .../model_catalog_reservation_status.go | 5 +- .../model_comparison_expression_operator.go | 7 +- ...conjunction_expression_logical_operator.go | 3 +- .../model_container_architecture.go | 9 +- .../service/flyteadmin/model_core_binary.go | 2 +- .../flyteadmin/model_core_binding_data.go | 4 +- .../service/flyteadmin/model_core_blob.go | 2 +- .../flyteadmin/model_core_blob_type.go | 2 +- .../model_core_boolean_expression.go | 2 +- .../model_core_catalog_artifact_tag.go | 2 +- .../model_core_catalog_cache_status.go | 13 +- .../flyteadmin/model_core_catalog_metadata.go | 4 +- .../model_core_comparison_expression.go | 6 +- .../model_core_compiled_workflow_closure.go | 4 +- .../model_core_conjunction_expression.go | 6 +- .../flyteadmin/model_core_connection_set.go | 2 +- .../flyteadmin/model_core_container.go | 6 +- .../model_core_data_loading_config.go | 10 +- .../flyteadmin/model_core_execution_error.go | 6 +- .../service/flyteadmin/model_core_identity.go | 4 +- .../service/flyteadmin/model_core_if_block.go | 2 +- .../flyteadmin/model_core_io_strategy.go | 2 +- .../service/flyteadmin/model_core_k8s_pod.go | 4 +- .../service/flyteadmin/model_core_literal.go | 2 +- .../flyteadmin/model_core_literal_type.go | 2 +- .../model_core_node_execution_identifier.go | 2 +- .../model_core_node_execution_phase.go | 20 +- .../flyteadmin/model_core_node_metadata.go | 4 +- .../flyteadmin/model_core_o_auth2_client.go | 2 +- .../model_core_o_auth2_token_request.go | 10 +- .../model_core_o_auth2_token_request_type.go | 1 - .../service/flyteadmin/model_core_operand.go | 4 +- .../flyteadmin/model_core_output_reference.go | 2 +- .../flyteadmin/model_core_primitive.go | 12 +- .../model_core_promise_attribute.go | 2 +- .../model_core_quality_of_service.go | 2 +- .../flyteadmin/model_core_resource_type.go | 7 +- .../service/flyteadmin/model_core_scalar.go | 16 +- .../service/flyteadmin/model_core_schema.go | 2 +- .../service/flyteadmin/model_core_secret.go | 6 +- .../flyteadmin/model_core_simple_type.go | 17 +- .../service/flyteadmin/model_core_sql.go | 4 +- .../model_core_structured_dataset.go | 2 +- .../model_core_task_execution_identifier.go | 4 +- .../model_core_task_execution_phase.go | 14 +- .../service/flyteadmin/model_core_task_log.go | 6 +- .../flyteadmin/model_core_task_metadata.go | 8 +- .../flyteadmin/model_core_task_template.go | 10 +- .../flyteadmin/model_core_typed_interface.go | 2 +- .../service/flyteadmin/model_core_union.go | 2 +- .../service/flyteadmin/model_core_variable.go | 4 +- .../model_core_workflow_execution_phase.go | 18 +- .../model_core_workflow_metadata.go | 2 +- .../flyteadmin/model_core_workflow_node.go | 2 +- .../model_core_workflow_template.go | 2 +- ..._data_loading_config_literal_map_format.go | 5 +- .../flyteadmin/model_event_event_reason.go | 2 +- .../model_event_external_resource_info.go | 8 +- .../model_event_node_execution_event.go | 28 +- .../model_event_task_execution_event.go | 14 +- .../model_event_workflow_execution_event.go | 8 +- .../model_execution_error_error_kind.go | 4 +- ...model_execution_metadata_execution_mode.go | 11 +- .../model_flyteidladmin_node_execution.go | 2 +- ...model_flyteidladmin_task_create_request.go | 4 +- .../model_flyteidladmin_task_node_metadata.go | 6 +- ...l_flyteidlevent_task_execution_metadata.go | 4 +- .../model_flyteidlevent_task_node_metadata.go | 4 +- .../model_io_strategy_download_mode.go | 3 +- .../model_io_strategy_upload_mode.go | 5 +- ...plugin_override_missing_plugin_behavior.go | 3 +- .../flyteadmin/model_project_project_state.go | 5 +- .../flyteadmin/model_protobuf_null_value.go | 1 - .../model_quality_of_service_tier.go | 7 +- .../model_resources_resource_entry.go | 4 +- .../model_resources_resource_name.go | 11 +- .../model_runtime_metadata_runtime_type.go | 2 +- .../model_schema_column_schema_column_type.go | 8 +- .../flyteadmin/model_secret_mount_type.go | 5 +- .../flyteadmin/model_sort_direction.go | 3 +- .../service/flyteadmin/model_sql_dialect.go | 7 +- ..._task_execution_metadata_instance_class.go | 3 +- .../model_task_log_message_format.go | 4 +- ...del_workflow_metadata_on_failure_policy.go | 3 +- .../gen/pb-go/flyteidl/service/identity.pb.go | 3 +- .../gen/pb-go/flyteidl/service/openapi.go | 18 +- .../gen/pb-go/flyteidl/service/signal.pb.go | 3 +- .../flyteidl/admin/ExecutionOuterClass.java | 296 ++- flyteidl/gen/pb-js/flyteidl.d.ts | 6 + flyteidl/gen/pb-js/flyteidl.js | 25 + .../pb_python/flyteidl/admin/execution_pb2.py | 24 +- .../flyteidl/admin/execution_pb2.pyi | 6 +- .../models/admin_execution_update_request.py | 32 +- flyteidl/gen/pb_rust/flyteidl.admin.rs | 3 + .../protos/flyteidl/admin/execution.proto | 3 + 209 files changed, 2252 insertions(+), 1810 deletions(-) diff --git a/flyteidl/boilerplate/flyte/golang_support_tools/tools.go b/flyteidl/boilerplate/flyte/golang_support_tools/tools.go index a78b61162aa..43de03450c1 100644 --- a/flyteidl/boilerplate/flyte/golang_support_tools/tools.go +++ b/flyteidl/boilerplate/flyte/golang_support_tools/tools.go @@ -6,7 +6,7 @@ package tools import ( _ "github.com/EngHabu/mockery/cmd/mockery" _ "github.com/alvaroloes/enumer" - _ "github.com/flyteorg/flyte/flytestdlib/cli/pflags" + _ "github.com/flyteorg/flytestdlib/cli/pflags" _ "github.com/golangci/golangci-lint/cmd/golangci-lint" _ "github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc" ) diff --git a/flyteidl/boilerplate/flyte/golang_test_targets/go-gen.sh b/flyteidl/boilerplate/flyte/golang_test_targets/go-gen.sh index 5ac17fa40ae..54bd6af61b1 100755 --- a/flyteidl/boilerplate/flyte/golang_test_targets/go-gen.sh +++ b/flyteidl/boilerplate/flyte/golang_test_targets/go-gen.sh @@ -9,7 +9,7 @@ go generate ./... if [ -n "$DELTA_CHECK" ]; then DIRTY=$(git status --porcelain) if [ -n "$DIRTY" ]; then - echo "FAILED: Go code updated without committing generated code." + echo "FAILED: Go code updated without commiting generated code." echo "Ensure make generate has run and all changes are committed." DIFF=$(git diff) echo "diff detected: $DIFF" diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc index 23298b14a75..08901eb3dc1 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.cc @@ -719,6 +719,7 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fexecution_2eprot ~0u, // no _weak_field_map_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ExecutionUpdateRequest, id_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ExecutionUpdateRequest, state_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ExecutionUpdateRequest, tags_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ExecutionStateChangeDetails, _internal_metadata_), ~0u, // no _extensions_ @@ -766,10 +767,10 @@ static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SE { 148, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetDataRequest)}, { 154, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetDataResponse)}, { 163, -1, sizeof(::flyteidl::admin::ExecutionUpdateRequest)}, - { 170, -1, sizeof(::flyteidl::admin::ExecutionStateChangeDetails)}, - { 178, -1, sizeof(::flyteidl::admin::ExecutionUpdateResponse)}, - { 183, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetMetricsRequest)}, - { 190, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetMetricsResponse)}, + { 171, -1, sizeof(::flyteidl::admin::ExecutionStateChangeDetails)}, + { 179, -1, sizeof(::flyteidl::admin::ExecutionUpdateResponse)}, + { 184, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetMetricsRequest)}, + { 191, -1, sizeof(::flyteidl::admin::WorkflowExecutionGetMetricsResponse)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -905,27 +906,27 @@ const char descriptor_table_protodef_flyteidl_2fadmin_2fexecution_2eproto[] = "yteidl.admin.UrlBlobB\002\030\001\022.\n\013full_inputs\030" "\003 \001(\0132\031.flyteidl.core.LiteralMap\022/\n\014full" "_outputs\030\004 \001(\0132\031.flyteidl.core.LiteralMa" - "p\"\177\n\026ExecutionUpdateRequest\0226\n\002id\030\001 \001(\0132" - "*.flyteidl.core.WorkflowExecutionIdentif" - "ier\022-\n\005state\030\002 \001(\0162\036.flyteidl.admin.Exec" - "utionState\"\220\001\n\033ExecutionStateChangeDetai" - "ls\022-\n\005state\030\001 \001(\0162\036.flyteidl.admin.Execu" - "tionState\022/\n\013occurred_at\030\002 \001(\0132\032.google." - "protobuf.Timestamp\022\021\n\tprincipal\030\003 \001(\t\"\031\n" - "\027ExecutionUpdateResponse\"k\n\"WorkflowExec" - "utionGetMetricsRequest\0226\n\002id\030\001 \001(\0132*.fly" - "teidl.core.WorkflowExecutionIdentifier\022\r" - "\n\005depth\030\002 \001(\005\"H\n#WorkflowExecutionGetMet" - "ricsResponse\022!\n\004span\030\001 \001(\0132\023.flyteidl.co" - "re.Span*>\n\016ExecutionState\022\024\n\020EXECUTION_A" - "CTIVE\020\000\022\026\n\022EXECUTION_ARCHIVED\020\001B=Z;githu" - "b.com/flyteorg/flyte/flyteidl/gen/pb-go/" - "flyteidl/adminb\006proto3" + "p\"\215\001\n\026ExecutionUpdateRequest\0226\n\002id\030\001 \001(\013" + "2*.flyteidl.core.WorkflowExecutionIdenti" + "fier\022-\n\005state\030\002 \001(\0162\036.flyteidl.admin.Exe" + "cutionState\022\014\n\004tags\030\003 \003(\t\"\220\001\n\033ExecutionS" + "tateChangeDetails\022-\n\005state\030\001 \001(\0162\036.flyte" + "idl.admin.ExecutionState\022/\n\013occurred_at\030" + "\002 \001(\0132\032.google.protobuf.Timestamp\022\021\n\tpri" + "ncipal\030\003 \001(\t\"\031\n\027ExecutionUpdateResponse\"" + "k\n\"WorkflowExecutionGetMetricsRequest\0226\n" + "\002id\030\001 \001(\0132*.flyteidl.core.WorkflowExecut" + "ionIdentifier\022\r\n\005depth\030\002 \001(\005\"H\n#Workflow" + "ExecutionGetMetricsResponse\022!\n\004span\030\001 \001(" + "\0132\023.flyteidl.core.Span*>\n\016ExecutionState" + "\022\024\n\020EXECUTION_ACTIVE\020\000\022\026\n\022EXECUTION_ARCH" + "IVED\020\001B=Z;github.com/flyteorg/flyte/flyt" + "eidl/gen/pb-go/flyteidl/adminb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2fexecution_2eproto = { false, InitDefaults_flyteidl_2fadmin_2fexecution_2eproto, descriptor_table_protodef_flyteidl_2fadmin_2fexecution_2eproto, - "flyteidl/admin/execution.proto", &assign_descriptors_table_flyteidl_2fadmin_2fexecution_2eproto, 4622, + "flyteidl/admin/execution.proto", &assign_descriptors_table_flyteidl_2fadmin_2fexecution_2eproto, 4637, }; void AddDescriptors_flyteidl_2fadmin_2fexecution_2eproto() { @@ -9990,6 +9991,7 @@ void ExecutionUpdateRequest::clear_id() { #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int ExecutionUpdateRequest::kIdFieldNumber; const int ExecutionUpdateRequest::kStateFieldNumber; +const int ExecutionUpdateRequest::kTagsFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 ExecutionUpdateRequest::ExecutionUpdateRequest() @@ -9999,7 +10001,8 @@ ExecutionUpdateRequest::ExecutionUpdateRequest() } ExecutionUpdateRequest::ExecutionUpdateRequest(const ExecutionUpdateRequest& from) : ::google::protobuf::Message(), - _internal_metadata_(nullptr) { + _internal_metadata_(nullptr), + tags_(from.tags_) { _internal_metadata_.MergeFrom(from._internal_metadata_); if (from.has_id()) { id_ = new ::flyteidl::core::WorkflowExecutionIdentifier(*from.id_); @@ -10042,6 +10045,7 @@ void ExecutionUpdateRequest::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + tags_.Clear(); if (GetArenaNoVirtual() == nullptr && id_ != nullptr) { delete id_; } @@ -10084,6 +10088,25 @@ const char* ExecutionUpdateRequest::_InternalParse(const char* begin, const char GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); break; } + // repeated string tags = 3; + case 3: { + if (static_cast<::google::protobuf::uint8>(tag) != 26) goto handle_unusual; + do { + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.ExecutionUpdateRequest.tags"); + object = msg->add_tags(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + if (ptr >= end) break; + } while ((::google::protobuf::io::UnalignedLoad<::google::protobuf::uint64>(ptr) & 255) == 26 && (ptr += 1)); + break; + } default: { handle_unusual: if ((tag & 7) == 4 || tag == 0) { @@ -10099,6 +10122,10 @@ const char* ExecutionUpdateRequest::_InternalParse(const char* begin, const char } // switch } // while return ptr; +string_till_end: + static_cast<::std::string*>(object)->clear(); + static_cast<::std::string*>(object)->reserve(size); + goto len_delim_till_end; len_delim_till_end: return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg}, {parser_till_end, object}, size); @@ -10139,6 +10166,22 @@ bool ExecutionUpdateRequest::MergePartialFromCodedStream( break; } + // repeated string tags = 3; + case 3: { + if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->add_tags())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->tags(this->tags_size() - 1).data(), + static_cast(this->tags(this->tags_size() - 1).length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.ExecutionUpdateRequest.tags")); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -10178,6 +10221,16 @@ void ExecutionUpdateRequest::SerializeWithCachedSizes( 2, this->state(), output); } + // repeated string tags = 3; + for (int i = 0, n = this->tags_size(); i < n; i++) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->tags(i).data(), static_cast(this->tags(i).length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.ExecutionUpdateRequest.tags"); + ::google::protobuf::internal::WireFormatLite::WriteString( + 3, this->tags(i), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( _internal_metadata_.unknown_fields(), output); @@ -10204,6 +10257,16 @@ ::google::protobuf::uint8* ExecutionUpdateRequest::InternalSerializeWithCachedSi 2, this->state(), target); } + // repeated string tags = 3; + for (int i = 0, n = this->tags_size(); i < n; i++) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->tags(i).data(), static_cast(this->tags(i).length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.ExecutionUpdateRequest.tags"); + target = ::google::protobuf::internal::WireFormatLite:: + WriteStringToArray(3, this->tags(i), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields(), target); @@ -10225,6 +10288,14 @@ size_t ExecutionUpdateRequest::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; + // repeated string tags = 3; + total_size += 1 * + ::google::protobuf::internal::FromIntSize(this->tags_size()); + for (int i = 0, n = this->tags_size(); i < n; i++) { + total_size += ::google::protobuf::internal::WireFormatLite::StringSize( + this->tags(i)); + } + // .flyteidl.core.WorkflowExecutionIdentifier id = 1; if (this->has_id()) { total_size += 1 + @@ -10265,6 +10336,7 @@ void ExecutionUpdateRequest::MergeFrom(const ExecutionUpdateRequest& from) { ::google::protobuf::uint32 cached_has_bits = 0; (void) cached_has_bits; + tags_.MergeFrom(from.tags_); if (from.has_id()) { mutable_id()->::flyteidl::core::WorkflowExecutionIdentifier::MergeFrom(from.id()); } @@ -10298,6 +10370,7 @@ void ExecutionUpdateRequest::Swap(ExecutionUpdateRequest* other) { void ExecutionUpdateRequest::InternalSwap(ExecutionUpdateRequest* other) { using std::swap; _internal_metadata_.Swap(&other->_internal_metadata_); + tags_.InternalSwap(CastToBase(&other->tags_)); swap(id_, other->id_); swap(state_, other->state_); } diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.h b/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.h index 9665aff4c4c..ac48dabafd0 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/execution.pb.h @@ -3069,6 +3069,28 @@ class ExecutionUpdateRequest final : // accessors ------------------------------------------------------- + // repeated string tags = 3; + int tags_size() const; + void clear_tags(); + static const int kTagsFieldNumber = 3; + const ::std::string& tags(int index) const; + ::std::string* mutable_tags(int index); + void set_tags(int index, const ::std::string& value); + #if LANG_CXX11 + void set_tags(int index, ::std::string&& value); + #endif + void set_tags(int index, const char* value); + void set_tags(int index, const char* value, size_t size); + ::std::string* add_tags(); + void add_tags(const ::std::string& value); + #if LANG_CXX11 + void add_tags(::std::string&& value); + #endif + void add_tags(const char* value); + void add_tags(const char* value, size_t size); + const ::google::protobuf::RepeatedPtrField<::std::string>& tags() const; + ::google::protobuf::RepeatedPtrField<::std::string>* mutable_tags(); + // .flyteidl.core.WorkflowExecutionIdentifier id = 1; bool has_id() const; void clear_id(); @@ -3089,6 +3111,7 @@ class ExecutionUpdateRequest final : class HasBitSetters; ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::RepeatedPtrField<::std::string> tags_; ::flyteidl::core::WorkflowExecutionIdentifier* id_; int state_; mutable ::google::protobuf::internal::CachedSize _cached_size_; @@ -6859,6 +6882,75 @@ inline void ExecutionUpdateRequest::set_state(::flyteidl::admin::ExecutionState // @@protoc_insertion_point(field_set:flyteidl.admin.ExecutionUpdateRequest.state) } +// repeated string tags = 3; +inline int ExecutionUpdateRequest::tags_size() const { + return tags_.size(); +} +inline void ExecutionUpdateRequest::clear_tags() { + tags_.Clear(); +} +inline const ::std::string& ExecutionUpdateRequest::tags(int index) const { + // @@protoc_insertion_point(field_get:flyteidl.admin.ExecutionUpdateRequest.tags) + return tags_.Get(index); +} +inline ::std::string* ExecutionUpdateRequest::mutable_tags(int index) { + // @@protoc_insertion_point(field_mutable:flyteidl.admin.ExecutionUpdateRequest.tags) + return tags_.Mutable(index); +} +inline void ExecutionUpdateRequest::set_tags(int index, const ::std::string& value) { + // @@protoc_insertion_point(field_set:flyteidl.admin.ExecutionUpdateRequest.tags) + tags_.Mutable(index)->assign(value); +} +#if LANG_CXX11 +inline void ExecutionUpdateRequest::set_tags(int index, ::std::string&& value) { + // @@protoc_insertion_point(field_set:flyteidl.admin.ExecutionUpdateRequest.tags) + tags_.Mutable(index)->assign(std::move(value)); +} +#endif +inline void ExecutionUpdateRequest::set_tags(int index, const char* value) { + GOOGLE_DCHECK(value != nullptr); + tags_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.ExecutionUpdateRequest.tags) +} +inline void ExecutionUpdateRequest::set_tags(int index, const char* value, size_t size) { + tags_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.ExecutionUpdateRequest.tags) +} +inline ::std::string* ExecutionUpdateRequest::add_tags() { + // @@protoc_insertion_point(field_add_mutable:flyteidl.admin.ExecutionUpdateRequest.tags) + return tags_.Add(); +} +inline void ExecutionUpdateRequest::add_tags(const ::std::string& value) { + tags_.Add()->assign(value); + // @@protoc_insertion_point(field_add:flyteidl.admin.ExecutionUpdateRequest.tags) +} +#if LANG_CXX11 +inline void ExecutionUpdateRequest::add_tags(::std::string&& value) { + tags_.Add(std::move(value)); + // @@protoc_insertion_point(field_add:flyteidl.admin.ExecutionUpdateRequest.tags) +} +#endif +inline void ExecutionUpdateRequest::add_tags(const char* value) { + GOOGLE_DCHECK(value != nullptr); + tags_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:flyteidl.admin.ExecutionUpdateRequest.tags) +} +inline void ExecutionUpdateRequest::add_tags(const char* value, size_t size) { + tags_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:flyteidl.admin.ExecutionUpdateRequest.tags) +} +inline const ::google::protobuf::RepeatedPtrField<::std::string>& +ExecutionUpdateRequest::tags() const { + // @@protoc_insertion_point(field_list:flyteidl.admin.ExecutionUpdateRequest.tags) + return tags_; +} +inline ::google::protobuf::RepeatedPtrField<::std::string>* +ExecutionUpdateRequest::mutable_tags() { + // @@protoc_insertion_point(field_mutable_list:flyteidl.admin.ExecutionUpdateRequest.tags) + return &tags_; +} + // ------------------------------------------------------------------- // ExecutionStateChangeDetails diff --git a/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go index 0e4c7bb72bd..436d00d29a4 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go @@ -5,10 +5,9 @@ package admin import ( fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/cluster_assignment.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/cluster_assignment.pb.go index 597052a8eac..d6f0efa3145 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/cluster_assignment.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/cluster_assignment.pb.go @@ -5,9 +5,8 @@ package admin import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/common.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/common.pb.go index 3f1ac0c5a78..3703dfb22e6 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/common.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/common.pb.go @@ -5,11 +5,10 @@ package admin import ( fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" _ "github.com/golang/protobuf/ptypes/timestamp" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/description_entity.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/description_entity.pb.go index 7b4d552fb6e..2b63707adfd 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/description_entity.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/description_entity.pb.go @@ -5,10 +5,9 @@ package admin import ( fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/event.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/event.pb.go index e1a2d8b5383..d718496c808 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/event.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/event.pb.go @@ -5,10 +5,9 @@ package admin import ( fmt "fmt" - math "math" - event "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/event" proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go index 834447e8e20..c10bd680f3c 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go @@ -5,13 +5,12 @@ package admin import ( fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" timestamp "github.com/golang/protobuf/ptypes/timestamp" wrappers "github.com/golang/protobuf/ptypes/wrappers" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. @@ -1473,10 +1472,12 @@ type ExecutionUpdateRequest struct { // Identifier of the execution to update Id *core.WorkflowExecutionIdentifier `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // State to set as the new value active/archive - State ExecutionState `protobuf:"varint,2,opt,name=state,proto3,enum=flyteidl.admin.ExecutionState" json:"state,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + State ExecutionState `protobuf:"varint,2,opt,name=state,proto3,enum=flyteidl.admin.ExecutionState" json:"state,omitempty"` + // Tag of the execution to update + Tags []string `protobuf:"bytes,3,rep,name=tags,proto3" json:"tags,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ExecutionUpdateRequest) Reset() { *m = ExecutionUpdateRequest{} } @@ -1518,6 +1519,13 @@ func (m *ExecutionUpdateRequest) GetState() ExecutionState { return ExecutionState_EXECUTION_ACTIVE } +func (m *ExecutionUpdateRequest) GetTags() []string { + if m != nil { + return m.Tags + } + return nil +} + type ExecutionStateChangeDetails struct { // The state of the execution is used to control its visibility in the UI/CLI. State ExecutionState `protobuf:"varint,1,opt,name=state,proto3,enum=flyteidl.admin.ExecutionState" json:"state,omitempty"` @@ -1730,120 +1738,120 @@ func init() { func init() { proto.RegisterFile("flyteidl/admin/execution.proto", fileDescriptor_4e2785d91b3809ec) } var fileDescriptor_4e2785d91b3809ec = []byte{ - // 1827 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x5b, 0x73, 0xdb, 0xc6, - 0x15, 0x16, 0x29, 0x52, 0xa2, 0x0e, 0x2d, 0x8a, 0x5e, 0x29, 0x32, 0x2c, 0x3b, 0xb6, 0x82, 0x4c, - 0x6b, 0x4f, 0x32, 0x25, 0x27, 0x4a, 0x3d, 0x9d, 0x38, 0x75, 0x26, 0x14, 0x45, 0x47, 0x4a, 0x75, - 0x71, 0x57, 0x17, 0xe7, 0x32, 0x19, 0x74, 0x05, 0xac, 0x48, 0xd4, 0x00, 0x16, 0xde, 0x5d, 0x48, - 0xf6, 0x3f, 0xe8, 0xf4, 0xa9, 0x8f, 0xed, 0x3f, 0xe8, 0x53, 0x1f, 0xfb, 0xd0, 0xe7, 0xfe, 0xb0, - 0x0c, 0x16, 0x0b, 0x10, 0x00, 0x29, 0x4b, 0x1e, 0xeb, 0x0d, 0xbb, 0xe7, 0x3b, 0x97, 0x3d, 0x7b, - 0x6e, 0x0b, 0x78, 0x70, 0xe6, 0xbd, 0x95, 0xd4, 0x75, 0xbc, 0x2e, 0x71, 0x7c, 0x37, 0xe8, 0xd2, - 0x37, 0xd4, 0x8e, 0xa4, 0xcb, 0x82, 0x4e, 0xc8, 0x99, 0x64, 0xa8, 0x95, 0xd2, 0x3b, 0x8a, 0xbe, - 0xf6, 0xa8, 0x84, 0xb7, 0xbd, 0x48, 0x48, 0xca, 0x2d, 0x22, 0x84, 0x3b, 0x0c, 0x7c, 0x1a, 0xc8, - 0x84, 0x71, 0xed, 0x5e, 0x19, 0xc8, 0x7c, 0x3f, 0x95, 0xba, 0x76, 0x3f, 0x23, 0xda, 0x8c, 0xd3, - 0xae, 0xe7, 0x4a, 0xca, 0x89, 0x27, 0x34, 0xf5, 0xe3, 0x22, 0xb5, 0x64, 0xd2, 0xda, 0x83, 0x22, - 0xd9, 0x75, 0x68, 0x20, 0xdd, 0x33, 0x97, 0xf2, 0x09, 0xcd, 0x8a, 0xee, 0x53, 0xc9, 0x5d, 0x5b, - 0x4c, 0xd7, 0x2c, 0xa8, 0x1d, 0x71, 0x57, 0xbe, 0x4d, 0x45, 0x0f, 0x19, 0x1b, 0x7a, 0xb4, 0xab, - 0x56, 0xa7, 0xd1, 0x59, 0xd7, 0x89, 0x38, 0xc9, 0xa9, 0x7e, 0x58, 0xa6, 0x4b, 0xd7, 0xa7, 0x42, - 0x12, 0x3f, 0xbc, 0x4c, 0xc0, 0x05, 0x27, 0x61, 0x48, 0xb9, 0x56, 0x6f, 0xfe, 0xbf, 0x02, 0xab, - 0x83, 0xf4, 0x3c, 0x7d, 0x4e, 0x89, 0xa4, 0x98, 0xbe, 0x8e, 0xa8, 0x90, 0xc8, 0x80, 0xf9, 0x90, - 0xb3, 0xbf, 0x52, 0x5b, 0x1a, 0x95, 0xf5, 0xca, 0xe3, 0x05, 0x9c, 0x2e, 0xd1, 0x2a, 0xcc, 0x39, - 0xcc, 0x27, 0x6e, 0x60, 0x54, 0x15, 0x41, 0xaf, 0x10, 0x82, 0x5a, 0x40, 0x7c, 0x6a, 0xcc, 0xaa, - 0x5d, 0xf5, 0x8d, 0xbe, 0x80, 0x9a, 0x08, 0xa9, 0x6d, 0xd4, 0xd6, 0x2b, 0x8f, 0x9b, 0x1b, 0x1f, - 0x77, 0x8a, 0xd7, 0xd7, 0xc9, 0x74, 0x1f, 0x86, 0xd4, 0xc6, 0x0a, 0x8a, 0xbe, 0x80, 0x39, 0x37, - 0x08, 0x23, 0x29, 0x8c, 0xba, 0x62, 0xba, 0x3b, 0x66, 0x8a, 0x7d, 0xd4, 0xd9, 0x4d, 0x6e, 0x67, - 0x8f, 0x84, 0x58, 0x03, 0xcd, 0x7f, 0x55, 0xc0, 0xc8, 0x44, 0x61, 0xea, 0x91, 0x28, 0xb0, 0x47, - 0xe9, 0x41, 0x9e, 0x42, 0xd5, 0x75, 0xd4, 0x19, 0x9a, 0x1b, 0x9f, 0x95, 0x64, 0xbd, 0x64, 0xfc, - 0xd5, 0x99, 0xc7, 0x2e, 0x32, 0xe6, 0x9d, 0xec, 0xf6, 0x70, 0xd5, 0x75, 0xa6, 0x1e, 0xe9, 0x11, - 0x2c, 0xb1, 0x73, 0xca, 0x2f, 0xb8, 0x2b, 0xa9, 0x65, 0x13, 0x7b, 0x44, 0xd5, 0xe9, 0x1a, 0xb8, - 0x95, 0x6d, 0xf7, 0xe3, 0xdd, 0xef, 0x6b, 0x8d, 0x6a, 0x7b, 0xd6, 0xfc, 0x77, 0x05, 0xee, 0xe4, - 0x6c, 0xb3, 0x63, 0xd0, 0x4d, 0x9a, 0x56, 0xcd, 0x99, 0xf6, 0x0c, 0x1a, 0x3e, 0x95, 0xc4, 0x21, - 0x92, 0x28, 0x93, 0x9b, 0x1b, 0x9f, 0x5c, 0xea, 0xf1, 0x3d, 0x0d, 0xc4, 0x19, 0x8b, 0x79, 0x9c, - 0xb3, 0x34, 0x0d, 0x06, 0x11, 0xb2, 0x40, 0xd0, 0x0f, 0xb1, 0xd4, 0xfc, 0x11, 0xee, 0x4d, 0x40, - 0xbe, 0xa3, 0xf2, 0x06, 0x9c, 0x60, 0xfe, 0xb7, 0x02, 0x0b, 0x19, 0xed, 0x83, 0xdc, 0x99, 0x06, - 0x6a, 0xf5, 0xfa, 0x81, 0xfa, 0x14, 0xe6, 0x6d, 0x8f, 0x89, 0x88, 0x53, 0xed, 0xec, 0xf5, 0x4b, - 0xb9, 0xfa, 0x09, 0x0e, 0xa7, 0x0c, 0xe6, 0x5f, 0x60, 0x31, 0x23, 0xee, 0xba, 0x42, 0xa2, 0xaf, - 0x00, 0xb2, 0xc2, 0x22, 0x8c, 0xca, 0xfa, 0x6c, 0x31, 0xf2, 0x4b, 0xf2, 0x70, 0x0e, 0x8c, 0x56, - 0xa0, 0x2e, 0xd9, 0x2b, 0x9a, 0xa6, 0x63, 0xb2, 0x30, 0x29, 0xb4, 0xc6, 0x99, 0xb2, 0xe9, 0xb1, - 0x53, 0xf4, 0x07, 0x98, 0x3b, 0x27, 0x5e, 0x44, 0x85, 0x76, 0xd1, 0xe5, 0x89, 0xb5, 0x59, 0x35, - 0x2a, 0xdb, 0x33, 0x58, 0xc3, 0x11, 0x82, 0xd9, 0x88, 0xbb, 0x89, 0xf8, 0xed, 0x19, 0x1c, 0x2f, - 0x36, 0xe7, 0xa0, 0xa6, 0x62, 0xa6, 0x0f, 0x8b, 0xbd, 0x53, 0xc6, 0x65, 0x1a, 0x4e, 0xb1, 0x35, - 0x36, 0x89, 0x04, 0xd5, 0x55, 0x23, 0x59, 0xa0, 0xfb, 0xb0, 0x10, 0x72, 0x37, 0xb0, 0xdd, 0x90, - 0x78, 0xda, 0xce, 0xf1, 0x86, 0xf9, 0xcf, 0x79, 0x68, 0x97, 0x7d, 0x85, 0xbe, 0x81, 0x79, 0x16, - 0x49, 0x55, 0x08, 0x12, 0x7b, 0x1f, 0x94, 0xdd, 0x51, 0x3c, 0x9f, 0x36, 0x3a, 0x65, 0x42, 0x4f, - 0xa0, 0x4e, 0x39, 0x67, 0x7c, 0xf2, 0x4a, 0xd5, 0x69, 0x33, 0x7d, 0x83, 0x18, 0xb4, 0x3d, 0x83, - 0x13, 0x34, 0xfa, 0x0d, 0x34, 0x49, 0x7c, 0x20, 0x2b, 0x39, 0x05, 0xc4, 0xb6, 0x6a, 0xd1, 0xa0, - 0x08, 0x7d, 0x75, 0xa0, 0xe7, 0xd0, 0x4a, 0x60, 0x59, 0xc2, 0xdd, 0x9a, 0x1e, 0x39, 0x05, 0xef, - 0x6c, 0xcf, 0xe0, 0x45, 0x52, 0x70, 0xd7, 0xb7, 0xd0, 0x4c, 0x0c, 0xb6, 0x94, 0x90, 0xc5, 0xeb, - 0xdd, 0x0c, 0x24, 0x3c, 0x5b, 0xb1, 0x84, 0xe7, 0xb0, 0x64, 0x33, 0x3f, 0x8c, 0x24, 0x75, 0x2c, - 0x5d, 0x38, 0x67, 0xaf, 0x21, 0x05, 0xb7, 0x52, 0xae, 0x1d, 0xc5, 0x84, 0xfe, 0x08, 0xf5, 0x70, - 0x44, 0x44, 0x52, 0xcd, 0x5a, 0x1b, 0xbf, 0xbd, 0x2a, 0x81, 0x3a, 0x2f, 0x62, 0x34, 0x4e, 0x98, - 0xe2, 0xf8, 0x15, 0x92, 0xf0, 0xd8, 0x08, 0x22, 0x75, 0xe5, 0x5e, 0xeb, 0x24, 0xed, 0xa7, 0x93, - 0xb6, 0x9f, 0xce, 0x51, 0xda, 0x9f, 0xf0, 0x82, 0x46, 0xf7, 0x24, 0x7a, 0x02, 0x8d, 0xb4, 0xaf, - 0x19, 0x73, 0xda, 0xf2, 0x32, 0xe3, 0x96, 0x06, 0xe0, 0x0c, 0x1a, 0x6b, 0xb4, 0x55, 0x91, 0x52, - 0x1a, 0xe7, 0xaf, 0xd6, 0xa8, 0xd1, 0x3d, 0x95, 0x6c, 0x51, 0xe8, 0xa4, 0xac, 0x8d, 0xab, 0x59, - 0x35, 0xba, 0x27, 0xd1, 0x26, 0x2c, 0x06, 0x2c, 0xae, 0x1b, 0x36, 0x49, 0x52, 0x75, 0x41, 0xa5, - 0xea, 0xfd, 0xf2, 0xb5, 0xef, 0xe7, 0x40, 0xb8, 0xc8, 0x82, 0x9e, 0x42, 0xf3, 0x42, 0x7b, 0xd3, - 0x72, 0x1d, 0xa3, 0x39, 0xf5, 0xb6, 0x72, 0xf5, 0x09, 0x52, 0xf4, 0x8e, 0x83, 0x7e, 0x81, 0x15, - 0x21, 0x49, 0xdc, 0x79, 0x46, 0x24, 0x18, 0x52, 0xcb, 0xa1, 0x92, 0xb8, 0x9e, 0x30, 0x5a, 0x4a, - 0xc8, 0xe7, 0x97, 0xd7, 0xad, 0x98, 0xa9, 0xaf, 0x78, 0xb6, 0x12, 0x16, 0x8c, 0xc4, 0xc4, 0xde, - 0xe6, 0x12, 0x2c, 0xea, 0x70, 0xe4, 0x54, 0x44, 0x9e, 0x34, 0x7f, 0x86, 0xd6, 0xe1, 0x5b, 0x21, - 0xa9, 0x9f, 0x45, 0xec, 0xe7, 0x70, 0x3b, 0x2b, 0x3e, 0x96, 0x9e, 0xb7, 0x74, 0xb2, 0xb7, 0xe9, - 0x38, 0x89, 0xd5, 0x7e, 0x9c, 0xf7, 0x71, 0x67, 0x12, 0x21, 0xb1, 0xd3, 0x56, 0x35, 0xde, 0x30, - 0xff, 0x57, 0x83, 0xdb, 0x13, 0x0d, 0x09, 0xf5, 0xa1, 0xe6, 0x33, 0x27, 0x29, 0x20, 0xad, 0x8d, - 0xee, 0x95, 0x1d, 0x2c, 0xb7, 0xc3, 0x1c, 0x8a, 0x15, 0xf3, 0xbb, 0x0b, 0x4e, 0x3c, 0xdc, 0x04, - 0x54, 0x48, 0x37, 0x18, 0xaa, 0x5c, 0x59, 0xc4, 0xe9, 0x12, 0x3d, 0x83, 0x5b, 0xc2, 0x1e, 0x51, - 0x27, 0xf2, 0x92, 0xe0, 0xa8, 0x5d, 0x19, 0x1c, 0xcd, 0x0c, 0xdf, 0x93, 0xe8, 0x27, 0xf8, 0x28, - 0x24, 0x9c, 0x06, 0xd2, 0x0a, 0x98, 0x43, 0xad, 0xcc, 0x1f, 0x3a, 0x23, 0xca, 0x49, 0xb5, 0xcf, - 0x1c, 0x3a, 0xad, 0x23, 0x2d, 0x27, 0x42, 0x0a, 0x64, 0xf4, 0x33, 0x2c, 0x73, 0x7a, 0x46, 0x39, - 0x0d, 0xec, 0xbc, 0xe4, 0xf6, 0x7b, 0xf7, 0x3b, 0x94, 0x89, 0x19, 0x0b, 0xff, 0x0e, 0x96, 0x84, - 0xba, 0xe7, 0x71, 0x41, 0xbb, 0x3d, 0xbd, 0xea, 0x16, 0xc3, 0x01, 0xb7, 0x44, 0x61, 0x6d, 0x0e, - 0x73, 0x9d, 0x2d, 0xbe, 0x0f, 0x04, 0x30, 0xb7, 0xd7, 0xdb, 0x3f, 0xee, 0xed, 0xb6, 0x67, 0xd0, - 0x22, 0x2c, 0x1c, 0xf6, 0xb7, 0x07, 0x5b, 0xc7, 0xbb, 0x83, 0xad, 0x76, 0x25, 0x26, 0x1d, 0xfe, - 0x78, 0x78, 0x34, 0xd8, 0x6b, 0x57, 0xd1, 0x2d, 0x68, 0xe0, 0xc1, 0x6e, 0xef, 0x78, 0xbf, 0xbf, - 0xdd, 0x9e, 0x45, 0x08, 0x5a, 0xfd, 0xed, 0x9d, 0xdd, 0x2d, 0xeb, 0xe5, 0x01, 0xfe, 0xd3, 0xf3, - 0xdd, 0x83, 0x97, 0xed, 0x5a, 0xcc, 0x8c, 0x07, 0xfd, 0x83, 0x93, 0x01, 0x1e, 0x6c, 0xb5, 0xeb, - 0xe6, 0x09, 0xb4, 0xf3, 0x49, 0xa6, 0xba, 0xe8, 0x44, 0x76, 0x56, 0xde, 0x3b, 0x3b, 0xcd, 0x7f, - 0x34, 0x72, 0x27, 0x38, 0x4c, 0x1a, 0x7d, 0x33, 0x19, 0x29, 0xad, 0xd0, 0x23, 0xc1, 0x25, 0xdd, - 0x33, 0x9f, 0xaf, 0x09, 0xfa, 0x85, 0x47, 0x02, 0xf4, 0x24, 0x9b, 0x66, 0xab, 0xd7, 0x29, 0xca, - 0x1a, 0xfc, 0x81, 0x93, 0x1c, 0xda, 0x2e, 0xfb, 0xa1, 0x3e, 0x7d, 0x40, 0x29, 0x3b, 0x30, 0xee, - 0x4f, 0xc5, 0x5a, 0xf5, 0x09, 0x34, 0x1d, 0x57, 0x90, 0x53, 0x8f, 0x5a, 0xc4, 0xf3, 0x54, 0x7d, - 0x6e, 0xc4, 0x0d, 0x48, 0x6f, 0xf6, 0x3c, 0x0f, 0x75, 0x60, 0xce, 0x23, 0xa7, 0xd4, 0x13, 0xba, - 0x08, 0xaf, 0x4e, 0xf4, 0x69, 0x45, 0xc5, 0x1a, 0x85, 0x9e, 0x41, 0x93, 0x04, 0x01, 0x93, 0xda, - 0xb4, 0xa4, 0xfc, 0xde, 0x9b, 0xe8, 0x9b, 0x63, 0x08, 0xce, 0xe3, 0xd1, 0x0e, 0xb4, 0xd3, 0x67, - 0x92, 0x65, 0xb3, 0x40, 0xd2, 0x37, 0x52, 0x75, 0xe9, 0x42, 0xa8, 0x2a, 0xdf, 0x1e, 0x6a, 0x58, - 0x3f, 0x41, 0xe1, 0x25, 0x51, 0xdc, 0x40, 0x5f, 0xc1, 0x02, 0x89, 0xe4, 0xc8, 0xe2, 0xcc, 0xa3, - 0x3a, 0x8f, 0x8c, 0x09, 0x3b, 0x22, 0x39, 0xc2, 0xcc, 0xa3, 0xea, 0x7a, 0x1a, 0x44, 0xaf, 0xd0, - 0x1e, 0xa0, 0xd7, 0x11, 0xf1, 0x62, 0x23, 0xd8, 0x99, 0x25, 0x28, 0x3f, 0x77, 0x6d, 0xaa, 0x53, - 0xe6, 0x61, 0xc9, 0x8e, 0x3f, 0x27, 0xc0, 0x83, 0xb3, 0xc3, 0x04, 0x86, 0xdb, 0xaf, 0x4b, 0x3b, - 0xf1, 0xa3, 0xc2, 0x27, 0x6f, 0xac, 0x90, 0x70, 0xe2, 0x79, 0xd4, 0x73, 0x85, 0x6f, 0xa0, 0xf5, - 0xca, 0xe3, 0x3a, 0x6e, 0xf9, 0xe4, 0xcd, 0x8b, 0xf1, 0x2e, 0xfa, 0x01, 0x56, 0x39, 0xb9, 0xb0, - 0x72, 0x33, 0x43, 0xec, 0x84, 0x33, 0x77, 0x68, 0x2c, 0x2b, 0xdd, 0x9f, 0x96, 0xed, 0xc7, 0xe4, - 0xe2, 0x20, 0x1b, 0x16, 0xfa, 0x0a, 0x8a, 0x97, 0xf9, 0xe4, 0x26, 0x7a, 0x01, 0x68, 0xf2, 0xf5, - 0x6c, 0xac, 0x4c, 0x0f, 0x3e, 0x5d, 0xdf, 0x7b, 0x19, 0x10, 0xdf, 0xb6, 0xcb, 0x5b, 0xe8, 0x5b, - 0x58, 0x74, 0x03, 0x49, 0x39, 0x8f, 0x42, 0xe9, 0x9e, 0x7a, 0xd4, 0xf8, 0xe8, 0x92, 0x62, 0xba, - 0xc9, 0x98, 0x77, 0x12, 0xcf, 0x9a, 0xb8, 0xc8, 0x30, 0xed, 0xad, 0xb5, 0x3a, 0xed, 0xad, 0x85, - 0x1e, 0x43, 0x8d, 0x06, 0xe7, 0xc2, 0xb8, 0xa3, 0x34, 0xac, 0x4c, 0xe4, 0x4a, 0x70, 0x2e, 0xb0, - 0x42, 0xc4, 0xef, 0x26, 0x49, 0x86, 0xc2, 0x30, 0xd6, 0x67, 0xe3, 0x77, 0x53, 0xfc, 0xbd, 0x69, - 0xc0, 0x6a, 0x3e, 0xea, 0xad, 0x58, 0x38, 0x77, 0x1d, 0x2a, 0xbe, 0xaf, 0x35, 0x6a, 0xed, 0xba, - 0xe9, 0xc3, 0xdd, 0x2c, 0xdb, 0x8e, 0x28, 0xf7, 0xdd, 0x20, 0xf7, 0x50, 0xfe, 0x90, 0x57, 0x47, - 0x36, 0x2c, 0x57, 0x73, 0xc3, 0xb2, 0x79, 0x1f, 0xd6, 0xa6, 0xa9, 0x4b, 0x9e, 0x62, 0xe6, 0x2f, - 0xf0, 0x70, 0xda, 0x73, 0x2a, 0xbe, 0xc9, 0x9b, 0x78, 0x52, 0xfd, 0xad, 0x0a, 0xeb, 0x97, 0xcb, - 0xd7, 0xcf, 0xc1, 0x27, 0xe5, 0xd9, 0xfc, 0x4e, 0xd9, 0xe3, 0xc7, 0xdc, 0x4b, 0x87, 0xf2, 0xf1, - 0x48, 0xfe, 0x65, 0xa9, 0x18, 0xbe, 0x93, 0x2b, 0x2d, 0x85, 0x4f, 0xa1, 0x79, 0x16, 0x79, 0xde, - 0x75, 0x67, 0x5b, 0x0c, 0x31, 0x3a, 0x9b, 0x69, 0x6f, 0x29, 0xde, 0xd4, 0xd8, 0xda, 0x55, 0xcc, - 0x4a, 0x55, 0x92, 0x1a, 0xc2, 0xfc, 0x7b, 0xfe, 0xef, 0xc8, 0xb1, 0x1a, 0x01, 0x6f, 0xe2, 0xd2, - 0x7f, 0x0f, 0x75, 0x35, 0x79, 0x29, 0x27, 0xb4, 0x26, 0x1b, 0x6c, 0x71, 0x66, 0xc3, 0x09, 0xd8, - 0xfc, 0x4f, 0x05, 0xee, 0xbd, 0x63, 0x9a, 0x1b, 0x4b, 0xad, 0xbc, 0x87, 0x54, 0xf4, 0x35, 0x34, - 0x99, 0x6d, 0x47, 0x9c, 0x27, 0xd3, 0x4e, 0xf5, 0xca, 0x69, 0x07, 0x52, 0x78, 0x4f, 0x16, 0x67, - 0xac, 0xd9, 0xf2, 0xa3, 0xee, 0x6e, 0xee, 0x6f, 0x42, 0xea, 0x3c, 0x1d, 0xc2, 0xe7, 0x60, 0x4e, - 0x0b, 0xb1, 0xbd, 0xe4, 0xd7, 0xd8, 0x0d, 0x25, 0x96, 0x43, 0x43, 0x39, 0x52, 0x27, 0xaa, 0xe3, - 0x64, 0x61, 0xee, 0xc3, 0xa7, 0xef, 0xd4, 0xab, 0xa3, 0xfb, 0x11, 0xd4, 0x44, 0x98, 0x35, 0xfa, - 0xe5, 0x72, 0x57, 0x09, 0x49, 0x80, 0x15, 0xe0, 0xb3, 0x6f, 0xa0, 0x55, 0x74, 0x2b, 0x5a, 0x81, - 0xf6, 0xe0, 0x87, 0x41, 0xff, 0xf8, 0x68, 0xe7, 0x60, 0xdf, 0xea, 0xf5, 0x8f, 0x76, 0x4e, 0x06, - 0xed, 0x19, 0xb4, 0x0a, 0x28, 0xb7, 0x8b, 0xfb, 0xdb, 0x3b, 0x27, 0xf1, 0xfc, 0xb3, 0xf9, 0xec, - 0xa7, 0xaf, 0x87, 0xae, 0x1c, 0x45, 0xa7, 0x1d, 0x9b, 0xf9, 0x5d, 0xa5, 0x86, 0xf1, 0x61, 0xf2, - 0xd1, 0xcd, 0xfe, 0x0c, 0x0e, 0x69, 0xd0, 0x0d, 0x4f, 0x7f, 0x37, 0x64, 0xdd, 0xe2, 0x3f, 0xcc, - 0xd3, 0x39, 0x75, 0x3f, 0x5f, 0xfe, 0x1a, 0x00, 0x00, 0xff, 0xff, 0x9d, 0xaa, 0x3a, 0xc4, 0x35, - 0x15, 0x00, 0x00, + // 1832 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcb, 0x73, 0xdb, 0xc6, + 0x19, 0x17, 0x29, 0x52, 0xa2, 0x3e, 0x5a, 0x14, 0xbd, 0x52, 0x64, 0x58, 0x76, 0x6c, 0x05, 0x99, + 0xd6, 0x9e, 0x64, 0x4a, 0x4e, 0x94, 0x7a, 0x3a, 0x71, 0xea, 0x4c, 0x28, 0x8a, 0x8e, 0x94, 0xea, + 0xe1, 0xae, 0x1e, 0xce, 0x63, 0x32, 0xe8, 0x0a, 0x58, 0x91, 0xa8, 0x01, 0x2c, 0xbc, 0xbb, 0x90, + 0xec, 0xff, 0xa0, 0xc7, 0x1e, 0xdb, 0x4b, 0xcf, 0x3d, 0xf5, 0xd8, 0x43, 0xcf, 0xfd, 0xc3, 0x32, + 0x58, 0x2c, 0x40, 0x00, 0xa4, 0x2c, 0x79, 0xac, 0x1b, 0x76, 0xbf, 0xdf, 0xf7, 0xd8, 0x6f, 0xbf, + 0xd7, 0x02, 0x1e, 0x9c, 0x79, 0x6f, 0x25, 0x75, 0x1d, 0xaf, 0x4b, 0x1c, 0xdf, 0x0d, 0xba, 0xf4, + 0x0d, 0xb5, 0x23, 0xe9, 0xb2, 0xa0, 0x13, 0x72, 0x26, 0x19, 0x6a, 0xa5, 0xf4, 0x8e, 0xa2, 0xaf, + 0x3d, 0x2a, 0xe1, 0x6d, 0x2f, 0x12, 0x92, 0x72, 0x8b, 0x08, 0xe1, 0x0e, 0x03, 0x9f, 0x06, 0x32, + 0x61, 0x5c, 0xbb, 0x57, 0x06, 0x32, 0xdf, 0x4f, 0xa5, 0xae, 0xdd, 0xcf, 0x88, 0x36, 0xe3, 0xb4, + 0xeb, 0xb9, 0x92, 0x72, 0xe2, 0x09, 0x4d, 0xfd, 0xb8, 0x48, 0x2d, 0x99, 0xb4, 0xf6, 0xa0, 0x48, + 0x76, 0x1d, 0x1a, 0x48, 0xf7, 0xcc, 0xa5, 0x7c, 0x42, 0xb3, 0xa2, 0xfb, 0x54, 0x72, 0xd7, 0x16, + 0xd3, 0x35, 0x0b, 0x6a, 0x47, 0xdc, 0x95, 0x6f, 0x53, 0xd1, 0x43, 0xc6, 0x86, 0x1e, 0xed, 0xaa, + 0xd5, 0x69, 0x74, 0xd6, 0x75, 0x22, 0x4e, 0x72, 0xaa, 0x1f, 0x96, 0xe9, 0xd2, 0xf5, 0xa9, 0x90, + 0xc4, 0x0f, 0x2f, 0x13, 0x70, 0xc1, 0x49, 0x18, 0x52, 0xae, 0xd5, 0x9b, 0xff, 0xaf, 0xc0, 0xea, + 0x20, 0x3d, 0x4f, 0x9f, 0x53, 0x22, 0x29, 0xa6, 0xaf, 0x23, 0x2a, 0x24, 0x32, 0x60, 0x3e, 0xe4, + 0xec, 0xaf, 0xd4, 0x96, 0x46, 0x65, 0xbd, 0xf2, 0x78, 0x01, 0xa7, 0x4b, 0xb4, 0x0a, 0x73, 0x0e, + 0xf3, 0x89, 0x1b, 0x18, 0x55, 0x45, 0xd0, 0x2b, 0x84, 0xa0, 0x16, 0x10, 0x9f, 0x1a, 0xb3, 0x6a, + 0x57, 0x7d, 0xa3, 0x2f, 0xa0, 0x26, 0x42, 0x6a, 0x1b, 0xb5, 0xf5, 0xca, 0xe3, 0xe6, 0xc6, 0xc7, + 0x9d, 0xe2, 0xf5, 0x75, 0x32, 0xdd, 0x87, 0x21, 0xb5, 0xb1, 0x82, 0xa2, 0x2f, 0x60, 0xce, 0x0d, + 0xc2, 0x48, 0x0a, 0xa3, 0xae, 0x98, 0xee, 0x8e, 0x99, 0x62, 0x1f, 0x75, 0x76, 0x93, 0xdb, 0xd9, + 0x23, 0x21, 0xd6, 0x40, 0xf3, 0x9f, 0x15, 0x30, 0x32, 0x51, 0x98, 0x7a, 0x24, 0x0a, 0xec, 0x51, + 0x7a, 0x90, 0xa7, 0x50, 0x75, 0x1d, 0x75, 0x86, 0xe6, 0xc6, 0x67, 0x25, 0x59, 0x2f, 0x19, 0x7f, + 0x75, 0xe6, 0xb1, 0x8b, 0x8c, 0x79, 0x27, 0xbb, 0x3d, 0x5c, 0x75, 0x9d, 0xa9, 0x47, 0x7a, 0x04, + 0x4b, 0xec, 0x9c, 0xf2, 0x0b, 0xee, 0x4a, 0x6a, 0xd9, 0xc4, 0x1e, 0x51, 0x75, 0xba, 0x06, 0x6e, + 0x65, 0xdb, 0xfd, 0x78, 0xf7, 0xfb, 0x5a, 0xa3, 0xda, 0x9e, 0x35, 0xff, 0x5d, 0x81, 0x3b, 0x39, + 0xdb, 0xec, 0x18, 0x74, 0x93, 0xa6, 0x55, 0x73, 0xa6, 0x3d, 0x83, 0x86, 0x4f, 0x25, 0x71, 0x88, + 0x24, 0xca, 0xe4, 0xe6, 0xc6, 0x27, 0x97, 0x7a, 0x7c, 0x4f, 0x03, 0x71, 0xc6, 0x62, 0x1e, 0xe7, + 0x2c, 0x4d, 0x83, 0x41, 0x84, 0x2c, 0x10, 0xf4, 0x43, 0x2c, 0x35, 0x7f, 0x84, 0x7b, 0x13, 0x90, + 0xef, 0xa8, 0xbc, 0x01, 0x27, 0x98, 0xff, 0xad, 0xc0, 0x42, 0x46, 0xfb, 0x20, 0x77, 0xa6, 0x81, + 0x5a, 0xbd, 0x7e, 0xa0, 0x3e, 0x85, 0x79, 0xdb, 0x63, 0x22, 0xe2, 0x54, 0x3b, 0x7b, 0xfd, 0x52, + 0xae, 0x7e, 0x82, 0xc3, 0x29, 0x83, 0xf9, 0x17, 0x58, 0xcc, 0x88, 0xbb, 0xae, 0x90, 0xe8, 0x2b, + 0x80, 0xac, 0xb0, 0x08, 0xa3, 0xb2, 0x3e, 0x5b, 0x8c, 0xfc, 0x92, 0x3c, 0x9c, 0x03, 0xa3, 0x15, + 0xa8, 0x4b, 0xf6, 0x8a, 0xa6, 0xe9, 0x98, 0x2c, 0x4c, 0x0a, 0xad, 0x71, 0xa6, 0x6c, 0x7a, 0xec, + 0x14, 0xfd, 0x01, 0xe6, 0xce, 0x89, 0x17, 0x51, 0xa1, 0x5d, 0x74, 0x79, 0x62, 0x6d, 0x56, 0x8d, + 0xca, 0xf6, 0x0c, 0xd6, 0x70, 0x84, 0x60, 0x36, 0xe2, 0x6e, 0x22, 0x7e, 0x7b, 0x06, 0xc7, 0x8b, + 0xcd, 0x39, 0xa8, 0xa9, 0x98, 0xe9, 0xc3, 0x62, 0xef, 0x94, 0x71, 0x99, 0x86, 0x53, 0x6c, 0x8d, + 0x4d, 0x22, 0x41, 0x75, 0xd5, 0x48, 0x16, 0xe8, 0x3e, 0x2c, 0x84, 0xdc, 0x0d, 0x6c, 0x37, 0x24, + 0x9e, 0xb6, 0x73, 0xbc, 0x61, 0xfe, 0x63, 0x1e, 0xda, 0x65, 0x5f, 0xa1, 0x6f, 0x60, 0x9e, 0x45, + 0x52, 0x15, 0x82, 0xc4, 0xde, 0x07, 0x65, 0x77, 0x14, 0xcf, 0xa7, 0x8d, 0x4e, 0x99, 0xd0, 0x13, + 0xa8, 0x53, 0xce, 0x19, 0x9f, 0xbc, 0x52, 0x75, 0xda, 0x4c, 0xdf, 0x20, 0x06, 0x6d, 0xcf, 0xe0, + 0x04, 0x8d, 0x7e, 0x03, 0x4d, 0x12, 0x1f, 0xc8, 0x4a, 0x4e, 0x01, 0xb1, 0xad, 0x5a, 0x34, 0x28, + 0x42, 0x5f, 0x1d, 0xe8, 0x39, 0xb4, 0x12, 0x58, 0x96, 0x70, 0xb7, 0xa6, 0x47, 0x4e, 0xc1, 0x3b, + 0xdb, 0x33, 0x78, 0x91, 0x14, 0xdc, 0xf5, 0x2d, 0x34, 0x13, 0x83, 0x2d, 0x25, 0x64, 0xf1, 0x7a, + 0x37, 0x03, 0x09, 0xcf, 0x56, 0x2c, 0xe1, 0x39, 0x2c, 0xd9, 0xcc, 0x0f, 0x23, 0x49, 0x1d, 0x4b, + 0x17, 0xce, 0xd9, 0x6b, 0x48, 0xc1, 0xad, 0x94, 0x6b, 0x47, 0x31, 0xa1, 0x3f, 0x42, 0x3d, 0x1c, + 0x11, 0x91, 0x54, 0xb3, 0xd6, 0xc6, 0x6f, 0xaf, 0x4a, 0xa0, 0xce, 0x8b, 0x18, 0x8d, 0x13, 0xa6, + 0x38, 0x7e, 0x85, 0x24, 0x3c, 0x36, 0x82, 0x48, 0x5d, 0xb9, 0xd7, 0x3a, 0x49, 0xfb, 0xe9, 0xa4, + 0xed, 0xa7, 0x73, 0x94, 0xf6, 0x27, 0xbc, 0xa0, 0xd1, 0x3d, 0x89, 0x9e, 0x40, 0x23, 0xed, 0x6b, + 0xc6, 0x9c, 0xb6, 0xbc, 0xcc, 0xb8, 0xa5, 0x01, 0x38, 0x83, 0xc6, 0x1a, 0x6d, 0x55, 0xa4, 0x94, + 0xc6, 0xf9, 0xab, 0x35, 0x6a, 0x74, 0x4f, 0x25, 0x5b, 0x14, 0x3a, 0x29, 0x6b, 0xe3, 0x6a, 0x56, + 0x8d, 0xee, 0x49, 0xb4, 0x09, 0x8b, 0x01, 0x8b, 0xeb, 0x86, 0x4d, 0x92, 0x54, 0x5d, 0x50, 0xa9, + 0x7a, 0xbf, 0x7c, 0xed, 0xfb, 0x39, 0x10, 0x2e, 0xb2, 0xa0, 0xa7, 0xd0, 0xbc, 0xd0, 0xde, 0xb4, + 0x5c, 0xc7, 0x68, 0x4e, 0xbd, 0xad, 0x5c, 0x7d, 0x82, 0x14, 0xbd, 0xe3, 0xa0, 0x5f, 0x60, 0x45, + 0x48, 0x12, 0x77, 0x9e, 0x11, 0x09, 0x86, 0xd4, 0x72, 0xa8, 0x24, 0xae, 0x27, 0x8c, 0x96, 0x12, + 0xf2, 0xf9, 0xe5, 0x75, 0x2b, 0x66, 0xea, 0x2b, 0x9e, 0xad, 0x84, 0x05, 0x23, 0x31, 0xb1, 0xb7, + 0xb9, 0x04, 0x8b, 0x3a, 0x1c, 0x39, 0x15, 0x91, 0x27, 0xcd, 0x9f, 0xa1, 0x75, 0xf8, 0x56, 0x48, + 0xea, 0x67, 0x11, 0xfb, 0x39, 0xdc, 0xce, 0x8a, 0x8f, 0xa5, 0xe7, 0x2d, 0x9d, 0xec, 0x6d, 0x3a, + 0x4e, 0x62, 0xb5, 0x1f, 0xe7, 0x7d, 0xdc, 0x99, 0x44, 0x48, 0xec, 0xb4, 0x55, 0x8d, 0x37, 0xcc, + 0xff, 0xd5, 0xe0, 0xf6, 0x44, 0x43, 0x42, 0x7d, 0xa8, 0xf9, 0xcc, 0x49, 0x0a, 0x48, 0x6b, 0xa3, + 0x7b, 0x65, 0x07, 0xcb, 0xed, 0x30, 0x87, 0x62, 0xc5, 0xfc, 0xee, 0x82, 0x13, 0x0f, 0x37, 0x01, + 0x15, 0xd2, 0x0d, 0x86, 0x2a, 0x57, 0x16, 0x71, 0xba, 0x44, 0xcf, 0xe0, 0x96, 0xb0, 0x47, 0xd4, + 0x89, 0xbc, 0x24, 0x38, 0x6a, 0x57, 0x06, 0x47, 0x33, 0xc3, 0xf7, 0x24, 0xfa, 0x09, 0x3e, 0x0a, + 0x09, 0xa7, 0x81, 0xb4, 0x02, 0xe6, 0x50, 0x2b, 0xf3, 0x87, 0xce, 0x88, 0x72, 0x52, 0xed, 0x33, + 0x87, 0x4e, 0xeb, 0x48, 0xcb, 0x89, 0x90, 0x02, 0x19, 0xfd, 0x0c, 0xcb, 0x9c, 0x9e, 0x51, 0x4e, + 0x03, 0x3b, 0x2f, 0xb9, 0xfd, 0xde, 0xfd, 0x0e, 0x65, 0x62, 0xc6, 0xc2, 0xbf, 0x83, 0x25, 0xa1, + 0xee, 0x79, 0x5c, 0xd0, 0x6e, 0x4f, 0xaf, 0xba, 0xc5, 0x70, 0xc0, 0x2d, 0x51, 0x58, 0x9b, 0xc3, + 0x5c, 0x67, 0x8b, 0xef, 0x03, 0x01, 0xcc, 0xed, 0xf5, 0xf6, 0x8f, 0x7b, 0xbb, 0xed, 0x19, 0xb4, + 0x08, 0x0b, 0x87, 0xfd, 0xed, 0xc1, 0xd6, 0xf1, 0xee, 0x60, 0xab, 0x5d, 0x89, 0x49, 0x87, 0x3f, + 0x1e, 0x1e, 0x0d, 0xf6, 0xda, 0x55, 0x74, 0x0b, 0x1a, 0x78, 0xb0, 0xdb, 0x3b, 0xde, 0xef, 0x6f, + 0xb7, 0x67, 0x11, 0x82, 0x56, 0x7f, 0x7b, 0x67, 0x77, 0xcb, 0x7a, 0x79, 0x80, 0xff, 0xf4, 0x7c, + 0xf7, 0xe0, 0x65, 0xbb, 0x16, 0x33, 0xe3, 0x41, 0xff, 0xe0, 0x64, 0x80, 0x07, 0x5b, 0xed, 0xba, + 0x79, 0x02, 0xed, 0x7c, 0x92, 0xa9, 0x2e, 0x3a, 0x91, 0x9d, 0x95, 0xf7, 0xce, 0x4e, 0xf3, 0xef, + 0x8d, 0xdc, 0x09, 0x0e, 0x93, 0x46, 0xdf, 0x4c, 0x46, 0x4a, 0x2b, 0xf4, 0x48, 0x70, 0x49, 0xf7, + 0xcc, 0xe7, 0x6b, 0x82, 0x7e, 0xe1, 0x91, 0x00, 0x3d, 0xc9, 0xa6, 0xd9, 0xea, 0x75, 0x8a, 0xb2, + 0x06, 0x7f, 0xe0, 0x24, 0x87, 0xb6, 0xcb, 0x7e, 0xa8, 0x4f, 0x1f, 0x50, 0xca, 0x0e, 0x8c, 0xfb, + 0x53, 0xb1, 0x56, 0x7d, 0x02, 0x4d, 0xc7, 0x15, 0xe4, 0xd4, 0xa3, 0x16, 0xf1, 0x3c, 0x55, 0x9f, + 0x1b, 0x71, 0x03, 0xd2, 0x9b, 0x3d, 0xcf, 0x43, 0x1d, 0x98, 0xf3, 0xc8, 0x29, 0xf5, 0x84, 0x2e, + 0xc2, 0xab, 0x13, 0x7d, 0x5a, 0x51, 0xb1, 0x46, 0xa1, 0x67, 0xd0, 0x24, 0x41, 0xc0, 0xa4, 0x36, + 0x2d, 0x29, 0xbf, 0xf7, 0x26, 0xfa, 0xe6, 0x18, 0x82, 0xf3, 0x78, 0xb4, 0x03, 0xed, 0xf4, 0x99, + 0x64, 0xd9, 0x2c, 0x90, 0xf4, 0x8d, 0x54, 0x5d, 0xba, 0x10, 0xaa, 0xca, 0xb7, 0x87, 0x1a, 0xd6, + 0x4f, 0x50, 0x78, 0x49, 0x14, 0x37, 0xd0, 0x57, 0xb0, 0x40, 0x22, 0x39, 0xb2, 0x38, 0xf3, 0xa8, + 0xce, 0x23, 0x63, 0xc2, 0x8e, 0x48, 0x8e, 0x30, 0xf3, 0xa8, 0xba, 0x9e, 0x06, 0xd1, 0x2b, 0xb4, + 0x07, 0xe8, 0x75, 0x44, 0xbc, 0xd8, 0x08, 0x76, 0x66, 0x09, 0xca, 0xcf, 0x5d, 0x9b, 0xea, 0x94, + 0x79, 0x58, 0xb2, 0xe3, 0xcf, 0x09, 0xf0, 0xe0, 0xec, 0x30, 0x81, 0xe1, 0xf6, 0xeb, 0xd2, 0x4e, + 0xfc, 0xa8, 0xf0, 0xc9, 0x1b, 0x2b, 0x24, 0x9c, 0x78, 0x1e, 0xf5, 0x5c, 0xe1, 0x1b, 0x68, 0xbd, + 0xf2, 0xb8, 0x8e, 0x5b, 0x3e, 0x79, 0xf3, 0x62, 0xbc, 0x8b, 0x7e, 0x80, 0x55, 0x4e, 0x2e, 0xac, + 0xdc, 0xcc, 0x10, 0x3b, 0xe1, 0xcc, 0x1d, 0x1a, 0xcb, 0x4a, 0xf7, 0xa7, 0x65, 0xfb, 0x31, 0xb9, + 0x38, 0xc8, 0x86, 0x85, 0xbe, 0x82, 0xe2, 0x65, 0x3e, 0xb9, 0x89, 0x5e, 0x00, 0x9a, 0x7c, 0x3d, + 0x1b, 0x2b, 0xd3, 0x83, 0x4f, 0xd7, 0xf7, 0x5e, 0x06, 0xc4, 0xb7, 0xed, 0xf2, 0x16, 0xfa, 0x16, + 0x16, 0xdd, 0x40, 0x52, 0xce, 0xa3, 0x50, 0xba, 0xa7, 0x1e, 0x35, 0x3e, 0xba, 0xa4, 0x98, 0x6e, + 0x32, 0xe6, 0x9d, 0xc4, 0xb3, 0x26, 0x2e, 0x32, 0x4c, 0x7b, 0x6b, 0xad, 0x4e, 0x7b, 0x6b, 0xa1, + 0xc7, 0x50, 0xa3, 0xc1, 0xb9, 0x30, 0xee, 0x28, 0x0d, 0x2b, 0x13, 0xb9, 0x12, 0x9c, 0x0b, 0xac, + 0x10, 0xf1, 0xbb, 0x49, 0x92, 0xa1, 0x30, 0x8c, 0xf5, 0xd9, 0xf8, 0xdd, 0x14, 0x7f, 0x6f, 0x1a, + 0xb0, 0x9a, 0x8f, 0x7a, 0x2b, 0x16, 0xce, 0x5d, 0x87, 0x8a, 0xef, 0x6b, 0x8d, 0x5a, 0xbb, 0x6e, + 0xfa, 0x70, 0x37, 0xcb, 0xb6, 0x23, 0xca, 0x7d, 0x37, 0xc8, 0x3d, 0x94, 0x3f, 0xe4, 0xd5, 0x91, + 0x0d, 0xcb, 0xd5, 0xdc, 0xb0, 0x6c, 0xde, 0x87, 0xb5, 0x69, 0xea, 0x92, 0xa7, 0x98, 0xf9, 0x0b, + 0x3c, 0x9c, 0xf6, 0x9c, 0x8a, 0x6f, 0xf2, 0x26, 0x9e, 0x54, 0x7f, 0xab, 0xc2, 0xfa, 0xe5, 0xf2, + 0xf5, 0x73, 0xf0, 0x49, 0x79, 0x36, 0xbf, 0x53, 0xf6, 0xf8, 0x31, 0xf7, 0xd2, 0xa1, 0x7c, 0x3c, + 0x92, 0x7f, 0x59, 0x2a, 0x86, 0xef, 0xe4, 0x4a, 0x4b, 0xe1, 0x53, 0x68, 0x9e, 0x45, 0x9e, 0x77, + 0xdd, 0xd9, 0x16, 0x43, 0x8c, 0xce, 0x66, 0xda, 0x5b, 0x8a, 0x37, 0x35, 0xb6, 0x76, 0x15, 0xb3, + 0x52, 0x95, 0xa4, 0x86, 0x30, 0xff, 0x95, 0xff, 0x3b, 0x72, 0xac, 0x46, 0xc0, 0x9b, 0xb8, 0xf4, + 0xdf, 0x43, 0x5d, 0x4d, 0x5e, 0xca, 0x09, 0xad, 0xc9, 0x06, 0x5b, 0x9c, 0xd9, 0x70, 0x02, 0xce, + 0xe2, 0x76, 0x76, 0x1c, 0xb7, 0xe6, 0x7f, 0x2a, 0x70, 0xef, 0x1d, 0x13, 0xde, 0x58, 0x53, 0xe5, + 0x7d, 0x34, 0x7d, 0x0d, 0x4d, 0x66, 0xdb, 0x11, 0xe7, 0xc9, 0x04, 0x54, 0xbd, 0x72, 0x02, 0x82, + 0x14, 0xde, 0x93, 0xc5, 0xb9, 0x6b, 0xb6, 0xfc, 0xd0, 0xbb, 0x9b, 0xfb, 0xc3, 0x90, 0x3a, 0x54, + 0x87, 0xf5, 0x39, 0x98, 0xd3, 0xc2, 0x6e, 0x2f, 0xf9, 0x5d, 0x76, 0x43, 0xc9, 0xe6, 0xd0, 0x50, + 0x8e, 0xd4, 0x89, 0xea, 0x38, 0x59, 0x98, 0xfb, 0xf0, 0xe9, 0x3b, 0xf5, 0xea, 0x88, 0x7f, 0x04, + 0x35, 0x11, 0x66, 0xcd, 0x7f, 0xb9, 0xdc, 0x69, 0x42, 0x12, 0x60, 0x05, 0xf8, 0xec, 0x1b, 0x68, + 0x15, 0xdd, 0x8a, 0x56, 0xa0, 0x3d, 0xf8, 0x61, 0xd0, 0x3f, 0x3e, 0xda, 0x39, 0xd8, 0xb7, 0x7a, + 0xfd, 0xa3, 0x9d, 0x93, 0x41, 0x7b, 0x06, 0xad, 0x02, 0xca, 0xed, 0xe2, 0xfe, 0xf6, 0xce, 0x49, + 0x3c, 0x13, 0x6d, 0x3e, 0xfb, 0xe9, 0xeb, 0xa1, 0x2b, 0x47, 0xd1, 0x69, 0xc7, 0x66, 0x7e, 0x57, + 0xa9, 0x61, 0x7c, 0x98, 0x7c, 0x74, 0xb3, 0xbf, 0x85, 0x43, 0x1a, 0x74, 0xc3, 0xd3, 0xdf, 0x0d, + 0x59, 0xb7, 0xf8, 0x5f, 0xf3, 0x74, 0x4e, 0xdd, 0xcf, 0x97, 0xbf, 0x06, 0x00, 0x00, 0xff, 0xff, + 0x11, 0x34, 0x6d, 0x0e, 0x49, 0x15, 0x00, 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.go index 17ec7e41d81..2b1826ae11d 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/launch_plan.pb.go @@ -5,12 +5,11 @@ package admin import ( fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" timestamp "github.com/golang/protobuf/ptypes/timestamp" wrappers "github.com/golang/protobuf/ptypes/wrappers" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/matchable_resource.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/matchable_resource.pb.go index 93b299d266e..b721e43d73b 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/matchable_resource.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/matchable_resource.pb.go @@ -5,11 +5,10 @@ package admin import ( fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" wrappers "github.com/golang/protobuf/ptypes/wrappers" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.go index b0f42492e6c..90618723662 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/node_execution.pb.go @@ -5,12 +5,11 @@ package admin import ( fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" timestamp "github.com/golang/protobuf/ptypes/timestamp" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/notification.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/notification.pb.go index 9256eb3ba00..3e5480bbf9e 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/notification.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/notification.pb.go @@ -5,9 +5,8 @@ package admin import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/project.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/project.pb.go index 1280093f148..662d2311acf 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/project.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/project.pb.go @@ -5,9 +5,8 @@ package admin import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/project_attributes.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/project_attributes.pb.go index 6546cc0c5a4..349d2cfd859 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/project_attributes.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/project_attributes.pb.go @@ -5,9 +5,8 @@ package admin import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/project_domain_attributes.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/project_domain_attributes.pb.go index 598e70f7dc0..4708ef1e5e1 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/project_domain_attributes.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/project_domain_attributes.pb.go @@ -5,9 +5,8 @@ package admin import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/schedule.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/schedule.pb.go index 3d572e9082e..52116abf93c 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/schedule.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/schedule.pb.go @@ -5,9 +5,8 @@ package admin import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/signal.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/signal.pb.go index 89c6df5575b..f71f6003ade 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/signal.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/signal.pb.go @@ -5,10 +5,9 @@ package admin import ( fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/task.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/task.pb.go index 08ac9dd351c..61252747632 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/task.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/task.pb.go @@ -5,11 +5,10 @@ package admin import ( fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" timestamp "github.com/golang/protobuf/ptypes/timestamp" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.go index 81cdad8cdb7..e4dd62374fb 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/task_execution.pb.go @@ -5,14 +5,13 @@ package admin import ( fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" event "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/event" proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" timestamp "github.com/golang/protobuf/ptypes/timestamp" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/version.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/version.pb.go index eeacc9bc501..e2c88d1e892 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/version.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/version.pb.go @@ -5,9 +5,8 @@ package admin import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/workflow.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/workflow.pb.go index 5b93b6bcdb1..0297513f728 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/workflow.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/workflow.pb.go @@ -5,11 +5,10 @@ package admin import ( fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" timestamp "github.com/golang/protobuf/ptypes/timestamp" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/admin/workflow_attributes.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/workflow_attributes.pb.go index da3657705b9..5b3d82dce67 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/workflow_attributes.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/workflow_attributes.pb.go @@ -5,9 +5,8 @@ package admin import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/catalog.pb.go b/flyteidl/gen/pb-go/flyteidl/core/catalog.pb.go index 780a559b137..47675cbb7a0 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/catalog.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/catalog.pb.go @@ -5,9 +5,8 @@ package core import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/compiler.pb.go b/flyteidl/gen/pb-go/flyteidl/core/compiler.pb.go index 9377acc47c9..e04866564d2 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/compiler.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/compiler.pb.go @@ -5,9 +5,8 @@ package core import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/condition.pb.go b/flyteidl/gen/pb-go/flyteidl/core/condition.pb.go index 7bfc3a5e553..9617f5bef42 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/condition.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/condition.pb.go @@ -5,9 +5,8 @@ package core import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/dynamic_job.pb.go b/flyteidl/gen/pb-go/flyteidl/core/dynamic_job.pb.go index b9b82e8d085..5db3bbeb889 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/dynamic_job.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/dynamic_job.pb.go @@ -5,9 +5,8 @@ package core import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/errors.pb.go b/flyteidl/gen/pb-go/flyteidl/core/errors.pb.go index 2c37b0afe15..301bbb4e943 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/errors.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/errors.pb.go @@ -5,9 +5,8 @@ package core import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/execution.pb.go b/flyteidl/gen/pb-go/flyteidl/core/execution.pb.go index d467151c071..0a5d20005c3 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/execution.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/execution.pb.go @@ -5,10 +5,9 @@ package core import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/identifier.pb.go b/flyteidl/gen/pb-go/flyteidl/core/identifier.pb.go index f620d06bd4a..4ea56b88f27 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/identifier.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/identifier.pb.go @@ -5,9 +5,8 @@ package core import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/interface.pb.go b/flyteidl/gen/pb-go/flyteidl/core/interface.pb.go index 2fe384bdfc5..d3af1639f44 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/interface.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/interface.pb.go @@ -5,9 +5,8 @@ package core import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/literals.pb.go b/flyteidl/gen/pb-go/flyteidl/core/literals.pb.go index 967f5e9e546..0103c73b526 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/literals.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/literals.pb.go @@ -5,12 +5,11 @@ package core import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" timestamp "github.com/golang/protobuf/ptypes/timestamp" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/metrics.pb.go b/flyteidl/gen/pb-go/flyteidl/core/metrics.pb.go index 776f0f787fc..447a918a482 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/metrics.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/metrics.pb.go @@ -5,10 +5,9 @@ package core import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" timestamp "github.com/golang/protobuf/ptypes/timestamp" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/security.pb.go b/flyteidl/gen/pb-go/flyteidl/core/security.pb.go index f983dde250e..32cc8245306 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/security.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/security.pb.go @@ -5,9 +5,8 @@ package core import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/tasks.pb.go b/flyteidl/gen/pb-go/flyteidl/core/tasks.pb.go index 416886aca77..8a67fb2670e 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/tasks.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/tasks.pb.go @@ -5,11 +5,10 @@ package core import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" _struct "github.com/golang/protobuf/ptypes/struct" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/types.pb.go b/flyteidl/gen/pb-go/flyteidl/core/types.pb.go index 765d8a2de92..0ecd7ae5072 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/types.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/types.pb.go @@ -5,10 +5,9 @@ package core import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" _struct "github.com/golang/protobuf/ptypes/struct" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/workflow.pb.go b/flyteidl/gen/pb-go/flyteidl/core/workflow.pb.go index 9b90274a6a3..4c9d57f38b8 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/workflow.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/workflow.pb.go @@ -5,10 +5,9 @@ package core import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/core/workflow_closure.pb.go b/flyteidl/gen/pb-go/flyteidl/core/workflow_closure.pb.go index a6481858d48..b52b6d46086 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/workflow_closure.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/workflow_closure.pb.go @@ -5,9 +5,8 @@ package core import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go b/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go index bc01248126a..73dcf41c4b8 100644 --- a/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/datacatalog/datacatalog.pb.go @@ -6,8 +6,6 @@ package datacatalog import ( context "context" fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" @@ -15,6 +13,7 @@ import ( grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. @@ -98,6 +97,7 @@ func (PaginationOptions_SortKey) EnumDescriptor() ([]byte, []int) { return fileDescriptor_275951237ff4368a, []int{36, 1} } +// // Request message for creating a Dataset. type CreateDatasetRequest struct { Dataset *Dataset `protobuf:"bytes,1,opt,name=dataset,proto3" json:"dataset,omitempty"` @@ -138,6 +138,7 @@ func (m *CreateDatasetRequest) GetDataset() *Dataset { return nil } +// // Response message for creating a Dataset type CreateDatasetResponse struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -170,6 +171,7 @@ func (m *CreateDatasetResponse) XXX_DiscardUnknown() { var xxx_messageInfo_CreateDatasetResponse proto.InternalMessageInfo +// // Request message for retrieving a Dataset. The Dataset is retrieved by it's unique identifier // which is a combination of several fields. type GetDatasetRequest struct { @@ -211,6 +213,7 @@ func (m *GetDatasetRequest) GetDataset() *DatasetID { return nil } +// // Response message for retrieving a Dataset. The response will include the metadata for the // Dataset. type GetDatasetResponse struct { @@ -252,6 +255,7 @@ func (m *GetDatasetResponse) GetDataset() *Dataset { return nil } +// // Request message for retrieving an Artifact. Retrieve an artifact based on a query handle that // can be one of artifact_id or tag. The result returned will include the artifact data and metadata // associated with the artifact. @@ -343,6 +347,7 @@ func (*GetArtifactRequest) XXX_OneofWrappers() []interface{} { } } +// // Response message for retrieving an Artifact. The result returned will include the artifact data // and metadata associated with the artifact. type GetArtifactResponse struct { @@ -384,6 +389,7 @@ func (m *GetArtifactResponse) GetArtifact() *Artifact { return nil } +// // Request message for creating an Artifact and its associated artifact Data. type CreateArtifactRequest struct { Artifact *Artifact `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"` @@ -424,6 +430,7 @@ func (m *CreateArtifactRequest) GetArtifact() *Artifact { return nil } +// // Response message for creating an Artifact. type CreateArtifactResponse struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -456,6 +463,7 @@ func (m *CreateArtifactResponse) XXX_DiscardUnknown() { var xxx_messageInfo_CreateArtifactResponse proto.InternalMessageInfo +// // Request message for tagging an Artifact. type AddTagRequest struct { Tag *Tag `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` @@ -496,6 +504,7 @@ func (m *AddTagRequest) GetTag() *Tag { return nil } +// // Response message for tagging an Artifact. type AddTagResponse struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -737,6 +746,7 @@ func (m *ListDatasetsResponse) GetNextToken() string { return "" } +// // Request message for updating an Artifact and overwriting its associated ArtifactData. type UpdateArtifactRequest struct { // ID of dataset the artifact is associated with @@ -839,6 +849,7 @@ func (*UpdateArtifactRequest) XXX_OneofWrappers() []interface{} { } } +// // Response message for updating an Artifact. type UpdateArtifactResponse struct { // The unique ID of the artifact updated @@ -880,6 +891,7 @@ func (m *UpdateArtifactResponse) GetArtifactId() string { return "" } +// // ReservationID message that is composed of several string fields. type ReservationID struct { // The unique ID for the reserved dataset @@ -1189,6 +1201,7 @@ func (m *ReleaseReservationResponse) XXX_DiscardUnknown() { var xxx_messageInfo_ReleaseReservationResponse proto.InternalMessageInfo +// // Dataset message. It is uniquely identified by DatasetID. type Dataset struct { Id *DatasetID `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` @@ -1245,6 +1258,7 @@ func (m *Dataset) GetPartitionKeys() []string { return nil } +// // An artifact could have multiple partitions and each partition can have an arbitrary string key/value pair type Partition struct { Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` @@ -1293,6 +1307,7 @@ func (m *Partition) GetValue() string { return "" } +// // DatasetID message that is composed of several string fields. type DatasetID struct { Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` @@ -1365,6 +1380,7 @@ func (m *DatasetID) GetUUID() string { return "" } +// // Artifact message. It is composed of several string fields. type Artifact struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` @@ -1453,6 +1469,7 @@ func (m *Artifact) GetCreatedAt() *timestamp.Timestamp { return nil } +// // ArtifactData that belongs to an artifact type ArtifactData struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` @@ -1501,6 +1518,7 @@ func (m *ArtifactData) GetValue() *core.Literal { return nil } +// // Tag message that is unique to a Dataset. It is associated to a single artifact and // can be retrieved by name later. type Tag struct { @@ -1558,6 +1576,7 @@ func (m *Tag) GetDataset() *DatasetID { return nil } +// // Metadata representation for artifacts and datasets type Metadata struct { KeyMap map[string]string `protobuf:"bytes,1,rep,name=key_map,json=keyMap,proto3" json:"key_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` diff --git a/flyteidl/gen/pb-go/flyteidl/event/event.pb.go b/flyteidl/gen/pb-go/flyteidl/event/event.pb.go index 592f9f343ac..fdf5c08c6e7 100644 --- a/flyteidl/gen/pb-go/flyteidl/event/event.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/event/event.pb.go @@ -5,12 +5,11 @@ package event import ( fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" _struct "github.com/golang/protobuf/ptypes/struct" timestamp "github.com/golang/protobuf/ptypes/timestamp" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/array_job.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/array_job.pb.go index 8acb566873f..5ad3bfdce96 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/array_job.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/array_job.pb.go @@ -5,9 +5,8 @@ package plugins import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/dask.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/dask.pb.go index 7e61d1e4eff..b60dbebf4c4 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/dask.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/dask.pb.go @@ -5,10 +5,9 @@ package plugins import ( fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/common.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/common.pb.go index 817e8eedd0b..86882fd35bd 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/common.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/common.pb.go @@ -5,9 +5,8 @@ package plugins import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/mpi.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/mpi.pb.go index 8d5a55deaab..aa56485d6a7 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/mpi.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/mpi.pb.go @@ -5,10 +5,9 @@ package plugins import ( fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/pytorch.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/pytorch.pb.go index 94d6a80493e..dbf68eb61c2 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/pytorch.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/pytorch.pb.go @@ -5,10 +5,9 @@ package plugins import ( fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/tensorflow.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/tensorflow.pb.go index c0e797a6267..ccb4eff2ac4 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/tensorflow.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/kubeflow/tensorflow.pb.go @@ -5,10 +5,9 @@ package plugins import ( fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/mpi.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/mpi.pb.go index 3681bc9f695..5dd2499e87e 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/mpi.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/mpi.pb.go @@ -5,9 +5,8 @@ package plugins import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/presto.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/presto.pb.go index 380a580db26..2dc6422b6d8 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/presto.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/presto.pb.go @@ -5,9 +5,8 @@ package plugins import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/pytorch.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/pytorch.pb.go index 929df7579fe..84dda381a46 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/pytorch.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/pytorch.pb.go @@ -5,9 +5,8 @@ package plugins import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/qubole.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/qubole.pb.go index 9df7f3d9966..68831150690 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/qubole.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/qubole.pb.go @@ -5,9 +5,8 @@ package plugins import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/ray.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/ray.pb.go index fe41673b1f6..f19e755f85a 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/ray.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/ray.pb.go @@ -5,9 +5,8 @@ package plugins import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/sagemaker/hyperparameter_tuning_job.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/sagemaker/hyperparameter_tuning_job.pb.go index 0e1481fd9ce..a76984c3757 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/sagemaker/hyperparameter_tuning_job.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/sagemaker/hyperparameter_tuning_job.pb.go @@ -5,9 +5,8 @@ package plugins import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/sagemaker/parameter_ranges.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/sagemaker/parameter_ranges.pb.go index c20aac15037..e88cba07df4 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/sagemaker/parameter_ranges.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/sagemaker/parameter_ranges.pb.go @@ -5,9 +5,8 @@ package plugins import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/sagemaker/training_job.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/sagemaker/training_job.pb.go index f7b36978b68..04309161a93 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/sagemaker/training_job.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/sagemaker/training_job.pb.go @@ -5,10 +5,9 @@ package plugins import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" _ "github.com/golang/protobuf/ptypes/duration" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/spark.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/spark.pb.go index 1be43fcf8e8..1825fa266a1 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/spark.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/spark.pb.go @@ -5,10 +5,9 @@ package plugins import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" _struct "github.com/golang/protobuf/ptypes/struct" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/tensorflow.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/tensorflow.pb.go index 4dea38ae526..d9f1006792e 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/tensorflow.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/tensorflow.pb.go @@ -5,9 +5,8 @@ package plugins import ( fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/waitable.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/waitable.pb.go index 2122bb316ee..36c4a566799 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/waitable.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/waitable.pb.go @@ -5,10 +5,9 @@ package plugins import ( fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/service/admin.pb.go b/flyteidl/gen/pb-go/flyteidl/service/admin.pb.go index 3e94c834877..60bc47c3ec8 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/admin.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/service/admin.pb.go @@ -6,14 +6,13 @@ package service import ( context "context" fmt "fmt" - math "math" - admin "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin" proto "github.com/golang/protobuf/proto" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json b/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json index 9de4c01d14d..f4be5e58ce5 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json +++ b/flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json @@ -4087,6 +4087,13 @@ "state": { "$ref": "#/definitions/adminExecutionState", "title": "State to set as the new value active/archive" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Tag of the execution to update" } } }, diff --git a/flyteidl/gen/pb-go/flyteidl/service/agent.pb.go b/flyteidl/gen/pb-go/flyteidl/service/agent.pb.go index 915d54d449a..274daaf196b 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/agent.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/service/agent.pb.go @@ -6,13 +6,12 @@ package service import ( context "context" fmt "fmt" - math "math" - admin "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin" proto "github.com/golang/protobuf/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/service/auth.pb.go b/flyteidl/gen/pb-go/flyteidl/service/auth.pb.go index 9c47eed1a36..aee87747d1c 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/auth.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/service/auth.pb.go @@ -6,13 +6,12 @@ package service import ( context "context" fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/service/dataproxy.pb.go b/flyteidl/gen/pb-go/flyteidl/service/dataproxy.pb.go index e39491ad963..45f869e6080 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/dataproxy.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/service/dataproxy.pb.go @@ -6,8 +6,6 @@ package service import ( context "context" fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" duration "github.com/golang/protobuf/ptypes/duration" @@ -16,6 +14,7 @@ import ( grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.pb.go b/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.pb.go index 398c8455d01..ab64516b19e 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/service/external_plugin_service.pb.go @@ -6,13 +6,12 @@ package service import ( context "context" fmt "fmt" - math "math" - core "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" proto "github.com/golang/protobuf/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml index 09bc4affd90..caf503fb075 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api/swagger.yaml @@ -4597,6 +4597,11 @@ definitions: state: title: "State to set as the new value active/archive" $ref: "#/definitions/adminExecutionState" + tags: + type: "array" + title: "Tag of the execution to update" + items: + type: "string" adminExecutionUpdateResponse: type: "object" adminFixedRate: diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api_admin_service.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api_admin_service.go index 5751a073e0c..1ad9e1f5839 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api_admin_service.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/api_admin_service.go @@ -11,12 +11,11 @@ package flyteadmin import ( "context" - "fmt" "io/ioutil" "net/http" "net/url" "strings" - + "fmt" "github.com/antihax/optional" ) @@ -27,19 +26,19 @@ var ( type AdminServiceApiService service -/* +/* AdminServiceApiService Triggers the creation of a :ref:`ref_flyteidl.admin.Execution` - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return AdminExecutionCreateResponse */ func (a *AdminServiceApiService) CreateExecution(ctx context.Context, body AdminExecutionCreateRequest) (AdminExecutionCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionCreateResponse ) @@ -87,48 +86,48 @@ func (a *AdminServiceApiService) CreateExecution(ctx context.Context, body Admin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Create and upload a :ref:`ref_flyteidl.admin.LaunchPlan` definition - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return AdminLaunchPlanCreateResponse */ func (a *AdminServiceApiService) CreateLaunchPlan(ctx context.Context, body AdminLaunchPlanCreateRequest) (AdminLaunchPlanCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanCreateResponse ) @@ -176,48 +175,48 @@ func (a *AdminServiceApiService) CreateLaunchPlan(ctx context.Context, body Admi if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Indicates a :ref:`ref_flyteidl.event.NodeExecutionEvent` has occurred. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return AdminNodeExecutionEventResponse */ func (a *AdminServiceApiService) CreateNodeEvent(ctx context.Context, body AdminNodeExecutionEventRequest) (AdminNodeExecutionEventResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNodeExecutionEventResponse ) @@ -265,48 +264,48 @@ func (a *AdminServiceApiService) CreateNodeEvent(ctx context.Context, body Admin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNodeExecutionEventResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Create and upload a :ref:`ref_flyteidl.admin.Task` definition - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return FlyteidladminTaskCreateResponse */ func (a *AdminServiceApiService) CreateTask(ctx context.Context, body FlyteidladminTaskCreateRequest) (FlyteidladminTaskCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue FlyteidladminTaskCreateResponse ) @@ -354,48 +353,48 @@ func (a *AdminServiceApiService) CreateTask(ctx context.Context, body Flyteidlad if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v FlyteidladminTaskCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Indicates a :ref:`ref_flyteidl.event.TaskExecutionEvent` has occurred. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return AdminTaskExecutionEventResponse */ func (a *AdminServiceApiService) CreateTaskEvent(ctx context.Context, body AdminTaskExecutionEventRequest) (AdminTaskExecutionEventResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskExecutionEventResponse ) @@ -443,48 +442,48 @@ func (a *AdminServiceApiService) CreateTaskEvent(ctx context.Context, body Admin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskExecutionEventResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Create and upload a :ref:`ref_flyteidl.admin.Workflow` definition - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return AdminWorkflowCreateResponse */ func (a *AdminServiceApiService) CreateWorkflow(ctx context.Context, body AdminWorkflowCreateRequest) (AdminWorkflowCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowCreateResponse ) @@ -532,48 +531,48 @@ func (a *AdminServiceApiService) CreateWorkflow(ctx context.Context, body AdminW if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Indicates a :ref:`ref_flyteidl.event.WorkflowExecutionEvent` has occurred. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return AdminWorkflowExecutionEventResponse */ func (a *AdminServiceApiService) CreateWorkflowEvent(ctx context.Context, body AdminWorkflowExecutionEventRequest) (AdminWorkflowExecutionEventResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowExecutionEventResponse ) @@ -621,49 +620,49 @@ func (a *AdminServiceApiService) CreateWorkflowEvent(ctx context.Context, body A if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowExecutionEventResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param project Unique project id which this set of attributes references. +required - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param project Unique project id which this set of attributes references. +required + * @param body @return AdminProjectAttributesDeleteResponse */ func (a *AdminServiceApiService) DeleteProjectAttributes(ctx context.Context, project string, body AdminProjectAttributesDeleteRequest) (AdminProjectAttributesDeleteResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Delete") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectAttributesDeleteResponse ) @@ -712,50 +711,50 @@ func (a *AdminServiceApiService) DeleteProjectAttributes(ctx context.Context, pr if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectAttributesDeleteResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param project Unique project id which this set of attributes references. +required - - @param domain Unique domain id which this set of attributes references. +required - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param project Unique project id which this set of attributes references. +required + * @param domain Unique domain id which this set of attributes references. +required + * @param body @return AdminProjectDomainAttributesDeleteResponse */ func (a *AdminServiceApiService) DeleteProjectDomainAttributes(ctx context.Context, project string, domain string, body AdminProjectDomainAttributesDeleteRequest) (AdminProjectDomainAttributesDeleteResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Delete") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectDomainAttributesDeleteResponse ) @@ -805,51 +804,51 @@ func (a *AdminServiceApiService) DeleteProjectDomainAttributes(ctx context.Conte if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectDomainAttributesDeleteResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param project Unique project id which this set of attributes references. +required - - @param domain Unique domain id which this set of attributes references. +required - - @param workflow Workflow name which this set of attributes references. +required - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param project Unique project id which this set of attributes references. +required + * @param domain Unique domain id which this set of attributes references. +required + * @param workflow Workflow name which this set of attributes references. +required + * @param body @return AdminWorkflowAttributesDeleteResponse */ func (a *AdminServiceApiService) DeleteWorkflowAttributes(ctx context.Context, project string, domain string, workflow string, body AdminWorkflowAttributesDeleteRequest) (AdminWorkflowAttributesDeleteResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Delete") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowAttributesDeleteResponse ) @@ -900,50 +899,50 @@ func (a *AdminServiceApiService) DeleteWorkflowAttributes(ctx context.Context, p if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowAttributesDeleteResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' @return AdminLaunchPlan */ func (a *AdminServiceApiService) GetActiveLaunchPlan(ctx context.Context, idProject string, idDomain string, idName string) (AdminLaunchPlan, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlan ) @@ -992,52 +991,52 @@ func (a *AdminServiceApiService) GetActiveLaunchPlan(ctx context.Context, idProj if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlan - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.DescriptionEntity` object. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idResourceType Identifies the specific type of resource that this identifier corresponds to. - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User provided value for the resource. - - @param idVersion Specific version of the resource. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idResourceType Identifies the specific type of resource that this identifier corresponds to. + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. + * @param idVersion Specific version of the resource. @return AdminDescriptionEntity */ func (a *AdminServiceApiService) GetDescriptionEntity(ctx context.Context, idResourceType string, idProject string, idDomain string, idName string, idVersion string) (AdminDescriptionEntity, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminDescriptionEntity ) @@ -1088,50 +1087,50 @@ func (a *AdminServiceApiService) GetDescriptionEntity(ctx context.Context, idRes if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminDescriptionEntity - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.Execution`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User or system provided value for the resource. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User or system provided value for the resource. @return AdminExecution */ func (a *AdminServiceApiService) GetExecution(ctx context.Context, idProject string, idDomain string, idName string) (AdminExecution, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecution ) @@ -1180,50 +1179,50 @@ func (a *AdminServiceApiService) GetExecution(ctx context.Context, idProject str if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecution - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User or system provided value for the resource. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User or system provided value for the resource. @return AdminWorkflowExecutionGetDataResponse */ func (a *AdminServiceApiService) GetExecutionData(ctx context.Context, idProject string, idDomain string, idName string) (AdminWorkflowExecutionGetDataResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowExecutionGetDataResponse ) @@ -1272,36 +1271,36 @@ func (a *AdminServiceApiService) GetExecutionData(ctx context.Context, idProject if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowExecutionGetDataResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches runtime metrics for a :ref:`ref_flyteidl.admin.Execution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -1313,16 +1312,16 @@ AdminServiceApiService Fetches runtime metrics for a :ref:`ref_flyteidl.adm @return AdminWorkflowExecutionGetMetricsResponse */ -type GetExecutionMetricsOpts struct { +type GetExecutionMetricsOpts struct { Depth optional.Int32 } func (a *AdminServiceApiService) GetExecutionMetrics(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *GetExecutionMetricsOpts) (AdminWorkflowExecutionGetMetricsResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowExecutionGetMetricsResponse ) @@ -1374,36 +1373,36 @@ func (a *AdminServiceApiService) GetExecutionMetrics(ctx context.Context, idProj if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowExecutionGetMetricsResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -1416,16 +1415,16 @@ AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` de @return AdminLaunchPlan */ -type GetLaunchPlanOpts struct { +type GetLaunchPlanOpts struct { IdResourceType optional.String } func (a *AdminServiceApiService) GetLaunchPlan(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetLaunchPlanOpts) (AdminLaunchPlan, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlan ) @@ -1478,51 +1477,51 @@ func (a *AdminServiceApiService) GetLaunchPlan(ctx context.Context, idProject st if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlan - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Returns a :ref:`ref_flyteidl.admin.NamedEntity` object. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param resourceType Resource type of the metadata to get. One of Task, Workflow or LaunchPlan. +required - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param resourceType Resource type of the metadata to get. One of Task, Workflow or LaunchPlan. +required + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' @return AdminNamedEntity */ func (a *AdminServiceApiService) GetNamedEntity(ctx context.Context, resourceType string, idProject string, idDomain string, idName string) (AdminNamedEntity, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntity ) @@ -1572,51 +1571,51 @@ func (a *AdminServiceApiService) GetNamedEntity(ctx context.Context, resourceTyp if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntity - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.NodeExecution`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idExecutionIdProject Name of the project the resource belongs to. - - @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idExecutionIdName User or system provided value for the resource. - - @param idNodeId + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idExecutionIdProject Name of the project the resource belongs to. + * @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idExecutionIdName User or system provided value for the resource. + * @param idNodeId @return FlyteidladminNodeExecution */ func (a *AdminServiceApiService) GetNodeExecution(ctx context.Context, idExecutionIdProject string, idExecutionIdDomain string, idExecutionIdName string, idNodeId string) (FlyteidladminNodeExecution, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue FlyteidladminNodeExecution ) @@ -1666,51 +1665,51 @@ func (a *AdminServiceApiService) GetNodeExecution(ctx context.Context, idExecuti if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v FlyteidladminNodeExecution - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idExecutionIdProject Name of the project the resource belongs to. - - @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idExecutionIdName User or system provided value for the resource. - - @param idNodeId + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idExecutionIdProject Name of the project the resource belongs to. + * @param idExecutionIdDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idExecutionIdName User or system provided value for the resource. + * @param idNodeId @return AdminNodeExecutionGetDataResponse */ func (a *AdminServiceApiService) GetNodeExecutionData(ctx context.Context, idExecutionIdProject string, idExecutionIdDomain string, idExecutionIdName string, idNodeId string) (AdminNodeExecutionGetDataResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNodeExecutionGetDataResponse ) @@ -1760,36 +1759,36 @@ func (a *AdminServiceApiService) GetNodeExecutionData(ctx context.Context, idExe if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNodeExecutionGetDataResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Unique project id which this set of attributes references. +required @@ -1799,16 +1798,16 @@ AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAtt @return AdminProjectAttributesGetResponse */ -type GetProjectAttributesOpts struct { +type GetProjectAttributesOpts struct { ResourceType optional.String } func (a *AdminServiceApiService) GetProjectAttributes(ctx context.Context, project string, localVarOptionals *GetProjectAttributesOpts) (AdminProjectAttributesGetResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectAttributesGetResponse ) @@ -1858,36 +1857,36 @@ func (a *AdminServiceApiService) GetProjectAttributes(ctx context.Context, proje if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectAttributesGetResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Unique project id which this set of attributes references. +required @@ -1898,16 +1897,16 @@ AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAtt @return AdminProjectDomainAttributesGetResponse */ -type GetProjectDomainAttributesOpts struct { +type GetProjectDomainAttributesOpts struct { ResourceType optional.String } func (a *AdminServiceApiService) GetProjectDomainAttributes(ctx context.Context, project string, domain string, localVarOptionals *GetProjectDomainAttributesOpts) (AdminProjectDomainAttributesGetResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectDomainAttributesGetResponse ) @@ -1958,36 +1957,36 @@ func (a *AdminServiceApiService) GetProjectDomainAttributes(ctx context.Context, if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectDomainAttributesGetResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Task` definition. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -2000,16 +1999,16 @@ AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Task` definiti @return AdminTask */ -type GetTaskOpts struct { +type GetTaskOpts struct { IdResourceType optional.String } func (a *AdminServiceApiService) GetTask(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetTaskOpts) (AdminTask, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTask ) @@ -2062,36 +2061,36 @@ func (a *AdminServiceApiService) GetTask(ctx context.Context, idProject string, if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTask - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idNodeExecutionIdExecutionIdProject Name of the project the resource belongs to. @@ -2109,16 +2108,16 @@ AdminServiceApiService Fetches a :ref:`ref_flyteidl.admin.TaskExecution @return FlyteidladminTaskExecution */ -type GetTaskExecutionOpts struct { +type GetTaskExecutionOpts struct { IdTaskIdResourceType optional.String } func (a *AdminServiceApiService) GetTaskExecution(ctx context.Context, idNodeExecutionIdExecutionIdProject string, idNodeExecutionIdExecutionIdDomain string, idNodeExecutionIdExecutionIdName string, idNodeExecutionIdNodeId string, idTaskIdProject string, idTaskIdDomain string, idTaskIdName string, idTaskIdVersion string, idRetryAttempt int64, localVarOptionals *GetTaskExecutionOpts) (FlyteidladminTaskExecution, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue FlyteidladminTaskExecution ) @@ -2176,36 +2175,36 @@ func (a *AdminServiceApiService) GetTaskExecution(ctx context.Context, idNodeExe if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v FlyteidladminTaskExecution - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idNodeExecutionIdExecutionIdProject Name of the project the resource belongs to. @@ -2223,16 +2222,16 @@ AdminServiceApiService Fetches input and output data for a :ref:`ref_flytei @return AdminTaskExecutionGetDataResponse */ -type GetTaskExecutionDataOpts struct { +type GetTaskExecutionDataOpts struct { IdTaskIdResourceType optional.String } func (a *AdminServiceApiService) GetTaskExecutionData(ctx context.Context, idNodeExecutionIdExecutionIdProject string, idNodeExecutionIdExecutionIdDomain string, idNodeExecutionIdExecutionIdName string, idNodeExecutionIdNodeId string, idTaskIdProject string, idTaskIdDomain string, idTaskIdName string, idTaskIdVersion string, idRetryAttempt int64, localVarOptionals *GetTaskExecutionDataOpts) (AdminTaskExecutionGetDataResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskExecutionGetDataResponse ) @@ -2290,47 +2289,47 @@ func (a *AdminServiceApiService) GetTaskExecutionData(ctx context.Context, idNod if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskExecutionGetDataResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @return AdminGetVersionResponse */ func (a *AdminServiceApiService) GetVersion(ctx context.Context) (AdminGetVersionResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminGetVersionResponse ) @@ -2376,36 +2375,36 @@ func (a *AdminServiceApiService) GetVersion(ctx context.Context) (AdminGetVersio if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminGetVersionResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Workflow` definition. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -2418,16 +2417,16 @@ AdminServiceApiService Fetch a :ref:`ref_flyteidl.admin.Workflow` defi @return AdminWorkflow */ -type GetWorkflowOpts struct { +type GetWorkflowOpts struct { IdResourceType optional.String } func (a *AdminServiceApiService) GetWorkflow(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, localVarOptionals *GetWorkflowOpts) (AdminWorkflow, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflow ) @@ -2480,36 +2479,36 @@ func (a *AdminServiceApiService) GetWorkflow(ctx context.Context, idProject stri if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflow - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Unique project id which this set of attributes references. +required @@ -2521,16 +2520,16 @@ AdminServiceApiService Fetches custom :ref:`ref_flyteidl.admin.MatchableAtt @return AdminWorkflowAttributesGetResponse */ -type GetWorkflowAttributesOpts struct { +type GetWorkflowAttributesOpts struct { ResourceType optional.String } func (a *AdminServiceApiService) GetWorkflowAttributes(ctx context.Context, project string, domain string, workflow string, localVarOptionals *GetWorkflowAttributesOpts) (AdminWorkflowAttributesGetResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowAttributesGetResponse ) @@ -2582,36 +2581,36 @@ func (a *AdminServiceApiService) GetWorkflowAttributes(ctx context.Context, proj if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowAttributesGetResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService List active versions of :ref:`ref_flyteidl.admin.LaunchPlan`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Name of the project that contains the identifiers. +required. @@ -2625,19 +2624,19 @@ AdminServiceApiService List active versions of :ref:`ref_flyteidl.admin.Lau @return AdminLaunchPlanList */ -type ListActiveLaunchPlansOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListActiveLaunchPlansOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListActiveLaunchPlans(ctx context.Context, project string, domain string, localVarOptionals *ListActiveLaunchPlansOpts) (AdminLaunchPlanList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanList ) @@ -2697,36 +2696,36 @@ func (a *AdminServiceApiService) ListActiveLaunchPlans(ctx context.Context, proj if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param resourceType Identifies the specific type of resource that this identifier corresponds to. @@ -2743,20 +2742,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Description @return AdminDescriptionEntityList */ -type ListDescriptionEntitiesOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListDescriptionEntitiesOpts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListDescriptionEntities(ctx context.Context, resourceType string, idProject string, idDomain string, idName string, localVarOptionals *ListDescriptionEntitiesOpts) (AdminDescriptionEntityList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminDescriptionEntityList ) @@ -2821,36 +2820,36 @@ func (a *AdminServiceApiService) ListDescriptionEntities(ctx context.Context, re if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminDescriptionEntityList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.DescriptionEntity` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param resourceType Identifies the specific type of resource that this identifier corresponds to. @@ -2867,21 +2866,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Description @return AdminDescriptionEntityList */ -type ListDescriptionEntities2Opts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListDescriptionEntities2Opts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListDescriptionEntities2(ctx context.Context, resourceType string, idProject string, idDomain string, localVarOptionals *ListDescriptionEntities2Opts) (AdminDescriptionEntityList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminDescriptionEntityList ) @@ -2948,36 +2947,36 @@ func (a *AdminServiceApiService) ListDescriptionEntities2(ctx context.Context, r if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminDescriptionEntityList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Execution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -2993,21 +2992,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Execution&# @return AdminExecutionList */ -type ListExecutionsOpts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListExecutionsOpts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListExecutions(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListExecutionsOpts) (AdminExecutionList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionList ) @@ -3073,36 +3072,36 @@ func (a *AdminServiceApiService) ListExecutions(ctx context.Context, idProject s if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Name of the project that contains the identifiers. +required @@ -3117,20 +3116,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntity @return AdminNamedEntityIdentifierList */ -type ListLaunchPlanIdsOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListLaunchPlanIdsOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String - Filters optional.String + Filters optional.String } func (a *AdminServiceApiService) ListLaunchPlanIds(ctx context.Context, project string, domain string, localVarOptionals *ListLaunchPlanIdsOpts) (AdminNamedEntityIdentifierList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityIdentifierList ) @@ -3193,36 +3192,36 @@ func (a *AdminServiceApiService) ListLaunchPlanIds(ctx context.Context, project if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityIdentifierList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -3238,20 +3237,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan& @return AdminLaunchPlanList */ -type ListLaunchPlansOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListLaunchPlansOpts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListLaunchPlans(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *ListLaunchPlansOpts) (AdminLaunchPlanList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanList ) @@ -3315,36 +3314,36 @@ func (a *AdminServiceApiService) ListLaunchPlans(ctx context.Context, idProject if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -3360,21 +3359,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan& @return AdminLaunchPlanList */ -type ListLaunchPlans2Opts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListLaunchPlans2Opts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListLaunchPlans2(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListLaunchPlans2Opts) (AdminLaunchPlanList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanList ) @@ -3440,36 +3439,36 @@ func (a *AdminServiceApiService) ListLaunchPlans2(ctx context.Context, idProject if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Lists custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a specific resource type. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param optional nil or *ListMatchableAttributesOpts - Optional Parameters: @@ -3478,16 +3477,16 @@ AdminServiceApiService Lists custom :ref:`ref_flyteidl.admin.MatchableAttri @return AdminListMatchableAttributesResponse */ -type ListMatchableAttributesOpts struct { +type ListMatchableAttributesOpts struct { ResourceType optional.String } func (a *AdminServiceApiService) ListMatchableAttributes(ctx context.Context, localVarOptionals *ListMatchableAttributesOpts) (AdminListMatchableAttributesResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminListMatchableAttributesResponse ) @@ -3536,36 +3535,36 @@ func (a *AdminServiceApiService) ListMatchableAttributes(ctx context.Context, lo if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminListMatchableAttributesResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param resourceType Resource type of the metadata to query. One of Task, Workflow or LaunchPlan. +required @@ -3581,20 +3580,20 @@ AdminServiceApiService Returns a list of :ref:`ref_flyteidl.admin.NamedEnti @return AdminNamedEntityList */ -type ListNamedEntitiesOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListNamedEntitiesOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String - Filters optional.String + Filters optional.String } func (a *AdminServiceApiService) ListNamedEntities(ctx context.Context, resourceType string, project string, domain string, localVarOptionals *ListNamedEntitiesOpts) (AdminNamedEntityList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityList ) @@ -3658,36 +3657,36 @@ func (a *AdminServiceApiService) ListNamedEntities(ctx context.Context, resource if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param workflowExecutionIdProject Name of the project the resource belongs to. @@ -3695,7 +3694,7 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecuti * @param workflowExecutionIdName User or system provided value for the resource. * @param optional nil or *ListNodeExecutionsOpts - Optional Parameters: * @param "Limit" (optional.Int64) - Indicates the number of resources to be returned. +required. - * @param "Token" (optional.String) - + * @param "Token" (optional.String) - * @param "Filters" (optional.String) - Indicates a list of filters passed as string. More info on constructing filters : <Link> +optional. * @param "SortByKey" (optional.String) - Indicates an attribute to sort the response values. +required. * @param "SortByDirection" (optional.String) - Indicates the direction to apply sort key for response values. +optional. - DESCENDING: By default, fields are sorted in descending order. @@ -3704,21 +3703,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecuti @return AdminNodeExecutionList */ -type ListNodeExecutionsOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListNodeExecutionsOpts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String - UniqueParentId optional.String + UniqueParentId optional.String } func (a *AdminServiceApiService) ListNodeExecutions(ctx context.Context, workflowExecutionIdProject string, workflowExecutionIdDomain string, workflowExecutionIdName string, localVarOptionals *ListNodeExecutionsOpts) (AdminNodeExecutionList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNodeExecutionList ) @@ -3785,36 +3784,36 @@ func (a *AdminServiceApiService) ListNodeExecutions(ctx context.Context, workflo if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNodeExecutionList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param taskExecutionIdNodeExecutionIdExecutionIdProject Name of the project the resource belongs to. @@ -3837,21 +3836,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NodeExecuti @return AdminNodeExecutionList */ -type ListNodeExecutionsForTaskOpts struct { +type ListNodeExecutionsForTaskOpts struct { TaskExecutionIdTaskIdResourceType optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String - SortByDirection optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String + SortByDirection optional.String } func (a *AdminServiceApiService) ListNodeExecutionsForTask(ctx context.Context, taskExecutionIdNodeExecutionIdExecutionIdProject string, taskExecutionIdNodeExecutionIdExecutionIdDomain string, taskExecutionIdNodeExecutionIdExecutionIdName string, taskExecutionIdNodeExecutionIdNodeId string, taskExecutionIdTaskIdProject string, taskExecutionIdTaskIdDomain string, taskExecutionIdTaskIdName string, taskExecutionIdTaskIdVersion string, taskExecutionIdRetryAttempt int64, localVarOptionals *ListNodeExecutionsForTaskOpts) (AdminNodeExecutionList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNodeExecutionList ) @@ -3924,36 +3923,36 @@ func (a *AdminServiceApiService) ListNodeExecutionsForTask(ctx context.Context, if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNodeExecutionList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.Project` * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param optional nil or *ListProjectsOpts - Optional Parameters: @@ -3966,20 +3965,20 @@ AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.Project&# @return AdminProjects */ -type ListProjectsOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListProjectsOpts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListProjects(ctx context.Context, localVarOptionals *ListProjectsOpts) (AdminProjects, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjects ) @@ -4040,36 +4039,36 @@ func (a *AdminServiceApiService) ListProjects(ctx context.Context, localVarOptio if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjects - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param nodeExecutionIdExecutionIdProject Name of the project the resource belongs to. @@ -4086,20 +4085,20 @@ AdminServiceApiService Fetches a list of :ref:`ref_flyteidl.admin.TaskExecu @return AdminTaskExecutionList */ -type ListTaskExecutionsOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListTaskExecutionsOpts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListTaskExecutions(ctx context.Context, nodeExecutionIdExecutionIdProject string, nodeExecutionIdExecutionIdDomain string, nodeExecutionIdExecutionIdName string, nodeExecutionIdNodeId string, localVarOptionals *ListTaskExecutionsOpts) (AdminTaskExecutionList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskExecutionList ) @@ -4164,36 +4163,36 @@ func (a *AdminServiceApiService) ListTaskExecutions(ctx context.Context, nodeExe if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskExecutionList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Name of the project that contains the identifiers. +required @@ -4208,20 +4207,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntity @return AdminNamedEntityIdentifierList */ -type ListTaskIdsOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListTaskIdsOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String - Filters optional.String + Filters optional.String } func (a *AdminServiceApiService) ListTaskIds(ctx context.Context, project string, domain string, localVarOptionals *ListTaskIdsOpts) (AdminNamedEntityIdentifierList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityIdentifierList ) @@ -4284,36 +4283,36 @@ func (a *AdminServiceApiService) ListTaskIds(ctx context.Context, project string if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityIdentifierList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -4329,20 +4328,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` @return AdminTaskList */ -type ListTasksOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListTasksOpts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListTasks(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *ListTasksOpts) (AdminTaskList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskList ) @@ -4406,36 +4405,36 @@ func (a *AdminServiceApiService) ListTasks(ctx context.Context, idProject string if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -4451,21 +4450,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Task` @return AdminTaskList */ -type ListTasks2Opts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListTasks2Opts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListTasks2(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListTasks2Opts) (AdminTaskList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminTaskList ) @@ -4531,36 +4530,36 @@ func (a *AdminServiceApiService) ListTasks2(ctx context.Context, idProject strin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminTaskList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param project Name of the project that contains the identifiers. +required @@ -4575,20 +4574,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.NamedEntity @return AdminNamedEntityIdentifierList */ -type ListWorkflowIdsOpts struct { - Limit optional.Int64 - Token optional.String - SortByKey optional.String +type ListWorkflowIdsOpts struct { + Limit optional.Int64 + Token optional.String + SortByKey optional.String SortByDirection optional.String - Filters optional.String + Filters optional.String } func (a *AdminServiceApiService) ListWorkflowIds(ctx context.Context, project string, domain string, localVarOptionals *ListWorkflowIdsOpts) (AdminNamedEntityIdentifierList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityIdentifierList ) @@ -4651,36 +4650,36 @@ func (a *AdminServiceApiService) ListWorkflowIds(ctx context.Context, project st if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityIdentifierList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -4696,20 +4695,20 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow&#x @return AdminWorkflowList */ -type ListWorkflowsOpts struct { - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListWorkflowsOpts struct { + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListWorkflows(ctx context.Context, idProject string, idDomain string, idName string, localVarOptionals *ListWorkflowsOpts) (AdminWorkflowList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowList ) @@ -4773,36 +4772,36 @@ func (a *AdminServiceApiService) ListWorkflows(ctx context.Context, idProject st if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param idProject Name of the project the resource belongs to. @@ -4818,21 +4817,21 @@ AdminServiceApiService Fetch a list of :ref:`ref_flyteidl.admin.Workflow&#x @return AdminWorkflowList */ -type ListWorkflows2Opts struct { - IdName optional.String - Limit optional.Int64 - Token optional.String - Filters optional.String - SortByKey optional.String +type ListWorkflows2Opts struct { + IdName optional.String + Limit optional.Int64 + Token optional.String + Filters optional.String + SortByKey optional.String SortByDirection optional.String } func (a *AdminServiceApiService) ListWorkflows2(ctx context.Context, idProject string, idDomain string, localVarOptionals *ListWorkflows2Opts) (AdminWorkflowList, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Get") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowList ) @@ -4898,48 +4897,48 @@ func (a *AdminServiceApiService) ListWorkflows2(ctx context.Context, idProject s if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowList - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Recreates a previously-run workflow execution that will only start executing from the last known failure point. In Recover mode, users cannot change any input parameters or update the version of the execution. This is extremely useful to recover from system errors and byzantine faults like - Loss of K8s cluster, bugs in platform or instability, machine failures, downstream system failures (downstream services), or simply to recover executions that failed because of retry exhaustion and should complete if tried again. See :ref:`ref_flyteidl.admin.ExecutionRecoverRequest` for more details. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return AdminExecutionCreateResponse */ func (a *AdminServiceApiService) RecoverExecution(ctx context.Context, body AdminExecutionRecoverRequest) (AdminExecutionCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionCreateResponse ) @@ -4987,48 +4986,48 @@ func (a *AdminServiceApiService) RecoverExecution(ctx context.Context, body Admi if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Registers a :ref:`ref_flyteidl.admin.Project` with the Flyte deployment. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return AdminProjectRegisterResponse */ func (a *AdminServiceApiService) RegisterProject(ctx context.Context, body AdminProjectRegisterRequest) (AdminProjectRegisterResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectRegisterResponse ) @@ -5076,48 +5075,48 @@ func (a *AdminServiceApiService) RegisterProject(ctx context.Context, body Admin if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectRegisterResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Triggers the creation of an identical :ref:`ref_flyteidl.admin.Execution` - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param body @return AdminExecutionCreateResponse */ func (a *AdminServiceApiService) RelaunchExecution(ctx context.Context, body AdminExecutionRelaunchRequest) (AdminExecutionCreateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Post") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Post") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionCreateResponse ) @@ -5165,51 +5164,51 @@ func (a *AdminServiceApiService) RelaunchExecution(ctx context.Context, body Adm if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionCreateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User or system provided value for the resource. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User or system provided value for the resource. + * @param body @return AdminExecutionTerminateResponse */ func (a *AdminServiceApiService) TerminateExecution(ctx context.Context, idProject string, idDomain string, idName string, body AdminExecutionTerminateRequest) (AdminExecutionTerminateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Delete") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Delete") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionTerminateResponse ) @@ -5260,51 +5259,51 @@ func (a *AdminServiceApiService) TerminateExecution(ctx context.Context, idProje if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionTerminateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User or system provided value for the resource. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User or system provided value for the resource. + * @param body @return AdminExecutionUpdateResponse */ func (a *AdminServiceApiService) UpdateExecution(ctx context.Context, idProject string, idDomain string, idName string, body AdminExecutionUpdateRequest) (AdminExecutionUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminExecutionUpdateResponse ) @@ -5355,52 +5354,52 @@ func (a *AdminServiceApiService) UpdateExecution(ctx context.Context, idProject if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminExecutionUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User provided value for the resource. - - @param idVersion Specific version of the resource. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. + * @param idVersion Specific version of the resource. + * @param body @return AdminLaunchPlanUpdateResponse */ func (a *AdminServiceApiService) UpdateLaunchPlan(ctx context.Context, idProject string, idDomain string, idName string, idVersion string, body AdminLaunchPlanUpdateRequest) (AdminLaunchPlanUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminLaunchPlanUpdateResponse ) @@ -5452,52 +5451,52 @@ func (a *AdminServiceApiService) UpdateLaunchPlan(ctx context.Context, idProject if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminLaunchPlanUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Updates a :ref:`ref_flyteidl.admin.NamedEntity` object. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param resourceType Resource type of the metadata to update +required - - @param idProject Name of the project the resource belongs to. - - @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. - - @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param resourceType Resource type of the metadata to update +required + * @param idProject Name of the project the resource belongs to. + * @param idDomain Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. + * @param idName User provided value for the resource. The combination of project + domain + name uniquely identifies the resource. +optional - in certain contexts - like 'List API', 'Launch plans' + * @param body @return AdminNamedEntityUpdateResponse */ func (a *AdminServiceApiService) UpdateNamedEntity(ctx context.Context, resourceType string, idProject string, idDomain string, idName string, body AdminNamedEntityUpdateRequest) (AdminNamedEntityUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminNamedEntityUpdateResponse ) @@ -5549,49 +5548,49 @@ func (a *AdminServiceApiService) UpdateNamedEntity(ctx context.Context, resource if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminNamedEntityUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param id Globally unique project name. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param id Globally unique project name. + * @param body @return AdminProjectUpdateResponse */ func (a *AdminServiceApiService) UpdateProject(ctx context.Context, id string, body AdminProject) (AdminProjectUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectUpdateResponse ) @@ -5640,49 +5639,49 @@ func (a *AdminServiceApiService) UpdateProject(ctx context.Context, id string, b if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` at the project level - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param attributesProject Unique project id for which this set of attributes will be applied. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param attributesProject Unique project id for which this set of attributes will be applied. + * @param body @return AdminProjectAttributesUpdateResponse */ func (a *AdminServiceApiService) UpdateProjectAttributes(ctx context.Context, attributesProject string, body AdminProjectAttributesUpdateRequest) (AdminProjectAttributesUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectAttributesUpdateResponse ) @@ -5731,50 +5730,50 @@ func (a *AdminServiceApiService) UpdateProjectAttributes(ctx context.Context, at if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectAttributesUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param attributesProject Unique project id for which this set of attributes will be applied. - - @param attributesDomain Unique domain id for which this set of attributes will be applied. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param attributesProject Unique project id for which this set of attributes will be applied. + * @param attributesDomain Unique domain id for which this set of attributes will be applied. + * @param body @return AdminProjectDomainAttributesUpdateResponse */ func (a *AdminServiceApiService) UpdateProjectDomainAttributes(ctx context.Context, attributesProject string, attributesDomain string, body AdminProjectDomainAttributesUpdateRequest) (AdminProjectDomainAttributesUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminProjectDomainAttributesUpdateResponse ) @@ -5824,51 +5823,51 @@ func (a *AdminServiceApiService) UpdateProjectDomainAttributes(ctx context.Conte if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminProjectDomainAttributesUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } return localVarReturnValue, localVarHttpResponse, nil } -/* +/* AdminServiceApiService Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow. - - @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). - - @param attributesProject Unique project id for which this set of attributes will be applied. - - @param attributesDomain Unique domain id for which this set of attributes will be applied. - - @param attributesWorkflow Workflow name for which this set of attributes will be applied. - - @param body + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param attributesProject Unique project id for which this set of attributes will be applied. + * @param attributesDomain Unique domain id for which this set of attributes will be applied. + * @param attributesWorkflow Workflow name for which this set of attributes will be applied. + * @param body @return AdminWorkflowAttributesUpdateResponse */ func (a *AdminServiceApiService) UpdateWorkflowAttributes(ctx context.Context, attributesProject string, attributesDomain string, attributesWorkflow string, body AdminWorkflowAttributesUpdateRequest) (AdminWorkflowAttributesUpdateResponse, *http.Response, error) { var ( - localVarHttpMethod = strings.ToUpper("Put") - localVarPostBody interface{} - localVarFileName string - localVarFileBytes []byte + localVarHttpMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte localVarReturnValue AdminWorkflowAttributesUpdateResponse ) @@ -5919,29 +5918,29 @@ func (a *AdminServiceApiService) UpdateWorkflowAttributes(ctx context.Context, a if localVarHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. - err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err == nil { + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { return localVarReturnValue, localVarHttpResponse, err } } if localVarHttpResponse.StatusCode >= 300 { newErr := GenericSwaggerError{ - body: localVarBody, + body: localVarBody, error: localVarHttpResponse.Status, } - + if localVarHttpResponse.StatusCode == 200 { var v AdminWorkflowAttributesUpdateResponse - err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) - if err != nil { - newErr.error = err.Error() + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr - } - newErr.model = v - return localVarReturnValue, localVarHttpResponse, newErr } - + return localVarReturnValue, localVarHttpResponse, newErr } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/client.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/client.go index 9b5b227be72..8fd676821e6 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/client.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/client.go @@ -300,17 +300,17 @@ func (c *APIClient) prepareRequest( } func (c *APIClient) decode(v interface{}, b []byte, contentType string) (err error) { - if strings.Contains(contentType, "application/xml") { - if err = xml.Unmarshal(b, v); err != nil { - return err - } - return nil - } else if strings.Contains(contentType, "application/json") { - if err = json.Unmarshal(b, v); err != nil { - return err + if strings.Contains(contentType, "application/xml") { + if err = xml.Unmarshal(b, v); err != nil { + return err + } + return nil + } else if strings.Contains(contentType, "application/json") { + if err = json.Unmarshal(b, v); err != nil { + return err + } + return nil } - return nil - } return errors.New("undefined response type") } @@ -461,4 +461,4 @@ func (e GenericSwaggerError) Body() []byte { // Model returns the unpacked model of the error func (e GenericSwaggerError) Model() interface{} { return e.model -} +} \ No newline at end of file diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_abort_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_abort_metadata.go index 2f6f2e95dc4..f2bd1e11464 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_abort_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_abort_metadata.go @@ -12,6 +12,6 @@ package flyteadmin // Specifies metadata around an aborted workflow execution. type AdminAbortMetadata struct { // In the case of a user-specified abort, this will pass along the user-supplied cause. - Cause string `json:"cause,omitempty"` + Cause string `json:"cause,omitempty"` Principal string `json:"principal,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_cron_schedule.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_cron_schedule.go index 87a32e2ec16..fa40dd16bc2 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_cron_schedule.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_cron_schedule.go @@ -12,5 +12,5 @@ package flyteadmin // Options for schedules to run according to a cron expression. type AdminCronSchedule struct { Schedule string `json:"schedule,omitempty"` - Offset string `json:"offset,omitempty"` + Offset string `json:"offset,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_description.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_description.go index dbcca9eb0ac..6e696d7c123 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_description.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_description.go @@ -11,8 +11,8 @@ package flyteadmin // Full user description with formatting preserved. This can be rendered by clients, such as the console or command line tools with in-tact formatting. type AdminDescription struct { - Value string `json:"value,omitempty"` - Uri string `json:"uri,omitempty"` - Format *AdminDescriptionFormat `json:"format,omitempty"` - IconLink string `json:"icon_link,omitempty"` + Value string `json:"value,omitempty"` + Uri string `json:"uri,omitempty"` + Format *AdminDescriptionFormat `json:"format,omitempty"` + IconLink string `json:"icon_link,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_description_format.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_description_format.go index 8c150234578..c3929102777 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_description_format.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_description_format.go @@ -8,14 +8,13 @@ */ package flyteadmin - // AdminDescriptionFormat : - DESCRIPTION_FORMAT_RST: python default documentation - comments is rst type AdminDescriptionFormat string // List of adminDescriptionFormat const ( - AdminDescriptionFormatUNKNOWN AdminDescriptionFormat = "DESCRIPTION_FORMAT_UNKNOWN" + AdminDescriptionFormatUNKNOWN AdminDescriptionFormat = "DESCRIPTION_FORMAT_UNKNOWN" AdminDescriptionFormatMARKDOWN AdminDescriptionFormat = "DESCRIPTION_FORMAT_MARKDOWN" - AdminDescriptionFormatHTML AdminDescriptionFormat = "DESCRIPTION_FORMAT_HTML" - AdminDescriptionFormatRST AdminDescriptionFormat = "DESCRIPTION_FORMAT_RST" + AdminDescriptionFormatHTML AdminDescriptionFormat = "DESCRIPTION_FORMAT_HTML" + AdminDescriptionFormatRST AdminDescriptionFormat = "DESCRIPTION_FORMAT_RST" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_closure.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_closure.go index e166e5ac77d..831dcb9d024 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_closure.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_closure.go @@ -23,7 +23,7 @@ type AdminExecutionClosure struct { // In the case of a user-specified abort, this will pass along the user and their supplied cause. AbortMetadata *AdminAbortMetadata `json:"abort_metadata,omitempty"` // Raw output data produced by this execution. DEPRECATED. Use GetExecutionData to fetch output data instead. - OutputData *CoreLiteralMap `json:"output_data,omitempty"` + OutputData *CoreLiteralMap `json:"output_data,omitempty"` ComputedInputs *CoreLiteralMap `json:"computed_inputs,omitempty"` // Most recent recorded phase for the execution. Phase *CoreWorkflowExecutionPhase `json:"phase,omitempty"` @@ -38,6 +38,6 @@ type AdminExecutionClosure struct { // The notification settings to use after merging the CreateExecutionRequest and the launch plan notification settings. An execution launched with notifications will always prefer that definition to notifications defined statically in a launch plan. Notifications []AdminNotification `json:"notifications,omitempty"` // Identifies the workflow definition for this execution. - WorkflowId *CoreIdentifier `json:"workflow_id,omitempty"` + WorkflowId *CoreIdentifier `json:"workflow_id,omitempty"` StateChangeDetails *AdminExecutionStateChangeDetails `json:"state_change_details,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go index 3ccc424c250..b8da1d4fca1 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_create_request.go @@ -11,9 +11,9 @@ package flyteadmin // Request to launch an execution with the given project, domain and optionally-assigned name. type AdminExecutionCreateRequest struct { - Project string `json:"project,omitempty"` - Domain string `json:"domain,omitempty"` - Name string `json:"name,omitempty"` - Spec *AdminExecutionSpec `json:"spec,omitempty"` - Inputs *CoreLiteralMap `json:"inputs,omitempty"` + Project string `json:"project,omitempty"` + Domain string `json:"domain,omitempty"` + Name string `json:"name,omitempty"` + Spec *AdminExecutionSpec `json:"spec,omitempty"` + Inputs *CoreLiteralMap `json:"inputs,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_metadata.go index 8a0b5c0a8a3..9db8ddfd7fa 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_metadata.go @@ -21,7 +21,7 @@ type AdminExecutionMetadata struct { // Indicates the nestedness of this execution. If a user launches a workflow execution, the default nesting is 0. If this execution further launches a workflow (child workflow), the nesting level is incremented by 0 => 1 Generally, if workflow at nesting level k launches a workflow then the child workflow will have nesting = k + 1. Nesting int64 `json:"nesting,omitempty"` // For scheduled executions, the requested time for execution for this specific schedule invocation. - ScheduledAt time.Time `json:"scheduled_at,omitempty"` + ScheduledAt time.Time `json:"scheduled_at,omitempty"` ParentNodeExecution *CoreNodeExecutionIdentifier `json:"parent_node_execution,omitempty"` // Optional, a reference workflow execution related to this execution. In the case of a relaunch, this references the original workflow execution. ReferenceExecution *CoreWorkflowExecutionIdentifier `json:"reference_execution,omitempty"` diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_recover_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_recover_request.go index ec74645374e..571e0013f95 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_recover_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_recover_request.go @@ -12,8 +12,8 @@ package flyteadmin // Request to recover the referenced execution. type AdminExecutionRecoverRequest struct { // Identifier of the workflow execution to recover. - Id *CoreWorkflowExecutionIdentifier `json:"id,omitempty"` - Name string `json:"name,omitempty"` + Id *CoreWorkflowExecutionIdentifier `json:"id,omitempty"` + Name string `json:"name,omitempty"` // Additional metadata which will be used to overwrite any metadata in the reference execution when triggering a recovery execution. Metadata *AdminExecutionMetadata `json:"metadata,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_relaunch_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_relaunch_request.go index 0be4d207d8a..0f8ccc51c00 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_relaunch_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_relaunch_request.go @@ -11,8 +11,8 @@ package flyteadmin // Request to relaunch the referenced execution. type AdminExecutionRelaunchRequest struct { - Id *CoreWorkflowExecutionIdentifier `json:"id,omitempty"` - Name string `json:"name,omitempty"` + Id *CoreWorkflowExecutionIdentifier `json:"id,omitempty"` + Name string `json:"name,omitempty"` // Allows for all cached values of a workflow and its tasks to be overwritten for a single execution. If enabled, all calculations are performed even if cached results would be available, overwriting the stored data once execution finishes successfully. OverwriteCache bool `json:"overwrite_cache,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_spec.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_spec.go index 4a9d287e72f..3c9dc0ffdb5 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_spec.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_spec.go @@ -11,9 +11,9 @@ package flyteadmin // An ExecutionSpec encompasses all data used to launch this execution. The Spec does not change over the lifetime of an execution as it progresses across phase changes. type AdminExecutionSpec struct { - LaunchPlan *CoreIdentifier `json:"launch_plan,omitempty"` - Inputs *CoreLiteralMap `json:"inputs,omitempty"` - Metadata *AdminExecutionMetadata `json:"metadata,omitempty"` + LaunchPlan *CoreIdentifier `json:"launch_plan,omitempty"` + Inputs *CoreLiteralMap `json:"inputs,omitempty"` + Metadata *AdminExecutionMetadata `json:"metadata,omitempty"` // List of notifications based on Execution status transitions When this list is not empty it is used rather than any notifications defined in the referenced launch plan. When this list is empty, the notifications defined for the launch plan will be applied. Notifications *AdminNotificationList `json:"notifications,omitempty"` // This should be set to true if all notifications are intended to be disabled for this execution. @@ -29,7 +29,7 @@ type AdminExecutionSpec struct { // Indicates the runtime priority of the execution. QualityOfService *CoreQualityOfService `json:"quality_of_service,omitempty"` // Controls the maximum number of task nodes that can be run in parallel for the entire workflow. This is useful to achieve fairness. Note: MapTasks are regarded as one unit, and parallelism/concurrency of MapTasks is independent from this. - MaxParallelism int32 `json:"max_parallelism,omitempty"` + MaxParallelism int32 `json:"max_parallelism,omitempty"` RawOutputDataConfig *AdminRawOutputDataConfig `json:"raw_output_data_config,omitempty"` // Controls how to select an available cluster on which this execution should run. ClusterAssignment *AdminClusterAssignment `json:"cluster_assignment,omitempty"` diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_state.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_state.go index 306d6b8dbd2..c67d546f89c 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_state.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_state.go @@ -8,12 +8,11 @@ */ package flyteadmin - // AdminExecutionState : The state of the execution is used to control its visibility in the UI/CLI. - EXECUTION_ACTIVE: By default, all executions are considered active. - EXECUTION_ARCHIVED: Archived executions are no longer visible in the UI. type AdminExecutionState string // List of adminExecutionState const ( - AdminExecutionStateACTIVE AdminExecutionState = "EXECUTION_ACTIVE" + AdminExecutionStateACTIVE AdminExecutionState = "EXECUTION_ACTIVE" AdminExecutionStateARCHIVED AdminExecutionState = "EXECUTION_ARCHIVED" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_state_change_details.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_state_change_details.go index e13f2c24e7d..44e3d275a00 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_state_change_details.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_state_change_details.go @@ -18,5 +18,5 @@ type AdminExecutionStateChangeDetails struct { State *AdminExecutionState `json:"state,omitempty"` // This timestamp represents when the state changed. OccurredAt time.Time `json:"occurred_at,omitempty"` - Principal string `json:"principal,omitempty"` + Principal string `json:"principal,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_update_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_update_request.go index 910f10fe6eb..5739e2b93a7 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_update_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_execution_update_request.go @@ -10,6 +10,7 @@ package flyteadmin type AdminExecutionUpdateRequest struct { - Id *CoreWorkflowExecutionIdentifier `json:"id,omitempty"` - State *AdminExecutionState `json:"state,omitempty"` + Id *CoreWorkflowExecutionIdentifier `json:"id,omitempty"` + State *AdminExecutionState `json:"state,omitempty"` + Tags []string `json:"tags,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_fixed_rate.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_fixed_rate.go index 4a6de17fa44..b92e2a45e26 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_fixed_rate.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_fixed_rate.go @@ -11,6 +11,6 @@ package flyteadmin // Option for schedules run at a certain frequency e.g. every 2 minutes. type AdminFixedRate struct { - Value int64 `json:"value,omitempty"` - Unit *AdminFixedRateUnit `json:"unit,omitempty"` + Value int64 `json:"value,omitempty"` + Unit *AdminFixedRateUnit `json:"unit,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_fixed_rate_unit.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_fixed_rate_unit.go index 7ad83474ba2..4a6dd4877af 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_fixed_rate_unit.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_fixed_rate_unit.go @@ -8,13 +8,12 @@ */ package flyteadmin - // AdminFixedRateUnit : Represents a frequency at which to run a schedule. type AdminFixedRateUnit string // List of adminFixedRateUnit const ( AdminFixedRateUnitMINUTE AdminFixedRateUnit = "MINUTE" - AdminFixedRateUnitHOUR AdminFixedRateUnit = "HOUR" - AdminFixedRateUnitDAY AdminFixedRateUnit = "DAY" + AdminFixedRateUnitHOUR AdminFixedRateUnit = "HOUR" + AdminFixedRateUnitDAY AdminFixedRateUnit = "DAY" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_flyte_ur_ls.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_flyte_ur_ls.go index b0d74055df9..6b8a49a6613 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_flyte_ur_ls.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_flyte_ur_ls.go @@ -11,7 +11,7 @@ package flyteadmin // These URLs are returned as part of node and task execution data requests. type AdminFlyteUrLs struct { - Inputs string `json:"inputs,omitempty"` + Inputs string `json:"inputs,omitempty"` Outputs string `json:"outputs,omitempty"` - Deck string `json:"deck,omitempty"` + Deck string `json:"deck,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_closure.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_closure.go index d6aa0a05503..540110cb0fd 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_closure.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_closure.go @@ -16,9 +16,9 @@ import ( // Values computed by the flyte platform after launch plan registration. These include expected_inputs required to be present in a CreateExecutionRequest to launch the reference workflow as well timestamp values associated with the launch plan. type AdminLaunchPlanClosure struct { // Indicate the Launch plan state. - State *AdminLaunchPlanState `json:"state,omitempty"` - ExpectedInputs *CoreParameterMap `json:"expected_inputs,omitempty"` - ExpectedOutputs *CoreVariableMap `json:"expected_outputs,omitempty"` + State *AdminLaunchPlanState `json:"state,omitempty"` + ExpectedInputs *CoreParameterMap `json:"expected_inputs,omitempty"` + ExpectedOutputs *CoreVariableMap `json:"expected_outputs,omitempty"` // Time at which the launch plan was created. CreatedAt time.Time `json:"created_at,omitempty"` // Time at which the launch plan was last updated. diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_metadata.go index 3260b1b0393..f368501cd84 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_metadata.go @@ -11,6 +11,6 @@ package flyteadmin // Additional launch plan attributes included in the LaunchPlanSpec not strictly required to launch the reference workflow. type AdminLaunchPlanMetadata struct { - Schedule *AdminSchedule `json:"schedule,omitempty"` + Schedule *AdminSchedule `json:"schedule,omitempty"` Notifications []AdminNotification `json:"notifications,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_spec.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_spec.go index ca1b6c54754..52a7ad3dacc 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_spec.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_spec.go @@ -11,20 +11,20 @@ package flyteadmin // User-provided launch plan definition and configuration values. type AdminLaunchPlanSpec struct { - WorkflowId *CoreIdentifier `json:"workflow_id,omitempty"` + WorkflowId *CoreIdentifier `json:"workflow_id,omitempty"` EntityMetadata *AdminLaunchPlanMetadata `json:"entity_metadata,omitempty"` // Input values to be passed for the execution. These can be overridden when an execution is created with this launch plan. DefaultInputs *CoreParameterMap `json:"default_inputs,omitempty"` // Fixed, non-overridable inputs for the Launch Plan. These can not be overridden when an execution is created with this launch plan. FixedInputs *CoreLiteralMap `json:"fixed_inputs,omitempty"` - Role string `json:"role,omitempty"` + Role string `json:"role,omitempty"` // Custom labels to be applied to the execution resource. Labels *AdminLabels `json:"labels,omitempty"` // Custom annotations to be applied to the execution resource. Annotations *AdminAnnotations `json:"annotations,omitempty"` // Indicates the permission associated with workflow executions triggered with this launch plan. - Auth *AdminAuth `json:"auth,omitempty"` - AuthRole *AdminAuthRole `json:"auth_role,omitempty"` + Auth *AdminAuth `json:"auth,omitempty"` + AuthRole *AdminAuthRole `json:"auth_role,omitempty"` SecurityContext *CoreSecurityContext `json:"security_context,omitempty"` // Indicates the runtime priority of the execution. QualityOfService *CoreQualityOfService `json:"quality_of_service,omitempty"` diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_state.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_state.go index da3902a3975..f0a1d32782b 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_state.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_launch_plan_state.go @@ -8,12 +8,11 @@ */ package flyteadmin - // AdminLaunchPlanState : By default any launch plan regardless of state can be used to launch a workflow execution. However, at most one version of a launch plan (e.g. a NamedEntityIdentifier set of shared project, domain and name values) can be active at a time in regards to *schedules*. That is, at most one schedule in a NamedEntityIdentifier group will be observed and trigger executions at a defined cadence. type AdminLaunchPlanState string // List of adminLaunchPlanState const ( AdminLaunchPlanStateINACTIVE AdminLaunchPlanState = "INACTIVE" - AdminLaunchPlanStateACTIVE AdminLaunchPlanState = "ACTIVE" + AdminLaunchPlanStateACTIVE AdminLaunchPlanState = "ACTIVE" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_literal_map_blob.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_literal_map_blob.go index f5dc3399e68..ac5e29d42cf 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_literal_map_blob.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_literal_map_blob.go @@ -11,5 +11,5 @@ package flyteadmin type AdminLiteralMapBlob struct { Values *CoreLiteralMap `json:"values,omitempty"` - Uri string `json:"uri,omitempty"` + Uri string `json:"uri,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_attributes_configuration.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_attributes_configuration.go index daba0caaf94..df6a99884c5 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_attributes_configuration.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_attributes_configuration.go @@ -12,8 +12,8 @@ package flyteadmin // Represents a custom set of attributes applied for either a domain; a domain and project; or domain, project and workflow name. These are used to override system level defaults for kubernetes cluster resource management, default execution values, and more all across different levels of specificity. type AdminMatchableAttributesConfiguration struct { Attributes *AdminMatchingAttributes `json:"attributes,omitempty"` - Domain string `json:"domain,omitempty"` - Project string `json:"project,omitempty"` - Workflow string `json:"workflow,omitempty"` - LaunchPlan string `json:"launch_plan,omitempty"` + Domain string `json:"domain,omitempty"` + Project string `json:"project,omitempty"` + Workflow string `json:"workflow,omitempty"` + LaunchPlan string `json:"launch_plan,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_resource.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_resource.go index df4a350bbae..411a7becc0f 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_resource.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_resource.go @@ -8,18 +8,17 @@ */ package flyteadmin - // AdminMatchableResource : Defines a resource that can be configured by customizable Project-, ProjectDomain- or WorkflowAttributes based on matching tags. - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec. - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type. - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides. - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run. type AdminMatchableResource string // List of adminMatchableResource const ( - AdminMatchableResourceTASK_RESOURCE AdminMatchableResource = "TASK_RESOURCE" - AdminMatchableResourceCLUSTER_RESOURCE AdminMatchableResource = "CLUSTER_RESOURCE" - AdminMatchableResourceEXECUTION_QUEUE AdminMatchableResource = "EXECUTION_QUEUE" - AdminMatchableResourceEXECUTION_CLUSTER_LABEL AdminMatchableResource = "EXECUTION_CLUSTER_LABEL" + AdminMatchableResourceTASK_RESOURCE AdminMatchableResource = "TASK_RESOURCE" + AdminMatchableResourceCLUSTER_RESOURCE AdminMatchableResource = "CLUSTER_RESOURCE" + AdminMatchableResourceEXECUTION_QUEUE AdminMatchableResource = "EXECUTION_QUEUE" + AdminMatchableResourceEXECUTION_CLUSTER_LABEL AdminMatchableResource = "EXECUTION_CLUSTER_LABEL" AdminMatchableResourceQUALITY_OF_SERVICE_SPECIFICATION AdminMatchableResource = "QUALITY_OF_SERVICE_SPECIFICATION" - AdminMatchableResourcePLUGIN_OVERRIDE AdminMatchableResource = "PLUGIN_OVERRIDE" - AdminMatchableResourceWORKFLOW_EXECUTION_CONFIG AdminMatchableResource = "WORKFLOW_EXECUTION_CONFIG" - AdminMatchableResourceCLUSTER_ASSIGNMENT AdminMatchableResource = "CLUSTER_ASSIGNMENT" + AdminMatchableResourcePLUGIN_OVERRIDE AdminMatchableResource = "PLUGIN_OVERRIDE" + AdminMatchableResourceWORKFLOW_EXECUTION_CONFIG AdminMatchableResource = "WORKFLOW_EXECUTION_CONFIG" + AdminMatchableResourceCLUSTER_ASSIGNMENT AdminMatchableResource = "CLUSTER_ASSIGNMENT" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matching_attributes.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matching_attributes.go index c9f2f027543..2af9b6d702e 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matching_attributes.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matching_attributes.go @@ -11,12 +11,12 @@ package flyteadmin // Generic container for encapsulating all types of the above attributes messages. type AdminMatchingAttributes struct { - TaskResourceAttributes *AdminTaskResourceAttributes `json:"task_resource_attributes,omitempty"` + TaskResourceAttributes *AdminTaskResourceAttributes `json:"task_resource_attributes,omitempty"` ClusterResourceAttributes *AdminClusterResourceAttributes `json:"cluster_resource_attributes,omitempty"` - ExecutionQueueAttributes *AdminExecutionQueueAttributes `json:"execution_queue_attributes,omitempty"` - ExecutionClusterLabel *AdminExecutionClusterLabel `json:"execution_cluster_label,omitempty"` - QualityOfService *CoreQualityOfService `json:"quality_of_service,omitempty"` - PluginOverrides *AdminPluginOverrides `json:"plugin_overrides,omitempty"` - WorkflowExecutionConfig *AdminWorkflowExecutionConfig `json:"workflow_execution_config,omitempty"` - ClusterAssignment *AdminClusterAssignment `json:"cluster_assignment,omitempty"` + ExecutionQueueAttributes *AdminExecutionQueueAttributes `json:"execution_queue_attributes,omitempty"` + ExecutionClusterLabel *AdminExecutionClusterLabel `json:"execution_cluster_label,omitempty"` + QualityOfService *CoreQualityOfService `json:"quality_of_service,omitempty"` + PluginOverrides *AdminPluginOverrides `json:"plugin_overrides,omitempty"` + WorkflowExecutionConfig *AdminWorkflowExecutionConfig `json:"workflow_execution_config,omitempty"` + ClusterAssignment *AdminClusterAssignment `json:"cluster_assignment,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity.go index d3e11e0b3c6..6239ddb45af 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity.go @@ -12,8 +12,8 @@ package flyteadmin // Encapsulates information common to a NamedEntity, a Flyte resource such as a task, workflow or launch plan. A NamedEntity is exclusively identified by its resource type and identifier. type AdminNamedEntity struct { // Resource type of the named entity. One of Task, Workflow or LaunchPlan. - ResourceType *CoreResourceType `json:"resource_type,omitempty"` - Id *AdminNamedEntityIdentifier `json:"id,omitempty"` + ResourceType *CoreResourceType `json:"resource_type,omitempty"` + Id *AdminNamedEntityIdentifier `json:"id,omitempty"` // Additional metadata around a named entity. Metadata *AdminNamedEntityMetadata `json:"metadata,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_identifier.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_identifier.go index c6e36319e0f..9fa96c57b2c 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_identifier.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_identifier.go @@ -15,5 +15,5 @@ type AdminNamedEntityIdentifier struct { Project string `json:"project,omitempty"` // Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project. Domain string `json:"domain,omitempty"` - Name string `json:"name,omitempty"` + Name string `json:"name,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_state.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_state.go index de574e1b99c..eed0505492e 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_state.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_state.go @@ -8,13 +8,12 @@ */ package flyteadmin - // AdminNamedEntityState : The status of the named entity is used to control its visibility in the UI. - NAMED_ENTITY_ACTIVE: By default, all named entities are considered active and under development. - NAMED_ENTITY_ARCHIVED: Archived named entities are no longer visible in the UI. - SYSTEM_GENERATED: System generated entities that aren't explicitly created or managed by a user. type AdminNamedEntityState string // List of adminNamedEntityState const ( - AdminNamedEntityStateNAMED_ENTITY_ACTIVE AdminNamedEntityState = "NAMED_ENTITY_ACTIVE" + AdminNamedEntityStateNAMED_ENTITY_ACTIVE AdminNamedEntityState = "NAMED_ENTITY_ACTIVE" AdminNamedEntityStateNAMED_ENTITY_ARCHIVED AdminNamedEntityState = "NAMED_ENTITY_ARCHIVED" - AdminNamedEntityStateSYSTEM_GENERATED AdminNamedEntityState = "SYSTEM_GENERATED" + AdminNamedEntityStateSYSTEM_GENERATED AdminNamedEntityState = "SYSTEM_GENERATED" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_update_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_update_request.go index 2596276eaee..66fb02ea37a 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_update_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_named_entity_update_request.go @@ -11,7 +11,7 @@ package flyteadmin // Request to set the referenced named entity state to the configured value. type AdminNamedEntityUpdateRequest struct { - ResourceType *CoreResourceType `json:"resource_type,omitempty"` - Id *AdminNamedEntityIdentifier `json:"id,omitempty"` - Metadata *AdminNamedEntityMetadata `json:"metadata,omitempty"` + ResourceType *CoreResourceType `json:"resource_type,omitempty"` + Id *AdminNamedEntityIdentifier `json:"id,omitempty"` + Metadata *AdminNamedEntityMetadata `json:"metadata,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_closure.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_closure.go index 4ce61a3af33..a522ec663e8 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_closure.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_closure.go @@ -16,8 +16,8 @@ import ( // Container for node execution details and results. type AdminNodeExecutionClosure struct { // Links to a remotely stored, serialized core.LiteralMap of node execution outputs. DEPRECATED. Use GetNodeExecutionData to fetch output data instead. - OutputUri string `json:"output_uri,omitempty"` - Error_ *CoreExecutionError `json:"error,omitempty"` + OutputUri string `json:"output_uri,omitempty"` + Error_ *CoreExecutionError `json:"error,omitempty"` // Raw output data produced by this node execution. DEPRECATED. Use GetNodeExecutionData to fetch output data instead. OutputData *CoreLiteralMap `json:"output_data,omitempty"` // The last recorded phase for this node execution. @@ -29,10 +29,10 @@ type AdminNodeExecutionClosure struct { // Time at which the node execution was created. CreatedAt time.Time `json:"created_at,omitempty"` // Time at which the node execution was last updated. - UpdatedAt time.Time `json:"updated_at,omitempty"` + UpdatedAt time.Time `json:"updated_at,omitempty"` WorkflowNodeMetadata *FlyteidladminWorkflowNodeMetadata `json:"workflow_node_metadata,omitempty"` - TaskNodeMetadata *FlyteidladminTaskNodeMetadata `json:"task_node_metadata,omitempty"` - DeckUri string `json:"deck_uri,omitempty"` + TaskNodeMetadata *FlyteidladminTaskNodeMetadata `json:"task_node_metadata,omitempty"` + DeckUri string `json:"deck_uri,omitempty"` // dynamic_job_spec_uri is the location of the DynamicJobSpec proto message for a DynamicWorkflow. This is required to correctly recover partially completed executions where the subworkflow has already been compiled. DynamicJobSpecUri string `json:"dynamic_job_spec_uri,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_get_data_response.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_get_data_response.go index dcaa570e7db..0ab85da7cc0 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_get_data_response.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_get_data_response.go @@ -21,5 +21,5 @@ type AdminNodeExecutionGetDataResponse struct { FullOutputs *CoreLiteralMap `json:"full_outputs,omitempty"` // Optional Workflow closure for a dynamically generated workflow, in the case this node yields a dynamic workflow we return its structure here. DynamicWorkflow *FlyteidladminDynamicWorkflowNodeMetadata `json:"dynamic_workflow,omitempty"` - FlyteUrls *AdminFlyteUrLs `json:"flyte_urls,omitempty"` + FlyteUrls *AdminFlyteUrLs `json:"flyte_urls,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_meta_data.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_meta_data.go index 36f87c5e9c1..08ad839a7e6 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_meta_data.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_node_execution_meta_data.go @@ -13,8 +13,8 @@ type AdminNodeExecutionMetaData struct { // Node executions are grouped depending on retries of the parent Retry group is unique within the context of a parent node. RetryGroup string `json:"retry_group,omitempty"` // Boolean flag indicating if the node has child nodes under it This can be true when a node contains a dynamic workflow which then produces child nodes. - IsParentNode bool `json:"is_parent_node,omitempty"` - SpecNodeId string `json:"spec_node_id,omitempty"` + IsParentNode bool `json:"is_parent_node,omitempty"` + SpecNodeId string `json:"spec_node_id,omitempty"` // Boolean flag indicating if the node has contains a dynamic workflow which then produces child nodes. This is to distinguish between subworkflows and dynamic workflows which can both have is_parent_node as true. IsDynamic bool `json:"is_dynamic,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_notification.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_notification.go index c042528a21e..16cc5a3c711 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_notification.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_notification.go @@ -11,8 +11,8 @@ package flyteadmin // Represents a structure for notifications based on execution status. The notification content is configured within flyte admin but can be templatized. Future iterations could expose configuring notifications with custom content. type AdminNotification struct { - Phases []CoreWorkflowExecutionPhase `json:"phases,omitempty"` - Email *AdminEmailNotification `json:"email,omitempty"` - PagerDuty *AdminPagerDutyNotification `json:"pager_duty,omitempty"` - Slack *AdminSlackNotification `json:"slack,omitempty"` + Phases []CoreWorkflowExecutionPhase `json:"phases,omitempty"` + Email *AdminEmailNotification `json:"email,omitempty"` + PagerDuty *AdminPagerDutyNotification `json:"pager_duty,omitempty"` + Slack *AdminSlackNotification `json:"slack,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project.go index 66ca8d4c65a..59da87f6cc1 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project.go @@ -14,10 +14,10 @@ type AdminProject struct { // Globally unique project name. Id string `json:"id,omitempty"` // Display name. - Name string `json:"name,omitempty"` - Domains []AdminDomain `json:"domains,omitempty"` - Description string `json:"description,omitempty"` + Name string `json:"name,omitempty"` + Domains []AdminDomain `json:"domains,omitempty"` + Description string `json:"description,omitempty"` // Leverage Labels from flyteidl.admin.common.proto to tag projects with ownership information. - Labels *AdminLabels `json:"labels,omitempty"` - State *ProjectProjectState `json:"state,omitempty"` + Labels *AdminLabels `json:"labels,omitempty"` + State *ProjectProjectState `json:"state,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes.go index e7098c6db23..a719e4737b9 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes.go @@ -11,6 +11,6 @@ package flyteadmin type AdminProjectAttributes struct { // Unique project id for which this set of attributes will be applied. - Project string `json:"project,omitempty"` + Project string `json:"project,omitempty"` MatchingAttributes *AdminMatchingAttributes `json:"matching_attributes,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes_delete_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes_delete_request.go index fec33ca92f5..3081254e92b 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes_delete_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_attributes_delete_request.go @@ -10,6 +10,6 @@ package flyteadmin type AdminProjectAttributesDeleteRequest struct { - Project string `json:"project,omitempty"` + Project string `json:"project,omitempty"` ResourceType *AdminMatchableResource `json:"resource_type,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes.go index 8f736c6e919..8cc141bc426 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes.go @@ -13,6 +13,6 @@ type AdminProjectDomainAttributes struct { // Unique project id for which this set of attributes will be applied. Project string `json:"project,omitempty"` // Unique domain id for which this set of attributes will be applied. - Domain string `json:"domain,omitempty"` + Domain string `json:"domain,omitempty"` MatchingAttributes *AdminMatchingAttributes `json:"matching_attributes,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes_delete_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes_delete_request.go index 4c3ed6cbb21..00b251417de 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes_delete_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_project_domain_attributes_delete_request.go @@ -10,7 +10,7 @@ package flyteadmin type AdminProjectDomainAttributesDeleteRequest struct { - Project string `json:"project,omitempty"` - Domain string `json:"domain,omitempty"` + Project string `json:"project,omitempty"` + Domain string `json:"domain,omitempty"` ResourceType *AdminMatchableResource `json:"resource_type,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_schedule.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_schedule.go index bc95ee283a1..b6c0a020146 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_schedule.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_schedule.go @@ -11,9 +11,9 @@ package flyteadmin // Defines complete set of information required to trigger an execution on a schedule. type AdminSchedule struct { - CronExpression string `json:"cron_expression,omitempty"` - Rate *AdminFixedRate `json:"rate,omitempty"` - CronSchedule *AdminCronSchedule `json:"cron_schedule,omitempty"` + CronExpression string `json:"cron_expression,omitempty"` + Rate *AdminFixedRate `json:"rate,omitempty"` + CronSchedule *AdminCronSchedule `json:"cron_schedule,omitempty"` // Name of the input variable that the kickoff time will be supplied to when the workflow is kicked off. KickoffTimeInputArg string `json:"kickoff_time_input_arg,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_sort.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_sort.go index 22ebe3f2216..7469a2cb02f 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_sort.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_sort.go @@ -11,6 +11,6 @@ package flyteadmin // Specifies sort ordering in a list request. type AdminSort struct { - Key string `json:"key,omitempty"` + Key string `json:"key,omitempty"` Direction *SortDirection `json:"direction,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_execution_get_data_response.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_execution_get_data_response.go index 5bfac3ba941..75c3e8423e2 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_execution_get_data_response.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_execution_get_data_response.go @@ -19,5 +19,5 @@ type AdminTaskExecutionGetDataResponse struct { FullInputs *CoreLiteralMap `json:"full_inputs,omitempty"` // Full_outputs will only be populated if they are under a configured size threshold. FullOutputs *CoreLiteralMap `json:"full_outputs,omitempty"` - FlyteUrls *AdminFlyteUrLs `json:"flyte_urls,omitempty"` + FlyteUrls *AdminFlyteUrLs `json:"flyte_urls,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_resource_attributes.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_resource_attributes.go index ee090c89cea..3917b5f2f82 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_resource_attributes.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_resource_attributes.go @@ -12,5 +12,5 @@ package flyteadmin // Defines task resource defaults and limits that will be applied at task registration. type AdminTaskResourceAttributes struct { Defaults *AdminTaskResourceSpec `json:"defaults,omitempty"` - Limits *AdminTaskResourceSpec `json:"limits,omitempty"` + Limits *AdminTaskResourceSpec `json:"limits,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_resource_spec.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_resource_spec.go index 0d2713f7f6e..b022f1a976c 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_resource_spec.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_task_resource_spec.go @@ -11,9 +11,9 @@ package flyteadmin // Defines a set of overridable task resource attributes set during task registration. type AdminTaskResourceSpec struct { - Cpu string `json:"cpu,omitempty"` - Gpu string `json:"gpu,omitempty"` - Memory string `json:"memory,omitempty"` - Storage string `json:"storage,omitempty"` + Cpu string `json:"cpu,omitempty"` + Gpu string `json:"gpu,omitempty"` + Memory string `json:"memory,omitempty"` + Storage string `json:"storage,omitempty"` EphemeralStorage string `json:"ephemeral_storage,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_version.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_version.go index a316d8ad647..559cc80b934 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_version.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_version.go @@ -10,7 +10,7 @@ package flyteadmin type AdminVersion struct { - Build string `json:"Build,omitempty"` - Version string `json:"Version,omitempty"` + Build string `json:"Build,omitempty"` + Version string `json:"Version,omitempty"` BuildTime string `json:"BuildTime,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes.go index 26cfff6479f..dba5c88346d 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes.go @@ -15,6 +15,6 @@ type AdminWorkflowAttributes struct { // Unique domain id for which this set of attributes will be applied. Domain string `json:"domain,omitempty"` // Workflow name for which this set of attributes will be applied. - Workflow string `json:"workflow,omitempty"` + Workflow string `json:"workflow,omitempty"` MatchingAttributes *AdminMatchingAttributes `json:"matching_attributes,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes_delete_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes_delete_request.go index ecc0b76053c..31bca658dbe 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes_delete_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_attributes_delete_request.go @@ -10,8 +10,8 @@ package flyteadmin type AdminWorkflowAttributesDeleteRequest struct { - Project string `json:"project,omitempty"` - Domain string `json:"domain,omitempty"` - Workflow string `json:"workflow,omitempty"` + Project string `json:"project,omitempty"` + Domain string `json:"domain,omitempty"` + Workflow string `json:"workflow,omitempty"` ResourceType *AdminMatchableResource `json:"resource_type,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_create_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_create_request.go index 68ee62801fb..53b4cbbb081 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_create_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_workflow_create_request.go @@ -10,6 +10,6 @@ package flyteadmin type AdminWorkflowCreateRequest struct { - Id *CoreIdentifier `json:"id,omitempty"` + Id *CoreIdentifier `json:"id,omitempty"` Spec *AdminWorkflowSpec `json:"spec,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_blob_type_blob_dimensionality.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_blob_type_blob_dimensionality.go index ed4ddcc9e88..c2557772aae 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_blob_type_blob_dimensionality.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_blob_type_blob_dimensionality.go @@ -13,6 +13,6 @@ type BlobTypeBlobDimensionality string // List of BlobTypeBlobDimensionality const ( - BlobTypeBlobDimensionalitySINGLE BlobTypeBlobDimensionality = "SINGLE" + BlobTypeBlobDimensionalitySINGLE BlobTypeBlobDimensionality = "SINGLE" BlobTypeBlobDimensionalityMULTIPART BlobTypeBlobDimensionality = "MULTIPART" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_catalog_reservation_status.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_catalog_reservation_status.go index 3f3c587e87b..42b34515dbe 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_catalog_reservation_status.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_catalog_reservation_status.go @@ -8,7 +8,6 @@ */ package flyteadmin - // CatalogReservationStatus : Indicates the status of a catalog reservation operation. - RESERVATION_DISABLED: Used to indicate that reservations are disabled - RESERVATION_ACQUIRED: Used to indicate that a reservation was successfully acquired or extended - RESERVATION_EXISTS: Used to indicate that an active reservation currently exists - RESERVATION_RELEASED: Used to indicate that the reservation has been successfully released - RESERVATION_FAILURE: Used to indicate that a reservation operation resulted in failure type CatalogReservationStatus string @@ -16,7 +15,7 @@ type CatalogReservationStatus string const ( CatalogReservationStatusDISABLED CatalogReservationStatus = "RESERVATION_DISABLED" CatalogReservationStatusACQUIRED CatalogReservationStatus = "RESERVATION_ACQUIRED" - CatalogReservationStatusEXISTS CatalogReservationStatus = "RESERVATION_EXISTS" + CatalogReservationStatusEXISTS CatalogReservationStatus = "RESERVATION_EXISTS" CatalogReservationStatusRELEASED CatalogReservationStatus = "RESERVATION_RELEASED" - CatalogReservationStatusFAILURE CatalogReservationStatus = "RESERVATION_FAILURE" + CatalogReservationStatusFAILURE CatalogReservationStatus = "RESERVATION_FAILURE" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_comparison_expression_operator.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_comparison_expression_operator.go index 5eb1db946d3..f12c82ff7d4 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_comparison_expression_operator.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_comparison_expression_operator.go @@ -8,16 +8,15 @@ */ package flyteadmin - // ComparisonExpressionOperator : - GT: Greater Than - LT: Less Than type ComparisonExpressionOperator string // List of ComparisonExpressionOperator const ( - ComparisonExpressionOperatorEQ ComparisonExpressionOperator = "EQ" + ComparisonExpressionOperatorEQ ComparisonExpressionOperator = "EQ" ComparisonExpressionOperatorNEQ ComparisonExpressionOperator = "NEQ" - ComparisonExpressionOperatorGT ComparisonExpressionOperator = "GT" + ComparisonExpressionOperatorGT ComparisonExpressionOperator = "GT" ComparisonExpressionOperatorGTE ComparisonExpressionOperator = "GTE" - ComparisonExpressionOperatorLT ComparisonExpressionOperator = "LT" + ComparisonExpressionOperatorLT ComparisonExpressionOperator = "LT" ComparisonExpressionOperatorLTE ComparisonExpressionOperator = "LTE" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_conjunction_expression_logical_operator.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_conjunction_expression_logical_operator.go index 9634c360a06..537e3b45e77 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_conjunction_expression_logical_operator.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_conjunction_expression_logical_operator.go @@ -8,12 +8,11 @@ */ package flyteadmin - // ConjunctionExpressionLogicalOperator : - AND: Conjunction type ConjunctionExpressionLogicalOperator string // List of ConjunctionExpressionLogicalOperator const ( ConjunctionExpressionLogicalOperatorAND ConjunctionExpressionLogicalOperator = "AND" - ConjunctionExpressionLogicalOperatorOR ConjunctionExpressionLogicalOperator = "OR" + ConjunctionExpressionLogicalOperatorOR ConjunctionExpressionLogicalOperator = "OR" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_container_architecture.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_container_architecture.go index 78970da88a5..2ec668c9812 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_container_architecture.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_container_architecture.go @@ -8,15 +8,14 @@ */ package flyteadmin - // ContainerArchitecture : Architecture-type the container image supports. type ContainerArchitecture string // List of ContainerArchitecture const ( ContainerArchitectureUNKNOWN ContainerArchitecture = "UNKNOWN" - ContainerArchitectureAMD64 ContainerArchitecture = "AMD64" - ContainerArchitectureARM64 ContainerArchitecture = "ARM64" - ContainerArchitectureARM_V6 ContainerArchitecture = "ARM_V6" - ContainerArchitectureARM_V7 ContainerArchitecture = "ARM_V7" + ContainerArchitectureAMD64 ContainerArchitecture = "AMD64" + ContainerArchitectureARM64 ContainerArchitecture = "ARM64" + ContainerArchitectureARM_V6 ContainerArchitecture = "ARM_V6" + ContainerArchitectureARM_V7 ContainerArchitecture = "ARM_V7" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_binary.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_binary.go index db36793283f..b66a50bd78b 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_binary.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_binary.go @@ -12,5 +12,5 @@ package flyteadmin // A simple byte array with a tag to help different parts of the system communicate about what is in the byte array. It's strongly advisable that consumers of this type define a unique tag and validate the tag before parsing the data. type CoreBinary struct { Value string `json:"value,omitempty"` - Tag string `json:"tag,omitempty"` + Tag string `json:"tag,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_binding_data.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_binding_data.go index 742616fdc2b..903ef1f8e29 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_binding_data.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_binding_data.go @@ -18,6 +18,6 @@ type CoreBindingData struct { // References an output promised by another node. Promise *CoreOutputReference `json:"promise,omitempty"` // A map of bindings. The key is always a string. - Map_ *CoreBindingDataMap `json:"map,omitempty"` - Union *CoreUnionInfo `json:"union,omitempty"` + Map_ *CoreBindingDataMap `json:"map,omitempty"` + Union *CoreUnionInfo `json:"union,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_blob.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_blob.go index d7bcd891703..081e36a03d9 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_blob.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_blob.go @@ -12,5 +12,5 @@ package flyteadmin // Refers to an offloaded set of files. It encapsulates the type of the store and a unique uri for where the data is. There are no restrictions on how the uri is formatted since it will depend on how to interact with the store. type CoreBlob struct { Metadata *CoreBlobMetadata `json:"metadata,omitempty"` - Uri string `json:"uri,omitempty"` + Uri string `json:"uri,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_blob_type.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_blob_type.go index 4add1c09464..5c751b95627 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_blob_type.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_blob_type.go @@ -10,6 +10,6 @@ package flyteadmin type CoreBlobType struct { - Format string `json:"format,omitempty"` + Format string `json:"format,omitempty"` Dimensionality *BlobTypeBlobDimensionality `json:"dimensionality,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_boolean_expression.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_boolean_expression.go index 894e3d4cc43..0ee33d7c3a1 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_boolean_expression.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_boolean_expression.go @@ -12,5 +12,5 @@ package flyteadmin // Defines a boolean expression tree. It can be a simple or a conjunction expression. Multiple expressions can be combined using a conjunction or a disjunction to result in a final boolean result. type CoreBooleanExpression struct { Conjunction *CoreConjunctionExpression `json:"conjunction,omitempty"` - Comparison *CoreComparisonExpression `json:"comparison,omitempty"` + Comparison *CoreComparisonExpression `json:"comparison,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_artifact_tag.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_artifact_tag.go index 49ecd55bc1f..94c8826d3a8 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_artifact_tag.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_artifact_tag.go @@ -11,5 +11,5 @@ package flyteadmin type CoreCatalogArtifactTag struct { ArtifactId string `json:"artifact_id,omitempty"` - Name string `json:"name,omitempty"` + Name string `json:"name,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_cache_status.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_cache_status.go index 7126460fbe1..6e50baf2284 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_cache_status.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_cache_status.go @@ -8,17 +8,16 @@ */ package flyteadmin - // CoreCatalogCacheStatus : - CACHE_DISABLED: Used to indicate that caching was disabled - CACHE_MISS: Used to indicate that the cache lookup resulted in no matches - CACHE_HIT: used to indicate that the associated artifact was a result of a previous execution - CACHE_POPULATED: used to indicate that the resultant artifact was added to the cache - CACHE_LOOKUP_FAILURE: Used to indicate that cache lookup failed because of an error - CACHE_PUT_FAILURE: Used to indicate that cache lookup failed because of an error - CACHE_SKIPPED: Used to indicate the cache lookup was skipped type CoreCatalogCacheStatus string // List of coreCatalogCacheStatus const ( - CoreCatalogCacheStatusDISABLED CoreCatalogCacheStatus = "CACHE_DISABLED" - CoreCatalogCacheStatusMISS CoreCatalogCacheStatus = "CACHE_MISS" - CoreCatalogCacheStatusHIT CoreCatalogCacheStatus = "CACHE_HIT" - CoreCatalogCacheStatusPOPULATED CoreCatalogCacheStatus = "CACHE_POPULATED" + CoreCatalogCacheStatusDISABLED CoreCatalogCacheStatus = "CACHE_DISABLED" + CoreCatalogCacheStatusMISS CoreCatalogCacheStatus = "CACHE_MISS" + CoreCatalogCacheStatusHIT CoreCatalogCacheStatus = "CACHE_HIT" + CoreCatalogCacheStatusPOPULATED CoreCatalogCacheStatus = "CACHE_POPULATED" CoreCatalogCacheStatusLOOKUP_FAILURE CoreCatalogCacheStatus = "CACHE_LOOKUP_FAILURE" - CoreCatalogCacheStatusPUT_FAILURE CoreCatalogCacheStatus = "CACHE_PUT_FAILURE" - CoreCatalogCacheStatusSKIPPED CoreCatalogCacheStatus = "CACHE_SKIPPED" + CoreCatalogCacheStatusPUT_FAILURE CoreCatalogCacheStatus = "CACHE_PUT_FAILURE" + CoreCatalogCacheStatusSKIPPED CoreCatalogCacheStatus = "CACHE_SKIPPED" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_metadata.go index 43e1cbb8587..a4223f28b84 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_catalog_metadata.go @@ -10,7 +10,7 @@ package flyteadmin type CoreCatalogMetadata struct { - DatasetId *CoreIdentifier `json:"dataset_id,omitempty"` - ArtifactTag *CoreCatalogArtifactTag `json:"artifact_tag,omitempty"` + DatasetId *CoreIdentifier `json:"dataset_id,omitempty"` + ArtifactTag *CoreCatalogArtifactTag `json:"artifact_tag,omitempty"` SourceTaskExecution *CoreTaskExecutionIdentifier `json:"source_task_execution,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_comparison_expression.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_comparison_expression.go index 0c0487d7057..86e9586a7dc 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_comparison_expression.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_comparison_expression.go @@ -11,7 +11,7 @@ package flyteadmin // Defines a 2-level tree where the root is a comparison operator and Operands are primitives or known variables. Each expression results in a boolean result. type CoreComparisonExpression struct { - Operator *ComparisonExpressionOperator `json:"operator,omitempty"` - LeftValue *CoreOperand `json:"left_value,omitempty"` - RightValue *CoreOperand `json:"right_value,omitempty"` + Operator *ComparisonExpressionOperator `json:"operator,omitempty"` + LeftValue *CoreOperand `json:"left_value,omitempty"` + RightValue *CoreOperand `json:"right_value,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_compiled_workflow_closure.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_compiled_workflow_closure.go index 8439d4d7103..64753a21b52 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_compiled_workflow_closure.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_compiled_workflow_closure.go @@ -11,7 +11,7 @@ package flyteadmin // A Compiled Workflow Closure contains all the information required to start a new execution, or to visualize a workflow and its details. The CompiledWorkflowClosure should always contain a primary workflow, that is the main workflow that will being the execution. All subworkflows are denormalized. WorkflowNodes refer to the workflow identifiers of compiled subworkflows. type CoreCompiledWorkflowClosure struct { - Primary *CoreCompiledWorkflow `json:"primary,omitempty"` + Primary *CoreCompiledWorkflow `json:"primary,omitempty"` SubWorkflows []CoreCompiledWorkflow `json:"sub_workflows,omitempty"` - Tasks []CoreCompiledTask `json:"tasks,omitempty"` + Tasks []CoreCompiledTask `json:"tasks,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_conjunction_expression.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_conjunction_expression.go index ea24c0aeca8..cf8c99b9bb7 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_conjunction_expression.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_conjunction_expression.go @@ -11,7 +11,7 @@ package flyteadmin // Defines a conjunction expression of two boolean expressions. type CoreConjunctionExpression struct { - Operator *ConjunctionExpressionLogicalOperator `json:"operator,omitempty"` - LeftExpression *CoreBooleanExpression `json:"left_expression,omitempty"` - RightExpression *CoreBooleanExpression `json:"right_expression,omitempty"` + Operator *ConjunctionExpressionLogicalOperator `json:"operator,omitempty"` + LeftExpression *CoreBooleanExpression `json:"left_expression,omitempty"` + RightExpression *CoreBooleanExpression `json:"right_expression,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_connection_set.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_connection_set.go index 5f05c8ffb6c..8d7b9bc3443 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_connection_set.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_connection_set.go @@ -11,5 +11,5 @@ package flyteadmin type CoreConnectionSet struct { Downstream map[string]ConnectionSetIdList `json:"downstream,omitempty"` - Upstream map[string]ConnectionSetIdList `json:"upstream,omitempty"` + Upstream map[string]ConnectionSetIdList `json:"upstream,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_container.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_container.go index ad1d5696457..26f0e9d65a0 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_container.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_container.go @@ -20,8 +20,8 @@ type CoreContainer struct { // Environment variables will be set as the container is starting up. Env []CoreKeyValuePair `json:"env,omitempty"` // Allows extra configs to be available for the container. TODO: elaborate on how configs will become available. Deprecated, please use TaskTemplate.config instead. - Config []CoreKeyValuePair `json:"config,omitempty"` - Ports []CoreContainerPort `json:"ports,omitempty"` - DataConfig *CoreDataLoadingConfig `json:"data_config,omitempty"` + Config []CoreKeyValuePair `json:"config,omitempty"` + Ports []CoreContainerPort `json:"ports,omitempty"` + DataConfig *CoreDataLoadingConfig `json:"data_config,omitempty"` Architecture *ContainerArchitecture `json:"architecture,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_data_loading_config.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_data_loading_config.go index 5861de21a64..f74fb3aaa1c 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_data_loading_config.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_data_loading_config.go @@ -11,9 +11,9 @@ package flyteadmin // This configuration allows executing raw containers in Flyte using the Flyte CoPilot system. Flyte CoPilot, eliminates the needs of flytekit or sdk inside the container. Any inputs required by the users container are side-loaded in the input_path Any outputs generated by the user container - within output_path are automatically uploaded. type CoreDataLoadingConfig struct { - Enabled bool `json:"enabled,omitempty"` - InputPath string `json:"input_path,omitempty"` - OutputPath string `json:"output_path,omitempty"` - Format *DataLoadingConfigLiteralMapFormat `json:"format,omitempty"` - IoStrategy *CoreIoStrategy `json:"io_strategy,omitempty"` + Enabled bool `json:"enabled,omitempty"` + InputPath string `json:"input_path,omitempty"` + OutputPath string `json:"output_path,omitempty"` + Format *DataLoadingConfigLiteralMapFormat `json:"format,omitempty"` + IoStrategy *CoreIoStrategy `json:"io_strategy,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_execution_error.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_execution_error.go index cb796560c5a..4b2b6e07b4e 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_execution_error.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_execution_error.go @@ -13,7 +13,7 @@ package flyteadmin type CoreExecutionError struct { Code string `json:"code,omitempty"` // Detailed description of the error - including stack trace. - Message string `json:"message,omitempty"` - ErrorUri string `json:"error_uri,omitempty"` - Kind *ExecutionErrorErrorKind `json:"kind,omitempty"` + Message string `json:"message,omitempty"` + ErrorUri string `json:"error_uri,omitempty"` + Kind *ExecutionErrorErrorKind `json:"kind,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_identity.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_identity.go index 11d8f3cfde7..60251e7b6b8 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_identity.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_identity.go @@ -16,6 +16,6 @@ type CoreIdentity struct { // k8s_service_account references a kubernetes service account to impersonate. K8sServiceAccount string `json:"k8s_service_account,omitempty"` // oauth2_client references an oauth2 client. Backend plugins can use this information to impersonate the client when making external calls. - Oauth2Client *CoreOAuth2Client `json:"oauth2_client,omitempty"` - ExecutionIdentity string `json:"execution_identity,omitempty"` + Oauth2Client *CoreOAuth2Client `json:"oauth2_client,omitempty"` + ExecutionIdentity string `json:"execution_identity,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_if_block.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_if_block.go index fe1f9e02fce..88c084f8577 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_if_block.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_if_block.go @@ -12,5 +12,5 @@ package flyteadmin // Defines a condition and the execution unit that should be executed if the condition is satisfied. type CoreIfBlock struct { Condition *CoreBooleanExpression `json:"condition,omitempty"` - ThenNode *CoreNode `json:"then_node,omitempty"` + ThenNode *CoreNode `json:"then_node,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_io_strategy.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_io_strategy.go index 7fdf7e07ad6..d310d02903a 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_io_strategy.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_io_strategy.go @@ -11,5 +11,5 @@ package flyteadmin type CoreIoStrategy struct { DownloadMode *IoStrategyDownloadMode `json:"download_mode,omitempty"` - UploadMode *IoStrategyUploadMode `json:"upload_mode,omitempty"` + UploadMode *IoStrategyUploadMode `json:"upload_mode,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_k8s_pod.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_k8s_pod.go index 3288876b6e2..df6db9479b0 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_k8s_pod.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_k8s_pod.go @@ -12,7 +12,7 @@ package flyteadmin // Defines a pod spec and additional pod metadata that is created when a task is executed. type CoreK8sPod struct { // Contains additional metadata for building a kubernetes pod. - Metadata *CoreK8sObjectMetadata `json:"metadata,omitempty"` - PodSpec *ProtobufStruct `json:"pod_spec,omitempty"` + Metadata *CoreK8sObjectMetadata `json:"metadata,omitempty"` + PodSpec *ProtobufStruct `json:"pod_spec,omitempty"` DataConfig *CoreDataLoadingConfig `json:"data_config,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_literal.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_literal.go index 827463a72b7..03ee493617f 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_literal.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_literal.go @@ -17,5 +17,5 @@ type CoreLiteral struct { Collection *CoreLiteralCollection `json:"collection,omitempty"` // A map of strings to literals. Map_ *CoreLiteralMap `json:"map,omitempty"` - Hash string `json:"hash,omitempty"` + Hash string `json:"hash,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_literal_type.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_literal_type.go index 934d0c8ff6f..08611bf6c09 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_literal_type.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_literal_type.go @@ -22,7 +22,7 @@ type CoreLiteralType struct { // A blob might have specialized implementation details depending on associated metadata. Blob *CoreBlobType `json:"blob,omitempty"` // Defines an enum with pre-defined string values. - EnumType *CoreEnumType `json:"enum_type,omitempty"` + EnumType *CoreEnumType `json:"enum_type,omitempty"` StructuredDatasetType *CoreStructuredDatasetType `json:"structured_dataset_type,omitempty"` // Defines an union type with pre-defined LiteralTypes. UnionType *CoreUnionType `json:"union_type,omitempty"` diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_execution_identifier.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_execution_identifier.go index 44a74ea49f5..2a391e095fa 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_execution_identifier.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_execution_identifier.go @@ -11,6 +11,6 @@ package flyteadmin // Encapsulation of fields that identify a Flyte node execution entity. type CoreNodeExecutionIdentifier struct { - NodeId string `json:"node_id,omitempty"` + NodeId string `json:"node_id,omitempty"` ExecutionId *CoreWorkflowExecutionIdentifier `json:"execution_id,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_execution_phase.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_execution_phase.go index aa619393bf3..55c46425a55 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_execution_phase.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_execution_phase.go @@ -13,15 +13,15 @@ type CoreNodeExecutionPhase string // List of coreNodeExecutionPhase const ( - CoreNodeExecutionPhaseUNDEFINED CoreNodeExecutionPhase = "UNDEFINED" - CoreNodeExecutionPhaseQUEUED CoreNodeExecutionPhase = "QUEUED" - CoreNodeExecutionPhaseRUNNING CoreNodeExecutionPhase = "RUNNING" - CoreNodeExecutionPhaseSUCCEEDED CoreNodeExecutionPhase = "SUCCEEDED" - CoreNodeExecutionPhaseFAILING CoreNodeExecutionPhase = "FAILING" - CoreNodeExecutionPhaseFAILED CoreNodeExecutionPhase = "FAILED" - CoreNodeExecutionPhaseABORTED CoreNodeExecutionPhase = "ABORTED" - CoreNodeExecutionPhaseSKIPPED CoreNodeExecutionPhase = "SKIPPED" - CoreNodeExecutionPhaseTIMED_OUT CoreNodeExecutionPhase = "TIMED_OUT" + CoreNodeExecutionPhaseUNDEFINED CoreNodeExecutionPhase = "UNDEFINED" + CoreNodeExecutionPhaseQUEUED CoreNodeExecutionPhase = "QUEUED" + CoreNodeExecutionPhaseRUNNING CoreNodeExecutionPhase = "RUNNING" + CoreNodeExecutionPhaseSUCCEEDED CoreNodeExecutionPhase = "SUCCEEDED" + CoreNodeExecutionPhaseFAILING CoreNodeExecutionPhase = "FAILING" + CoreNodeExecutionPhaseFAILED CoreNodeExecutionPhase = "FAILED" + CoreNodeExecutionPhaseABORTED CoreNodeExecutionPhase = "ABORTED" + CoreNodeExecutionPhaseSKIPPED CoreNodeExecutionPhase = "SKIPPED" + CoreNodeExecutionPhaseTIMED_OUT CoreNodeExecutionPhase = "TIMED_OUT" CoreNodeExecutionPhaseDYNAMIC_RUNNING CoreNodeExecutionPhase = "DYNAMIC_RUNNING" - CoreNodeExecutionPhaseRECOVERED CoreNodeExecutionPhase = "RECOVERED" + CoreNodeExecutionPhaseRECOVERED CoreNodeExecutionPhase = "RECOVERED" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_metadata.go index 79e9c1e380f..3913c96c833 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_node_metadata.go @@ -15,6 +15,6 @@ type CoreNodeMetadata struct { // The overall timeout of a task. Timeout string `json:"timeout,omitempty"` // Number of retries per task. - Retries *CoreRetryStrategy `json:"retries,omitempty"` - Interruptible bool `json:"interruptible,omitempty"` + Retries *CoreRetryStrategy `json:"retries,omitempty"` + Interruptible bool `json:"interruptible,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_client.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_client.go index b44f9690599..8413c9169f2 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_client.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_client.go @@ -11,6 +11,6 @@ package flyteadmin // OAuth2Client encapsulates OAuth2 Client Credentials to be used when making calls on behalf of that task. type CoreOAuth2Client struct { - ClientId string `json:"client_id,omitempty"` + ClientId string `json:"client_id,omitempty"` ClientSecret *CoreSecret `json:"client_secret,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_token_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_token_request.go index 7edeb1353f6..6dcdb2dddd6 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_token_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_token_request.go @@ -11,9 +11,9 @@ package flyteadmin // OAuth2TokenRequest encapsulates information needed to request an OAuth2 token. FLYTE_TOKENS_ENV_PREFIX will be passed to indicate the prefix of the environment variables that will be present if tokens are passed through environment variables. FLYTE_TOKENS_PATH_PREFIX will be passed to indicate the prefix of the path where secrets will be mounted if tokens are passed through file mounts. type CoreOAuth2TokenRequest struct { - Name string `json:"name,omitempty"` - Type_ *CoreOAuth2TokenRequestType `json:"type,omitempty"` - Client *CoreOAuth2Client `json:"client,omitempty"` - IdpDiscoveryEndpoint string `json:"idp_discovery_endpoint,omitempty"` - TokenEndpoint string `json:"token_endpoint,omitempty"` + Name string `json:"name,omitempty"` + Type_ *CoreOAuth2TokenRequestType `json:"type,omitempty"` + Client *CoreOAuth2Client `json:"client,omitempty"` + IdpDiscoveryEndpoint string `json:"idp_discovery_endpoint,omitempty"` + TokenEndpoint string `json:"token_endpoint,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_token_request_type.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_token_request_type.go index 27ec7f050cf..5e9b5d4e6f9 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_token_request_type.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_o_auth2_token_request_type.go @@ -8,7 +8,6 @@ */ package flyteadmin - // CoreOAuth2TokenRequestType : Type of the token requested. - CLIENT_CREDENTIALS: CLIENT_CREDENTIALS indicates a 2-legged OAuth token requested using client credentials. type CoreOAuth2TokenRequestType string diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_operand.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_operand.go index 10f10fc2338..07f2887e700 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_operand.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_operand.go @@ -12,6 +12,6 @@ package flyteadmin // Defines an operand to a comparison expression. type CoreOperand struct { Primitive *CorePrimitive `json:"primitive,omitempty"` - Var_ string `json:"var,omitempty"` - Scalar *CoreScalar `json:"scalar,omitempty"` + Var_ string `json:"var,omitempty"` + Scalar *CoreScalar `json:"scalar,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_output_reference.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_output_reference.go index 9faccb26aad..469e79f2ddf 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_output_reference.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_output_reference.go @@ -14,6 +14,6 @@ type CoreOutputReference struct { // Node id must exist at the graph layer. NodeId string `json:"node_id,omitempty"` // Variable name must refer to an output variable for the node. - Var_ string `json:"var,omitempty"` + Var_ string `json:"var,omitempty"` AttrPath []CorePromiseAttribute `json:"attr_path,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_primitive.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_primitive.go index 5b976320d25..efe369c2467 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_primitive.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_primitive.go @@ -14,10 +14,10 @@ import ( ) type CorePrimitive struct { - Integer string `json:"integer,omitempty"` - FloatValue float64 `json:"float_value,omitempty"` - StringValue string `json:"string_value,omitempty"` - Boolean bool `json:"boolean,omitempty"` - Datetime time.Time `json:"datetime,omitempty"` - Duration string `json:"duration,omitempty"` + Integer string `json:"integer,omitempty"` + FloatValue float64 `json:"float_value,omitempty"` + StringValue string `json:"string_value,omitempty"` + Boolean bool `json:"boolean,omitempty"` + Datetime time.Time `json:"datetime,omitempty"` + Duration string `json:"duration,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_promise_attribute.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_promise_attribute.go index 85428df90b7..2c6ab252f16 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_promise_attribute.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_promise_attribute.go @@ -11,5 +11,5 @@ package flyteadmin type CorePromiseAttribute struct { StringValue string `json:"string_value,omitempty"` - IntValue int32 `json:"int_value,omitempty"` + IntValue int32 `json:"int_value,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_quality_of_service.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_quality_of_service.go index 9378a683a66..d735974d03c 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_quality_of_service.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_quality_of_service.go @@ -11,6 +11,6 @@ package flyteadmin // Indicates the priority of an execution. type CoreQualityOfService struct { - Tier *QualityOfServiceTier `json:"tier,omitempty"` + Tier *QualityOfServiceTier `json:"tier,omitempty"` Spec *CoreQualityOfServiceSpec `json:"spec,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_resource_type.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_resource_type.go index 33c7ff4bf90..26866d1c4c7 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_resource_type.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_resource_type.go @@ -8,15 +8,14 @@ */ package flyteadmin - // CoreResourceType : Indicates a resource type within Flyte. - DATASET: A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects type CoreResourceType string // List of coreResourceType const ( CoreResourceTypeUNSPECIFIED CoreResourceType = "UNSPECIFIED" - CoreResourceTypeTASK CoreResourceType = "TASK" - CoreResourceTypeWORKFLOW CoreResourceType = "WORKFLOW" + CoreResourceTypeTASK CoreResourceType = "TASK" + CoreResourceTypeWORKFLOW CoreResourceType = "WORKFLOW" CoreResourceTypeLAUNCH_PLAN CoreResourceType = "LAUNCH_PLAN" - CoreResourceTypeDATASET CoreResourceType = "DATASET" + CoreResourceTypeDATASET CoreResourceType = "DATASET" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_scalar.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_scalar.go index 3e3dbffbfab..09c05e7befd 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_scalar.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_scalar.go @@ -10,13 +10,13 @@ package flyteadmin type CoreScalar struct { - Primitive *CorePrimitive `json:"primitive,omitempty"` - Blob *CoreBlob `json:"blob,omitempty"` - Binary *CoreBinary `json:"binary,omitempty"` - Schema *CoreSchema `json:"schema,omitempty"` - NoneType *CoreVoid `json:"none_type,omitempty"` - Error_ *CoreError `json:"error,omitempty"` - Generic *ProtobufStruct `json:"generic,omitempty"` + Primitive *CorePrimitive `json:"primitive,omitempty"` + Blob *CoreBlob `json:"blob,omitempty"` + Binary *CoreBinary `json:"binary,omitempty"` + Schema *CoreSchema `json:"schema,omitempty"` + NoneType *CoreVoid `json:"none_type,omitempty"` + Error_ *CoreError `json:"error,omitempty"` + Generic *ProtobufStruct `json:"generic,omitempty"` StructuredDataset *CoreStructuredDataset `json:"structured_dataset,omitempty"` - Union *CoreUnion `json:"union,omitempty"` + Union *CoreUnion `json:"union,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_schema.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_schema.go index df6af8e4504..b621770da0f 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_schema.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_schema.go @@ -11,6 +11,6 @@ package flyteadmin // A strongly typed schema that defines the interface of data retrieved from the underlying storage medium. type CoreSchema struct { - Uri string `json:"uri,omitempty"` + Uri string `json:"uri,omitempty"` Type_ *CoreSchemaType `json:"type,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_secret.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_secret.go index 94025fa6d2d..3b709cefe66 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_secret.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_secret.go @@ -11,8 +11,8 @@ package flyteadmin // Secret encapsulates information about the secret a task needs to proceed. An environment variable FLYTE_SECRETS_ENV_PREFIX will be passed to indicate the prefix of the environment variables that will be present if secrets are passed through environment variables. FLYTE_SECRETS_DEFAULT_DIR will be passed to indicate the prefix of the path where secrets will be mounted if secrets are passed through file mounts. type CoreSecret struct { - Group string `json:"group,omitempty"` - GroupVersion string `json:"group_version,omitempty"` - Key string `json:"key,omitempty"` + Group string `json:"group,omitempty"` + GroupVersion string `json:"group_version,omitempty"` + Key string `json:"key,omitempty"` MountRequirement *SecretMountType `json:"mount_requirement,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_simple_type.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_simple_type.go index 4dada71aaaa..23988bb9c17 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_simple_type.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_simple_type.go @@ -8,20 +8,19 @@ */ package flyteadmin - // CoreSimpleType : Define a set of simple types. type CoreSimpleType string // List of coreSimpleType const ( - CoreSimpleTypeNONE CoreSimpleType = "NONE" - CoreSimpleTypeINTEGER CoreSimpleType = "INTEGER" - CoreSimpleTypeFLOAT CoreSimpleType = "FLOAT" - CoreSimpleTypeSTRING_ CoreSimpleType = "STRING" - CoreSimpleTypeBOOLEAN CoreSimpleType = "BOOLEAN" + CoreSimpleTypeNONE CoreSimpleType = "NONE" + CoreSimpleTypeINTEGER CoreSimpleType = "INTEGER" + CoreSimpleTypeFLOAT CoreSimpleType = "FLOAT" + CoreSimpleTypeSTRING_ CoreSimpleType = "STRING" + CoreSimpleTypeBOOLEAN CoreSimpleType = "BOOLEAN" CoreSimpleTypeDATETIME CoreSimpleType = "DATETIME" CoreSimpleTypeDURATION CoreSimpleType = "DURATION" - CoreSimpleTypeBINARY CoreSimpleType = "BINARY" - CoreSimpleTypeERROR_ CoreSimpleType = "ERROR" - CoreSimpleTypeSTRUCT_ CoreSimpleType = "STRUCT" + CoreSimpleTypeBINARY CoreSimpleType = "BINARY" + CoreSimpleTypeERROR_ CoreSimpleType = "ERROR" + CoreSimpleTypeSTRUCT_ CoreSimpleType = "STRUCT" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_sql.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_sql.go index 508b2018bcc..c0cd22cb480 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_sql.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_sql.go @@ -11,6 +11,6 @@ package flyteadmin // Sql represents a generic sql workload with a statement and dialect. type CoreSql struct { - Statement string `json:"statement,omitempty"` - Dialect *SqlDialect `json:"dialect,omitempty"` + Statement string `json:"statement,omitempty"` + Dialect *SqlDialect `json:"dialect,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_structured_dataset.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_structured_dataset.go index 92b97bb11e6..88fb473fcc2 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_structured_dataset.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_structured_dataset.go @@ -10,6 +10,6 @@ package flyteadmin type CoreStructuredDataset struct { - Uri string `json:"uri,omitempty"` + Uri string `json:"uri,omitempty"` Metadata *CoreStructuredDatasetMetadata `json:"metadata,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_execution_identifier.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_execution_identifier.go index 33cb47e05e7..c0f0264ad27 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_execution_identifier.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_execution_identifier.go @@ -11,7 +11,7 @@ package flyteadmin // Encapsulation of fields that identify a Flyte task execution entity. type CoreTaskExecutionIdentifier struct { - TaskId *CoreIdentifier `json:"task_id,omitempty"` + TaskId *CoreIdentifier `json:"task_id,omitempty"` NodeExecutionId *CoreNodeExecutionIdentifier `json:"node_execution_id,omitempty"` - RetryAttempt int64 `json:"retry_attempt,omitempty"` + RetryAttempt int64 `json:"retry_attempt,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_execution_phase.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_execution_phase.go index 4e70781eb17..0dd23b9a2ca 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_execution_phase.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_execution_phase.go @@ -13,12 +13,12 @@ type CoreTaskExecutionPhase string // List of coreTaskExecutionPhase const ( - CoreTaskExecutionPhaseUNDEFINED CoreTaskExecutionPhase = "UNDEFINED" - CoreTaskExecutionPhaseQUEUED CoreTaskExecutionPhase = "QUEUED" - CoreTaskExecutionPhaseRUNNING CoreTaskExecutionPhase = "RUNNING" - CoreTaskExecutionPhaseSUCCEEDED CoreTaskExecutionPhase = "SUCCEEDED" - CoreTaskExecutionPhaseABORTED CoreTaskExecutionPhase = "ABORTED" - CoreTaskExecutionPhaseFAILED CoreTaskExecutionPhase = "FAILED" - CoreTaskExecutionPhaseINITIALIZING CoreTaskExecutionPhase = "INITIALIZING" + CoreTaskExecutionPhaseUNDEFINED CoreTaskExecutionPhase = "UNDEFINED" + CoreTaskExecutionPhaseQUEUED CoreTaskExecutionPhase = "QUEUED" + CoreTaskExecutionPhaseRUNNING CoreTaskExecutionPhase = "RUNNING" + CoreTaskExecutionPhaseSUCCEEDED CoreTaskExecutionPhase = "SUCCEEDED" + CoreTaskExecutionPhaseABORTED CoreTaskExecutionPhase = "ABORTED" + CoreTaskExecutionPhaseFAILED CoreTaskExecutionPhase = "FAILED" + CoreTaskExecutionPhaseINITIALIZING CoreTaskExecutionPhase = "INITIALIZING" CoreTaskExecutionPhaseWAITING_FOR_RESOURCES CoreTaskExecutionPhase = "WAITING_FOR_RESOURCES" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_log.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_log.go index 6822e903b57..1eef3655de5 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_log.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_log.go @@ -10,8 +10,8 @@ package flyteadmin type CoreTaskLog struct { - Uri string `json:"uri,omitempty"` - Name string `json:"name,omitempty"` + Uri string `json:"uri,omitempty"` + Name string `json:"name,omitempty"` MessageFormat *TaskLogMessageFormat `json:"message_format,omitempty"` - Ttl string `json:"ttl,omitempty"` + Ttl string `json:"ttl,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_metadata.go index d81e25707ae..658e8e16073 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_metadata.go @@ -22,11 +22,11 @@ type CoreTaskMetadata struct { DiscoveryVersion string `json:"discovery_version,omitempty"` // If set, this indicates that this task is deprecated. This will enable owners of tasks to notify consumers of the ending of support for a given task. DeprecatedErrorMessage string `json:"deprecated_error_message,omitempty"` - Interruptible bool `json:"interruptible,omitempty"` - CacheSerializable bool `json:"cache_serializable,omitempty"` + Interruptible bool `json:"interruptible,omitempty"` + CacheSerializable bool `json:"cache_serializable,omitempty"` // Indicates whether the task will generate a Deck URI when it finishes executing. - GeneratesDeck bool `json:"generates_deck,omitempty"` - Tags map[string]string `json:"tags,omitempty"` + GeneratesDeck bool `json:"generates_deck,omitempty"` + Tags map[string]string `json:"tags,omitempty"` // pod_template_name is the unique name of a PodTemplate k8s resource to be used as the base configuration if this task creates a k8s Pod. If this value is set, the specified PodTemplate will be used instead of, but applied identically as, the default PodTemplate configured in FlytePropeller. PodTemplateName string `json:"pod_template_name,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_template.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_template.go index a8172989711..163a0eb7c8a 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_template.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_task_template.go @@ -20,13 +20,13 @@ type CoreTaskTemplate struct { // A strongly typed interface for the task. This enables others to use this task within a workflow and guarantees compile-time validation of the workflow to avoid costly runtime failures. Interface_ *CoreTypedInterface `json:"interface,omitempty"` // Custom data about the task. This is extensible to allow various plugins in the system. - Custom *ProtobufStruct `json:"custom,omitempty"` - Container *CoreContainer `json:"container,omitempty"` - K8sPod *CoreK8sPod `json:"k8s_pod,omitempty"` - Sql *CoreSql `json:"sql,omitempty"` + Custom *ProtobufStruct `json:"custom,omitempty"` + Container *CoreContainer `json:"container,omitempty"` + K8sPod *CoreK8sPod `json:"k8s_pod,omitempty"` + Sql *CoreSql `json:"sql,omitempty"` // This can be used to customize task handling at execution time for the same task type. TaskTypeVersion int32 `json:"task_type_version,omitempty"` // security_context encapsulates security attributes requested to run this task. SecurityContext *CoreSecurityContext `json:"security_context,omitempty"` - Config map[string]string `json:"config,omitempty"` + Config map[string]string `json:"config,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_typed_interface.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_typed_interface.go index c214430aa8f..8a148764606 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_typed_interface.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_typed_interface.go @@ -11,6 +11,6 @@ package flyteadmin // Defines strongly typed inputs and outputs. type CoreTypedInterface struct { - Inputs *CoreVariableMap `json:"inputs,omitempty"` + Inputs *CoreVariableMap `json:"inputs,omitempty"` Outputs *CoreVariableMap `json:"outputs,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_union.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_union.go index 9868ba7db47..dc4a92e0d43 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_union.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_union.go @@ -11,6 +11,6 @@ package flyteadmin // The runtime representation of a tagged union value. See `UnionType` for more details. type CoreUnion struct { - Value *CoreLiteral `json:"value,omitempty"` + Value *CoreLiteral `json:"value,omitempty"` Type_ *CoreLiteralType `json:"type,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_variable.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_variable.go index 2b7beb0890d..40e43f05881 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_variable.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_variable.go @@ -12,6 +12,6 @@ package flyteadmin // Defines a strongly typed variable. type CoreVariable struct { // Variable literal type. - Type_ *CoreLiteralType `json:"type,omitempty"` - Description string `json:"description,omitempty"` + Type_ *CoreLiteralType `json:"type,omitempty"` + Description string `json:"description,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_execution_phase.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_execution_phase.go index 343edc0df20..0745afacd7f 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_execution_phase.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_execution_phase.go @@ -13,14 +13,14 @@ type CoreWorkflowExecutionPhase string // List of coreWorkflowExecutionPhase const ( - CoreWorkflowExecutionPhaseUNDEFINED CoreWorkflowExecutionPhase = "UNDEFINED" - CoreWorkflowExecutionPhaseQUEUED CoreWorkflowExecutionPhase = "QUEUED" - CoreWorkflowExecutionPhaseRUNNING CoreWorkflowExecutionPhase = "RUNNING" + CoreWorkflowExecutionPhaseUNDEFINED CoreWorkflowExecutionPhase = "UNDEFINED" + CoreWorkflowExecutionPhaseQUEUED CoreWorkflowExecutionPhase = "QUEUED" + CoreWorkflowExecutionPhaseRUNNING CoreWorkflowExecutionPhase = "RUNNING" CoreWorkflowExecutionPhaseSUCCEEDING CoreWorkflowExecutionPhase = "SUCCEEDING" - CoreWorkflowExecutionPhaseSUCCEEDED CoreWorkflowExecutionPhase = "SUCCEEDED" - CoreWorkflowExecutionPhaseFAILING CoreWorkflowExecutionPhase = "FAILING" - CoreWorkflowExecutionPhaseFAILED CoreWorkflowExecutionPhase = "FAILED" - CoreWorkflowExecutionPhaseABORTED CoreWorkflowExecutionPhase = "ABORTED" - CoreWorkflowExecutionPhaseTIMED_OUT CoreWorkflowExecutionPhase = "TIMED_OUT" - CoreWorkflowExecutionPhaseABORTING CoreWorkflowExecutionPhase = "ABORTING" + CoreWorkflowExecutionPhaseSUCCEEDED CoreWorkflowExecutionPhase = "SUCCEEDED" + CoreWorkflowExecutionPhaseFAILING CoreWorkflowExecutionPhase = "FAILING" + CoreWorkflowExecutionPhaseFAILED CoreWorkflowExecutionPhase = "FAILED" + CoreWorkflowExecutionPhaseABORTED CoreWorkflowExecutionPhase = "ABORTED" + CoreWorkflowExecutionPhaseTIMED_OUT CoreWorkflowExecutionPhase = "TIMED_OUT" + CoreWorkflowExecutionPhaseABORTING CoreWorkflowExecutionPhase = "ABORTING" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_metadata.go index 4147e1babf6..9761a3abc44 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_metadata.go @@ -15,5 +15,5 @@ type CoreWorkflowMetadata struct { QualityOfService *CoreQualityOfService `json:"quality_of_service,omitempty"` // Defines how the system should behave when a failure is detected in the workflow execution. OnFailure *WorkflowMetadataOnFailurePolicy `json:"on_failure,omitempty"` - Tags map[string]string `json:"tags,omitempty"` + Tags map[string]string `json:"tags,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_node.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_node.go index 01f56e0571c..42b07706aa6 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_node.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_node.go @@ -12,6 +12,6 @@ package flyteadmin // Refers to a the workflow the node is to execute. type CoreWorkflowNode struct { // A globally unique identifier for the launch plan. - LaunchplanRef *CoreIdentifier `json:"launchplan_ref,omitempty"` + LaunchplanRef *CoreIdentifier `json:"launchplan_ref,omitempty"` SubWorkflowRef *CoreIdentifier `json:"sub_workflow_ref,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_template.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_template.go index 8ceba64866e..377a19bf826 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_template.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_core_workflow_template.go @@ -22,6 +22,6 @@ type CoreWorkflowTemplate struct { // A list of output bindings that specify how to construct workflow outputs. Bindings can pull node outputs or specify literals. All workflow outputs specified in the interface field must be bound in order for the workflow to be validated. A workflow has an implicit dependency on all of its nodes to execute successfully in order to bind final outputs. Most of these outputs will be Binding's with a BindingData of type OutputReference. That is, your workflow can just have an output of some constant (`Output(5)`), but usually, the workflow will be pulling outputs from the output of a task. Outputs []CoreBinding `json:"outputs,omitempty"` // +optional A catch-all node. This node is executed whenever the execution engine determines the workflow has failed. The interface of this node must match the Workflow interface with an additional input named 'error' of type pb.lyft.flyte.core.Error. - FailureNode *CoreNode `json:"failure_node,omitempty"` + FailureNode *CoreNode `json:"failure_node,omitempty"` MetadataDefaults *CoreWorkflowMetadataDefaults `json:"metadata_defaults,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_data_loading_config_literal_map_format.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_data_loading_config_literal_map_format.go index f63e8685f4b..bfb25fd4568 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_data_loading_config_literal_map_format.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_data_loading_config_literal_map_format.go @@ -8,13 +8,12 @@ */ package flyteadmin - // DataLoadingConfigLiteralMapFormat : - JSON: JSON / YAML for the metadata (which contains inlined primitive values). The representation is inline with the standard json specification as specified - https://www.json.org/json-en.html - PROTO: Proto is a serialized binary of `core.LiteralMap` defined in flyteidl/core type DataLoadingConfigLiteralMapFormat string // List of DataLoadingConfigLiteralMapFormat const ( - DataLoadingConfigLiteralMapFormatJSON DataLoadingConfigLiteralMapFormat = "JSON" - DataLoadingConfigLiteralMapFormatYAML DataLoadingConfigLiteralMapFormat = "YAML" + DataLoadingConfigLiteralMapFormatJSON DataLoadingConfigLiteralMapFormat = "JSON" + DataLoadingConfigLiteralMapFormatYAML DataLoadingConfigLiteralMapFormat = "YAML" DataLoadingConfigLiteralMapFormatPROTO DataLoadingConfigLiteralMapFormat = "PROTO" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_event_reason.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_event_reason.go index 8a5ec617ff9..2f85376781e 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_event_reason.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_event_reason.go @@ -14,6 +14,6 @@ import ( ) type EventEventReason struct { - Reason string `json:"reason,omitempty"` + Reason string `json:"reason,omitempty"` OccurredAt time.Time `json:"occurred_at,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_external_resource_info.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_external_resource_info.go index 0b9f2deb290..8daa059ed97 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_external_resource_info.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_external_resource_info.go @@ -14,10 +14,10 @@ type EventExternalResourceInfo struct { // Identifier for an external resource created by this task execution, for example Qubole query ID or presto query ids. ExternalId string `json:"external_id,omitempty"` // A unique index for the external resource with respect to all external resources for this task. Although the identifier may change between task reporting events or retries, this will remain the same to enable aggregating information from multiple reports. - Index int64 `json:"index,omitempty"` - RetryAttempt int64 `json:"retry_attempt,omitempty"` - Phase *CoreTaskExecutionPhase `json:"phase,omitempty"` + Index int64 `json:"index,omitempty"` + RetryAttempt int64 `json:"retry_attempt,omitempty"` + Phase *CoreTaskExecutionPhase `json:"phase,omitempty"` // Captures the status of caching for this external resource execution. CacheStatus *CoreCatalogCacheStatus `json:"cache_status,omitempty"` - Logs []CoreTaskLog `json:"logs,omitempty"` + Logs []CoreTaskLog `json:"logs,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_node_execution_event.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_node_execution_event.go index c08a047db16..8d80e2a1e5c 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_node_execution_event.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_node_execution_event.go @@ -14,34 +14,34 @@ import ( ) type EventNodeExecutionEvent struct { - Id *CoreNodeExecutionIdentifier `json:"id,omitempty"` - ProducerId string `json:"producer_id,omitempty"` - Phase *CoreNodeExecutionPhase `json:"phase,omitempty"` + Id *CoreNodeExecutionIdentifier `json:"id,omitempty"` + ProducerId string `json:"producer_id,omitempty"` + Phase *CoreNodeExecutionPhase `json:"phase,omitempty"` // This timestamp represents when the original event occurred, it is generated by the executor of the node. OccurredAt time.Time `json:"occurred_at,omitempty"` - InputUri string `json:"input_uri,omitempty"` + InputUri string `json:"input_uri,omitempty"` // Raw input data consumed by this node execution. InputData *CoreLiteralMap `json:"input_data,omitempty"` // URL to the output of the execution, it encodes all the information including Cloud source provider. ie., s3://... - OutputUri string `json:"output_uri,omitempty"` - Error_ *CoreExecutionError `json:"error,omitempty"` + OutputUri string `json:"output_uri,omitempty"` + Error_ *CoreExecutionError `json:"error,omitempty"` // Raw output data produced by this node execution. - OutputData *CoreLiteralMap `json:"output_data,omitempty"` + OutputData *CoreLiteralMap `json:"output_data,omitempty"` WorkflowNodeMetadata *FlyteidleventWorkflowNodeMetadata `json:"workflow_node_metadata,omitempty"` - TaskNodeMetadata *FlyteidleventTaskNodeMetadata `json:"task_node_metadata,omitempty"` + TaskNodeMetadata *FlyteidleventTaskNodeMetadata `json:"task_node_metadata,omitempty"` // [To be deprecated] Specifies which task (if any) launched this node. ParentTaskMetadata *EventParentTaskExecutionMetadata `json:"parent_task_metadata,omitempty"` // Specifies the parent node of the current node execution. Node executions at level zero will not have a parent node. ParentNodeMetadata *EventParentNodeExecutionMetadata `json:"parent_node_metadata,omitempty"` - RetryGroup string `json:"retry_group,omitempty"` - SpecNodeId string `json:"spec_node_id,omitempty"` - NodeName string `json:"node_name,omitempty"` - EventVersion int32 `json:"event_version,omitempty"` + RetryGroup string `json:"retry_group,omitempty"` + SpecNodeId string `json:"spec_node_id,omitempty"` + NodeName string `json:"node_name,omitempty"` + EventVersion int32 `json:"event_version,omitempty"` // Whether this node launched a subworkflow. IsParent bool `json:"is_parent,omitempty"` // Whether this node yielded a dynamic workflow. - IsDynamic bool `json:"is_dynamic,omitempty"` - DeckUri string `json:"deck_uri,omitempty"` + IsDynamic bool `json:"is_dynamic,omitempty"` + DeckUri string `json:"deck_uri,omitempty"` // This timestamp represents the instant when the event was reported by the executing framework. For example, when first processing a node the `occurred_at` timestamp should be the instant propeller makes progress, so when literal inputs are initially copied. The event however will not be sent until after the copy completes. Extracting both of these timestamps facilitates a more accurate portrayal of the evaluation time-series. ReportedAt time.Time `json:"reported_at,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_task_execution_event.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_task_execution_event.go index 2445468bacb..dac65497ac5 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_task_execution_event.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_task_execution_event.go @@ -16,12 +16,12 @@ import ( // Plugin specific execution event information. For tasks like Python, Hive, Spark, DynamicJob. type EventTaskExecutionEvent struct { // ID of the task. In combination with the retryAttempt this will indicate the task execution uniquely for a given parent node execution. - TaskId *CoreIdentifier `json:"task_id,omitempty"` + TaskId *CoreIdentifier `json:"task_id,omitempty"` ParentNodeExecutionId *CoreNodeExecutionIdentifier `json:"parent_node_execution_id,omitempty"` - RetryAttempt int64 `json:"retry_attempt,omitempty"` - Phase *CoreTaskExecutionPhase `json:"phase,omitempty"` - ProducerId string `json:"producer_id,omitempty"` - Logs []CoreTaskLog `json:"logs,omitempty"` + RetryAttempt int64 `json:"retry_attempt,omitempty"` + Phase *CoreTaskExecutionPhase `json:"phase,omitempty"` + ProducerId string `json:"producer_id,omitempty"` + Logs []CoreTaskLog `json:"logs,omitempty"` // This timestamp represents when the original event occurred, it is generated by the executor of the task. OccurredAt time.Time `json:"occurred_at,omitempty"` // URI of the input file, it encodes all the information including Cloud source provider. ie., s3://... @@ -29,8 +29,8 @@ type EventTaskExecutionEvent struct { // Raw input data consumed by this task execution. InputData *CoreLiteralMap `json:"input_data,omitempty"` // URI to the output of the execution, it will be in a format that encodes all the information including Cloud source provider. ie., s3://... - OutputUri string `json:"output_uri,omitempty"` - Error_ *CoreExecutionError `json:"error,omitempty"` + OutputUri string `json:"output_uri,omitempty"` + Error_ *CoreExecutionError `json:"error,omitempty"` // Raw output data produced by this task execution. OutputData *CoreLiteralMap `json:"output_data,omitempty"` // Custom data that the task plugin sends back. This is extensible to allow various plugins in the system. diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_workflow_execution_event.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_workflow_execution_event.go index ce8d46d58a6..279f0d5a5c7 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_workflow_execution_event.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_event_workflow_execution_event.go @@ -15,13 +15,13 @@ import ( type EventWorkflowExecutionEvent struct { ExecutionId *CoreWorkflowExecutionIdentifier `json:"execution_id,omitempty"` - ProducerId string `json:"producer_id,omitempty"` - Phase *CoreWorkflowExecutionPhase `json:"phase,omitempty"` + ProducerId string `json:"producer_id,omitempty"` + Phase *CoreWorkflowExecutionPhase `json:"phase,omitempty"` // This timestamp represents when the original event occurred, it is generated by the executor of the workflow. OccurredAt time.Time `json:"occurred_at,omitempty"` // URL to the output of the execution, it encodes all the information including Cloud source provider. ie., s3://... - OutputUri string `json:"output_uri,omitempty"` - Error_ *CoreExecutionError `json:"error,omitempty"` + OutputUri string `json:"output_uri,omitempty"` + Error_ *CoreExecutionError `json:"error,omitempty"` // Raw output data produced by this workflow execution. OutputData *CoreLiteralMap `json:"output_data,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_execution_error_error_kind.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_execution_error_error_kind.go index 6958ad770bf..fa2eb9e95e0 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_execution_error_error_kind.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_execution_error_error_kind.go @@ -14,6 +14,6 @@ type ExecutionErrorErrorKind string // List of ExecutionErrorErrorKind const ( ExecutionErrorErrorKindUNKNOWN ExecutionErrorErrorKind = "UNKNOWN" - ExecutionErrorErrorKindUSER ExecutionErrorErrorKind = "USER" - ExecutionErrorErrorKindSYSTEM ExecutionErrorErrorKind = "SYSTEM" + ExecutionErrorErrorKindUSER ExecutionErrorErrorKind = "USER" + ExecutionErrorErrorKindSYSTEM ExecutionErrorErrorKind = "SYSTEM" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_execution_metadata_execution_mode.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_execution_metadata_execution_mode.go index acc8c6bf690..000c4da4c65 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_execution_metadata_execution_mode.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_execution_metadata_execution_mode.go @@ -8,16 +8,15 @@ */ package flyteadmin - // ExecutionMetadataExecutionMode : The method by which this execution was launched. - MANUAL: The default execution mode, MANUAL implies that an execution was launched by an individual. - SCHEDULED: A schedule triggered this execution launch. - SYSTEM: A system process was responsible for launching this execution rather an individual. - RELAUNCH: This execution was launched with identical inputs as a previous execution. - CHILD_WORKFLOW: This execution was triggered by another execution. - RECOVERED: This execution was recovered from another execution. type ExecutionMetadataExecutionMode string // List of ExecutionMetadataExecutionMode const ( - ExecutionMetadataExecutionModeMANUAL ExecutionMetadataExecutionMode = "MANUAL" - ExecutionMetadataExecutionModeSCHEDULED ExecutionMetadataExecutionMode = "SCHEDULED" - ExecutionMetadataExecutionModeSYSTEM ExecutionMetadataExecutionMode = "SYSTEM" - ExecutionMetadataExecutionModeRELAUNCH ExecutionMetadataExecutionMode = "RELAUNCH" + ExecutionMetadataExecutionModeMANUAL ExecutionMetadataExecutionMode = "MANUAL" + ExecutionMetadataExecutionModeSCHEDULED ExecutionMetadataExecutionMode = "SCHEDULED" + ExecutionMetadataExecutionModeSYSTEM ExecutionMetadataExecutionMode = "SYSTEM" + ExecutionMetadataExecutionModeRELAUNCH ExecutionMetadataExecutionMode = "RELAUNCH" ExecutionMetadataExecutionModeCHILD_WORKFLOW ExecutionMetadataExecutionMode = "CHILD_WORKFLOW" - ExecutionMetadataExecutionModeRECOVERED ExecutionMetadataExecutionMode = "RECOVERED" + ExecutionMetadataExecutionModeRECOVERED ExecutionMetadataExecutionMode = "RECOVERED" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_node_execution.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_node_execution.go index 7ee8bcb82e4..98ec72e86b7 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_node_execution.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_node_execution.go @@ -16,6 +16,6 @@ type FlyteidladminNodeExecution struct { // Path to remote data store where input blob is stored. InputUri string `json:"input_uri,omitempty"` // Computed results associated with this node execution. - Closure *AdminNodeExecutionClosure `json:"closure,omitempty"` + Closure *AdminNodeExecutionClosure `json:"closure,omitempty"` Metadata *AdminNodeExecutionMetaData `json:"metadata,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_task_create_request.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_task_create_request.go index 507033a5ed7..ab5fca2a45d 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_task_create_request.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_task_create_request.go @@ -10,6 +10,6 @@ package flyteadmin type FlyteidladminTaskCreateRequest struct { - Id *CoreIdentifier `json:"id,omitempty"` - Spec *AdminTaskSpec `json:"spec,omitempty"` + Id *CoreIdentifier `json:"id,omitempty"` + Spec *AdminTaskSpec `json:"spec,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_task_node_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_task_node_metadata.go index 7e24dd89a1d..56d98b26d14 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_task_node_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidladmin_task_node_metadata.go @@ -11,7 +11,7 @@ package flyteadmin type FlyteidladminTaskNodeMetadata struct { // Captures the status of caching for this execution. - CacheStatus *CoreCatalogCacheStatus `json:"cache_status,omitempty"` - CatalogKey *CoreCatalogMetadata `json:"catalog_key,omitempty"` - CheckpointUri string `json:"checkpoint_uri,omitempty"` + CacheStatus *CoreCatalogCacheStatus `json:"cache_status,omitempty"` + CatalogKey *CoreCatalogMetadata `json:"catalog_key,omitempty"` + CheckpointUri string `json:"checkpoint_uri,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidlevent_task_execution_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidlevent_task_execution_metadata.go index aa12b33c610..71d474ab417 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidlevent_task_execution_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidlevent_task_execution_metadata.go @@ -18,6 +18,6 @@ type FlyteidleventTaskExecutionMetadata struct { // Includes additional data on concurrent resource management used during execution.. This is a repeated field because a plugin can request multiple resource allocations during execution. ResourcePoolInfo []EventResourcePoolInfo `json:"resource_pool_info,omitempty"` // The identifier of the plugin used to execute this task. - PluginIdentifier string `json:"plugin_identifier,omitempty"` - InstanceClass *TaskExecutionMetadataInstanceClass `json:"instance_class,omitempty"` + PluginIdentifier string `json:"plugin_identifier,omitempty"` + InstanceClass *TaskExecutionMetadataInstanceClass `json:"instance_class,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidlevent_task_node_metadata.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidlevent_task_node_metadata.go index 82826c00b00..50a76526b3f 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidlevent_task_node_metadata.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_flyteidlevent_task_node_metadata.go @@ -12,10 +12,10 @@ package flyteadmin type FlyteidleventTaskNodeMetadata struct { // Captures the status of caching for this execution. CacheStatus *CoreCatalogCacheStatus `json:"cache_status,omitempty"` - CatalogKey *CoreCatalogMetadata `json:"catalog_key,omitempty"` + CatalogKey *CoreCatalogMetadata `json:"catalog_key,omitempty"` // Captures the status of cache reservations for this execution. ReservationStatus *CatalogReservationStatus `json:"reservation_status,omitempty"` - CheckpointUri string `json:"checkpoint_uri,omitempty"` + CheckpointUri string `json:"checkpoint_uri,omitempty"` // In the case this task launched a dynamic workflow we capture its structure here. DynamicWorkflow *FlyteidleventDynamicWorkflowNodeMetadata `json:"dynamic_workflow,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_io_strategy_download_mode.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_io_strategy_download_mode.go index b330b904c41..670fc152944 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_io_strategy_download_mode.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_io_strategy_download_mode.go @@ -8,13 +8,12 @@ */ package flyteadmin - // IoStrategyDownloadMode : - DOWNLOAD_EAGER: All data will be downloaded before the main container is executed - DOWNLOAD_STREAM: Data will be downloaded as a stream and an End-Of-Stream marker will be written to indicate all data has been downloaded. Refer to protocol for details - DO_NOT_DOWNLOAD: Large objects (offloaded) will not be downloaded type IoStrategyDownloadMode string // List of IOStrategyDownloadMode const ( - IoStrategyDownloadModeDOWNLOAD_EAGER IoStrategyDownloadMode = "DOWNLOAD_EAGER" + IoStrategyDownloadModeDOWNLOAD_EAGER IoStrategyDownloadMode = "DOWNLOAD_EAGER" IoStrategyDownloadModeDOWNLOAD_STREAM IoStrategyDownloadMode = "DOWNLOAD_STREAM" IoStrategyDownloadModeDO_NOT_DOWNLOAD IoStrategyDownloadMode = "DO_NOT_DOWNLOAD" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_io_strategy_upload_mode.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_io_strategy_upload_mode.go index 39bd91f4a05..d7b6e5f1fea 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_io_strategy_upload_mode.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_io_strategy_upload_mode.go @@ -8,13 +8,12 @@ */ package flyteadmin - // IoStrategyUploadMode : - UPLOAD_ON_EXIT: All data will be uploaded after the main container exits - UPLOAD_EAGER: Data will be uploaded as it appears. Refer to protocol specification for details - DO_NOT_UPLOAD: Data will not be uploaded, only references will be written type IoStrategyUploadMode string // List of IOStrategyUploadMode const ( IoStrategyUploadModeUPLOAD_ON_EXIT IoStrategyUploadMode = "UPLOAD_ON_EXIT" - IoStrategyUploadModeUPLOAD_EAGER IoStrategyUploadMode = "UPLOAD_EAGER" - IoStrategyUploadModeDO_NOT_UPLOAD IoStrategyUploadMode = "DO_NOT_UPLOAD" + IoStrategyUploadModeUPLOAD_EAGER IoStrategyUploadMode = "UPLOAD_EAGER" + IoStrategyUploadModeDO_NOT_UPLOAD IoStrategyUploadMode = "DO_NOT_UPLOAD" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_plugin_override_missing_plugin_behavior.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_plugin_override_missing_plugin_behavior.go index e39a5c4181f..2c8ff10df01 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_plugin_override_missing_plugin_behavior.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_plugin_override_missing_plugin_behavior.go @@ -8,12 +8,11 @@ */ package flyteadmin - // PluginOverrideMissingPluginBehavior : - FAIL: By default, if this plugin is not enabled for a Flyte deployment then execution will fail. - USE_DEFAULT: Uses the system-configured default implementation. type PluginOverrideMissingPluginBehavior string // List of PluginOverrideMissingPluginBehavior const ( - PluginOverrideMissingPluginBehaviorFAIL PluginOverrideMissingPluginBehavior = "FAIL" + PluginOverrideMissingPluginBehaviorFAIL PluginOverrideMissingPluginBehavior = "FAIL" PluginOverrideMissingPluginBehaviorUSE_DEFAULT PluginOverrideMissingPluginBehavior = "USE_DEFAULT" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_project_project_state.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_project_project_state.go index 12c6095dc75..112958abfa2 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_project_project_state.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_project_project_state.go @@ -8,13 +8,12 @@ */ package flyteadmin - // ProjectProjectState : The state of the project is used to control its visibility in the UI and validity. - ACTIVE: By default, all projects are considered active. - ARCHIVED: Archived projects are no longer visible in the UI and no longer valid. - SYSTEM_GENERATED: System generated projects that aren't explicitly created or managed by a user. type ProjectProjectState string // List of ProjectProjectState const ( - ProjectProjectStateACTIVE ProjectProjectState = "ACTIVE" - ProjectProjectStateARCHIVED ProjectProjectState = "ARCHIVED" + ProjectProjectStateACTIVE ProjectProjectState = "ACTIVE" + ProjectProjectStateARCHIVED ProjectProjectState = "ARCHIVED" ProjectProjectStateSYSTEM_GENERATED ProjectProjectState = "SYSTEM_GENERATED" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_protobuf_null_value.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_protobuf_null_value.go index 1eb323f308e..b7bb2d3e805 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_protobuf_null_value.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_protobuf_null_value.go @@ -8,7 +8,6 @@ */ package flyteadmin - // ProtobufNullValue : `NullValue` is a singleton enumeration to represent the null value for the `Value` type union. The JSON representation for `NullValue` is JSON `null`. - NULL_VALUE: Null value. type ProtobufNullValue string diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_quality_of_service_tier.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_quality_of_service_tier.go index bc006a50859..b156cc3b7e2 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_quality_of_service_tier.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_quality_of_service_tier.go @@ -8,14 +8,13 @@ */ package flyteadmin - // QualityOfServiceTier : - UNDEFINED: Default: no quality of service specified. type QualityOfServiceTier string // List of QualityOfServiceTier const ( QualityOfServiceTierUNDEFINED QualityOfServiceTier = "UNDEFINED" - QualityOfServiceTierHIGH QualityOfServiceTier = "HIGH" - QualityOfServiceTierMEDIUM QualityOfServiceTier = "MEDIUM" - QualityOfServiceTierLOW QualityOfServiceTier = "LOW" + QualityOfServiceTierHIGH QualityOfServiceTier = "HIGH" + QualityOfServiceTierMEDIUM QualityOfServiceTier = "MEDIUM" + QualityOfServiceTierLOW QualityOfServiceTier = "LOW" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_resources_resource_entry.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_resources_resource_entry.go index e4c77cb7c8a..cb02920221f 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_resources_resource_entry.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_resources_resource_entry.go @@ -12,6 +12,6 @@ package flyteadmin // Encapsulates a resource name and value. type ResourcesResourceEntry struct { // Resource name. - Name *ResourcesResourceName `json:"name,omitempty"` - Value string `json:"value,omitempty"` + Name *ResourcesResourceName `json:"name,omitempty"` + Value string `json:"value,omitempty"` } diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_resources_resource_name.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_resources_resource_name.go index b8bc37546fc..13b9f8b236e 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_resources_resource_name.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_resources_resource_name.go @@ -8,16 +8,15 @@ */ package flyteadmin - // ResourcesResourceName : Known resource names. - EPHEMERAL_STORAGE: For Kubernetes-based deployments, pods use ephemeral local storage for scratch space, caching, and for logs. type ResourcesResourceName string // List of ResourcesResourceName const ( - ResourcesResourceNameUNKNOWN ResourcesResourceName = "UNKNOWN" - ResourcesResourceNameCPU ResourcesResourceName = "CPU" - ResourcesResourceNameGPU ResourcesResourceName = "GPU" - ResourcesResourceNameMEMORY ResourcesResourceName = "MEMORY" - ResourcesResourceNameSTORAGE ResourcesResourceName = "STORAGE" + ResourcesResourceNameUNKNOWN ResourcesResourceName = "UNKNOWN" + ResourcesResourceNameCPU ResourcesResourceName = "CPU" + ResourcesResourceNameGPU ResourcesResourceName = "GPU" + ResourcesResourceNameMEMORY ResourcesResourceName = "MEMORY" + ResourcesResourceNameSTORAGE ResourcesResourceName = "STORAGE" ResourcesResourceNameEPHEMERAL_STORAGE ResourcesResourceName = "EPHEMERAL_STORAGE" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_runtime_metadata_runtime_type.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_runtime_metadata_runtime_type.go index 798b8b67842..85abd1fbcc4 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_runtime_metadata_runtime_type.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_runtime_metadata_runtime_type.go @@ -13,6 +13,6 @@ type RuntimeMetadataRuntimeType string // List of RuntimeMetadataRuntimeType const ( - RuntimeMetadataRuntimeTypeOTHER RuntimeMetadataRuntimeType = "OTHER" + RuntimeMetadataRuntimeTypeOTHER RuntimeMetadataRuntimeType = "OTHER" RuntimeMetadataRuntimeTypeFLYTE_SDK RuntimeMetadataRuntimeType = "FLYTE_SDK" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_schema_column_schema_column_type.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_schema_column_schema_column_type.go index dd183d0843b..ece75c9671a 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_schema_column_schema_column_type.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_schema_column_schema_column_type.go @@ -13,10 +13,10 @@ type SchemaColumnSchemaColumnType string // List of SchemaColumnSchemaColumnType const ( - SchemaColumnSchemaColumnTypeINTEGER SchemaColumnSchemaColumnType = "INTEGER" - SchemaColumnSchemaColumnTypeFLOAT SchemaColumnSchemaColumnType = "FLOAT" - SchemaColumnSchemaColumnTypeSTRING_ SchemaColumnSchemaColumnType = "STRING" - SchemaColumnSchemaColumnTypeBOOLEAN SchemaColumnSchemaColumnType = "BOOLEAN" + SchemaColumnSchemaColumnTypeINTEGER SchemaColumnSchemaColumnType = "INTEGER" + SchemaColumnSchemaColumnTypeFLOAT SchemaColumnSchemaColumnType = "FLOAT" + SchemaColumnSchemaColumnTypeSTRING_ SchemaColumnSchemaColumnType = "STRING" + SchemaColumnSchemaColumnTypeBOOLEAN SchemaColumnSchemaColumnType = "BOOLEAN" SchemaColumnSchemaColumnTypeDATETIME SchemaColumnSchemaColumnType = "DATETIME" SchemaColumnSchemaColumnTypeDURATION SchemaColumnSchemaColumnType = "DURATION" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_secret_mount_type.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_secret_mount_type.go index 4d0675052ca..4f76410bc78 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_secret_mount_type.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_secret_mount_type.go @@ -8,13 +8,12 @@ */ package flyteadmin - // SecretMountType : - ANY: Default case, indicates the client can tolerate either mounting options. - ENV_VAR: ENV_VAR indicates the secret needs to be mounted as an environment variable. - FILE: FILE indicates the secret needs to be mounted as a file. type SecretMountType string // List of SecretMountType const ( - SecretMountTypeANY SecretMountType = "ANY" + SecretMountTypeANY SecretMountType = "ANY" SecretMountTypeENV_VAR SecretMountType = "ENV_VAR" - SecretMountTypeFILE SecretMountType = "FILE" + SecretMountTypeFILE SecretMountType = "FILE" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_sort_direction.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_sort_direction.go index 5e8684503ea..bc5e709b534 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_sort_direction.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_sort_direction.go @@ -8,12 +8,11 @@ */ package flyteadmin - // SortDirection : - DESCENDING: By default, fields are sorted in descending order. type SortDirection string // List of SortDirection const ( SortDirectionDESCENDING SortDirection = "DESCENDING" - SortDirectionASCENDING SortDirection = "ASCENDING" + SortDirectionASCENDING SortDirection = "ASCENDING" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_sql_dialect.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_sql_dialect.go index d6ae9ce5c13..4f3e1a661a0 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_sql_dialect.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_sql_dialect.go @@ -8,14 +8,13 @@ */ package flyteadmin - // SqlDialect : The dialect of the SQL statement. This is used to validate and parse SQL statements at compilation time to avoid expensive runtime operations. If set to an unsupported dialect, no validation will be done on the statement. We support the following dialect: ansi, hive. type SqlDialect string // List of SqlDialect const ( SqlDialectUNDEFINED SqlDialect = "UNDEFINED" - SqlDialectANSI SqlDialect = "ANSI" - SqlDialectHIVE SqlDialect = "HIVE" - SqlDialectOTHER SqlDialect = "OTHER" + SqlDialectANSI SqlDialect = "ANSI" + SqlDialectHIVE SqlDialect = "HIVE" + SqlDialectOTHER SqlDialect = "OTHER" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_task_execution_metadata_instance_class.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_task_execution_metadata_instance_class.go index b5552c8c6eb..efff48b0581 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_task_execution_metadata_instance_class.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_task_execution_metadata_instance_class.go @@ -8,12 +8,11 @@ */ package flyteadmin - // TaskExecutionMetadataInstanceClass : Includes the broad category of machine used for this specific task execution. - DEFAULT: The default instance class configured for the flyte application platform. - INTERRUPTIBLE: The instance class configured for interruptible tasks. type TaskExecutionMetadataInstanceClass string // List of TaskExecutionMetadataInstanceClass const ( - TaskExecutionMetadataInstanceClassDEFAULT_ TaskExecutionMetadataInstanceClass = "DEFAULT" + TaskExecutionMetadataInstanceClassDEFAULT_ TaskExecutionMetadataInstanceClass = "DEFAULT" TaskExecutionMetadataInstanceClassINTERRUPTIBLE TaskExecutionMetadataInstanceClass = "INTERRUPTIBLE" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_task_log_message_format.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_task_log_message_format.go index 75d9e7a78c2..46eab08cba7 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_task_log_message_format.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_task_log_message_format.go @@ -14,6 +14,6 @@ type TaskLogMessageFormat string // List of TaskLogMessageFormat const ( TaskLogMessageFormatUNKNOWN TaskLogMessageFormat = "UNKNOWN" - TaskLogMessageFormatCSV TaskLogMessageFormat = "CSV" - TaskLogMessageFormatJSON TaskLogMessageFormat = "JSON" + TaskLogMessageFormatCSV TaskLogMessageFormat = "CSV" + TaskLogMessageFormatJSON TaskLogMessageFormat = "JSON" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_workflow_metadata_on_failure_policy.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_workflow_metadata_on_failure_policy.go index 64efb21dc14..81379f25c66 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_workflow_metadata_on_failure_policy.go +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_workflow_metadata_on_failure_policy.go @@ -8,12 +8,11 @@ */ package flyteadmin - // WorkflowMetadataOnFailurePolicy : - FAIL_IMMEDIATELY: FAIL_IMMEDIATELY instructs the system to fail as soon as a node fails in the workflow. It'll automatically abort all currently running nodes and clean up resources before finally marking the workflow executions as failed. - FAIL_AFTER_EXECUTABLE_NODES_COMPLETE: FAIL_AFTER_EXECUTABLE_NODES_COMPLETE instructs the system to make as much progress as it can. The system will not alter the dependencies of the execution graph so any node that depend on the failed node will not be run. Other nodes that will be executed to completion before cleaning up resources and marking the workflow execution as failed. type WorkflowMetadataOnFailurePolicy string // List of WorkflowMetadataOnFailurePolicy const ( - WorkflowMetadataOnFailurePolicyIMMEDIATELY WorkflowMetadataOnFailurePolicy = "FAIL_IMMEDIATELY" + WorkflowMetadataOnFailurePolicyIMMEDIATELY WorkflowMetadataOnFailurePolicy = "FAIL_IMMEDIATELY" WorkflowMetadataOnFailurePolicyAFTER_EXECUTABLE_NODES_COMPLETE WorkflowMetadataOnFailurePolicy = "FAIL_AFTER_EXECUTABLE_NODES_COMPLETE" ) diff --git a/flyteidl/gen/pb-go/flyteidl/service/identity.pb.go b/flyteidl/gen/pb-go/flyteidl/service/identity.pb.go index 7268a9afa51..e99fbf81ef0 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/identity.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/service/identity.pb.go @@ -6,14 +6,13 @@ package service import ( context "context" fmt "fmt" - math "math" - proto "github.com/golang/protobuf/proto" _struct "github.com/golang/protobuf/ptypes/struct" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-go/flyteidl/service/openapi.go b/flyteidl/gen/pb-go/flyteidl/service/openapi.go index 5d57550e794..1b0ea587d8c 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/openapi.go +++ b/flyteidl/gen/pb-go/flyteidl/service/openapi.go @@ -1,6 +1,6 @@ // Code generated by go-bindata. (@generated) DO NOT EDIT. -// Package service generated by go-bindata.// sources: + //Package service generated by go-bindata.// sources: // ../service/admin.swagger.json package service @@ -78,7 +78,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _adminSwaggerJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\xf9\x73\x2b\xb7\x95\x37\x8c\xff\x3e\x7f\x05\x9e\x3b\x4f\x95\xed\x44\x8b\x93\xcc\xe4\x9b\xd2\xd4\x53\xdf\x97\x96\x78\xaf\xf5\x58\x5b\xb4\xd8\xe3\x77\x98\xa2\xc1\x6e\x90\x44\xd4\x0d\x74\x00\xb4\x74\xe9\x54\xfe\xf7\xb7\x70\xb0\x34\x7a\x23\x9b\x8b\x24\xea\xba\x67\xaa\x62\x5d\x76\x37\xd6\x83\x83\xb3\x7e\xce\x3f\xff\x0d\xa1\x0f\xf2\x19\xcf\x66\x44\x7c\x38\x41\x1f\xfe\x78\xf4\xed\x87\x03\xfd\x1b\x65\x53\xfe\xe1\x04\xe9\xe7\x08\x7d\x50\x54\x25\x44\x3f\x9f\x26\x0b\x45\x68\x9c\x1c\x4b\x22\x9e\x68\x44\x8e\x71\x9c\x52\x76\x94\x09\xae\x38\x7c\x88\xd0\x87\x27\x22\x24\xe5\x4c\xbf\x6e\xff\x44\x8c\x2b\x24\x89\xfa\xf0\x6f\x08\xfd\x0b\x9a\x97\xd1\x9c\xa4\x44\x7e\x38\x41\xff\x63\x3e\x9a\x2b\x95\xb9\x06\xf4\xdf\x52\xbf\xfb\x37\x78\x37\xe2\x4c\xe6\xa5\x97\x71\x96\x25\x34\xc2\x8a\x72\x76\xfc\x77\xc9\x59\xf1\x6e\x26\x78\x9c\x47\x1d\xdf\xc5\x6a\x2e\x8b\x39\x1e\xe3\x8c\x1e\x3f\xfd\xe1\x18\x47\x8a\x3e\x91\x71\x82\x73\x16\xcd\xc7\x59\x82\x99\x3c\xfe\x27\x8d\xf5\x1c\xff\x4e\x22\xf5\x2f\xf8\x47\xcc\x53\x4c\x99\xf9\x9b\xe1\x94\xfc\xcb\xb7\x83\xd0\x87\x19\x51\xc1\x3f\xf5\x6c\xf3\x34\xc5\x62\xa1\x57\xe4\x23\x51\xd1\x1c\xa9\x39\x41\xa6\x1f\xe4\x96\x88\x4f\x11\x46\x27\x82\x4c\x4f\x7e\x11\x64\x3a\x76\x0b\x7d\x64\x16\xf8\x02\x46\x73\x93\x60\xf6\xcb\x91\x5d\x26\x68\x99\x67\x44\xc0\xdc\xce\x63\xdd\xfa\x27\xa2\x06\xd0\x6c\xf1\x7e\xf8\xb6\x20\x32\xe3\x4c\x12\x59\x1a\x1e\x42\x1f\xfe\xf8\xed\xb7\x95\x9f\x10\xfa\x10\x13\x19\x09\x9a\x29\xbb\x97\x03\x24\xf3\x28\x22\x52\x4e\xf3\x04\xb9\x96\xc2\xc1\x98\xa9\xea\x8d\xc5\xb5\xc6\x10\xfa\xf0\xbf\x05\x99\xea\x76\xfe\xfd\x38\x26\x53\xca\xa8\x6e\x57\x1a\xfa\x09\x46\x5b\xfa\xea\x5f\xff\xd6\xf4\xf7\xbf\x82\x19\x65\x58\xe0\x94\x28\x22\x8a\x1d\x37\xff\x57\x99\x8b\xde\x23\xdd\x79\xb1\x8f\xd5\x81\x57\x66\x7b\x85\x53\xa2\xf7\x44\xef\x94\xfd\x02\xfe\x16\x44\xf2\x5c\x44\x04\x4d\x48\xc2\xd9\x4c\x22\xc5\x6b\x6b\x40\xa1\x05\x4d\x5e\xd5\x27\x82\xfc\x23\xa7\x82\xe8\xbd\x52\x22\x27\x95\xa7\x6a\x91\xc1\x20\xa5\x12\x94\xcd\xc2\xa5\xf8\xd7\x41\xa7\xa9\x19\xaa\x5c\x63\x66\xe6\x83\xd6\x89\x8d\xd8\xc0\xbd\x12\x61\x86\x26\x04\xe9\xb3\x48\x63\x22\x48\x8c\xb0\x44\x18\xc9\x7c\x22\x89\x42\xcf\x54\xcd\x29\xd3\xff\xce\x48\x44\xa7\x34\x72\x6b\xb6\x3f\x6b\x03\x7f\x2e\x5f\x99\x07\x49\x84\x1e\xf8\x13\x8d\x49\x8c\x9e\x70\x92\x13\x34\xe5\xa2\xb4\x3c\x47\x23\x76\x3f\xd7\xeb\x90\x4e\x28\x83\x93\xa7\xd7\xd2\x51\xc8\xef\xdd\x72\xfd\x1e\xe9\xfe\x50\xce\xe8\x3f\x72\x92\x2c\x10\x8d\x09\x53\x74\x4a\x89\xac\xb6\xf6\x7b\x0e\xfd\xe3\x04\x1d\x22\xbd\xce\x44\x28\x58\x6f\xce\x14\xf9\xac\x24\x3a\x44\x09\x7d\x24\xe8\xab\x0b\x2a\x15\x1a\xdc\x9c\x7f\x75\x80\xbe\x32\xe7\x05\x01\x6f\xfa\xea\x15\x56\xd8\xff\xfd\xb7\xe0\xe8\x29\x3c\xab\x1e\xba\x0f\x03\x7d\x9a\xef\xcc\xd5\x50\xb4\xf0\xb7\x7f\x0b\xdb\xb1\xfb\xb5\x9c\xdf\x16\xcc\xd6\x72\xda\xae\xfc\x15\x96\xa9\xcc\x5a\xa5\xde\xa1\x6d\x39\xab\x6e\xb7\xca\x5a\xe5\xfb\xe2\xad\x7a\x0a\x2f\xcd\x5f\xb7\x61\xae\x58\x01\xd5\x63\xca\xcc\x21\xf1\x67\x46\x48\x7d\x4e\x1c\xf5\xee\x09\x4b\xd9\x86\xd7\x06\x33\x0b\xd8\xad\xe3\xa2\xc1\xaa\xec\xe1\xbc\x13\x9a\xd2\x55\xfb\x7b\xce\x62\x2d\x72\x59\x66\xc7\xf2\x74\x42\x84\x5e\x06\xc7\xf6\x60\xb6\x13\xcd\x06\x55\x2e\x18\x89\x3b\x4c\xf3\x1f\x39\x11\x8b\x25\xf3\x9c\xe2\x44\xb6\x4d\x94\x32\x45\xb4\x7c\x5b\x79\x3c\xe5\x22\xc5\xca\xbe\xf0\xe7\xff\x58\x77\x21\x14\x7f\x24\xab\xf6\xff\xdc\xec\x66\x84\x25\x90\x41\x9a\x27\x8a\x66\x09\x41\x19\x9e\x11\x69\x57\x24\x4f\x94\x3c\x80\xd7\xb4\x4c\x4d\xc4\xa1\xbf\x81\xa0\x07\x77\xf3\xe6\x12\x7e\x41\x53\x2f\x40\x32\xf2\x59\x41\x4b\x23\x06\x77\x2f\x2c\x51\x78\xa3\xbc\xc0\x52\x6e\x46\x33\x92\x0b\x35\x9e\x2c\x8e\x1e\x49\xad\xdf\x56\xca\xc1\x0c\x61\xa5\x04\x9d\xe4\x8a\xe8\x79\xeb\x36\xdc\xdd\x09\xec\xd1\x5c\xd0\x5d\x58\xc3\xdb\x4d\x38\xa6\x82\x44\x30\xb7\x75\x0e\x8c\xff\x4a\xcf\x5b\xeb\x2f\x0b\x33\xfb\x47\xb2\x00\x79\xa4\x61\x05\xfc\x96\x8f\xd8\x88\xa1\x43\x74\x36\xbc\x3b\x1d\x5e\x9d\x9d\x5f\x7d\x3a\x41\xdf\x2d\x50\x4c\xa6\x38\x4f\xd4\x01\x9a\x52\x92\xc4\x12\x61\x41\xa0\x49\x12\x6b\x99\x43\x0f\x86\xb0\x98\xb2\x19\xe2\x22\x26\xe2\xe5\x96\xb1\xf2\x94\xb0\x3c\xad\xdc\x2b\xf0\x7b\x31\xfa\xca\x17\x5a\xc4\xf0\x8f\x4a\x4f\xfe\x56\x5b\x60\x98\xb1\xee\x3b\x68\xed\xd5\x84\x9a\x68\x4e\x93\x58\x10\x76\xac\xb0\x7c\x1c\x93\xcf\x24\xca\xcd\x9d\xfc\xcf\xf2\x0f\x63\x2d\x99\xf2\x98\x94\x7f\x29\xfd\xa3\x10\x85\xd6\xfe\xd4\x6b\xa9\x6b\x7f\x09\x3a\x6d\xb7\xef\xe0\x17\x1a\x37\xbe\x0d\xbf\xac\x98\x83\x7b\x67\xc9\x60\xdd\x2b\xad\xa3\x72\x2f\x58\x89\xaf\xf1\x1d\x41\x94\x58\x8c\xb1\x52\x24\xcd\xd4\x9a\xfa\x3a\x46\x89\x96\x2b\x97\xc9\x91\x57\x3c\x26\x43\xd7\xdf\x2f\xc8\x88\xb3\x24\x46\x93\x85\xe5\x5a\x53\x22\x08\x8b\x48\x7b\x0b\xf7\x58\x3e\x16\x2d\xac\x12\x46\x4b\xfd\xc9\x8f\x5c\xe8\xcf\xdf\x83\x40\x5a\x1a\xf8\x6b\xc8\xa4\x9b\x9e\xb8\x2f\xce\x42\xb0\x21\xff\xe8\xed\x09\xdb\xaf\x64\x57\xeb\x03\x17\x48\x2e\xa4\x22\xe9\x4a\x3b\xc4\xfb\x59\x08\x7b\x41\xec\xeb\x80\x2b\x77\xd4\x6f\xe0\xd4\x97\x6f\xdc\xfe\x78\xaf\xb1\x64\xbb\xb2\x22\xee\xfb\x3c\x9d\x0f\x67\xf9\x54\xef\xdc\xf6\x05\x4e\x8c\x77\x31\xcd\x92\x2c\xb8\xeb\x41\xbe\x90\xb9\xa1\x75\xaf\xdc\x6a\x8f\x61\x00\x2b\x14\xcd\xb2\x1d\xda\x9f\x3f\xfd\x69\x68\xa1\x31\xe6\x38\x35\xa7\x32\x30\x56\xa1\x88\x0b\x23\x0b\xc6\xf6\xbc\x1b\x5d\x73\x70\x3f\xb8\x1b\xde\x9f\xa0\x01\x8a\xb1\xc2\xfa\x80\x0b\x92\x09\x22\x09\x53\xa0\xc7\xeb\xef\xd5\x02\xa5\x3c\x26\x89\xd1\x38\x3f\x6a\xc9\x17\x9d\x61\x85\x4f\xb1\xc2\x09\x9f\x1d\xa1\x01\xfc\x53\x7f\x4c\x25\xc2\x89\xe4\x08\x3b\xb2\x22\xb1\x6b\x02\xb3\xd8\xb1\x16\x8c\x22\x9e\x66\x34\xf1\x36\x78\x6f\x5c\xa1\x2c\xa6\x4f\x34\xce\x71\x82\xf8\x44\x73\x15\xad\x21\x0f\x9f\x08\x53\x39\x4e\x92\x05\xc2\x49\x82\x6c\xb7\xee\x05\x24\xe7\x3c\x4f\x62\xdd\xae\x1b\xa5\xa4\x29\x4d\xb0\xd0\x2a\xb8\x19\xed\xb5\x6d\x0b\xdd\xcf\x89\x1f\x2b\x8c\x4b\xaf\x66\x8a\x1f\x89\x44\x54\xa1\x8c\x4b\x49\x27\x49\x71\xe6\x1f\xce\x11\x8c\xfb\xf4\xe2\x1c\xf4\xf9\x48\x21\x6e\x78\xa8\xeb\xdc\xda\x6f\x5c\x8f\x29\x66\x8c\x40\xc7\x5c\xcd\x89\xb0\xdd\xdb\x97\xdf\x5a\x35\x7f\xb8\xba\xbb\x19\x9e\x9e\x7f\x3c\x1f\x9e\xd5\x75\xf3\xfb\xc1\xdd\x0f\xf5\x5f\x7f\xba\xbe\xfd\xe1\xe3\xc5\xf5\x4f\xf5\x27\x17\x83\x87\xab\xd3\xef\xc7\x37\x17\x83\xab\xfa\x43\x4b\x56\x9d\xd5\xfc\x70\x64\x6b\x9e\xad\xde\xa6\xf9\x52\x36\xcd\x83\x2f\xd7\xa8\x39\xa5\x09\xe8\xa0\x9d\x0d\x9a\xde\x86\x60\xbf\x44\x19\x96\xd2\x48\x46\x66\x04\x47\x23\x76\xc9\x85\x66\x60\x53\xae\x79\x84\x96\x9e\x94\xc8\x23\x45\xd9\xcc\x7f\x74\x82\x46\xf9\xb7\xdf\xfe\x29\xba\xa0\xec\x11\xfe\x22\xfb\xb8\x38\xbd\xc5\xb7\xb7\xf8\xfe\xb6\x2c\xbe\x5a\xf4\x39\x0e\x0d\xbd\xbb\x0d\x19\xd2\xc2\x05\xcb\x72\x05\xa2\x04\xcf\x95\xfe\x53\x77\x09\xe4\xb1\x24\x70\xa8\x9b\x41\xf1\x13\x51\xfe\x45\x2d\xda\xbc\x07\x3b\xe2\x4f\x5c\x3c\x4e\x13\xfe\xec\x07\xfe\x89\x28\x3d\xf6\x5b\xdb\x4b\x1f\x4a\xd4\x87\x12\xbd\x6d\x28\xd1\x5e\x19\xf3\x5e\x9e\xf9\x95\x2d\x7f\x86\x03\xb6\x78\xb2\x5a\x1d\x55\x2d\x7e\xa8\xc0\xcd\xf4\x2a\x5c\xb3\xec\xcc\x59\xc1\x39\x4b\x2f\xbf\x17\xee\x59\x1a\xf4\xeb\x73\xce\xdf\x84\xbf\xa5\x77\xa7\x6c\xb8\x50\xef\x92\xc1\x76\xbc\x3b\x5e\xcd\x19\xf2\xf2\x0c\xbf\x16\xdb\xb0\x4e\x30\xc3\x1a\xd1\x0b\x9d\xc3\x15\x56\xc4\x27\x34\x06\x24\x34\x45\x20\xd4\x43\x0e\x1a\x63\x0c\xb6\x0b\x2a\xd8\xf4\x6e\xea\x1e\x26\xf0\x89\xa8\xd2\xcb\xef\xe5\x6e\x2a\x0d\xfa\xf5\xef\xa6\xdf\x68\x74\x40\x1f\x0e\xf0\x82\x4b\xf7\xa5\xdf\x68\xfb\xeb\xf0\xff\x0d\x78\xf8\x7b\x97\xfe\x5a\x6b\xf4\x65\xf9\xf0\xbf\x54\xa7\xfd\xfb\xf4\xd2\xf7\x6e\xf9\xde\x2d\xff\x16\xfe\x93\xf7\xe7\x96\x7f\x59\xf5\xb4\x38\x5e\x63\x47\x0b\x56\x5f\x0b\x0e\xe5\xbf\x3a\x38\x69\xe0\x2f\xa7\xf2\xad\x1b\x34\xde\xaa\xc3\x9d\x15\xe3\x1b\xc2\x11\xfa\xc5\x12\xd2\x0a\x75\xae\xf6\xdd\x7b\x50\xe7\xea\x83\x7e\x79\x1d\xee\xcd\x98\xef\x0b\x5d\x9e\xef\x84\x0d\xac\x7f\x5b\x7e\xc1\x32\x79\x2f\x8b\xbf\x7c\x36\xfe\xde\x4c\xe8\xfd\xc8\xde\x6f\x70\xf1\x76\xbc\x75\x77\x9e\x93\xd5\x70\xcd\x06\xb7\xd3\xaa\x0c\xab\xea\xd7\x94\xc8\x3f\xbe\xcb\xfb\xf6\x35\x92\xac\xfa\x0b\xb7\xbf\x70\x6d\x53\xfd\x85\xfb\x05\x5f\xb8\x7b\x07\x7f\xb3\x37\x11\xa0\x7d\x10\x79\x0f\x8c\xd1\xc7\x90\xef\x70\x71\xfa\x18\xf2\x3e\x86\xfc\x37\x16\x43\xbe\x8d\xf6\xb4\x29\x16\xe5\x5b\xe8\x51\xbd\x1a\xd5\xab\x51\xe1\xef\xbd\x1a\xd5\xab\x51\xbd\x1a\xf5\x85\xa3\x88\xf6\x3a\x54\xf7\x85\xe8\x75\xa8\xce\x4b\xd5\xeb\x50\x4b\x16\xa7\xd7\xa1\x7a\x1d\xea\xb7\xa5\x43\x91\x27\xc2\x94\x84\x64\xb4\x50\xa3\xf8\x90\x71\xd9\xae\x09\x85\xdc\xa1\x41\x0b\x82\x36\xcb\x49\x61\x10\xb8\xf4\x0b\x9a\x63\x89\x78\x14\xe5\xa2\x72\x06\xaa\x7a\xd0\xa9\x20\x58\x11\x68\x41\x7f\xf8\x1e\xf4\x9f\xfa\x74\x5f\x2b\x06\x7f\xc2\xe3\x1a\xb5\x9b\x83\xd0\xf4\x64\xb9\x3c\xb2\xb3\xa9\xff\x23\x27\xdd\xd4\xbf\x17\x24\x6a\x85\xe5\xe3\x8e\x89\xba\x94\x6b\xb1\x11\x51\x43\x0b\xef\x85\xa8\xeb\xd3\xfd\xcd\x10\x75\xd3\xd4\xf7\x81\xa8\x9f\x6d\x1e\xff\x8e\x09\xbb\x06\x0f\xb0\x11\x71\xfb\x56\xde\x0b\x81\x37\x4f\xfb\x37\x43\xe4\x6d\xd3\x7f\x5b\x42\xf7\x29\x92\x9d\x49\xfc\x5e\xd0\xd9\x4c\xab\x19\xa0\xe1\x69\x52\x5c\x5d\x23\xa8\x48\x0a\x5c\x49\xd6\xfe\xd5\xf7\x40\xd2\x7e\xb0\x66\xec\xbf\x19\x5a\xae\xcd\x7b\x4f\x88\xf8\x58\x90\x88\x3f\x41\xbd\xb0\x6e\xc4\x7c\x4b\x80\x82\x81\x5f\x67\x82\x3c\x51\x9e\xcb\x64\x71\x28\x72\x86\x1c\xf3\x47\xbe\x79\x63\xad\x7e\xa6\x49\x82\x38\xd3\xfa\x97\xc2\x42\xb9\xc7\x5a\xff\x16\x3c\x85\x53\x91\x60\xa9\xd0\x23\xe3\xcf\x0c\x4d\x31\x4d\x72\x41\x50\xc6\x29\x53\x47\x23\x76\xce\xd0\xad\x19\x23\xe4\x0d\x1c\xa0\x5c\xea\xb3\x14\x61\xc6\xb8\x42\xd1\x1c\xb3\x19\x41\x98\x2d\x6c\x02\x6e\x41\x19\x88\x0b\x94\x67\x31\xd6\x8a\xef\x9c\x54\xa3\xf4\xfc\x18\xc1\x7c\x47\x25\xa2\x12\x91\xcf\x4a\x90\x94\x24\x0b\xdd\x87\xa6\x7d\xc5\x91\x5d\x1f\x33\x54\x9b\xce\x47\x84\xe0\x42\x42\xc6\xc1\x64\xf1\x2b\x66\x8a\x32\x82\x40\x51\x92\xc6\x34\x77\x88\x2e\xb8\x04\xb3\xcd\x0f\x7f\x91\x28\x4a\x72\xa9\x88\x38\x40\x93\x7c\x26\xb5\xa6\x98\x25\x58\x4d\xb9\x48\xf5\x08\x29\x93\x0a\x4f\x68\x42\xd5\xe2\x00\xa5\x38\x9a\x9b\xb6\x60\x0d\xe4\xc1\x88\xc5\xfc\x99\x49\x25\x08\xf6\xbd\xbb\x87\xe8\xeb\xf0\x99\x21\x00\xf9\xcd\x01\xa4\x1d\xd2\x54\xab\xbb\xc1\xf0\x8b\x1d\x37\x7b\xa2\x1b\x21\x31\x9a\x90\x08\xe7\xd2\x7a\x18\x94\x58\x20\xf2\x79\x8e\x73\x09\x7b\xa7\xa7\x67\x73\x36\x22\x9e\x66\x09\x51\x04\xd1\x29\x52\x82\x92\x18\xe1\x19\xa6\x7a\xe9\xee\xc8\x12\x10\x74\x4f\xf4\x76\x03\x2d\xd5\xff\x02\xea\x77\xca\x05\x41\x31\x51\x98\x26\x4b\xbd\x4e\xf6\xdb\x9e\xcb\xbd\x27\x2e\x57\xde\xf0\xbd\x60\x73\x06\xc4\x7f\x07\x97\x36\xb3\xa6\xfb\x08\x27\x5b\xde\xdf\xb7\x76\x50\x3d\x6d\xbf\x2f\xda\x36\xbb\xb6\x3f\xc4\xfd\x6a\x31\xd8\xdd\x2b\x5a\x14\xd5\x2c\xde\x15\x4d\xbf\x46\x58\x40\xef\x70\xee\x1d\xce\xad\x2b\xf3\x3e\x1d\xce\x7b\xe3\x31\xea\x7d\xce\x2f\xe4\x73\xa6\xb2\x77\x3a\xf7\x4e\xe7\xae\x0b\xd4\x3b\x9d\x7b\xa7\xf3\xfb\x75\x3a\xbf\x24\xee\xf3\x4e\xd1\x9d\xdf\x95\x68\xdd\x8b\xd5\xbd\x58\xdd\x43\x38\xfb\xa9\xed\x8a\x85\xb9\xaf\x3f\xc4\x24\x21\x8a\xb4\xdb\xb3\x88\x48\xb5\xb6\x60\xae\x67\xca\xb4\x1c\x37\x13\x44\xca\x6d\x19\x92\x6f\xf8\x7d\xb2\x25\x3f\xfc\x1e\x6a\xbe\xe7\x53\x3d\x9f\xda\x64\x6a\xfb\x63\x9a\x0d\x0e\xf3\x6b\xd9\x66\x3d\xff\xcd\xf2\x76\xe9\xef\xc1\xb8\x21\x0b\xbf\xa8\xa1\x70\x2d\xb5\x2b\xee\x0f\xb7\xa5\xf3\x2d\xf9\xb1\xe9\xeb\x7d\x32\x63\x33\xf6\x9e\x13\xf7\x9c\xb8\xe7\xc4\xef\x9b\x13\xbb\x93\xfc\xa6\x2e\x32\xe3\xa7\x1b\x67\x09\x66\x63\x1a\xcb\xe3\x7f\x16\xba\xfc\x4b\x79\xc8\xf4\x81\x8a\x4d\x8a\xa9\x4f\xe9\x14\xbf\xe8\x4f\x92\xc2\x60\xee\x31\x33\x57\x38\xd1\x8c\x8d\xfd\x26\xc1\xec\x3c\x7e\x17\x7e\xb4\xc6\xd9\xbf\x86\x4f\x6d\x1b\x3e\x8e\x15\x78\x3a\x30\x65\xc6\x84\x57\xe4\xd5\x96\x0c\x94\xfb\x71\xc2\xb7\xe1\xea\xc1\xc4\x02\xc6\xee\xf8\x75\xb0\x28\xfb\x37\xed\xde\xaf\xd3\xe7\x12\xf6\x9e\x8b\x8e\x13\xee\x3d\x17\xfb\xeb\xb9\x78\x2b\x77\xe4\x2b\x1f\xcf\xd7\x12\xeb\xba\x07\xe1\x9b\x68\x35\x08\x6a\xcd\xb3\x84\xe3\x78\x99\x2b\xa6\x10\xbc\x42\x70\x94\x95\x91\xf8\xc5\x67\xef\x41\x58\x2b\x46\xfb\x1b\x8b\xe4\xab\x4f\x7c\x5f\xb4\x94\x57\x0c\xe5\x6b\x26\xf1\x35\x54\x92\xf7\x81\x9f\x5a\x8c\xb7\x0f\xed\xeb\x2d\x4a\x6f\x6f\x51\xea\x43\xfb\x7a\x15\x70\xcf\x54\xc0\x3e\xb4\xaf\x0f\xed\xeb\x15\xe4\xe5\xd3\xee\x15\xe4\x2f\x22\xb4\xaf\x93\xa8\xfd\x82\xd8\x9b\xdb\x0b\xdd\xbd\xcc\xed\xde\xeb\x65\xee\x5e\xe6\xfe\x42\x65\xee\xfd\x58\xe1\x5e\xe0\xee\x05\xee\x5e\xe0\xee\x05\xee\x5e\xe0\xde\xf9\x32\xf6\x02\xf7\x6b\x16\xe8\x6c\x96\xba\x57\x24\xd9\xbc\x57\x5f\x4e\x2f\x6e\xf7\xe2\xf6\x7e\x8b\xdb\x7b\x33\xa1\xf7\x53\xe6\xb1\xdb\x7c\xfa\x22\xe5\x7d\x91\xf2\xbe\x48\xf9\x8b\x17\x29\x77\x5f\x77\xc8\xf8\xb0\x87\x4b\x61\x95\x4b\x03\xf8\x28\xc8\x8c\x4a\x05\xec\xbf\x8b\xbc\xb2\x3a\xd1\xe3\xbd\xca\x29\x7d\xaa\x87\x7f\xda\x4b\x2d\xbd\xd4\xf2\x1b\x95\x5a\xf6\x28\x16\x6c\x2f\x32\x56\x52\xac\xa2\x39\x9e\x24\x64\xec\x8d\x3e\xb2\xab\x1e\x7c\x41\xa5\x92\x28\xca\xa5\xe2\x69\xfb\xe5\x72\xe9\x7a\x18\xf8\x0e\x4e\x39\x9b\xd2\x59\x6e\xee\x16\x03\xce\x19\x9c\xe8\x42\x12\x5c\x64\x64\x95\xa7\xaa\xa1\xf5\x77\x71\x2d\x35\x0f\xfd\xb5\x6e\xa7\x75\x04\xf7\xc2\xc8\x67\xa5\x6e\x2d\x6b\x8d\x6f\x87\x77\xd7\x0f\xb7\xa7\xc3\x13\x34\xc8\xb2\x84\x1a\xbb\xbb\x21\x05\xfa\xab\x9e\x14\x52\x58\x3e\x16\x7b\x29\x0c\x99\x1b\x0c\x5b\x30\xf4\x6b\xd9\x18\x1d\xa2\xd3\x8b\x87\xbb\xfb\xe1\x6d\x4b\x83\x96\x50\x20\x6f\x95\xa4\x59\x82\x15\x89\xd1\x63\x3e\x21\x82\x11\x2d\xed\x58\xa4\xdb\xc2\xfc\x6f\x1a\x1d\xfe\xf7\xf0\xf4\xe1\xfe\xfc\xfa\x6a\xfc\xd7\x87\xe1\xc3\xf0\x04\x39\x8a\xd3\xcd\xea\x71\xe9\x51\xc4\x0b\x86\x53\xad\x81\xe8\x1f\x8a\x4c\xd9\x7f\xe4\x24\x27\x08\x4b\x49\x67\x2c\x25\x80\x08\x5c\x6a\xd1\x0d\xf8\x62\xf0\xdd\xf0\xa2\xdc\xf2\x9c\x84\xf0\xbb\x28\xc1\x13\x92\x58\x7f\x04\x98\xd8\x35\xa1\x07\x50\xc5\xc6\x51\x91\x9b\x55\xfd\xeb\xc3\xe0\xe2\xfc\xfe\xe7\xf1\xf5\xc7\xf1\xdd\xf0\xf6\xc7\xf3\xd3\xe1\xd8\x4a\x95\xa7\x03\xdd\x6f\xa9\x27\x2b\x7c\xa2\x7f\xe4\x38\xd1\xda\x09\x9f\x3a\x3c\x5e\xf4\x3c\x27\x0c\xe5\x0c\x28\xce\xa8\x3c\x5a\x0f\xf2\x9d\xea\x53\x66\x66\x74\x73\xf1\xf0\xe9\xfc\x6a\x7c\xfd\xe3\xf0\xf6\xf6\xfc\x6c\x78\x82\xee\x48\x02\x4a\x81\x5b\x74\xd8\xc5\x2c\xc9\x67\x94\x21\x9a\x66\x09\xd1\xab\x81\x6d\x36\xf1\x1c\x3f\x51\x2e\xec\xd1\x9d\xd1\x27\xc2\xcc\x3a\xc2\x99\x85\xf6\x9d\xf0\x3d\x0e\x96\xee\xfa\xea\xe3\xf9\xa7\x13\x34\x88\x63\x3f\x07\x09\x6d\x94\x28\xc7\xc1\x3a\x1f\x96\x87\xad\x99\x03\x74\x6f\x88\x88\x3f\x11\x21\x68\x4c\x2a\x74\x34\xb8\xbb\x3b\xff\x74\x75\x39\xbc\xba\x87\x15\x53\x82\x27\x12\xcd\xf9\x33\x98\xb2\x61\x86\x60\xe1\x7e\xc2\x34\x81\xce\xdc\x66\x71\x86\x9e\xe7\x14\xdc\x1f\x00\xcc\xec\x7b\x36\xfa\x99\xc8\xd9\x9b\x5b\x67\x4b\x07\xaf\xae\xb6\x54\x4f\x52\xfd\x8d\xca\xb1\x58\xf6\x42\x89\xca\xeb\x2f\xae\xa2\xd6\xfa\x17\x15\x72\x6b\x57\xd6\x6a\xf4\xd2\x3e\xd3\x62\xaf\x3b\xeb\x6a\xe5\x35\x7c\xbd\x6b\x96\x28\x41\x23\xf9\xb2\x50\x4f\x22\x67\x8a\xa6\x04\xd9\xce\xec\xe1\xdc\x21\xfc\xd3\xa5\x69\xf8\x3d\x5c\xb0\xb5\x52\x0e\x9f\x88\xb2\xc3\xef\x55\xc0\x5e\x05\xdc\x0f\x15\xf0\xbd\x65\xfb\xc7\x24\xab\x77\x58\x99\x18\xbc\x63\xbc\x5e\xb5\x20\x0d\x63\x4f\xb4\x16\xd5\x84\x3c\x91\x04\xa4\x3c\x25\xb0\x56\x1a\xad\xec\x32\x11\x04\x3f\x6a\x81\x2f\xe6\xcf\xa1\xe4\xd2\x80\xdc\x8f\x76\x73\x0b\x77\x09\xe2\xf8\xd3\x1f\x5f\xef\xb2\xd0\xcb\x1d\xbf\x46\x09\xef\x5b\x08\x92\x59\x8a\x11\x18\x24\xd8\xff\x62\x2d\xc1\x2b\x6e\x8b\xe0\x8b\xf7\x70\x51\x84\xc3\xdd\x23\xad\xeb\x36\x54\x82\x1d\x0b\x4d\x89\xc2\x31\x56\x58\x1f\x9a\x19\x51\x47\xe8\x9a\xc1\xb3\x7b\x2c\x1f\x0f\x90\xbb\xf2\x34\x5b\x29\xac\x0c\xaf\x90\x5a\xff\x4e\x0c\xf8\xeb\xf3\xf1\xfe\xfa\xee\xaf\xef\xe6\x95\xe9\xc3\x3c\x5b\x56\x78\x57\x17\xe3\x5a\x3e\xaf\xdd\xdd\x5f\xa6\xc5\xf7\x7b\x85\xbd\xae\x93\x6b\xa7\x17\x9a\xa9\x9c\xd5\xdf\x56\xe6\xff\xfa\xdb\xaa\xbf\xad\xfa\xdb\x6a\x0f\x56\xf8\xcd\x1d\x86\x0d\xdc\xfd\x4d\x3d\x86\xab\xb4\xd3\x8d\x21\xef\x0a\x6d\x74\x1d\xd0\xbb\x5f\xba\x62\xdb\x15\xdf\xd0\xf7\xe1\x23\x0c\x26\xf9\x1a\x69\x6d\x3b\xbd\xcc\x4d\xbe\x48\xaf\x9f\xbe\xe0\x8d\xdf\x23\x10\xee\x14\x81\x70\x3f\xe6\xfa\x22\x29\x70\x6f\x63\x31\x7d\xfb\xb4\xb7\x1e\x6a\xb0\x4f\xec\xea\x13\xbb\xe0\xf7\x1e\x6a\x70\x77\xd4\xfa\xb2\xd2\x35\x8f\xc9\xb8\x12\x25\xe0\xff\x39\xae\x7a\x7e\x4a\x4f\x42\x37\x50\xe9\x41\x91\xe9\x06\xad\xd3\x78\x97\x45\xa4\xae\x78\x4c\x3a\x47\x12\x94\x5e\xde\x73\x19\xdc\xcd\xd3\xc8\xe2\xa5\x81\xbf\xb0\x24\xde\xb2\xe5\x5f\xa2\x61\xa7\x81\x80\x7b\x2b\xcf\xca\x85\xfa\x52\xe3\x0b\x0a\x0e\xf5\x8e\x3c\x15\xdd\xd8\xb8\x8b\x69\x1c\xb7\x30\xf3\xe6\xe7\x9e\xa5\x37\x3f\x7e\x19\xcc\xa0\xee\x1c\x1d\xcc\x2a\xe1\xdb\xef\xc3\xae\x12\x8e\xf8\x35\x2c\x2b\x4b\xf7\xfe\x8b\xe3\xea\xcb\x28\xb9\xe7\xed\x1d\x97\xeb\x4b\xe5\xf0\x3d\xc4\xcf\x32\x5b\x47\x8f\xa1\xd3\x9b\x5a\xf6\x67\xc2\xbd\xa9\xe5\x5d\x9b\x5a\x8c\x8b\x76\x9c\x61\x41\x98\x6a\x10\xa9\xab\xd7\x09\xbc\x1e\x62\x2e\x38\xa9\x03\x1a\x40\x5a\xa2\x45\xf6\x42\xf6\x57\xd5\x97\x65\x7b\xb1\x82\x41\x90\x09\x79\xfc\xcf\xe2\x6f\x2f\xac\x97\x2a\x40\x2c\x89\x4e\x32\x58\xff\x52\xdf\xd1\xb9\x0d\x54\xda\x3e\x57\x12\xab\x92\x28\x08\x41\xd4\x2b\xe3\x99\x6e\xcc\xdb\xef\x2b\x45\xb2\x36\xe8\xd7\x8d\x6d\xaa\x6f\x7c\xb7\x03\xe4\x76\x86\x9a\x74\xbf\x20\xa7\x4c\x4b\xa3\x7c\x5a\x5c\x0c\x12\x3d\xd3\x24\x01\x44\x11\xc8\x78\x6c\xbb\x01\x7e\x73\x11\x0f\xad\x3b\xff\xa6\x71\x0f\x4d\xdc\xa1\x89\x25\x74\xb1\xa7\xee\x2a\x67\xda\x11\x1b\xa4\xb3\x82\x36\xb4\xc2\x00\xfb\x65\x70\x82\x4f\x44\xbd\x16\x1b\xd8\xf4\xec\x2f\x3d\xf7\x82\x4c\x89\x20\x2c\x22\x7b\xe8\x6d\x5f\x27\x0c\xe4\x27\x33\x49\x1b\x03\xe2\xa1\x04\xc2\xa9\x2a\x6e\xf5\xb4\x92\xa8\xdb\x67\x92\xf7\x99\xe4\x7d\x26\x79\xf5\xa8\xf7\x99\xe4\x7d\x26\x79\x63\x0e\x44\x4c\x12\xa2\x48\xab\x54\x71\x06\x8f\xdf\x4a\xaa\x30\xbd\x7f\x19\x82\x85\x99\x4b\x2f\x5b\xfc\x66\x34\x0b\xb7\xe1\x7b\xa1\x59\x98\xb3\xb6\xca\xfc\x50\xfa\xb1\x21\xc4\xfa\xd5\x4d\x12\x9b\x30\x8d\x92\x5d\xe2\x0c\x5e\x7f\x97\xac\xa3\x3a\xf4\xde\x46\x81\x82\xad\x7b\x39\x4e\x52\x3b\x02\xdd\x26\x6e\x3d\x86\xef\x77\xde\xfb\xc2\x41\xdb\xe8\x7e\x5f\xf9\xe8\xc6\x49\x29\xfb\x62\xb1\xf9\x82\x78\x64\x6f\xbd\x79\xe3\x5c\x89\x1a\x33\x7c\xb7\xd3\xed\x8d\x55\xbd\xb1\xaa\x37\x56\xf5\xc6\xaa\xde\x58\x85\x7a\x63\xd5\xda\xc6\xaa\x2f\x48\xa6\xea\x0d\x57\xbd\x58\xb5\xbb\xe9\xee\xab\x96\xb9\x4f\xd6\xba\xce\x28\xe9\x45\x0e\xd5\xca\xc8\x7b\x3b\xed\x5f\x56\x84\xdc\xdf\xb8\x11\xbc\x1f\x7e\x25\x5f\x9a\x25\x6d\x13\x58\xec\x76\xf4\x8b\x8d\x2b\xee\x4b\x87\x36\xae\x55\x1f\xf6\xbc\x64\x71\xfa\xb0\xe7\x3e\xec\x79\xef\xc2\x9e\x77\xae\xac\x64\x5c\x2e\x03\x24\x32\xa5\xb3\x96\xe6\x3f\xbb\x3b\x1b\x12\x8d\x80\x14\x0c\xca\x71\x4c\xb2\x84\x2f\xc0\x92\xb2\xe4\x3a\x77\x5d\xdc\xd4\x24\xea\x7d\xbf\xd1\xdd\xc8\x5f\x4b\xe7\xd8\x17\x99\xb4\x98\xf7\x5e\x48\xa1\xc7\xff\xac\xa4\xf3\x77\xc2\xcb\x64\x88\x7c\xa6\x12\x6e\xa5\xd5\x84\x3d\x62\xcd\x4f\x82\xd2\x85\xf6\x1e\x9c\xe4\x2a\xc8\xdd\x93\x5a\xb0\xca\x88\x50\x8b\xe0\x4d\x92\x66\x6a\xf1\x5f\x23\x46\x95\xf7\xb0\xd1\x19\xe3\xc2\x70\x35\xfd\xf1\x1c\xb3\x38\x21\x42\x5f\xaa\xae\x9d\x08\x33\xc6\x15\x88\x1b\x30\x83\x18\x3d\x51\x6c\x84\x93\xc1\xcd\x79\x67\x3f\xf3\x3b\x3a\x5d\xaf\x5d\xac\x6e\xc5\x5d\xf7\x29\xe1\x13\xa8\x60\x99\x97\x75\x7a\xdd\x40\xef\x19\x2d\xed\xdc\x5b\x31\x04\x85\xe5\x63\x15\x38\xa4\x9c\x85\x3e\x5e\x0a\x25\xb2\xe2\xdd\x12\xc6\xfc\xf2\x57\x2b\x70\x23\xe5\x67\x16\x80\x04\x1e\xc3\x90\xab\xe3\x70\x3f\x86\x1d\xba\xdf\x8a\x96\xdd\x2f\xae\x74\x37\xfc\x28\x88\x12\x8b\x31\x56\x4a\x33\x99\x5d\x62\x9c\xdc\x63\xf9\xd8\x19\xe3\xa4\xf4\xf2\x9e\xb3\x9c\x12\xc6\x49\x79\xe0\x2f\xce\x72\x3a\x52\xe7\x0a\xce\xf4\xfe\xf2\xe3\xbb\x9e\xb5\x35\x26\xfe\x5b\xc9\x95\xef\xc6\x7b\x56\x99\x69\xdf\x63\xde\xfc\x32\x66\xba\x37\x23\xac\xf0\xf3\x2f\xf1\xe4\x96\x6f\xa7\xfe\x88\x2e\x5b\xa3\x2f\xae\x10\x6e\x45\xe8\x58\x31\xb7\x77\x52\x10\xb7\x2a\x37\xed\x7a\x54\x2f\x63\xe6\x0e\x76\x63\x9d\x18\xa0\xf3\x32\x5a\xb9\x3f\x43\x2e\x2a\xa8\x28\x3d\x3b\x87\x44\x6b\x2a\xc3\x84\xf8\x88\x0b\x23\x79\xc5\xf6\xcc\x1a\xb3\x9d\x01\xf3\x3d\x41\x03\x14\xdb\xda\xfc\x82\x64\x82\x48\xc2\x94\x51\xb5\x4d\xbd\x2b\x57\xde\x9f\x32\x6b\x21\x3a\xc3\x0a\x9f\x62\x85\x13\x3e\x3b\x42\x03\x5f\xd8\x9f\x4a\x84\x13\xc9\x11\x76\x84\x43\x62\xd7\x04\x66\xb1\x63\x0f\x18\x45\x3c\xcd\x68\xe2\x91\xda\xbd\x15\x9f\xb2\x98\x3e\xd1\x38\xc7\x89\x47\xc6\x1e\xb1\xe1\x13\x61\x2a\x07\x15\x0e\x27\x09\xb2\xdd\xba\x17\x02\xfd\xdc\x8d\x52\xd2\x94\x26\x58\x20\xc5\xed\x68\xaf\x6d\x5b\xe8\x7e\x4e\xfc\x58\x1d\x0a\x38\x4a\xf1\x23\x91\x88\x2a\x94\x71\x29\xe9\x24\x29\x8e\xf1\xc3\x39\x82\x71\x9f\x5e\x9c\x83\x69\x34\x52\x88\x1b\x3e\xe8\x3a\xb7\x7e\x02\xd7\x63\x8a\x19\x23\xd0\x31\x57\x73\x22\x6c\xf7\xf6\xe5\xb7\xb6\x72\xbe\x35\x46\x74\xbb\xc5\x34\x1c\xd9\xdb\x29\x9d\x9d\x35\xce\xae\xea\x66\x37\x5d\xb3\x5d\xd1\x7c\x01\x2f\x6d\x77\x6d\xf0\x82\xca\xb2\x3a\xf8\x2e\x5c\xb6\xa5\x11\xbf\x06\x3e\xda\x6f\x54\x11\xec\xb5\xc0\x17\x59\xb7\x2f\x55\x05\xdc\x73\xfd\xaf\x47\x76\xeb\x51\xec\xfb\x00\x8c\x1d\x2e\x4e\x1f\x80\xd1\x07\x60\x7c\xb1\x01\x18\xed\xda\x04\x8d\xb7\x4e\xd7\x5b\xb3\x82\x94\x37\x0a\x88\x5f\x40\x94\xc2\xf2\xb1\x6b\x4d\x29\x2d\x2a\x9f\xc7\xef\x42\xaa\x6f\x9c\xf0\x6b\x48\xf7\x7d\x9d\xa2\x9d\xd6\x29\xda\xbb\x69\xf7\x82\x5f\x2f\xf8\xf5\xb2\x4d\xc7\x09\xf7\xb2\xcd\xfe\xca\x36\x6f\xa5\xb0\x7c\x49\x10\xba\x5a\x78\x2a\x65\xc6\x2c\x0d\xb0\x35\x70\x34\xe0\x1e\xc8\xb3\x84\xe3\x78\x55\x10\xce\x2f\xa8\x90\x6b\x96\x88\x66\xa6\x5d\xfd\xc1\x9e\x4b\x66\xb5\xf8\x1b\x33\xf2\xdf\x42\x4c\x6d\xeb\xd4\xdf\x34\xac\x16\xe8\x17\x82\xc9\x4a\x41\x69\x2f\xa5\x85\x54\x69\xba\x93\xc2\x21\xff\xb8\xe7\x54\xed\xb7\xf4\x35\xd4\x8b\x2f\xd8\x41\xd0\x3b\x01\x7e\x9b\x85\xcf\xf7\x46\x6a\xed\x55\xbb\x3e\xab\xb2\x37\xea\xf7\x8a\x6f\xaf\xf8\xee\x7c\x19\xf7\x49\xf1\x7d\x43\x89\xda\xa4\x89\xbc\x48\x19\xc3\xcd\x64\xeb\x5e\xb4\xee\x45\xeb\x5e\xb4\xfe\x62\x45\xeb\xfd\x58\xe1\x5e\xae\xee\xe5\xea\x5e\xae\xee\xe5\xea\x5e\xae\xde\xf9\x32\xf6\x72\x75\x45\xae\x86\xbf\x5c\x9a\xf4\xba\x42\x76\x67\xe1\xba\x43\x4e\xf4\x7b\x91\xac\x7b\xa9\xba\x97\xaa\xf7\x5b\xaa\xde\x9b\x09\x7d\x79\x89\x90\x7d\x2a\x61\x9f\x4a\xd8\xa7\x12\xbe\x45\x2a\xa1\xe3\x25\xcb\x24\x94\xba\x60\xf1\x63\x8d\x03\xed\xad\x6c\x51\x8c\x76\xd3\xf0\x8e\x5d\x2d\xb5\x03\x9a\xdf\xa4\xd2\x54\xe9\x37\xd7\xd0\x1e\xd5\x9f\x3a\x70\xd2\x82\x66\x14\x6e\x7c\xab\x11\xc2\x7e\xb2\x6f\xbe\x2f\x30\xf0\xfa\xa8\xfb\xfa\x53\x28\xd8\xb5\xbe\xfe\xd4\x0b\xce\xdb\x1d\xae\x15\x33\x77\x34\x6a\x6c\xbc\xef\x74\xda\x6f\x0e\x2e\xd7\x7e\xd2\xdf\x34\x5c\xae\xf1\x26\xa9\x25\xef\x1c\xff\xb3\xf1\xa2\x78\x83\xb2\x5b\x6b\xdf\x0e\x9f\x88\xfa\x52\xae\x86\xbe\xec\x56\x5f\x1f\x62\x47\xd3\xdd\x88\xf5\xbf\xdb\xd9\xf6\x45\xc6\xfa\x22\x63\x7d\x91\xb1\xbe\xc8\x58\x5f\x64\x0c\xfd\xc6\x8b\x8c\xad\x2d\x3e\x9a\x71\x7c\x29\x12\x64\x5f\x64\xac\x17\x22\x77\x37\xdd\xdf\x96\x10\xb9\x87\x16\x84\xbd\xa8\xa6\xe6\x2d\x08\x6f\x8e\xfb\xe1\x46\xd2\x15\xfb\xc3\x2d\x68\x8f\xff\x61\xff\xaf\xc7\xff\xe8\xf1\x3f\x5a\x66\xdd\x07\xb3\xf6\xf8\x1f\xa8\x0f\xd7\xec\xc3\x35\xf7\x39\x5c\xb3\xc3\x36\xf6\xf8\x1f\x1d\xc5\xb9\x17\xc2\x00\x71\x32\xd7\x5a\x38\x20\x3f\xd5\x15\x8d\xbd\x95\xd2\xdc\x58\x7f\x3b\x38\x20\x8d\xd3\xde\x0b\x95\xe4\x15\x71\x40\x9a\xe8\xba\xb3\x02\xf2\x3e\xf0\x40\xdc\x68\xfb\xc4\xc5\x3e\xc4\x7a\xff\x43\xac\xf7\x2e\x71\x71\x6f\x24\xd9\x5e\xdd\xeb\x73\x17\xfb\xdc\xc5\x5e\x19\xee\x95\xe1\x9d\x2f\xe3\x3e\x29\xc3\x6f\x2c\x61\xbf\x20\x2e\xc8\x76\xb2\x76\x2f\x6a\x9b\xf7\x7a\x51\xbb\x17\xb5\xbf\x50\x51\x7b\x3f\x56\xb8\x97\xb3\x7b\x39\xbb\x97\xb3\x7b\x39\xbb\x97\xb3\x77\xbe\x8c\xbd\x9c\xfd\x6a\x38\x21\x4d\xc2\x76\xc7\x7c\x9b\xf7\x24\x69\xf7\x52\x76\x2f\x65\xef\xb7\x94\xbd\x37\x13\xea\x31\x43\x7a\xcc\x90\x1e\x33\xa4\xc7\x0c\xd9\x48\xbe\xf9\x37\x7b\x2c\x3f\x04\x37\xb1\xbf\xb2\x3f\x7c\x97\xf0\xc9\xfd\x22\x23\xfa\xbf\x67\x34\x25\x4c\x82\x34\x4a\xd5\x22\x94\x67\x5a\x56\xbe\xbe\xe6\x1f\xee\xce\xaf\x3e\x5d\x84\xd9\x34\x1f\x2e\x1f\x2e\xee\xcf\x6f\x06\xb7\x7e\x5d\xfc\xac\xc2\xb5\xb0\xdf\x95\x44\x32\x4b\xf2\xb7\x44\xeb\x9e\x70\x6a\xee\x14\x56\xb9\xdc\x6c\x64\xb7\xc3\xbb\xe1\xed\x8f\x90\x0d\x34\x3e\x3b\xbf\x1b\x7c\x77\x51\x22\x88\xd2\xf3\xc1\xe9\x5f\x1f\xce\x6f\xdb\x9f\x0f\xff\xfb\xfc\xee\xfe\xae\xed\xe9\xed\xf0\x62\x38\xb8\x6b\xff\xfa\xe3\xe0\xfc\xe2\xe1\x76\xb8\x74\x3d\x96\x8e\x76\xb9\x12\x22\x61\x91\x20\xce\x1f\x45\x96\x6b\x88\x62\x0d\x91\x17\x1f\x1d\x3b\x6c\xea\xeb\x04\x3d\x58\x9d\x9e\xda\xc6\x0d\x83\x0d\x1a\x32\xca\x48\x4c\x25\x9e\x24\x24\xae\xb5\xe4\xd6\xb0\xad\x25\x5c\x1a\xd4\xb3\xd6\x9e\xbd\xc8\xa9\x79\x5e\x64\x78\x01\x82\x1c\x45\x45\x58\xdc\xd0\x87\xd9\x87\xd6\x1e\x98\xe6\x5d\xf4\x89\x94\x7a\x8a\x72\x21\x08\x53\xc9\x02\x91\xcf\x54\x2a\x59\x6b\xd4\x6d\x5f\x5b\xb3\xf6\x4e\xf5\x0d\xce\xb1\x44\x13\x42\x58\x79\xfc\x82\x24\x04\xcb\x86\x31\xdb\xdd\xef\xb6\x2c\x7e\xaf\xac\x35\xc6\x5c\x46\x53\x4c\x93\x5c\x90\xca\x69\xe1\x69\x86\x05\x95\x9c\x0d\x3f\xeb\xbb\x4c\x1f\xe4\x6b\xf8\x9c\x8b\xcd\x4e\xcc\xf0\xaf\x21\x05\x5f\x95\xff\xf9\xe9\xbe\xfc\xaf\xd2\x99\xbf\xb8\x2f\xff\x6b\x39\xad\x07\x0d\x57\x29\xfb\x10\x7d\xba\x3f\x41\x9f\x20\xc4\x49\xa0\xfb\x39\x36\x14\x7b\x71\x7f\x82\x2e\x88\x94\xf0\x4b\xf1\xb1\xa2\x2a\x81\xb9\x7d\x47\x19\x16\x0b\xe4\xa6\x6f\x12\x5d\x71\x34\x47\xc4\x2f\x4d\x75\xf1\xd8\xdf\x73\x06\xaa\x7b\xb1\x7a\x17\x7c\x46\x23\x9c\x6c\xb7\x88\x83\xab\x12\x1f\xb8\xbe\x5d\xba\x14\xe1\xdb\xf5\xb5\x18\x5c\x9d\x41\x12\xa9\x1b\x6a\xc3\xcc\xaf\x88\xd4\x44\x12\x71\x16\x5b\x2f\x8d\xbe\xfd\x17\x81\x50\xff\x77\x0e\x89\xb8\xb9\xa4\x6c\xa6\x5b\x44\xc7\xe8\xfa\x76\xc4\xae\x45\x6c\x0c\xa1\x44\x4b\xc3\x86\xe6\xa8\x44\x8c\x2b\x44\xd3\x8c\x0b\x85\x99\xd2\x8a\x00\x88\x01\x76\x45\x0c\x07\x38\xe5\x69\x9a\x2b\xac\x0f\x5a\x6d\x51\x99\x31\x87\xdc\x11\x75\x1e\x83\x6b\xa5\x61\x0d\x8d\x9c\x50\xcc\x25\x13\xba\x7d\x2d\xa3\x94\x75\x68\x1a\xd7\x54\x59\xd7\x04\x16\x02\x97\xa5\x89\x0f\x54\x91\xb4\xfa\x7e\xc7\x20\xcf\x7f\x35\x1a\x08\x4e\x4d\x52\x05\x11\x03\x11\xcd\xa9\x22\x91\xd2\x47\x70\x23\x9a\x78\xb8\xfa\xe1\xea\xfa\xa7\x50\x82\xf8\x30\xb8\x3c\xfb\xf3\x7f\x94\x7e\xb8\xbd\xac\xfd\x30\xfe\xf1\xcf\xb5\x5f\xfe\x7f\x4b\xe9\xa9\xda\x53\x4d\xcf\x0f\xe6\x72\x08\x22\x35\xd8\x84\xdd\x54\x11\x4d\xf1\x8c\x20\x99\x67\x9a\x02\xe4\x51\x79\x7f\xb5\x48\x79\xc1\x71\x4c\xd9\xcc\x64\x80\x5e\x50\x45\x04\x4e\x2e\x71\xf6\xd1\xd9\xaf\x37\x58\x9d\xff\x7b\x57\xca\xd7\xfd\xf0\xf3\xe0\x32\xcc\xf8\xfd\x70\x73\x7b\x7d\x7f\xbd\x74\xd6\xa5\x16\xea\xc7\x48\x3f\x3e\x81\xff\x45\xc7\x48\xb7\xee\x25\xdf\x94\x28\xac\x35\x02\xf4\xb5\x49\x9a\xf3\x89\x34\x94\x25\x70\x6a\x32\x41\x53\x0a\x57\x8a\xb1\xe0\x7d\x63\x84\x6b\xaf\x3d\xf8\x73\x63\x3e\x00\x6d\xd9\x5d\xca\x2c\xc6\x22\x46\x7f\x97\xd5\xf4\x71\x30\x1c\x9b\x1f\x48\x8c\x0e\xd1\x5c\xa9\x4c\x9e\x1c\x1f\x3f\x3f\x3f\x1f\xe9\xb7\x8f\xb8\x98\x1d\xeb\x3f\x0e\x09\x3b\x9a\xab\x34\x31\xe9\xf2\x7a\x15\x4e\xd0\x8d\xe0\xfa\x0a\x01\x05\x9d\x08\x8a\x13\xfa\x2b\x89\xd1\xc4\xf0\x3f\x3e\x45\xbf\x44\x5c\x90\xa3\x62\x63\xac\x51\xc9\xde\x23\xd6\xf0\x74\xac\x5f\x6a\x60\x26\xd5\xfd\x44\x31\x89\x68\x6c\xc5\x0c\xc2\x22\x0e\x96\x47\xe3\xab\xd0\xed\xb9\x4c\x43\xad\xd1\x64\xb9\x2a\x96\x33\x50\x56\x70\x4c\x82\x6c\x77\xc5\xcb\x04\xa7\x15\x9f\x73\xa3\xb6\xe6\x5a\x45\xd7\x77\x2b\x86\x5b\xd5\xbd\x9a\xe9\x09\x47\x3c\x41\x93\x7c\x3a\x25\x22\x74\x48\x1f\x68\x6d\x86\x4a\x24\x48\xc4\xd3\x14\x24\x06\xfd\x55\x2e\x0d\x55\xc3\x8a\xd9\xd1\x1e\x8d\x18\xec\xbf\x56\x73\x80\x02\x62\x0e\xac\x8e\x11\x12\x23\xcc\x16\xa6\x9b\x49\x3e\x0d\xdb\x37\x30\x14\x38\x46\x54\x8d\xd8\x20\x49\x90\x20\x29\x57\x24\xc8\xa1\x04\xe7\x59\x79\xc1\x81\x45\x0a\x92\x25\x38\x22\xb1\xa1\x87\x84\x47\x38\x41\x53\x9a\x10\xb9\x90\x8a\xa4\x61\x03\x5f\x83\xad\x46\xaf\x19\x95\x28\xe6\xcf\x2c\xe1\xd8\xce\xa3\xfa\xd9\x37\xe5\xd3\x38\x74\x10\x01\x43\x21\xb8\x80\xff\xf9\x81\xb2\x78\x67\x1c\xea\xe1\x6e\x78\x1b\xfe\xfb\xee\xe7\xbb\xfb\xe1\xe5\x7a\xdc\xc7\x53\x16\x0c\x0f\x74\xf8\x13\x74\x67\x16\x81\x0b\x2d\x11\x89\x96\x49\x5d\x5a\x52\x2a\x7e\xe0\xf1\x86\xdc\xf7\x72\x70\xf5\x30\x28\x71\x94\xbb\xd3\xef\x87\x67\x0f\x15\x7d\xc0\xce\xaf\x24\xc3\x1b\xf5\x2f\xfc\xed\xf4\xfb\xf3\x8b\xb3\x71\x83\xc2\xf8\xe1\x76\x78\x7a\xfd\xe3\xf0\xb6\xd0\xed\x1a\x97\xa8\x32\x98\x2a\xb3\xba\x37\x4c\x69\xce\x63\x34\x59\x34\x03\x42\x68\xc9\x39\x01\x5f\x6c\x01\x89\x62\x5a\x3d\x01\xde\xe4\xb0\x39\x8a\x2f\x52\x1e\x93\x03\xfb\x0e\x20\x69\x18\xe3\x8a\x91\x98\x9b\x1b\xd6\xbd\x63\x16\x18\x2a\x0c\xc8\x85\x5f\xb8\x13\x34\x40\x52\xbf\x98\xeb\x43\x2d\xe8\x6c\x06\x86\xc3\xca\x50\x4d\x6b\xf6\x53\x58\x5e\xf8\xce\xec\x7f\x26\x38\x9c\x73\xdd\xad\xb5\x38\x7b\xab\x84\xf9\x10\x50\x57\xca\x2d\x0a\x0c\x06\x87\x86\xa1\xb9\xcd\xd2\x8b\xd0\xba\x5e\xe6\x3c\x1a\x7b\x91\x3e\x5c\xc0\xb6\xa4\xb1\x77\x66\x82\x3c\x51\x9e\x07\x9f\x5a\x60\x8f\xd2\x8e\x37\x36\x5f\x2c\x00\x2c\x9b\x31\x8a\x54\x9a\xf1\xe4\xd1\xd8\x82\x66\x61\x4f\xd0\xc2\x54\xf0\xb4\xa1\x8d\xf2\x31\x39\xbf\xbe\x53\x02\x2b\x32\x5b\x9c\x59\x96\xb1\xf9\xf1\x38\xbb\xfe\xe9\xea\xe2\x7a\x70\x36\x1e\x0e\x3e\x95\x4f\xbc\x7f\x72\x77\x7f\x3b\x1c\x5c\x96\x1f\x8d\xaf\xae\xef\xc7\xee\x8d\xa5\x24\xdf\xd2\x41\xfd\x9e\x2e\xbf\x78\x82\x34\xcb\x05\xd6\xe8\x00\xef\x02\xfe\x38\x21\x53\x2e\x0c\x9f\x4f\x5d\xe8\x82\x15\x61\xdc\xda\x5a\x5d\xac\x32\x8b\x13\xb0\x8c\x35\x35\x69\xac\xde\x4a\x10\x9c\xc2\x3d\x81\x19\x1a\xb2\xf8\xf0\x7a\x7a\x78\x67\x7e\x4c\xb1\x78\x24\xc2\x7f\xfa\x2c\xa8\x52\x84\x95\x54\x3a\xec\x86\xec\x95\xc4\xa2\x83\x23\x74\xab\xf9\xbe\x7e\xdf\x5f\x6a\x9a\xd8\x63\xa2\x30\x4d\xa4\x1d\x6c\x69\x5d\x4f\xd0\x05\x16\xb3\xc2\x0e\xf7\x35\x9f\x4e\x4d\x63\xdf\x98\x61\xe8\x3b\xac\x34\x8b\x06\xde\xab\x49\xc3\xdd\x8b\xd0\x9f\x7d\xd9\xcb\xc3\x75\xaa\x7a\xc8\xb6\xa3\xa9\x87\x1b\x58\x71\xa3\xb1\x97\x74\x43\xfb\xa4\x81\xd6\x60\xe2\xe6\xf1\xf2\x4b\xa6\xb9\xed\x3a\x39\x95\x5f\x6c\x20\x27\x93\x4b\xa5\x77\x7e\xaa\xb5\xcd\x06\x5a\x22\x9f\xa9\x35\x18\x84\xe3\xae\x90\x50\xd1\x0c\x98\x57\x71\x96\x11\x2c\x64\xd3\x6e\x97\xc5\xc0\x96\xbd\x37\x3d\x85\x7d\xd8\x4d\x76\xfd\x1c\x20\xce\xc0\xe0\xe0\x85\x88\x0a\x45\x76\xa0\x01\xd3\x56\x8d\x02\x6e\x00\x6d\xe9\xda\x22\x1b\x5d\x52\xa9\x95\x46\xf3\xe3\x77\x16\x72\x69\x33\x82\xf8\x38\x38\xbf\xa8\x08\x17\xe3\xb3\xe1\xc7\xc1\xc3\xc5\x72\x33\x61\xe9\xbb\xea\x16\xa3\x43\xa4\x9f\x97\xfd\xe6\x74\x6a\xee\x0c\x07\x1c\x65\x54\x5a\xc2\xc0\x68\x65\xa1\x6a\x8c\xbd\x3a\x26\x59\xc2\x17\x29\x61\x60\xe2\x29\xdd\x84\x7a\x3d\xa7\x98\xda\xab\x25\x18\x2c\x58\x71\xac\xd9\x0d\xae\xb1\x43\x87\x56\x45\x62\x7f\xf3\x96\xc1\xaa\x2a\xac\xfb\xc6\x78\xcf\xec\x7f\xee\x14\x56\x1b\x9e\xb1\xc1\xe9\xfd\xf9\x8f\xc3\xb2\x7e\x78\xfa\xfd\xf9\x8f\x4d\x52\xcd\xf8\xd3\xf0\x6a\x78\x3b\xb8\x5f\x21\x9c\x54\x9a\x6c\x12\x4e\xa4\x1e\x70\xd5\x7b\x4a\xa5\x8f\x08\x8a\x0c\xe4\x15\xa2\x4a\xa2\x27\x2a\xe9\x84\x02\x40\x98\xf5\x44\x3e\x9c\x03\x67\x7d\xc2\x09\x8d\xa9\x5a\x38\xf1\xc5\xf4\x5b\xde\x47\xcd\x49\x6d\xfb\xc6\xec\x10\xfa\x27\xc1\xca\x67\x36\xc7\x4d\xfa\x04\x81\x6e\xfb\x04\x4a\x5b\xf0\x19\xd3\x82\x34\x9b\x11\x61\x86\x03\xde\x97\x70\x2c\xc1\x73\x3d\xaa\x50\x58\x29\x56\xcd\x0b\xad\x33\xc2\x88\x00\x10\x38\xdf\x89\x11\xa4\x04\x61\x5f\x69\x99\x2b\x4b\x68\x44\x55\xb2\x40\x11\xd8\xb0\xc0\x9c\x99\x62\x86\x67\x56\x38\x00\x35\xa7\x42\x12\x7f\x35\x28\x6a\xd7\x53\x6b\xda\xbf\xa7\x64\xc3\x63\xf6\x70\x75\x36\xfc\x78\x7e\x55\x26\x81\xef\xcf\x3f\x95\x44\xd8\xcb\xe1\xd9\xf9\x43\xe9\x36\xd7\x92\xec\x72\xb9\xbe\xda\x6c\xc3\x51\xf4\x2f\x9d\xa0\x33\xf3\xe9\x89\x5e\xdc\x06\x88\x38\xaf\xfc\x56\xd6\xe1\xd6\x85\xe4\xb9\x3f\x86\x4c\x89\x46\xbf\x44\x57\x13\x92\xf5\x41\x96\x6c\x48\xcd\xa1\x0a\xb5\xbe\xaf\xaa\x4e\xe5\xea\x94\xdd\x8b\x10\x74\x79\x54\x58\x96\xc2\x18\x06\x30\x1a\xb4\x19\xb1\x1a\xdc\x5a\x05\xc3\xfe\x11\x5c\xd4\x69\x2e\x95\x71\x25\x02\x71\xa2\xc7\xbf\x48\xbd\xa0\xe0\x6a\x3c\x42\x77\x84\x8c\x98\xb3\x1e\xcc\xa8\x9a\xe7\x93\xa3\x88\xa7\xc7\x05\x3e\xe1\x31\xce\x68\x8a\xb5\x24\x4d\xc4\xe2\x78\x92\xf0\xc9\x71\x8a\xa5\x22\xe2\x38\x7b\x9c\x41\x04\x8c\x73\xa7\x1e\xfb\x66\x67\xfc\xdf\x2f\xfe\xf4\xed\xe1\xc5\x5f\xbe\xfd\x50\xb7\x90\xb5\xed\xff\x90\x45\x38\x93\x79\x62\x23\xe6\x44\xb8\x36\xee\xc8\xe7\x64\xd5\x7e\x5f\x95\xb7\x6b\x3b\xfd\xf5\xf4\xe6\xa1\x64\xb1\x2e\xff\xf3\x72\x78\x79\x7d\xfb\x73\x89\x53\xde\x5f\xdf\x0e\x3e\x95\x18\xea\xf0\xe6\xfb\xe1\xe5\xf0\x76\x70\x31\x76\x0f\xb7\xb1\xbd\xfd\xc0\xf8\x33\x2b\x2f\x8d\x74\x1c\xb0\xd6\xd3\x09\xfa\xc8\x05\xfa\xc1\xef\xe4\xe1\x04\x4b\xb8\x62\xdc\x9d\x25\x0f\x50\xc6\x63\x60\xbc\x88\x64\x73\x92\x12\x81\x13\x6b\x33\x90\x8a\x0b\x3c\x33\x37\xbd\x8c\x04\x56\xd1\x1c\xc9\x0c\x47\xe4\x00\x45\x40\x0d\xb3\x03\xd8\x14\x50\xb5\xf8\xac\x6a\xe7\xbb\xcd\x99\xa2\x29\x71\x2a\xb8\xfd\xe7\xbd\xd9\x8c\x0d\x36\xe7\xfa\xfe\xfb\xb2\xb0\xf7\xf1\xe2\xe7\xfb\xe1\xf8\xee\xec\x87\xa5\xeb\x69\x3e\x2b\x8d\xec\x0e\x02\x90\x4e\x79\x92\xa7\x2c\xfc\x7b\xf3\xb1\x9d\x5f\xdd\x0f\x3f\x55\x47\x77\x3d\xb8\x2f\x53\xc6\x6d\x39\xc0\xed\xc3\x77\xd7\xd7\x17\xc3\x92\x4b\xf8\xc3\xd9\xe0\x7e\x78\x7f\x7e\x59\xa2\x9f\xb3\x87\x5b\x83\x46\xb8\x6c\x9a\x6e\x04\x0d\x13\xd5\xd3\x0a\xa7\xb9\x6b\x56\xd8\x89\x13\x0d\x6c\x40\xb9\x39\xcb\x87\x01\xdc\x8e\x09\x07\x03\xab\xce\xa1\x37\xa9\x46\x66\xa4\x8d\xec\x50\x95\xb7\x09\xb5\xb3\xe3\xa5\x1b\xbd\x8c\x2b\xdf\xfb\x21\x18\x28\x50\xa3\x6c\xe3\x24\xe1\xcf\x26\x94\x37\xa5\xfa\x56\xb6\xc0\x68\xfa\x15\x59\x78\x08\x8f\x1a\x38\x5e\x79\x5b\x48\x24\x88\xba\xe4\x39\x53\x9b\x93\xdc\xe0\xaa\xc4\x77\x86\x57\x3f\x8e\x7f\x1c\x94\x29\xf0\xfc\x62\x39\xab\x09\x9b\x68\xb8\x8a\x07\x57\x3f\xfb\x4b\x18\x02\xbe\x0f\xbc\x86\x6a\x64\xd7\x28\xa1\x5a\xec\x8d\xb0\xd6\x5e\x13\x90\x68\x10\xa1\x60\x72\x48\xf5\xe4\x20\xc0\x34\x33\xfe\x24\xc3\x9f\xcc\x20\x4f\xdc\x1f\x95\xf6\x24\xac\x0b\x58\x53\x5d\x3c\x3d\xb4\x63\xb5\x6a\x86\x08\x7b\xa2\x82\x03\x9e\x2d\x7a\xc2\x82\x6a\x69\xdc\xb4\xac\xe7\x7a\x02\xff\xbb\x5e\x9b\x60\x18\xad\x30\xae\x3b\x2e\xd4\x99\x0f\xe4\xdd\xcc\x1a\xd2\x14\xd0\x5a\x0f\x65\x6d\x36\x74\xd4\xbf\x6d\xd8\x9c\x2d\x03\x7e\xcb\x13\xfe\x47\x72\x46\x71\xa2\x19\xc0\xee\xe4\xc5\xc1\xd5\xdd\x79\x59\x7e\x2c\xab\x19\x01\x5f\xde\x58\x5e\x04\x43\xa5\x19\xb9\x53\x26\xee\xfe\x7a\x61\xb4\x0b\x00\x3d\x36\xe7\x36\x50\x2c\x40\x00\x72\x28\x28\x19\x16\xb2\xf2\x85\x44\x00\x84\x56\x04\x5c\xe9\x3b\x0b\xc2\x99\x9e\x38\x8d\x47\x8c\x7c\xce\x08\x93\x10\x1c\x60\xee\xb3\xc2\xd7\x2e\x8f\xd0\xf9\x14\x58\x82\x7e\x9d\xa1\x9c\x59\x07\x98\xbe\x70\xcd\x20\x0f\xb4\x28\x6b\x87\xe0\x35\x44\x30\xbc\x30\xe2\x82\xa5\x8a\xc1\x8f\xd8\x4f\xde\x89\x06\x8f\xa6\x5c\x33\x20\xbd\x8b\xb6\xbd\x13\x84\x99\xa4\x07\x48\x2b\x2c\xd5\x3d\x85\xd4\x01\xad\x50\xda\x10\x2e\xcd\x69\xec\x9f\xaf\x7f\x0d\xd4\xe2\x84\xc3\xcb\xa0\xf9\x2e\xa8\x5c\x05\x2d\xa2\x71\x62\x3c\x26\xe3\xee\x77\x42\xc4\x05\xb1\x7e\x96\xb5\xaf\x81\x55\x8c\xfd\x1e\xcb\xc7\x9a\xef\xe1\x9c\x49\x85\x59\x44\x4e\x13\x2c\x37\x0c\x42\x72\x36\x8e\x83\xb2\xc4\x71\x7b\xfb\x70\x73\x7f\xfe\xdd\x0a\x2e\x5f\xfd\xb8\x1e\x06\x14\x25\xb9\x73\xcf\x4d\x04\xc7\x31\xd2\xec\x73\xc6\x8d\x2b\xd0\x0a\xfe\x05\xf4\xb7\xc9\xeb\xf1\x01\x95\x25\xd8\xf1\x22\x1d\xc1\xda\x39\x42\x57\x02\xb5\x0b\x81\x22\xbd\x12\x28\x30\x79\xb8\xad\x06\xcf\xa2\x29\x48\x62\xad\x5b\x59\x82\xd5\x94\x8b\xd4\x70\xf9\xd2\xa4\x4d\xe3\xcb\x1b\xa5\x4c\x11\x21\xf2\x4c\x51\x87\xe5\x5e\x95\x52\xa1\xc2\x3b\x9f\x5d\x12\x29\xf1\x8c\x6c\xe3\x80\x6e\x52\x1e\xee\x7e\x0c\xff\x09\x0e\xe6\x2e\xb2\x7f\x69\x84\x2e\xf2\xdd\xd1\xd3\x35\xfb\x68\x02\x79\x6e\x78\x42\xa3\x0d\x03\xee\x3e\x0e\xce\x2f\xc6\xe7\x97\x5a\x89\x1f\xdc\x0f\x2f\x4a\xa2\x04\x3c\x1b\x7c\xbc\x1f\xde\x5a\x10\xeb\xc1\x77\x17\xc3\xf1\xd5\xf5\xd9\xf0\x6e\x7c\x7a\x7d\x79\x73\x31\x5c\x11\x99\xd3\xda\x78\xdd\xba\x5a\x7d\xf5\xa4\xf6\x0b\xec\xb0\xe6\x65\xa1\xbd\x0c\xb2\xc6\x30\x4d\xc0\x09\xce\x8d\x33\x1c\x23\xc6\x63\x02\x3f\x4b\x67\x9d\xf1\xc8\xd1\xe8\x5c\x7d\x95\x24\x08\xe7\x8a\xa7\x18\xbc\x36\xc9\x62\xc4\xf0\x44\xb3\x56\x9c\x24\x41\x78\x97\xc8\x19\xd3\x2c\x56\x37\x66\x20\xda\xa3\x84\x68\x76\x9e\x05\xc9\x7e\xd6\x6f\x30\xa5\x0c\x22\x6d\x53\x2c\x1e\x8d\x9b\xa9\xe8\xb2\x38\x14\x12\x61\x39\x62\x7a\x5c\xc4\x1a\x86\xba\xac\xf0\x49\xa7\xb7\x5a\x57\x27\xc5\x8f\x44\xaf\x4a\x9a\x47\x73\x94\x09\x3e\x13\x44\x4a\x6b\x5b\x8e\x30\x33\x01\x08\xf6\x75\x7d\x0d\x8d\x18\xe3\x7a\x29\x9c\x09\x3b\x26\x19\x61\x31\x61\x11\x35\x69\x7d\xe0\xbb\xf7\xa6\xcd\x99\xc0\xd9\x1c\x49\x0e\x4e\x6f\x58\x76\xb0\x5f\x99\x8f\xdc\x4d\x66\x66\x6c\x1e\x87\x16\x68\x91\x6b\x3e\x71\x0d\x72\xa2\x59\x65\xf8\xd8\x5d\x86\xce\xed\x62\xec\x80\x69\x96\x10\x65\xc0\xfa\x61\xc9\x61\x33\xf4\x5a\x97\xf6\x43\x6f\x53\xd3\x26\xe8\x0b\xdb\x8d\x19\x4b\x3b\xa2\xa3\x06\xcb\xb6\x3d\x52\xe8\x7b\xcc\xe2\x44\xb7\xe2\x7c\x18\xe5\xb3\x08\xa9\x28\x03\x4d\x35\xee\x34\x6e\x73\x8b\x46\x38\x97\xdb\x5c\xa3\x95\x5c\x4c\x63\x15\x3c\x2c\x82\x42\x80\xbc\x6d\x22\x26\xac\x6e\xa6\x59\x24\x4e\xb8\x5d\x25\xf3\x7a\x6e\xea\x3f\x21\x18\x4d\xcb\x35\x9b\x09\xca\x22\x9a\xe1\x64\x23\xdd\xaf\x12\x8c\x6f\x63\xdc\xbf\xa6\x53\x4d\x3e\xdf\xd4\xdc\xb6\x8a\x88\x14\x12\x94\xed\x30\xfd\x16\xae\x61\x49\xb2\x59\x0d\x44\x16\xd1\x24\x58\xf0\xdc\xf8\xe3\x60\x5d\x48\xdc\x70\x54\x8f\x9a\xb6\x5b\x9f\x0c\x5c\x0e\x80\xde\x60\xb3\x4d\xe4\x4f\xdb\xfa\x55\x5a\xb1\xbd\x9b\x60\x3c\x9c\xdc\x34\xb7\xd9\xb4\x03\xc1\xc3\x7f\x2d\xa3\x9d\x4b\x9c\x69\x9a\xb1\xb0\xfd\xb8\x98\xa3\x55\x92\x6c\x55\x30\x17\x3f\x13\xf8\xce\x7d\x5e\x48\xf7\xdd\x28\x96\xd0\x06\x40\xd5\x3b\x29\xc5\x10\x04\x39\xe6\x96\xc6\xa7\xb9\x96\x65\x11\x86\x28\x04\xf4\x35\x39\x9a\x1d\x21\x57\x84\xe1\x00\x0d\x6e\x6e\x86\x57\x67\x07\x88\xa8\xe8\x1b\x17\xb3\x68\x03\x96\x46\x4c\x71\x2b\xad\x2c\x5c\x01\x8d\x94\x88\x19\x29\xcd\xd9\x45\x37\x41\xa8\xf2\x8c\x4a\x65\xc3\x67\x35\x5f\x09\x4a\x9d\xd0\xb4\x2a\x66\x1b\x0a\xc9\xd5\x7c\x1b\xd2\xc0\x52\xe6\xa9\xd6\x65\xc7\x14\xa7\x63\xc1\x93\x6d\x98\xc2\x19\x4c\x05\xd4\x65\x9f\x9e\x4f\x71\x8a\x74\xb3\x36\x14\xc4\xbb\x1c\xbd\x48\xa7\x05\x23\xcd\x97\xf5\xbd\x19\xdc\x5b\xce\xfb\x60\xe3\xd1\xa8\x0b\x81\x80\xf4\xfd\x16\x56\x51\x98\x8d\xc7\xd6\x52\x3f\xc6\x51\xa4\x55\xee\x1d\x4f\x2a\xa8\x9f\xe3\x5c\x02\xb6\xa3\x17\x9b\xe6\x2a\x3a\x77\xc3\xcc\x34\x07\x83\x60\x60\x7d\xe5\x4a\x1e\xd1\xa2\xfd\x86\x7e\x27\x8b\x5a\xaf\xae\xc2\xcd\x83\xf4\x26\x15\x73\x09\x4b\x02\x3b\x29\x4d\x85\x1c\x35\x27\x0b\x34\xc7\x4f\xa4\xd4\xa5\x4b\x88\xd1\x0d\x2f\x78\x2e\x9a\x18\xdd\x88\x9d\x91\x4c\x10\x2d\xe9\x57\x1d\x28\x9e\xa6\x6f\xcb\x94\xd8\xd3\x75\x4f\xd7\xef\x9e\xae\x4f\x4d\xa1\xa4\x81\x2f\x8c\xb5\x95\x00\x67\x1a\x1b\x67\x9c\x27\xe3\x0e\x36\x91\xee\x2b\x5e\xf2\x84\x55\xca\x46\x01\x24\x00\xcf\x41\x3e\x2a\x5d\x9b\x5c\xdf\x75\x41\x8a\xad\x1d\xde\x92\x65\x70\x2e\xb3\xa0\x5e\xce\x36\xe7\xbd\xa9\x95\x65\x2d\xa1\x17\x17\x73\x4e\x8d\x7c\xe3\xdd\x65\x61\xfd\xd3\xd2\x61\x72\xa2\x08\x65\xb5\x6a\x6c\x86\x9e\xf5\x02\x1b\xb9\xe3\x1f\x39\x57\x58\x7e\x73\x34\x62\x5a\x88\x7a\x24\x0b\x63\x6e\xd5\x62\xca\xef\xb4\x2c\x7e\x28\x09\x93\x10\xee\xfd\x3b\xe3\x9e\xd3\x24\xee\xcc\xd5\x46\x35\x35\x45\xe0\x20\xe8\xda\xf7\x02\x21\xba\xb6\x51\x2b\x25\x15\x01\xd0\x20\xe7\x9b\xb9\xd8\x67\x66\xf8\x33\xa2\x20\xc5\x5a\x51\x05\x3a\x53\x6c\xaa\xcc\xd5\x86\xbe\xd2\x74\x65\xa8\x42\x70\xf0\x93\xc4\xf9\x76\x8c\x5f\xd6\xdb\x58\xc9\x19\xbd\xb6\x70\x67\x63\xde\x8f\x9d\xdd\x28\x12\xbc\x56\xba\x0d\x4b\x64\x76\x7a\x62\xd8\x81\xf3\x5f\x13\x76\xf4\x4c\x1f\x69\x46\x62\x8a\x21\x02\x5e\xff\xeb\x58\xcf\xeb\xdf\x4f\x6f\xaf\xaf\xc6\x45\x26\xcf\x7f\x8d\xd8\x20\x91\xdc\x67\x29\x20\xc6\x99\x0f\xb7\xcf\x04\x71\x22\xa1\x9d\x0b\x58\x5d\x0b\x33\xe2\x88\xb5\x8d\x20\xe6\x91\x3c\xc2\xcf\xf2\x08\xa7\xf8\x57\xce\xc0\x95\x3e\x80\x3f\x4f\x13\x9e\xc7\x3f\x61\x15\xcd\x8f\xe1\x5c\xab\x63\xf2\x44\x98\x32\x6e\x2a\xbd\x5c\x31\x24\xef\x4a\x88\xd6\xff\x77\x3d\xe6\x22\xa9\x48\x6a\x4d\x36\x22\x99\x42\xff\x8f\x20\x13\xce\x55\xf3\x25\xc5\xa7\x53\x49\xd6\xba\x90\x0a\x25\xed\xee\x1a\xfd\xe5\xcf\xdf\xfe\x41\x93\xd0\x26\x6b\x7c\x7e\x77\x3d\xd6\xdf\xff\xfb\x99\xfd\x5e\xae\xc1\xee\xae\xb3\x82\xb5\x39\xe2\x31\x81\xf3\x39\x83\xdb\x4f\x80\xf3\x02\xd8\x1b\x90\x43\xb1\x8f\x4d\xdc\xed\xac\xd4\xfa\x76\x2a\xdb\x46\x8b\x09\x2a\x76\x30\x47\x74\x88\x18\x47\xa9\x89\x35\xc5\x0c\xfd\xc7\x0f\xdf\x35\x6f\x60\x2e\xe8\x46\x1d\x52\x0b\xd7\x10\x74\x29\xe9\xaf\x44\x22\x4d\x35\x9a\x8a\x79\xaa\xbb\x16\x44\xce\x79\x12\xa3\x67\x02\x6a\x92\x8d\x03\xf5\x5a\xb9\x20\x23\x16\x36\x01\x21\x87\x08\x27\x8a\xcf\x08\xdc\xd5\x4e\x51\x53\x44\x68\x51\xc5\x64\x69\x28\x2e\xc8\x81\x81\xfa\xba\xfb\x93\x8b\xad\x86\x69\xc2\x23\x97\xd4\x62\x4d\x72\xf1\xa4\x79\xe6\xd3\xaa\xe9\x15\xb5\xdb\xf0\xab\x9b\x6c\xcd\xb6\xcd\x4b\x63\x93\x50\xac\x0d\xab\xba\x33\xcd\x83\xa1\x11\x67\xe3\x84\xb2\xc7\x8d\x36\xe3\xda\x89\x72\xba\x05\xbb\x66\xba\x45\x6f\xe7\x36\x16\x90\x35\xce\xc7\xc7\x3c\x49\x4c\x6a\x4b\xb8\x3d\x20\x77\x99\x75\x03\x61\x20\x33\x39\xa0\x24\xb6\x7e\x2f\xab\x09\x0b\xc2\x20\xe0\x6d\xc4\x26\x0b\xeb\xb3\x95\x07\x48\xe6\xd1\xdc\x65\xe6\x45\x9c\x49\x2d\x46\x73\x81\x22\x9e\xa6\xa6\xb8\x29\x23\x48\x71\x9e\x48\x1b\xed\xce\x0e\x15\x8e\xd4\x88\x15\xfd\xad\x38\x79\xa6\x02\xd2\x76\xa9\x7b\xdd\x5d\x3a\x45\xa5\xa5\xa5\x02\x37\x8d\x43\xcc\x06\x30\x82\x19\x4f\x54\x80\xfe\xc0\xeb\x67\xc9\x6c\x58\x8b\x66\x20\xe7\x5c\xa8\x71\xdc\xc8\x73\x56\x12\x4d\x95\x11\x32\x72\x98\x40\xd0\x30\x7f\xd2\xc2\x3f\x79\xf6\xc6\xd7\x65\x43\xd0\x54\xbd\x6c\x04\xdd\x8e\xd1\xd2\x91\xad\x4b\x82\x2d\x6b\x65\x10\x3c\xa2\x72\x4c\xf8\xaa\x31\xde\xc1\x57\xa7\xfa\xa3\xa5\x8b\x57\x3d\x77\x4e\x08\xe2\x71\x01\x36\x67\xee\x75\x9b\x11\xb2\x6c\x4d\x2d\x74\xc2\xcb\x65\x8e\x2e\x9b\xca\x43\xd9\x92\xab\xc7\x02\x26\x7b\x49\x40\xd6\xc4\x62\x42\x95\xc0\xa2\x84\x14\xe2\xf5\x41\x49\xb0\x80\xf8\xac\x11\x33\xb8\x71\x46\x53\x88\x51\x4c\x25\x24\x88\xc0\x5d\x1a\x38\xc3\x50\x37\x25\xb0\x72\xb4\x8b\x3c\x47\x13\x7f\x0e\x81\x65\x05\x69\x38\x66\xa7\x3b\xf2\xf8\x58\x5a\x3f\xe3\x51\x5e\x08\x72\x11\x48\xb8\x16\x53\x07\x51\x26\xe9\x6c\xae\x10\x65\xd6\xee\x88\x93\x19\x17\x54\xcd\x53\x79\x80\x26\xb9\xd4\x5a\xa8\x09\x56\x33\xf1\x28\x44\x45\x9d\xb8\xd0\xb6\x49\xc4\x71\xa5\xc1\xba\x8a\xb2\x01\x69\x74\x3b\x94\xc3\xca\x5d\xb1\x82\x70\x06\x1e\x67\xb0\xda\x06\x85\xba\x8d\x06\x9e\x12\x99\x38\x40\xee\x90\x9d\xa0\x0a\x48\xdb\x39\x00\x54\xc8\x9d\x79\x29\x5e\xa3\x10\x17\x32\xc9\xa0\x82\xb8\xd8\x6d\x90\xbc\xca\xc8\x94\x06\xbd\xc9\x3b\x9d\xd2\x4c\x35\x06\x6e\xd5\x5d\x45\xb7\x01\xe6\x4f\xb7\xc5\x86\x64\x2c\xa0\x66\x40\x6a\x1b\xb1\x3b\x42\xda\x81\xdc\x6a\x7b\x6f\x4a\xe3\xc2\x14\x6c\xa2\xc7\x72\x92\xdf\xc6\x89\x7d\x36\xbc\x3b\xbd\x3d\xbf\x31\x90\x13\xd7\xb7\x97\x83\xfb\x71\x83\x5f\xbb\xe1\xad\xcb\xc1\xed\x0f\x67\xab\x5f\xfb\xfe\xbe\x9c\x95\xdd\xf0\xca\xed\xdd\xf2\x64\x8e\x0e\x43\x6c\x48\x0a\x6b\xec\xe7\x04\x65\x0b\x35\xe7\xcc\x87\x28\xc4\x25\xde\x74\x88\x4c\x46\xb0\x82\x10\x22\x21\x55\x83\xe3\xf0\x1e\xe2\x72\x56\x4b\x98\xe5\xcd\x32\x30\x6c\x3b\x15\x8d\xd6\x38\x91\x9f\x12\x3e\x01\xbf\x75\x5e\x2a\x71\xbb\x24\x02\x7d\xcb\x78\x9f\x33\x2a\xb3\x04\x2f\x6a\x3d\xac\xba\x72\xae\x70\x4a\x20\xe2\xb8\xc0\x8f\x73\xc9\x22\x7a\x67\x20\x81\xc9\xdf\xeb\x74\x0a\x99\x4c\x8a\x62\x45\xd0\x84\xa8\x67\xc8\x9b\x73\xbf\x7a\x5b\xaa\x0b\x18\x91\x47\x23\x06\xe6\x9c\x91\x5e\xe4\x38\x87\x68\xbf\xd1\x87\x03\x34\xfa\x10\x93\x27\x92\xf0\x4c\xef\xbc\xfe\xa1\xe5\x92\x19\xa6\x98\x26\x57\x5c\x79\xcb\xdc\x36\xfb\x29\x48\x44\x33\x90\xcc\xc7\x44\xb7\xfb\x7a\x82\x47\x89\x92\x1d\x3b\x83\x31\x20\x1c\xc7\x5a\xc9\x06\x56\xe6\x86\x57\x84\x00\xb1\x60\xea\xa5\x5a\x99\xeb\x88\x14\xde\xfc\x6d\x7a\x0c\xdb\x2c\x9b\x3d\x1b\x77\x80\x3d\xbd\xa0\x4b\x76\xdb\x8b\x5c\x6b\x25\x3f\x90\x05\xa4\x60\xdc\x60\x2a\x36\x74\xcd\x36\xc5\xbc\xbe\x88\x93\x76\xd8\xd0\xd1\x1e\xb9\x6b\x9b\xd7\x61\x3b\xc7\xad\x8f\xd5\x7b\x2d\x2d\xd5\xc5\x72\xf9\x8e\x3b\xaa\xad\x0f\x6d\x4a\x6a\x6b\x08\x03\xaa\x2a\x5e\x19\x89\xd6\xd0\xb8\xfc\x00\xef\xf4\x77\x2b\x35\x15\x2f\xae\x45\x61\x4d\x7f\xd8\x05\x9b\x1c\x5f\xcd\xc7\x27\x2b\x47\x1c\x25\x5c\x96\xb1\x72\x3a\x0f\xfa\xd4\x7e\xba\x6c\xdc\xc3\x90\x7c\xb5\x5c\xb8\x56\x40\x43\xc3\xc2\x57\xc0\x20\xcd\x3d\xa3\xac\x87\xcc\xbe\x7d\x80\x28\x44\x5b\x82\x42\x96\x14\xc8\x01\x2c\x46\x85\x1b\x64\xc4\x8a\x98\x15\x89\x9e\x49\x02\x61\x6e\x11\x4f\x33\x30\xf1\xdb\xe1\xda\x96\x48\x6c\x22\x86\x0f\x10\xcf\x95\x6e\xcc\xe4\xe4\x38\x23\xae\x4d\xf8\x29\xdc\x1e\xc6\xf7\x66\x83\xdf\x3d\xb0\xb4\xa1\x75\x73\x97\x52\x86\x3e\x11\x05\xad\x00\x70\x7f\x38\x41\xd0\x13\xaa\x21\x94\xcd\x6b\xbf\xc5\x89\xb2\x33\x59\x63\xe7\x0b\xe0\x94\xef\x12\x3e\x59\x6e\x24\x80\xc6\xd1\xc3\xed\xb9\xb3\x48\x16\xf1\x53\x01\x7a\x71\xc9\xa3\x38\xbc\xb9\x1d\x9e\x0e\xee\x87\x67\x47\xe8\x41\x12\xbd\x3c\x7e\xba\x90\x5f\xed\x55\x12\x33\x72\x8b\xc4\xc2\xa4\x22\xb8\xcd\x10\x42\x84\x28\x65\x41\xaf\x60\x1c\x65\x98\x96\xe5\x84\x0d\x20\x29\xd4\x1a\xea\x00\x58\xa8\x3a\x4f\x1b\x99\xb7\xea\x04\x42\x9c\xd4\xf8\xfd\x44\xa9\x99\xf1\xa6\xf5\xc8\xbc\x55\xe4\x53\x8e\xe8\x7b\xe9\xc9\xc0\xd1\x52\x73\x42\x05\xea\x34\x2d\x43\x54\xe3\xee\x73\x0a\x42\xdc\x2f\x71\xb6\x3c\xfd\x14\x3f\x97\x88\xd6\x88\xc2\x81\xef\xfe\xa5\xcf\x81\x63\x6b\x63\xc3\x0a\xb7\x9f\x60\xe1\xd0\x32\xbc\xd5\xf3\x4d\x93\xf1\x21\x9d\x91\x2c\x9c\x58\x65\x10\x36\x8e\x55\x22\x38\x3b\xf0\x0b\x65\xa8\x74\x25\x1e\xa0\x29\xfd\x6c\x1b\x2d\xe2\xdb\xdd\xab\x41\xc0\x43\x4b\x3c\xe5\x1c\xd7\xcf\xd4\x1a\x62\xc3\x0d\x7c\xbf\x54\x88\xe4\x52\x8b\x44\x91\x16\x97\x04\x89\xb8\xd0\x37\x05\x74\x5b\x78\x21\x56\x89\x0c\x0a\x0b\xbd\x28\x75\xaf\xcc\xb2\xd3\x5f\xd4\x20\x89\xb1\x22\x87\x5a\xf4\x5a\x91\x00\x6d\x73\x64\x20\x9b\x06\xab\x00\x0e\xac\xb8\x79\x26\x64\x86\x99\x0b\xcd\x6e\x19\xae\xbb\xf2\xb6\x60\x55\x5a\x05\xc2\x90\x1e\x06\xf2\x15\xa4\xfe\x94\xc6\x21\x33\x58\xcf\xa5\xe3\xb0\xd1\x2f\xfb\xb0\x6c\xcf\xd8\x07\xe3\xb4\x0c\x36\xcf\xe2\x7d\x1a\x6c\x82\xa5\x42\x76\x4c\x6d\xa6\x88\x40\x45\x7c\x59\x23\x6c\x49\xb7\xef\xaa\xbc\x69\x12\x2a\x6b\xb1\x04\x3c\x23\xd2\xe1\xa6\x18\x94\x18\xad\xd3\x38\x41\xd8\x94\x62\xf6\x67\xdb\xd6\x64\x76\xb7\x44\xc8\x4c\x20\x48\xbf\xde\xf4\x11\x1a\xb0\x1a\x5e\x96\x8b\xcb\x2a\xad\x97\xb9\x93\x70\xf2\x8c\x17\x12\x65\xc2\x40\xcb\x98\xc8\x7d\x37\x79\xd0\xc0\xca\x1f\xf9\x50\x08\xe5\x52\x27\x10\xd8\x62\x56\x07\xcd\x39\xb9\x77\xfc\x02\xae\xbc\x4a\x54\xb9\x17\xc8\x8b\xe6\x0a\x5b\x45\x07\x56\xa7\xc8\x38\x9a\x63\x36\x23\x63\x67\x64\xdd\x44\x5b\xd2\xed\x9c\x42\x33\x67\xb6\x95\xe6\xcb\xe9\xc6\x28\x4c\xb6\xfe\x8b\x79\xd5\x1b\x10\xf5\x21\x90\x0a\xcf\x08\x32\x23\xea\x64\x96\x2e\x45\x8c\x59\xb0\x61\xd0\x13\x6c\xab\xc3\x72\x14\x7d\x9b\xf0\x0e\xa1\x4f\x17\x78\x42\x92\xb7\x89\x9c\x80\xae\xad\x71\x1e\xbc\x75\x26\x1b\x80\xa0\x67\xb0\xe7\x57\x58\x86\xb5\xde\x8b\xbc\x29\x37\x60\xd9\x3c\x4b\xd5\xcf\xb7\x98\xa8\xab\x15\xb2\xc9\x54\xdb\x2a\x88\x84\xd7\x5e\x50\x69\xa3\xc9\xc0\x16\x5e\x7f\x55\x9b\xf2\x66\x03\x09\x0a\x7e\xb4\x8c\x63\xeb\x8a\x1f\x2b\xa7\xb2\x31\xc8\x40\xc7\x2a\x78\xe7\x53\xc4\x38\x23\x88\xca\xe2\x65\x55\x4e\x87\xf2\x10\x3d\x5a\xc4\x37\xc6\x17\x5f\xa5\xcb\x17\x5f\x7a\x69\x4b\x4b\x01\x9e\xe0\x6d\x03\x2e\xbf\x9b\x11\xad\xa8\x62\xb1\x00\x88\x4f\xc3\x87\xcb\x32\xdd\xca\x71\xee\x5c\xe0\xbe\x77\x08\xae\x41\xa4\xae\xe2\x08\xc4\xc8\xca\xe0\x90\xc1\x41\xb5\x2f\xd9\x8f\x2c\x4c\xcd\x88\x79\xcb\x06\x10\x22\x95\x28\xc5\x19\xf8\xf4\x18\x57\xc5\x57\x06\x76\x49\xf9\x2d\x3c\x70\x82\xb8\x34\x35\xb4\x5a\x56\x60\x95\x69\xc7\x5d\xbf\xc5\xba\x96\xe1\x2d\x1d\x34\xef\x8c\x3e\x11\xe6\x68\xfa\xc0\x9d\x09\x3d\x28\xd7\x69\xb2\x38\xc4\x10\x66\x4c\xe2\xd0\xf3\xb1\x9c\x23\x19\x83\xcc\x3e\xd8\x23\xbb\x2f\xd9\x7d\x63\x18\x8d\x01\x49\x2b\xa1\xdb\xbb\xc0\xf0\x90\x4a\x2d\x6e\xaf\xc9\x04\xc7\x12\xfd\x8e\x71\xf5\xbb\x00\xd9\xd8\x19\x2f\xe0\x53\x67\x82\x3a\xa8\x95\x6c\x81\x43\x6b\x09\x07\xe1\x00\x61\x6b\xe5\xca\x6f\x1b\x1b\x50\x04\xbe\xbf\xa8\x34\x3a\xac\x67\xc1\xb5\xd5\xbc\xea\x3d\xf6\xa8\x7a\x2d\x54\x0d\x9e\xa6\xac\x5e\x71\xd2\x4b\x86\x4e\xb9\xca\x45\xef\xf7\xa2\x93\x6b\xbe\x86\x08\xb0\x0d\xb5\xa5\x9d\x23\xa7\x56\x80\x20\x37\xdb\x25\x36\xc9\xf3\x6c\x93\xcb\x45\x39\x74\xcd\x96\xc1\x68\x41\xf9\x3d\x1a\xb1\x8f\x5c\xd8\x2b\x58\xda\x3a\x03\x13\x1c\x3d\x1e\x12\x16\x23\x9c\xab\xb9\x41\xdb\xb5\x7e\x85\x85\xa5\x06\x2d\x69\x00\xd9\x78\x28\x0d\x2a\x23\x2c\x62\x57\xf1\xe2\x89\xbb\x51\x8c\x58\xd0\x08\x54\x32\x80\x42\x4f\x50\xaa\xb6\x4d\xd5\x24\x52\xeb\x57\x6d\x6b\xd1\x54\x84\xb5\x56\x82\x75\xf9\x39\x2b\x15\x95\x85\x1a\x0c\x10\xe0\xc4\xa7\xf5\xd5\x39\x77\xd6\x46\xa7\xdf\x69\x7a\xae\x7b\x21\x0e\xac\x46\x61\x4c\x52\x76\x06\x5a\xd2\xf9\xd6\xf1\xda\x12\x6a\xf0\x34\x17\x10\xae\xdb\xd4\xe6\xd7\xd1\x9c\x26\x85\xef\xe2\x9b\x03\x3f\x4c\xdd\x64\x42\x9e\x48\x62\x30\xeb\x23\x01\x91\xf9\xc6\x6a\xf8\x2d\xfa\x3f\xa6\x30\x29\xfa\xc3\x88\x7d\x02\x36\x9c\x24\x0b\x40\xd4\xf4\x2d\x63\x55\x69\xe6\xb1\x71\x00\xca\xa6\x02\xa1\xf2\x40\xcc\x5e\xcf\xf1\x13\x19\x31\xd7\xcc\xff\x41\x8f\xe8\xf7\xe8\x0f\x6d\xea\x9d\x0b\xb0\x7f\x61\x3b\xc7\xc7\x20\x7c\x3d\xb8\xe5\x2c\xa3\xb4\xfc\xc6\x99\x41\x4a\x46\xc8\x06\x64\x0d\x0f\x8c\x4d\xd9\x13\x8f\x6a\x59\x1c\xe1\xa9\xc5\x82\x30\x35\x66\x3c\x26\x63\xd2\xe0\xd2\x5c\xc2\x24\xb4\x10\x70\xc5\x63\xb2\xd2\x21\xe9\x99\xe9\x4f\x60\xba\x91\xf9\xc4\x6f\x07\x24\xf8\xfb\x6c\x6e\x6f\x7d\x28\x53\x5a\xf3\xc8\x3d\xfa\xec\x26\xe3\xde\xd4\x99\xea\xc2\x44\x0f\xe0\x42\xb0\x03\x68\x76\xe8\x25\x58\x39\xf7\x7a\xf5\x38\x56\x1d\x01\xfa\x65\x3d\x73\x7b\x59\x05\xb8\xba\x50\xfb\x44\xd0\x19\xd5\xf2\x7b\x77\x87\x2d\x70\xc2\x4d\xbc\x19\x06\x64\xb4\x93\x3b\xa3\x58\x0a\x07\xb4\x72\xe8\xe9\xaf\x70\x42\x4e\x78\x5e\x15\xe0\xed\x02\x50\x19\xba\xfb\xad\xac\xbe\xd0\x7c\x78\x66\x32\x00\xc9\x9c\x9a\x9c\xfb\xc1\xe9\x05\xd2\xa7\x83\xa7\x06\x98\x0a\x16\x2d\x57\x73\x2e\xe8\xaf\xad\x19\x4a\xed\x32\x7a\xe1\x69\x2d\x12\xba\xcc\x38\xcb\xd2\x3a\x10\xab\x11\x29\x54\x49\x2b\x69\xd2\x99\xd0\x24\x07\x0c\x56\xcd\x66\xa7\x79\x62\x0a\x37\x44\x5c\xc4\xa6\x72\xba\x2c\xa5\x8f\x41\x18\xae\x13\xef\xb1\xf2\x0d\x52\x0b\x55\x69\x4b\x43\x18\x0b\xce\x52\x01\xf4\xaf\x39\xc9\x77\x94\x81\xf7\xa6\x31\xcb\xf7\x78\x26\x8b\x20\x64\xb3\x36\x9a\x37\x17\xeb\xfb\x0f\x3d\x53\x19\xe4\xac\x3a\xcb\xa2\x87\x80\x32\x2a\xb9\x29\x0c\xba\x96\x45\xe7\xd6\x40\xdf\xef\xc0\xa4\xf3\x1a\xf1\x1c\x75\x19\xa9\x81\xfd\x58\xf2\x7b\xf2\x19\x9c\x55\x16\xf1\x42\x76\x12\x57\x43\xa0\x22\x7d\xbc\xa0\xc9\x64\x03\x26\x57\x17\xaa\x97\x46\x45\x17\x06\x14\xcf\xd6\x1a\x92\xa9\x15\x87\xb4\x8b\x67\x41\x01\x21\x6e\x51\xbc\xec\x6b\xe0\xba\xeb\x22\xe4\x31\x5a\x4a\x31\x62\x2d\xc4\x75\xb8\x25\x5c\x34\xf3\xf8\x35\x0c\x10\xb6\xa1\x72\xd7\x75\xbf\x7d\xdb\x89\x30\x2c\x69\x5f\x8f\x44\x1d\x1e\x66\xe5\x61\xf0\x95\x40\xde\xc6\x80\xe8\x45\x9b\xd7\x3b\x19\x9e\x1c\xc7\x11\x8e\xe6\xad\x93\x9a\x70\x9e\x10\xcc\xda\xa4\xd7\xc6\xc7\xd5\x23\x62\xc0\x4d\x81\x75\x27\x09\x20\xfc\xba\x25\xb0\x55\x21\x0b\xf1\x9d\xc5\x80\xcc\x6e\x78\xb8\x89\x0d\x74\x03\x55\x84\x39\xcb\x0f\x65\xb3\x84\x54\xd7\xca\x42\xe8\x1f\xd8\x4e\x92\x28\x4f\x82\xb2\x90\x19\x11\x7a\xd4\x7a\x89\x9f\x08\xd3\x3a\x83\x1d\x87\x73\x66\x3c\xbb\x84\x68\x5f\x0c\xea\xc0\x77\xed\xfc\x69\x90\x75\x18\x8f\x18\x1c\x5c\x5e\x3e\xac\x9a\x56\xa5\x56\x33\x42\xbb\xd4\xc6\xa7\x33\x10\x22\xd6\x3e\x9e\x77\x65\x33\xf1\xda\x67\xd2\xf4\x3d\x86\x18\x83\xad\x5d\x6b\x81\xfb\xa5\x80\x6a\x30\x1b\xeb\xe0\xb8\x5e\xc9\x88\x0c\x51\x1b\xe5\xb0\xd3\x20\x68\xa3\x0d\x0e\xea\x45\xef\x92\xa2\xfc\x85\xbb\x0d\x3a\x0e\x65\xa9\xab\xba\xa3\xe3\x19\xac\x93\xcb\xce\xed\x85\x0d\xd9\x2e\xbb\x6c\x7d\x7e\x4f\x11\xe6\x68\x0b\xbc\x2a\x81\x01\x9d\x00\x72\xca\x7f\x32\x1a\x36\x95\xc6\x02\xe6\xca\x5c\xa4\x99\x5a\xd8\xaa\x68\x70\x2f\x86\x39\xbd\x06\xf1\xad\xc9\x3d\x5c\xbd\x23\xe3\x92\x83\xb8\xa9\x33\xe8\xc8\x9a\x15\x1a\x9b\x74\x0b\x1d\x22\x88\x54\x10\x1b\xda\xa2\x41\x4c\x81\xd9\x31\x4e\x5a\x6d\x59\x3b\x60\x9a\x90\x66\x5b\xa0\x34\x58\xf0\x57\x25\x72\xa2\x79\x17\x4e\x92\xca\xbc\x30\xa4\x43\x2b\x5f\x64\x6e\x52\x54\xc2\xed\xee\xac\x4e\xf0\x84\xac\xe5\x9e\xbe\x30\x1f\x2c\xa5\x22\x78\x05\x22\xbb\xb3\x2c\x59\x74\x8b\x28\x0f\x43\xef\x1a\x41\xd2\x56\x0d\x2c\x84\x56\x5b\x7a\x37\x95\xe1\xc9\x36\x1b\xa2\x24\x51\x2e\xa8\x5a\x8c\xad\xd1\xaf\x3b\xd3\xba\xb3\x5f\x9e\xda\x0f\xbb\x68\xd4\x27\xc8\xf5\xe7\x8c\x8c\x70\x4f\x09\x6a\x2a\xe8\xd8\x29\x74\xd9\x6e\xad\x25\x37\x82\x27\x2d\x5b\x58\x87\xde\xd4\x6d\xa8\xba\x8b\x4d\x87\x67\x2b\x73\x8c\xf9\xd4\xe1\x22\x75\x5f\xd8\x6a\xc9\x92\x35\xac\xa5\x0e\x7e\x39\x13\x94\x0b\x5b\x19\xa4\x4b\x50\x5b\x8a\x3f\x8f\x33\x2c\x70\x92\x90\x84\xca\x74\x73\xdb\xee\x9f\xfe\xb8\x74\xb4\xa7\xa6\x82\x8d\xb4\xf5\xa0\x3e\xd3\x34\x4f\x11\xcb\xd3\x89\x95\x72\xb1\x7c\x0c\xc1\x2f\x5d\xaa\xbe\xc1\x70\x72\x03\x2c\x01\x06\x88\x00\xce\x74\xc4\x02\x60\x6b\x6b\xaa\xc0\xd1\x9c\x92\x27\x80\xdd\x14\x8c\x48\x79\x84\xae\xb8\x22\x27\xe8\x12\x67\xf7\x20\xa8\x99\x92\x92\x33\x63\x1d\xc7\x12\x69\xa9\x35\x67\x54\x1d\x8c\x98\x45\xc3\x76\xab\x72\x1c\x71\x66\x10\x51\x23\x58\x58\xdf\x04\x98\x7b\x1d\x34\xa8\x72\x89\x8d\x54\xb6\x2c\xb6\xc0\xcf\xe3\x20\x7a\x75\x6c\xb2\x03\xd6\xa0\xe3\x5b\xfc\x6c\xe2\xb5\xcf\xb0\xc2\xa6\x5a\xec\x32\xc9\xdd\x06\x44\xd9\x0a\x42\x06\x08\xd8\x05\x8e\x70\x8b\x46\xe1\x6b\x9f\x99\xe8\xd4\xaf\xe9\x11\x39\x42\xdf\x25\x7c\x22\x0f\x90\xf4\xa0\xd9\xf0\x50\x12\x25\x0f\x8c\x83\x0a\xfe\x6d\x52\xc1\xbe\x71\xab\x5f\xf0\x7d\x28\xfb\x37\xa5\x9f\x0d\x08\x86\xfc\xd3\xc9\xf1\x71\xba\x38\x9c\xe4\xd1\x23\x51\xfa\x2f\x90\x29\x1a\x57\xc8\x21\x48\xe1\x26\x3c\xaa\x55\xab\x53\xc7\xb2\xea\x44\x91\x36\xad\x46\x12\xc0\x4d\xd7\x57\xba\x2f\xac\xea\xa0\x8f\x38\x6b\xae\x1a\x69\xa7\x2c\xf2\xb6\xe3\x55\x02\x5c\x7e\x1d\x6d\xc5\x14\x8e\x0d\x71\x9e\xa7\x09\x9e\x55\x54\x96\x35\x94\x94\xeb\x94\x5a\x2a\xd2\x73\x87\x78\x0b\x7d\xca\xca\x51\x66\x5f\x39\x77\x24\xb8\x15\xad\xbb\xe5\x68\xc4\x06\x12\x3d\x13\x53\x0f\x16\x72\x12\xc1\x3b\x91\x53\x39\xf7\x19\x89\x60\x2f\x85\x46\x0d\x1c\xae\x41\x4d\xb0\x8a\xa3\xd3\xac\x9c\xff\xc6\x6a\xa0\x38\x91\xe4\x40\x37\x0c\x90\x68\x2e\x90\x10\x3d\x0b\x9c\x65\x44\x8c\x98\x85\x36\x05\x00\x6f\xce\x6d\x90\x48\x5b\x34\x79\xaf\x51\xbe\xae\x46\x19\x26\x7d\x94\x13\x16\x57\x9d\x6f\xc8\x6f\x5c\x9a\xea\xb1\x24\x37\x50\xcb\xa2\x5d\x23\xbd\xdf\xde\x6c\xdc\x71\xcc\xab\xb4\xf3\x41\x25\x4c\x1f\xca\x4d\xa7\xa0\x40\xca\xa2\xaa\xa6\xb3\xf5\x79\xf5\xbd\x24\xe6\x00\x32\x36\x7c\x1c\x73\x22\x03\x23\x3e\xf2\xb6\xb8\x84\x4e\x89\x96\x3e\x46\x4c\x93\x71\xe8\x70\x30\x00\xdb\x0e\x6f\x5b\x77\x1a\x09\x2e\xa5\x8d\xbc\x37\xed\x2c\xcf\x9f\xda\xa2\x96\x9f\x41\x09\x3f\xbf\xbe\x1a\xd7\xab\xfa\x05\xcf\x5c\x7d\x3f\xfb\xb0\x31\xc9\xbe\xb5\xa9\x95\xd5\xfc\x8a\xb5\x58\xa3\x9e\xdf\xf1\xe9\xc5\xb9\x2f\x62\x55\xe9\xba\x5e\xd0\x2f\x44\x56\x6f\x2f\xe9\x57\x9f\x71\x50\xdc\xaf\xd2\xc4\x92\xf2\x7e\xab\x37\xab\x1c\xef\xbb\x0d\x6c\x5e\x65\xeb\x57\xf2\x87\x32\xcd\xac\x0a\x4b\xdf\xd1\x36\xb5\x5c\x2b\x11\x08\x8c\x2f\xed\x61\x07\xc1\x4b\xbf\x25\x15\x4e\xb3\x30\xe5\xd2\xe1\x86\xda\x69\x9a\xa3\xd6\x76\x09\xbe\x2a\x9e\x79\x84\x4d\x34\x4b\x75\x70\xb5\xad\x58\xcf\xe3\x75\x6f\x61\xd2\x77\x11\xc6\xfc\x7a\x39\xcc\xc9\xa2\x88\xda\x93\x56\x76\x73\x25\xb8\x5b\xec\xfe\x13\xe2\x21\xe1\x5b\x37\x74\xdb\x24\x45\x0f\x1d\x25\x08\x96\x36\x1c\x03\x72\xf9\x2a\x79\x3e\x6b\x98\x87\xfd\x98\x4d\x36\xf0\xa1\x2f\xc2\x10\x5c\x35\xb6\xae\x58\xe4\x0e\x22\x15\x82\x3c\x11\x01\xb4\x63\x63\x7e\x58\xf9\xa8\xe2\x44\x10\x1c\x2f\x82\x15\xf1\x01\x07\xa6\x67\x30\x8f\x49\x9a\x6a\x05\x1e\x54\x13\xc6\x0f\x79\xe6\x74\x96\xd2\x5b\x50\x41\x83\x4e\xf5\x8d\x15\x84\x2b\xe8\x2f\xd8\x21\xf9\x4c\xa5\xd2\x72\x45\x43\xac\xa6\x6b\x04\x24\x1e\xa8\xab\x35\x27\xf6\x86\x1b\x7d\x18\x7c\x77\x7d\x7b\x3f\x3c\x1b\x7d\x28\xa2\xf3\x5d\xfa\x99\x47\x84\x72\x00\xff\x9c\x8d\x98\x0f\xa8\xf5\x00\xc8\xb0\x97\x08\xc7\x71\x81\x6c\x60\x95\x48\x23\xb3\x2d\xe5\xc8\xc1\xa9\x58\x19\x4a\xbb\xa4\x99\x07\xc8\x41\xda\xd7\x93\xb5\xc4\x75\x56\x3a\x39\x26\x93\x6a\x49\xca\xcb\x8e\x2e\x9b\x10\xbb\x55\x19\x5d\x9b\x28\x07\x2e\xc8\xc8\xb3\xd3\x95\xe0\x76\x3e\xc6\xe6\x12\x5e\x8f\xdb\xb9\x0d\xd9\x60\x53\x3f\xd2\xcf\x24\xbe\x6d\x91\xaa\x76\x92\xd1\xd2\x29\x12\xb0\x71\x17\x72\x46\xd7\xd1\xf8\xfd\x54\x1e\xf4\x77\xdd\xd9\xd2\x75\x01\xc9\x56\xc0\xab\x02\xb6\xaa\x42\x18\x45\x44\x28\x4c\x19\x9a\xc2\xc1\x66\xd1\x02\x01\x60\x07\x01\x1f\xf6\x1f\x51\x4a\x19\x20\x07\x2c\x5b\xda\x87\xf2\x3c\xd6\x10\x5a\x2f\xcf\xaf\x1e\xee\x4b\xa2\xea\xf7\xd7\x0f\xe5\xa2\xee\x83\x9f\x97\xca\xaa\x95\x16\x96\x05\x0b\x05\x53\x2c\xb2\x10\x2d\xca\xac\x5f\x99\xc6\x89\x26\x0b\x45\x1e\x6e\x2f\xb6\x92\xef\x9a\x9d\x65\xad\x18\xe1\xa1\x74\xd5\x8c\x88\xd0\xe5\xd3\x98\x44\xab\x50\x4c\xbb\xd3\x91\x89\x82\xd2\xeb\x60\xad\x89\x16\xe1\x0c\x4b\x94\x61\x61\xfd\x50\xb1\x09\x80\x2a\x57\x06\x33\x9a\xd7\x32\x04\x89\x4f\x44\xfd\xa8\xaf\x3e\xce\x76\x91\x05\x61\x45\x59\xf0\x8f\x92\xf1\x93\x69\x78\x8d\x93\x66\x87\xb2\x24\xd5\xc5\x09\xcb\xd0\x03\xb2\x3d\x84\xb8\x0b\x47\xa6\x42\xfc\x40\x37\x07\x2b\xe2\xe2\x09\xb5\x4a\xca\x99\xa6\x48\x03\xa7\xea\x30\x58\x83\xe6\xf8\xd4\x7c\xdc\x11\x91\x2e\x88\x6a\xd7\x6d\x15\x4b\x89\x06\x37\xe7\x0d\x6b\x7d\x51\x75\x21\x7d\x59\xe5\x6c\x12\xef\xcd\xda\x35\x48\x52\x90\x9e\xb8\x17\xa8\x48\x76\xa6\xdb\xc1\x20\x19\xa7\xff\x4d\x39\x92\x60\x1f\xd0\x7a\x9b\x54\x86\x52\xda\xf1\x0a\x60\xde\xf5\x32\xf1\x8a\x65\x58\x13\xf4\x28\x1c\x90\x4d\x03\x09\x81\x7e\xea\x31\xc6\x07\x21\xf0\x0f\x37\x05\x73\x6d\x6c\xc1\xce\xc0\x90\x8a\xd9\x74\x41\x43\xfa\xd1\x50\xb4\x07\xcb\x00\xf8\x0f\x57\x90\xd1\xc5\x06\xdb\xdc\xf5\x70\xba\x21\xb5\xad\x07\xa0\x54\x8c\xcf\x99\xbf\x2d\x16\x35\xce\xb0\xb5\x3b\x80\x12\xe5\x2a\x25\x34\x15\xd6\x3b\x1a\xb1\x20\x60\x45\x1a\xb5\x47\x9f\x11\x57\x9c\x04\x2a\xde\x32\x00\xb6\x86\x24\x1d\x2f\xfc\x94\x76\xa0\x9a\x22\xaf\xe6\xe5\xf2\x22\xb5\x7e\xec\xe9\x94\x73\xec\x12\x11\x9d\x05\xc5\xc6\x01\x86\xf6\x25\x68\x2f\x28\x28\x60\x3b\x06\x73\x34\x18\x2d\x70\x50\xae\x2e\x48\x5e\x8f\x39\x91\xec\x2b\xe5\x53\x3d\x69\x62\x4b\xa2\xe0\xaa\x7b\x40\x4b\x75\x98\xda\x96\x97\x1f\xf0\x1d\xa0\x33\xad\xab\x38\x04\xc7\x6a\xa5\x99\xca\xf9\x78\x81\x12\xc2\x58\x24\xe8\xb4\xcd\xaa\xfe\x39\x23\xd1\x26\x10\x32\x37\x58\xe0\x94\x28\x22\x96\x85\x23\x95\x8b\x49\x83\x88\xe3\x76\xd0\xf6\x6b\x76\xd1\x54\xda\xa8\x96\x64\xf1\xda\xed\xc5\x2a\x48\x18\x3f\x8b\xb5\xd0\xaf\xf4\x34\x7e\xb4\x96\xff\x35\x67\x61\xfb\x29\xa6\x61\xa3\xad\x02\x04\xa0\x6d\xe7\xf4\x3a\x50\x28\xf7\x35\x50\x91\x52\xb8\xd0\x9e\x60\xa0\xac\x1e\x65\x1b\xf8\xc9\x2a\x5e\xba\x13\xde\xed\x32\x1c\x5c\x0a\x6d\xe5\x50\x95\x72\x27\x80\x4a\x40\xa5\x32\x38\x20\xcd\x00\x26\x20\xb4\x34\x45\x48\x06\x6e\x3f\x0b\x6f\x57\x18\x74\xad\x64\x55\x2d\x2e\x55\x59\xae\x15\x3c\x6e\x57\xe0\x0e\xbd\x44\xb3\x6b\x89\x66\x15\x29\x97\xa2\x6b\x35\x75\x12\x51\xc1\x99\xb1\x45\x9f\x2d\x40\x40\x79\x82\x90\x7b\x64\xaf\x48\x5b\x39\x16\xae\x7e\xca\xfc\xbf\xca\x1c\xdc\x11\x75\x48\xaa\x4d\x49\x95\x47\x81\x0b\x0a\x3c\x50\x49\x28\x0d\xd8\xb8\x1a\x18\xad\x09\x83\x34\x56\xfe\xf3\x2b\xe3\xc0\x82\xe4\xe6\x05\xcf\xd1\x33\x95\x73\xa4\xf8\x88\x41\x9c\xa0\xf7\x06\x28\x8e\xcc\x8b\x07\xf0\x16\xc0\x20\xc8\x7c\x92\x52\x85\x70\x30\xc3\x92\x49\xf2\xc0\x9e\x67\xfd\x01\xcc\xb8\x31\xcf\xbe\x09\xa2\x67\xc5\xa1\xd9\xc0\xbe\x56\x34\xb2\x6d\x2a\x7d\x10\xd3\xfc\xb2\xc9\xf4\x81\xc6\x13\x6a\x98\x8d\x67\xae\xcf\xa6\x47\xcd\xd6\x06\x0b\x1a\x0a\xc8\xae\x54\xaa\xca\xdd\x62\x0d\x3d\x2b\x32\xe9\x8b\x8d\xe8\x94\x4a\x5f\xbc\xbe\x8b\x5c\xfa\xb6\x32\x65\xcb\x72\x2b\xdd\x27\x2d\xf6\x6f\x97\xb3\xab\xb8\x0b\x9c\x0f\x25\xa5\x9b\x56\x49\x69\xdf\x50\xcd\x8a\x84\x80\xcd\xc3\xcb\xd7\x51\x07\x8b\xfc\xac\x90\x8a\x82\x74\xcb\x32\x26\x0c\xa9\x72\x7e\xc6\x15\xe4\xd4\x44\x50\xc2\xbd\x96\xe7\x39\x62\xcd\x12\xc8\x72\x9e\xb8\x6d\x8a\xc6\x4e\xd1\xcf\x82\xf3\xe7\x66\x61\x2d\x5a\x3f\xf9\x20\x37\xa3\x2c\xdb\x62\xec\x55\x11\xb3\x70\xf1\xb5\x05\x27\x69\xc1\x63\x93\x84\xe3\x86\x53\xd9\x3c\xf4\x5a\x02\xc5\xca\x73\x61\x2f\xdd\x1d\xaa\x76\x35\xee\xdc\x39\xdf\xc4\xcb\xc8\x96\x1b\xdb\x80\xe9\xd8\xeb\xf1\x15\x57\xed\x26\x55\x66\x01\x55\x74\x67\x58\xa8\x55\x78\x02\xdd\xf8\x01\xb8\x77\xed\xd8\xb1\x09\x75\xf1\x08\xdd\x95\x3d\x29\xcd\xd8\x56\xef\x7f\x89\x59\xaf\x5b\x1a\x38\xf0\x37\x0a\x1b\xef\x4b\x43\xcb\x01\xd4\x04\xb6\x61\x92\x15\x4e\xec\x85\xbb\x9c\xc5\x44\x30\x82\xd5\xfc\xf5\xb2\x2c\x4e\xb7\x35\x4f\x07\xe3\x7b\xd9\x8c\x8b\xd3\x9d\xd4\x85\x0f\x87\x5b\xae\x91\xbe\x72\x9c\xfa\xf5\x2e\x96\x22\x1b\x7c\xe0\xab\x04\xd7\x54\xc7\x06\xb3\x61\x00\x42\xb3\x0e\x95\x6e\x95\x88\xd1\xac\xce\xbd\x4c\x4a\x4a\x83\xdd\xa7\x96\x8c\xa2\x4f\x7b\x58\x5b\x79\xc5\x92\x7c\x11\xb9\x1f\x2f\x9f\x8e\xb0\xac\x8a\x73\x1e\x64\x28\x40\x29\x6d\x85\x29\xb3\xdc\x6b\x59\x52\x82\x96\x29\x53\xdc\x94\x87\xb0\xf7\x19\x2e\x5f\x7c\x82\x4b\x9f\xee\xd0\xa7\x3b\x34\xec\x51\x9f\xee\x80\xd0\xbe\xa5\x3b\xac\x52\x41\x97\x19\x40\xbd\x4f\x0e\xaa\x6d\x96\x4a\xdc\x98\xfd\x5d\xa1\x47\x6e\x1e\xd2\xef\x6c\x88\x61\x3c\x94\xfd\xc5\xfe\xd0\x18\x12\x55\xfb\xac\x3a\xdb\xd0\x9e\xc9\x16\x55\xb7\x00\x16\x71\x62\x71\xe8\x6c\xc0\x72\xd9\xfe\xb4\xcc\x54\x3a\x62\xdf\xf3\x67\xf2\x44\xc4\x01\xc2\x0a\xa5\x5c\x2a\xe0\xc3\x2e\x3e\x06\x0e\x42\x09\xd2\xdc\xc4\x41\x60\x74\x85\x53\x12\x9b\x8a\x87\x41\x58\xa3\x35\xd8\x5a\x57\x6b\x13\xdc\x2a\x20\x87\x9a\x6d\x70\x71\x13\x23\x66\x42\x0d\x4d\x78\x1b\xc8\x0a\xd4\x4d\x0c\x08\xe6\x77\xde\x11\xfc\xbb\x23\x74\xaf\xef\x27\x2a\xcb\xe3\x0d\xd0\xd7\xda\xc6\x36\x62\x33\xc1\xf3\xcc\xdb\xd0\xf8\xc4\x94\xbe\x35\xd1\x4f\x75\x47\x30\x0c\xc6\x79\x81\x23\x1c\x6b\x5d\x7c\x39\xe1\xbc\x49\x14\xea\x46\x10\x46\x21\x01\xe9\x63\xe8\x43\xeb\x6c\xa8\xbb\xf1\xdf\x06\xc0\x2d\xcb\x80\xd8\x5f\xc8\xb9\x7c\x46\x24\x58\x85\xbc\xd5\xbd\x94\x47\x5e\xc6\x2a\x68\x1c\xe7\x32\x9b\xa8\xf7\x5b\x38\xdb\x7e\x33\x0c\x42\xd1\xb9\x8d\xf9\x32\x49\xaa\xf6\x9e\x78\x31\x6b\x69\xe7\xe8\xd9\x36\x7e\x71\x93\x8b\x8c\x83\x24\x96\x2c\x1c\x6c\x83\x45\x7a\xcb\x78\x96\x9b\xb8\x36\x1a\x86\x39\x35\x52\x36\x95\xea\x12\xab\x68\xae\x39\x77\x81\x78\xb6\xa3\x78\xbf\x82\x2b\xbf\xac\x05\xb5\x61\x06\xa7\x61\xef\x2d\x2e\x85\x0e\x16\x75\x73\xef\xbb\xf0\x7a\x27\x49\xa4\xba\x3f\xe3\x76\xb3\x05\xad\x03\xbb\xa8\xfb\xc4\x3e\xd1\x13\x5d\x45\x45\xab\xc6\xdf\x8d\xb6\xca\x15\xb7\x76\x1e\x49\xb8\x05\x84\xcc\x99\x05\xec\x2a\x5e\xb4\x15\x5a\x5b\xdc\xff\x82\x6e\x96\x05\x64\x51\xf2\x9f\xb4\x38\xe2\x2d\xae\x29\xce\xb4\x12\xa1\xb8\xbe\x25\xc5\xcc\xc8\xb1\x26\x4e\x16\x61\x94\x0b\xea\xce\x7e\x25\x27\xbc\x9d\x3a\xc0\x42\x79\x1c\x56\x54\x8a\x70\x50\x6c\xce\x38\xfc\x71\xa4\x72\xec\x03\x13\x81\x26\x5c\x11\x74\x93\xff\xee\x1c\xeb\xc2\x89\x77\x0d\x7b\xba\x92\xb0\xb7\xd8\x65\xdc\x84\x6f\xd8\xe9\xa4\x51\x36\x0b\xc0\x11\x9b\xad\xc4\x5d\x6a\x1f\x34\x7e\xd9\xad\x7e\x43\xe3\xa7\x4e\xf6\xd9\xe4\xdb\x25\xe0\x4d\x1b\xc7\x66\x97\xe2\xdc\x6d\x20\xac\x95\x9e\x42\xd8\x4a\x6b\xbf\x03\xf4\x59\x0a\x8e\x7a\x6c\xa5\xa9\xff\xf2\x7f\x99\x5a\x59\x66\x69\xfe\x0b\x71\x31\x62\xe6\xf7\x03\x5f\xa7\x42\xbf\x50\x00\xc0\xe2\x94\x14\x10\x99\xa2\x0c\xa6\x07\x90\x22\x16\x0c\xcd\x80\xfd\x7a\x98\x7e\x3d\x86\xc7\x7c\x42\x04\x23\x7a\x68\x0e\x7c\xc0\x33\xb3\x14\x33\x3c\x03\x68\xe1\x03\x88\x8c\x03\x71\xb5\x50\x45\x0c\x49\x9b\x7a\x87\xc0\xad\x34\xb3\xb4\xf9\xb6\x45\xdd\x5f\xe8\xd3\x88\xb2\x16\xd9\xb4\x08\xaf\x68\xa6\xfe\x5b\xdb\xff\x66\x12\xfb\xfd\xe0\xee\x87\xf1\xed\xf0\xee\xfa\xe1\xf6\xb4\x24\xb6\x9f\x5e\x3c\xdc\xdd\x0f\x6f\x1b\x9f\x15\xb9\xaa\x7f\x7d\x18\x3e\xb4\x3c\x72\x0d\x5c\x0c\xbe\x1b\x96\x8a\x68\xff\xf5\x61\x70\x71\x7e\xff\xf3\xf8\xfa\xe3\xf8\x6e\x78\xfb\xe3\xf9\xe9\x70\x7c\x77\x33\x3c\x3d\xff\x78\x7e\x3a\xd0\x5f\x86\xef\xde\x5c\x3c\x7c\x3a\xbf\x1a\xbb\xb0\xe3\xf0\xd1\x4f\xd7\xb7\x3f\x7c\xbc\xb8\xfe\x69\x1c\x74\x79\x7d\xf5\xf1\xfc\x53\xd3\x2c\x06\x77\x77\xe7\x9f\xae\x2e\x87\x57\xcb\x8b\x75\x37\xaf\x46\x6b\x1d\xe0\xe0\x22\x0b\x8c\x46\x81\x98\x34\x59\x58\xd2\xa6\xbf\x82\xef\xe2\xc6\xd0\xe3\xe1\x81\xfb\xcb\x94\xd6\x3e\xd4\x2c\xd0\xf9\xc5\x0a\xee\x31\x62\xde\x71\xe9\x2f\x55\x85\x67\xd2\xa5\x1e\x97\x46\x7b\x82\x06\x70\x56\x40\x61\x28\x75\x0a\x99\x0d\x7e\xa4\xce\xd5\x0d\x74\x98\xd0\x94\x82\xd7\x1b\x1d\xa2\xea\x86\x97\x1b\xb4\x73\x82\x21\x58\xbf\x5d\xbc\xec\x34\xc8\x6a\x56\x33\x50\xca\x09\x72\x1c\x9a\x18\x73\x82\xc1\x9e\x5d\x30\x9c\xd2\xa8\x9a\x82\x01\xf0\xab\xa8\x80\x1a\xa9\xb6\x58\x22\xb0\x72\xcb\x73\x82\x7e\xf8\x4b\x31\x28\xf0\x60\x58\xcd\x3b\xaf\x55\xd4\xb3\x0f\x44\x6e\x56\x75\x15\x79\x96\x7a\x72\xc7\xdc\x9a\x96\xe1\xdc\xda\xca\xdd\xe0\x6e\xca\x59\x00\x37\x56\xf2\x3d\xe9\xe3\x6d\x66\x54\xa1\xf1\x13\x74\x07\x50\x27\xb2\x50\xdd\xf5\x2e\x66\x49\x3e\xa3\x0c\xd1\x34\x4b\x48\x51\xf3\x7d\x42\xe6\xf8\x89\x72\x57\xbe\xc2\x54\xf9\x80\x75\xb4\xa2\x15\x3a\x44\xad\x07\xe5\x04\x0d\xe2\x58\x96\x19\x5c\x89\x72\x1c\xcb\x3c\x2c\x0f\x3b\x44\x08\x63\xb1\x67\x9b\x15\x3a\x2a\x8e\x1c\xac\xd8\xee\xc1\x5c\xea\xec\xb0\x7c\xf7\x6e\x71\xfd\xeb\x15\x1c\x3b\x52\x1e\x6f\x24\x0c\xdc\x63\xf9\xe8\x58\xf3\x2a\x81\xc0\xc1\xea\x6c\xd7\xa3\xc5\xd7\xe9\xda\xa9\x5f\xd9\x31\x1c\xb4\xcd\xfa\x6c\x45\x85\x5e\xd1\xa5\x9b\x71\x52\x29\xdd\xd5\xb9\xbf\x52\xe9\xaf\xc6\xce\x76\xea\xed\x69\x96\xc6\xe0\x48\x8e\x3d\xfd\xaf\x31\x8f\x1b\xf8\xf4\xda\x7f\xb9\x54\x64\x1b\x07\xeb\xb6\xae\x0f\xa8\x96\xa4\x6b\xfd\x40\x4b\xe9\x70\x47\xf0\x4e\xdd\x85\x41\x28\xbc\x40\x23\x70\xf7\x61\xca\x6c\x39\x1e\xe2\xfd\x51\xae\x00\xb5\x3e\xc7\xbe\x44\x1c\x9e\xf0\xa7\x92\x72\x99\x12\x29\x71\x0b\x60\x49\x60\x12\xdb\x86\x31\xf8\x13\x6a\x3f\xec\x48\x4f\xee\x4c\xde\xeb\xaf\x96\x19\x7d\x6e\x43\xcd\xd8\x4d\x54\x0b\xac\xb1\x8b\xb4\x45\xd7\x26\xdf\x4e\xf3\x97\x83\x22\x98\x86\x8b\x20\xc6\xa8\xcd\xfd\xd3\xd1\xac\x56\x5d\xb0\xc6\x2a\x4b\xa1\x0b\x6f\xfd\x18\x9c\xa0\xf5\x8d\x11\xb1\xad\x5f\x05\x97\xd7\x67\x0d\xaa\x2b\xf9\x3b\xc3\x0a\xd4\x11\x4f\x53\x23\x17\x94\x6c\xa9\x07\x08\x9b\x34\xc7\x42\x9a\x92\x79\x34\x37\x5e\x26\x7d\x65\x1c\x8c\xd8\x73\xb0\x21\xa5\x40\xe0\x41\xd8\x12\xa0\x89\x7e\xd6\xc7\x8d\x3e\x95\xc2\xab\x41\x64\xa4\x10\xeb\x1b\x10\x82\x71\x08\x16\xe5\xa3\x56\x10\x78\xb0\x5f\x5b\x90\xfa\x06\xb5\x02\x2b\xeb\xdb\x56\x31\xd0\xcf\x2d\x28\xd4\xb7\x85\xa6\xdc\x75\x08\x41\xad\xc0\xa6\x11\xec\xa0\x54\xe0\xab\xc2\x7b\xfb\x74\x4d\x93\xdd\x9b\x4e\x2c\x46\x85\x9e\xae\x5b\xed\xdf\xbb\x19\xfd\xde\xf8\x1d\xf2\x16\x50\x93\xa0\x35\x8f\xf0\x8d\x0e\xb5\xcc\xea\x92\xed\x6d\x20\x86\x44\x87\x06\x35\xf0\x2b\x88\xb4\x1c\xdc\x9c\x7f\x75\x80\xbe\x0a\xb3\xcd\xbe\xda\xe8\x00\xda\x71\xdb\x72\x81\xa0\x4d\x95\x52\x0e\xca\xc7\x0e\xf6\xaa\x72\x12\xed\x9e\xd9\x83\x88\xda\xce\xa1\xfe\xb2\xf4\x0d\x38\xa7\xa1\xfc\x9d\xf1\xdf\xfa\x80\x67\xeb\x02\x32\x32\x2e\x95\x0d\x6b\x17\x8f\xd8\x64\x51\x75\xf2\x1c\x78\x2f\x4f\xe7\x53\xba\x75\x49\x37\xdd\x5e\x3d\x3d\x79\xc7\x81\xb8\xcb\xef\x83\x15\x09\xcf\x03\x13\x73\xcd\xa7\x01\x17\x6b\x8b\x52\xe8\x23\xd8\x9b\x66\x55\xb2\x97\xb9\xc5\x6c\xdc\x94\x55\xf2\xcf\x7b\x23\xb7\x0e\x61\xdf\x83\xa6\x15\xb1\x11\xff\x2d\xc2\x75\x4f\x65\x2f\x4b\x65\xbb\xc8\x78\x28\x0f\x6e\xfd\x0b\xf4\xd4\xc8\x71\x41\x33\xce\xe0\xaa\x95\x09\xcf\xe0\x4b\x75\xff\x56\x17\xcc\x5d\xd3\xe7\x1b\xac\xc9\x6a\xa7\xef\x9d\x09\x1c\x30\x6e\xd7\xfa\x58\xab\x43\x1d\x28\x5b\x84\x88\x53\x93\xdd\xa8\x68\x4a\x0e\x10\x67\xc9\x22\x08\x76\xb0\xe7\x15\xc8\xcd\xc4\x28\xcd\x09\x15\xae\x13\x8b\x31\xb8\x56\x3a\xfc\x9a\xd2\x78\x1b\x8d\x6c\x11\x69\x72\x35\xb8\x1c\x9e\x8d\x87\x57\xf7\xe7\xf7\x3f\x37\xe0\x47\x96\x1f\x3b\x08\xc9\xe0\x85\xbb\x9f\xef\xee\x87\x97\xe3\x4f\xc3\xab\xe1\xed\xe0\x7e\x05\xbc\xe4\xb2\xce\xda\xa0\x0b\x73\xd9\xa4\xbe\xad\x03\x5f\xe8\xcc\xbc\x0d\xbd\xd7\x41\x26\x83\x4e\x28\x69\x01\x9a\x34\xa9\xff\x2c\x26\x02\xc5\xe4\x89\x24\x3c\x2b\xcc\xaa\x8d\x0b\x16\x20\x50\x36\xb4\xbf\x0c\x85\x12\xda\xac\xae\xf1\x09\x32\xb5\xde\x82\x72\xb7\xbe\x41\x10\xf9\xb0\x20\xec\x2b\x85\xc8\xe7\x2c\xa1\x11\x55\x41\x6a\x20\x17\xd6\xbd\x62\xdc\x87\x10\x9d\xba\x82\xb8\x76\x16\x8d\xb2\x73\x9d\x3f\xf4\xa4\xd7\xb5\x7d\x7f\xa2\x3c\x22\xda\xca\x02\x42\x3b\x50\xec\x5b\x9c\xc6\x35\xc0\xb6\x0d\x46\xf7\x12\xe6\x81\x7a\x8e\x8e\x4d\xef\x6b\x01\x73\x6b\x1e\xe4\xea\xdb\x70\x59\x9c\x4c\xe9\x5c\x2f\x0f\x94\xe9\x46\xa9\x6f\x1c\xee\x52\x2a\xac\xb9\x03\xe4\x0d\x1b\xbb\xbe\x66\xc0\x42\xad\x5e\x0c\x33\x31\xa7\x18\x09\x92\x72\xa5\x15\x30\x13\x11\x70\xa0\x85\x2a\x8a\x13\xfa\x2b\x60\x54\x09\x72\x14\x44\x50\x38\x64\xaf\xc2\x7d\x60\xf1\x23\x8e\x46\xec\x6c\x78\x73\x3b\x3c\xd5\x0c\xe9\x08\x3d\x48\x80\x9f\x2a\x4d\xfd\xcc\x92\xb7\x11\xc7\xc2\x48\x06\xca\xa4\x22\xb8\x2d\x18\x8c\x08\xc1\x45\x77\xfe\xe0\xfb\x1b\xc2\x77\xcd\xe4\x0d\xcf\x4a\xb6\x29\x67\x00\xb8\x6a\xad\x8a\x1c\xe4\x0c\xec\x3c\x27\xeb\x16\x3f\x97\x56\x24\x84\xdf\x00\x49\xa4\xbc\xea\x2f\xb8\xda\x00\xe0\xd9\x7d\x7e\xa5\x3e\x6f\xe0\xdb\x65\xf3\xbc\x87\x10\x3b\xa9\x0a\x34\x50\x03\x18\xea\xab\xde\x54\xe6\xd9\x2a\x2a\x8a\xb7\x80\xea\xa8\x90\xfe\x84\xcc\x30\x43\x22\x67\xac\x02\x0f\x1b\x5a\xda\xea\x41\x33\xeb\x1e\x55\xbd\x66\x38\xe5\x39\x03\xa5\x01\xc2\x58\x1b\x06\x23\x33\xc2\xd4\x8a\xc1\xbc\x15\x10\x4b\x65\xa8\xfb\x8b\xc5\xd2\x30\xd0\x36\x38\x96\x26\x7f\x12\x94\x5e\x5e\xef\x5a\x76\x41\x79\x25\xa7\x92\x3e\x54\xfe\x7e\x6e\xd6\xb2\xb1\x7c\xdc\xba\xbb\x7b\x2c\x1f\x57\x77\x15\x93\xe8\x71\xdd\xcb\xa6\x9a\x99\x99\xd8\xca\xd5\x35\x63\xdf\x42\x3f\xb5\xa5\x59\xa0\x60\x79\xf4\x88\xbe\xbf\xbf\xbc\x40\x53\xaa\xe5\x5e\x7d\xad\x5c\x61\x2d\x63\x3f\x88\xc4\xd9\x85\xad\x6d\x35\x17\x89\xbf\x7b\x61\xe3\x9d\x28\x15\x48\x09\xfa\x46\xc3\x33\xe2\x8c\xbd\xc2\xa2\xed\x55\x4a\xb3\x08\xcc\x62\x9e\x9a\x79\x1c\xcb\x7c\x3a\xa5\x9f\x8f\x14\x16\xdf\xb4\xac\x87\x89\xaa\x18\xff\x9d\x4f\xc6\x7a\x44\x5b\x5e\xc4\x4d\xcd\x21\x5b\x50\xd9\x2f\x9b\x9d\xd9\x99\x79\xf7\xff\xf2\x09\x64\xbb\x67\x82\x03\x02\x20\x78\xe7\x6c\xa4\x82\x7d\xc5\x51\xd2\x11\x72\x09\x54\x25\x90\x93\x88\x0b\x41\x6c\x92\xbc\xa9\x2d\x9a\x61\xa1\x28\x58\x6b\x1d\x48\x4a\x09\x1d\xbf\xd8\xa2\xb0\xe4\xf7\x1c\x17\x48\xd4\x13\x42\xc0\xc1\x93\xd1\x64\x3d\xa5\xf7\xb4\xe4\x9b\xac\x9c\x40\x1b\x79\x6a\x71\x33\xc1\x20\xb3\x52\xc4\x1a\x3e\x11\xa6\x76\xa2\x9f\x40\x13\x0d\x69\xfb\xdd\xbc\x0c\xa6\xc4\xe7\xf9\x59\x71\xb9\xb9\x90\xde\x30\xaa\x49\x09\x0c\xf7\xbc\x4d\x94\xb2\x2e\xf5\x36\x47\xff\x53\x67\xdf\x31\xbc\x5a\x5f\x97\x15\xa1\xf1\x76\xb5\x8b\x52\xdf\x45\x58\xab\x83\xf6\xdf\x10\xc8\x47\x12\x63\xc5\x08\x00\x24\xac\x72\x5a\xdd\x73\xd3\xa7\xa6\xad\x4a\x97\x2b\xb7\x7c\x03\xd4\x9a\x52\x33\x9f\x08\xa4\x74\xee\x22\x10\x7d\x9d\xdc\x7d\x18\xc8\x83\x48\x20\x84\x7a\xa9\x15\xcb\x94\x19\xd7\x9c\xcf\x4b\x76\xb8\x83\x8c\x6e\x06\xa3\x85\x46\x92\x09\x12\xe9\xab\xec\x04\xdd\x24\x44\x4b\x5e\xb9\x96\xbe\xf2\x24\x71\x08\x5f\xcb\xa5\xc3\xb5\x50\xe9\x5e\x7c\x5e\x81\xee\xb1\x64\x62\x0e\xe1\x6e\xf9\xcc\x82\x35\xd8\x3d\xe2\x42\xb0\xbe\x60\x42\x06\x43\x62\x59\x8b\x04\x0e\xbf\x30\x71\xb3\x60\x4a\xc2\xa5\x8b\x8c\xfe\xaa\xd9\xaf\x20\x72\xce\x5b\x93\x1c\xc3\xd9\xbe\xcc\x1c\xdc\x52\xbe\xe0\x24\xdc\x7d\xd8\x16\x57\xdd\x41\xae\xa9\xdc\x81\x25\x11\x67\xd9\x14\x7d\xf5\x07\x1f\xfd\x61\xf1\x56\xed\xdd\x6a\x87\x06\xb7\x64\x61\x6a\x0b\xb1\xcf\x0a\xd7\x45\xa1\xcc\x2c\x8c\xef\xd5\x7f\x5e\x18\x90\x8b\x94\x00\xaa\x64\x51\x75\x0e\xe9\xbb\xb6\x6d\x8b\xf5\x3c\xc7\xb9\x58\x0b\x92\xa2\x40\x2d\x5f\x87\x73\xdb\x64\x94\x62\x58\x7a\x11\x9a\xd9\xa5\x2d\x26\x01\x62\xb4\x0d\x35\x92\x25\x24\x38\x4b\x36\x66\x19\x1b\x55\xbc\x76\xa6\xbc\xad\x5b\x0d\xa4\xe4\x42\x94\x79\x29\xef\x5a\x89\x02\x4b\x13\xe8\xb1\xc5\xd6\xc7\x16\xb3\x95\x45\x3c\xed\x01\x12\xa0\x12\x90\xf8\x5f\x38\xd0\xaa\x82\x83\x35\x7a\xaf\xca\x7c\x2a\xed\x4e\xa7\x34\xa7\xd2\x17\x9a\x97\x9c\x6d\xe9\x81\xd3\x93\x59\x8c\x21\x71\x74\x9b\x28\x9c\xd2\xfc\x8d\xf7\x00\xda\x24\x31\x32\xe8\x05\x06\xf9\xd8\xae\x9d\xf7\x9c\x64\x58\x10\xa6\x46\xec\x56\x8f\xc2\x7c\x51\x44\x62\xb8\x38\x1c\x87\x46\x0f\x35\x6b\xa7\x08\xdb\xaf\x60\xd1\xdb\x02\xe1\xe4\xd8\xbc\x04\xaa\xe9\x0b\x26\xd9\x7f\x67\xde\x31\x98\x07\x16\xf3\x47\x4f\x95\x4e\x0b\x35\x5e\x0b\x90\xd1\x9c\x02\xe4\x40\x4c\xa4\xbd\x90\xa8\xb2\x98\x12\x5e\xfc\xce\x89\xc3\x5f\x86\xcf\x3c\xff\x6a\x62\xd8\xce\x50\xc0\x9c\x81\x4e\x8e\x58\xd0\xc7\x12\xb8\x4e\xa3\xac\x6f\xa8\x4a\xc0\x3e\xd3\xd8\x3b\xbe\xe0\x9f\x66\x87\xb8\xa0\x33\xca\x82\xa2\x49\x76\x7a\x29\xce\xc0\xbc\x6b\xce\x20\x9f\xfa\x3b\xed\xde\x66\x19\x1c\xc1\x88\xff\xe7\xbf\xff\x76\x44\xdb\xbc\x1f\x72\x6c\x57\x60\x1f\x76\x72\xbd\x6d\x09\x77\x3e\x40\x11\x69\x41\xa7\x08\x74\x5a\x59\xca\x9c\x28\x7e\xb5\x97\x9b\x26\x1a\xae\xe6\xc6\xdd\x5b\x26\x77\xf0\x8d\x88\x7c\x79\x1d\x81\x80\xc5\x15\x01\x01\x85\xd7\x37\x08\xba\x75\x55\x22\x4c\xb0\xa4\x6e\xbf\x72\xa1\x54\x18\x54\x00\xe7\xb7\x4d\x70\xe2\x1c\xcb\x97\x8b\x40\x69\xac\x6e\x64\x8c\xc6\xe1\x1d\xb9\x2a\x16\xc5\x0c\xd2\x24\x35\xea\x5d\xc9\x25\x11\xe6\x40\x7b\xd4\x27\x4b\x3c\x21\x58\x21\x84\x22\xae\x70\xa9\x91\x14\xd3\xb5\xc2\xe6\xf5\xfb\xcd\x50\x8a\x25\x9b\x3a\x9e\x11\x31\x8e\xf3\x52\x8c\xf4\xaa\xb6\x6f\xf4\x47\x67\xb9\x5a\xac\x6e\x5f\x26\xb8\x5e\xdd\x65\x19\x7c\xa5\x7e\xbf\xa5\xd9\xd5\x82\x61\x10\xc9\x52\x16\x0e\x5b\xc0\x21\x49\x05\x1c\xd2\x86\x56\x96\x2c\x01\x70\xd1\x30\x05\xc8\x71\x85\xc2\x60\x6f\x22\x03\x61\x0d\x23\x47\x93\xbc\xb0\x9c\xf8\xa2\x00\xf1\xd1\x88\x7d\x34\x55\x35\x40\x99\x31\x03\x88\x20\xaf\x85\x7c\xce\xb8\x24\xa5\x44\xab\x06\xa0\x7f\x9b\x28\x69\x87\xd1\x2c\x93\x16\x1f\x6d\x2f\x92\xbe\x39\xcc\x67\x7d\xc3\xeb\x53\x6e\xa6\xc0\xad\xa4\x9e\x88\x66\x54\xd3\xce\xb8\xf1\xa4\xbd\x5c\xb1\xd9\x22\x74\x09\xe0\x9e\x54\xb2\x38\x40\x7e\x7a\x15\x82\x48\xc8\x13\x01\xab\x31\x8c\x31\x2c\xe7\x50\x36\x5f\xb5\xb0\x93\x55\x07\xa8\xc8\x72\x04\xb6\x80\xe2\xea\x08\xca\xb9\x60\x4d\xb4\x58\xce\x72\xd9\x3a\x21\xab\x29\xfe\x62\x0d\x29\x74\x10\x96\xb5\x58\x10\x85\xc8\x67\x45\x6c\xe1\xcb\x7b\x97\x32\x57\x8f\xb2\x47\xcd\x59\x3f\xed\x22\xd2\x8b\x97\x20\x1e\xb8\x44\x69\x97\x13\x18\xbb\x7b\xdf\xe6\xc8\xcd\x31\x8b\x6d\xe2\xa7\x95\xa5\xb5\x4c\x01\xb3\x33\xb6\x25\x1f\x12\x6f\xd3\x17\x03\x3c\x70\xd3\xa6\x01\x2e\x87\x8b\xcc\xe9\x45\x5a\x32\x87\x28\x02\x2e\xb4\x80\x9a\x33\x45\x13\x4d\x1c\x76\x0c\x5a\x6b\xce\x99\xc7\xe3\x83\x00\xee\x36\xc8\x37\x2a\x25\x65\xb3\xb1\x5d\x49\x97\xc3\xd8\xed\x62\x28\xd3\xd4\xa5\x69\xca\xfc\xf8\x9d\x6b\x68\xb9\xed\xd8\x90\x35\xc0\x71\xb9\xec\x49\x10\xac\x19\x77\x93\xb1\x38\x6a\x2e\xe9\x72\x4c\x63\xb3\x14\xd4\xd4\x57\x86\x89\xae\x63\x5e\x06\xb1\xae\x0e\x57\x50\x5c\x21\xd2\x66\x44\x9a\x3c\x27\x08\x48\x57\x2d\x29\x9f\xb2\x35\xd5\xf3\x9c\x79\x11\xcd\x56\x77\xf2\x09\xed\x95\xac\x51\xec\xba\xb3\x51\xf7\x38\x49\x26\x38\x7a\xf4\xca\x86\x57\xb9\xb9\x70\xe8\xf8\x5a\x40\x85\xf2\x5f\x86\xb8\xf4\x40\x23\x90\x6e\x42\xa7\x98\x01\xac\xb1\xc3\x2e\x3a\x37\xab\x66\x91\xc0\x0c\x42\x91\x19\xbd\x09\xe1\x8f\x49\x96\xf0\x45\xda\x72\x9f\x55\x33\xe5\xb6\x09\x48\x69\x4b\xd4\xdb\xe9\x55\x56\x61\x7a\x6b\x5f\x66\xb5\xb4\x9b\x1d\xc0\x27\xad\xc1\x25\x3f\x25\x7c\x02\x96\x43\xab\x65\xbb\x54\x92\x20\xa3\xa1\x7a\x9e\xd7\x4d\x70\xa9\x9e\x48\x2a\xb3\x04\x2f\x96\xf5\x60\x52\x2b\x5e\x76\xdf\x4c\x2a\xfe\x6a\x23\x58\xf7\xa0\xe4\xc6\xcf\x5f\x02\xa8\xf7\xc2\x49\x02\xe6\x5d\xc3\xbf\x2a\xc6\x24\x93\xd3\x76\x64\x7c\xb1\x8a\x8f\x98\xc2\x33\xb7\xb9\x56\xb8\xe4\xcf\x8c\x08\x39\xa7\x59\xa9\x2c\xe0\xd6\x51\xd0\x96\xa2\xed\x7f\x4c\xcc\xef\x1a\xbc\x93\x67\x87\x06\x88\x43\xd3\x87\xcc\x70\x54\x18\xff\xa2\x04\x4b\x49\xa7\x8b\x00\x3f\xc3\x07\x94\x42\x96\x52\x59\x5b\x0e\x2a\x71\x35\x31\x1a\x33\xbe\xdd\x24\x90\x6f\x9f\x3c\xf7\x50\x3e\x7e\x34\x0e\x81\xca\xf4\x7d\x52\x07\x4b\x71\x37\xb5\x05\x4d\x69\x05\x5c\x35\x99\xf2\x9b\x25\x7c\x2f\xc5\xb8\x69\x37\x23\x14\xc2\xa4\x1d\xb6\x55\x64\x3c\xae\x45\x88\xf9\xa2\x4a\x19\x83\xb0\xf9\x5a\x71\x72\xe6\x4f\x4d\x9c\x1e\x13\x03\xa0\x03\x8a\x8f\x0f\x90\xdc\x0a\x4b\xaa\x0b\x5d\x9c\x91\x84\xec\x24\xb0\x78\x03\x22\xa9\x7a\xed\x03\xf2\x58\x4a\x1a\x05\x9a\xfe\x6a\xe3\xc2\x06\xf1\xce\x2d\x88\x34\xcd\x43\xff\xc9\x0c\xd4\x86\x3c\x37\xed\x22\xd8\xbf\x60\x95\xbb\xea\x2e\x4d\xd0\x76\xa6\x05\x4b\x72\x45\x37\x25\xba\x2a\x3a\xf5\xf2\xca\x3e\x92\xda\x1b\x47\x06\xd7\xc6\xf5\x89\x74\x89\x62\x58\x79\x00\x36\xe2\x40\x75\x3e\xdd\x8d\x2e\xac\x9f\x50\x71\x34\x23\xca\x14\xb9\xf7\x95\xfc\xdf\x13\x4d\xec\x2c\xaf\x61\x47\xab\xdf\x7c\xc8\xd7\x3b\xb5\x77\x44\x49\x77\x25\xd4\xd0\x02\xed\xe6\xec\xe1\x16\xec\xc7\xb1\x34\x82\xeb\x17\x2f\xb7\x6c\x8d\x05\x60\x47\x66\x33\xe2\x7f\x43\x02\x95\x99\x63\x6c\xbf\xf0\xd9\xef\x25\xdc\x27\x5c\xc2\xca\x33\x6b\xf4\xf6\x5c\xaf\x4a\xda\x5f\xba\xe8\xb5\x3e\x8d\x57\x47\x55\x50\x77\x2f\x0f\xae\x27\x0f\x3a\x2c\xc9\x3d\xbc\xfc\xdb\x8e\xc1\x7e\xde\x3f\x7b\x20\x1c\xd6\xae\xc4\xdd\x89\x88\xef\x88\x4c\xf6\x42\x52\xac\x6d\xc5\x6b\xc9\x8b\x87\x0e\xcc\xa7\x80\xc6\xd9\xdf\x2d\xda\x8f\x93\x7c\x6b\xdd\x40\x2f\x77\xc1\xae\xa6\x97\x9d\xd0\x07\xe0\x5a\x62\x48\xff\xcd\x6d\xa1\x0c\x38\xbc\x41\xc8\x58\xcd\xf7\xb0\x22\x18\xcf\x0e\xaf\x53\x18\x5e\x6d\x39\x5f\x62\x7b\x6d\xae\x57\xe7\xcd\x7d\x49\x52\x5b\x77\x2c\xbb\xd0\x51\x5e\xd8\x8b\x63\xa9\x31\xf8\xa0\x8f\x89\xed\x76\x8b\x36\x20\xc8\xb8\x2d\xdb\xe5\x21\x6b\xaa\x6e\xb6\x7d\xb6\xba\x4b\x65\x1b\x67\x82\x4c\xe9\xe7\x8d\x44\xf1\x1b\xf8\xd4\xaa\x97\x7a\x99\x2b\xf5\xd2\xc0\x3d\x03\xf5\xd5\x82\xb8\x3d\xbb\xd2\xb6\xa6\xd2\x88\x15\x09\x80\x36\xfb\xef\x91\x2c\x10\x17\xa5\x9f\x36\xc5\x3a\xdc\x7d\x6d\x37\xb3\xaf\x73\xa5\x32\x79\x72\x7c\x3c\xa3\x6a\x9e\x4f\x8e\x22\x9e\x9a\x70\x73\x2e\x66\xe6\x8f\x63\x2a\x65\x4e\xe4\xf1\x1f\xff\xf0\x87\x62\x8b\x27\x38\x7a\x9c\x19\xf4\x98\xba\xdf\xa9\xbc\xe5\x04\xcb\xed\x22\x7b\x5c\xa6\xd6\x0b\x67\xec\x06\xdd\xb8\x1c\x49\xfd\x8d\x54\x38\xcd\xc2\xe8\x51\x53\x1d\x4d\x2a\x5c\xd4\x64\x80\xf4\x3b\x3d\x4d\x34\xc7\x59\x46\x58\xbb\xd9\xc1\xe4\x53\x6e\xc1\x7a\x5c\x46\xa6\x1d\x21\xf9\x9c\x25\x98\x95\x51\x06\xa0\xc0\x90\x20\x11\x61\xca\x66\xc0\x17\x15\x93\x81\x1a\x0d\xd2\x8d\xe1\xff\xeb\x65\xdc\xc1\x1c\xa9\x2c\x2a\x87\xb9\xe1\xd8\x2a\x9e\xae\xb6\x23\x0e\x96\xae\x5a\x39\xb5\x58\x3b\xe2\x56\x6d\x59\x2e\xde\x5d\xbd\x82\xf6\xfa\x95\x5b\x04\x67\x63\xf2\x59\x33\x39\xb9\x29\x2e\xd5\x83\x24\x12\x0d\x7e\xba\x43\x72\xc1\x14\xfe\x7c\x82\x2e\x29\x03\x01\xf6\x7b\x9e\x0b\x89\xce\xf0\xe2\x90\x4f\x0f\x53\xce\xd4\x1c\x5d\xc2\xff\xda\x9f\x9e\x09\x79\x44\x3f\x13\x2c\x2c\x7f\xb0\x95\xd7\x7c\x19\x6f\x4d\x42\x22\x67\x12\x91\x27\x7d\x42\xff\xf0\x9f\x28\x35\x2d\x9f\xa0\x6f\x8f\xff\xf0\x9f\xe8\x77\xf0\xff\xff\x7f\xf4\xbb\x16\x4d\x7f\x3d\x64\x2b\x28\xd0\x7b\x5b\x76\xe7\x1e\x54\x56\x6a\x83\xa2\xe5\xa7\x82\x17\x3b\xd5\xd8\xf2\x23\x8d\x1e\xf9\x74\x3a\xd6\x84\x61\xf2\xd5\xc6\x58\xd4\x50\x91\x37\x84\x09\xa5\xb6\xc4\xb2\x29\xd8\x56\x94\x4a\xb1\x9d\x1a\x60\x03\xc7\xae\x65\x5e\x14\x98\x85\x20\xa2\x52\xd1\x5e\x2a\xe1\x2b\x12\x6b\xae\xba\xce\xe9\x70\xd6\x3d\x97\xe3\xec\x2c\x38\x21\x10\x48\x58\x36\xdc\x07\xfe\x85\x51\xac\x26\xd0\xc7\x2e\x64\xe3\x71\xa8\x85\xd7\x7e\x31\x31\x93\x30\xb5\xb7\x8a\x97\x94\xb5\xce\x57\x87\x4a\xde\x71\xb1\x95\xbe\xf5\x48\x6a\x31\xdb\x1d\xcb\x02\xb9\x52\xb5\x61\x01\x7b\x48\x84\xe6\xc2\xc3\xf5\x1a\xbb\x88\x2d\x1e\xb8\xda\x8a\x49\x85\x09\x2e\xeb\x76\xe8\xf5\xd4\xcf\xfc\x27\xab\x86\x09\x91\x66\xee\xed\xa2\x2c\x1a\x8c\x56\x8b\x48\x9a\x25\x36\x8c\xb8\x01\xd3\x6f\xd5\x86\xde\x79\x18\x07\x68\x1c\xc2\x1e\x21\xe5\x83\x39\xc9\xd6\xe6\xc9\x37\xef\x67\x2e\x22\x72\xca\xb7\x0b\x7b\x4d\x28\xab\xc5\xcb\x77\xaf\xb8\xe3\x57\xef\xc2\xd6\x56\x72\xb0\xb7\x3c\x2e\x94\x05\xe3\x16\xb0\xc5\x16\x02\xbc\xcd\xf2\x6c\x00\xb7\x6d\x17\x90\x8e\xb5\x12\x00\x5b\x70\x6d\x63\x38\x2e\x18\x9e\xab\x20\x51\x29\x1c\x21\xb0\xe6\x85\x4b\x62\xd7\x20\xa8\x68\xeb\x71\x04\xc5\x50\x8a\x48\xa5\x4a\xd1\x71\x6c\x2a\x82\x88\x0d\x21\x39\x4d\x5d\xa2\x03\x24\x30\x04\x65\xaa\xb9\x6e\x4f\x12\x71\x38\xc5\x11\x65\xb3\x83\x00\x8d\x11\x90\x11\xc2\xeb\xa0\x89\x48\xef\xb1\x7c\xdc\x6d\xa0\xe1\xd6\x75\x1a\x69\x5c\xd4\x0a\xb3\xf8\x29\xc6\xb1\x41\x6b\x50\x74\x0a\xcb\xc7\x36\x00\xa1\x1a\x7a\xd9\x92\xd1\xf9\xa5\x70\x98\x67\xcb\xc6\xe7\x32\xad\x49\xa8\x4f\x41\x69\x02\x57\x39\xd8\x62\x19\xba\xc4\x36\xec\xc1\x46\xaa\x20\x9e\x4b\xc6\x2f\xe7\x5c\xa8\xf1\x86\xf0\xa7\xd5\x6c\x71\x46\x0e\x13\xc0\x2d\xe1\x4f\x44\x3c\x51\xf2\x5c\x46\x11\x5d\x87\x16\x8d\xd1\x2c\x88\xaa\x03\x98\xc9\x34\xe3\x90\x42\x33\x45\x29\x66\x0b\xc3\x28\x35\x73\xc1\xf2\x51\xfa\x7a\xa5\x48\xa6\x38\x49\x0e\x90\x20\xb9\x34\x75\x7c\x25\x49\xa6\x87\xae\xe2\x43\x8c\x12\x3e\xa3\x11\x4e\xd0\x24\xe1\xd1\xa3\x1c\x31\x2d\x28\xb0\x99\x61\x52\x99\xe0\x11\x91\x32\x90\xac\x8a\xa4\x6d\x9b\x4a\x07\xc5\x4a\x15\x11\x29\x65\x54\x2a\x1a\x39\x91\xa9\xc0\x5e\x30\x25\xb3\x23\x0c\x26\x61\x48\x4c\x84\xe1\x6a\x49\x8f\x18\x0c\xca\x9c\xd9\xda\x40\x70\x5d\x5b\x68\x39\x17\x24\xde\x76\x80\x76\x80\x94\xe7\x28\x64\xac\xca\x07\x72\xc5\x91\x3a\xb5\x9f\xc1\x31\x5e\x46\x02\xb7\xe5\x13\xe5\x09\xd2\x9f\xb4\x12\x7a\x0f\xc4\x94\xfb\x10\xf8\x92\xe4\xe2\x23\xc3\xf7\x0c\xb8\x0b\x86\xdc\x02\xd7\xb5\x8a\xa6\xf5\x2a\x82\xc8\x03\xe5\xa8\xaa\x5e\x73\xca\xa2\x24\x8f\x7d\x41\x42\x2d\x02\x3c\x69\x22\x71\xcb\xa3\xd7\x5e\x0b\x0a\x07\x08\x4b\xf4\x4c\x92\x44\xff\xd7\x44\xc0\x1f\xfa\xfa\x00\x9a\x25\x9b\x1a\x0e\xd0\x89\xe3\xd2\x6d\x14\xb5\x77\x20\x8c\x37\x58\xcd\x4d\x6a\x7b\xca\x95\xa9\x05\x69\x40\x18\x9d\x7d\xcb\xa0\xf6\x4d\x12\x3e\x81\x93\x0e\xf8\x8c\x2e\x35\x36\x48\xab\xcb\xa3\x88\x90\x98\xc4\xe8\xeb\xe0\xe0\x7a\xd8\x85\x6f\x9a\xd1\x02\x4b\x2b\xb2\x07\xd8\x8c\x55\xc3\x5a\x2b\x42\x63\xb9\x9c\xd9\x11\xba\xa9\xe0\x8f\x84\x65\xca\x71\x15\x8d\xea\xa0\xb6\x85\x6f\x83\xe7\x58\x99\xc4\xcb\xed\xd0\x9a\x78\x8e\xa5\x3e\x77\x80\xe7\x58\x99\x67\x4b\xec\x3e\x9f\xbd\x68\xce\xb1\x9e\xd4\x05\xef\x9e\x08\x66\x70\xb0\xcc\xdd\x59\x22\x41\x77\x20\x17\x4d\x84\xb8\x5f\x58\x95\x95\xa2\x7f\x6f\x8b\x55\x59\x19\xcc\x3e\x63\x55\x56\x86\xba\xbf\x58\x95\x0d\x03\xed\x80\x55\x69\x9c\xfb\x63\x4d\xd4\xdd\x98\x02\x24\xb6\x4c\xf2\xe9\x1d\xa4\x7a\x2f\x1d\xe3\xa9\x09\x1c\x30\xd7\x98\xbb\xa3\x2d\x74\x33\x8c\xd6\xe6\x40\xb6\x85\x43\x55\x9c\x10\xeb\xd2\x9e\xf7\xbe\x51\x69\x34\xb4\xf5\xcc\xee\x07\xa1\xb5\x1b\xec\x90\x11\xce\x6c\x4e\x79\x5b\x45\x95\xfd\xc9\x9e\xdd\x0c\x06\x14\xa0\xf6\x4a\x2c\xbf\x13\x50\xd6\x65\xa5\x38\xc1\x9c\x3f\xdb\x02\x41\x40\x86\x86\x28\x5b\x49\x10\x3a\x1d\x5b\xa5\xad\x6d\xe5\x28\x53\x64\x56\xd5\x69\x8b\x43\x43\x99\xfa\xd3\x1f\x57\x72\x22\x83\x24\xe8\xd4\xc3\xa0\x44\x80\x77\x76\xd8\x67\x24\x46\xd1\x5c\x6b\x45\x52\xab\x2f\x7a\x3a\xe6\x66\x95\x28\xc5\xd4\x29\x52\xb9\x34\xae\x25\x2a\x47\xac\x04\xbd\x79\x84\x3e\x42\xdd\x53\x9c\x66\x5a\xff\xf2\xf3\xa3\x9a\x92\x46\xf9\xb7\xdf\xfe\x89\xa0\x6f\x51\x4a\x30\x2b\xe9\xb0\xa0\x36\xe9\xab\x0f\xa0\xea\xd4\x9c\x8c\x58\xe3\x56\xa0\xe1\x67\x53\x4a\xc9\xc5\xfb\x9d\xb3\x29\x77\x3a\x31\xd4\xf3\xc3\xd1\x1c\xc9\x7c\x62\x0a\xd2\x06\x36\x0c\x27\x48\x5f\xf0\x19\x38\xaa\xe1\x46\x76\x83\x5e\x76\x0a\x5f\x36\x06\xc0\xba\x1b\xbb\xde\xc6\x03\xb8\x47\x0e\x25\x29\x41\x18\x35\x38\xcd\x0c\xe7\x0b\x0f\xbe\x34\xf8\xa7\x07\xc6\x87\xa0\xf5\x33\x6c\x2d\xfb\x5a\x96\x86\x70\x5e\xf0\x92\xe5\x09\x16\xf6\xe8\x8f\x98\x56\x34\x04\x79\xa2\x3c\x97\xc9\x02\xc5\x9c\x91\x03\xa0\x84\x3c\x9a\x1b\xc7\xaa\xd6\x59\xb0\xad\xcb\xf0\x44\x65\xae\x15\x5a\x68\xcb\x95\x81\x90\x0a\x1b\xe8\xa5\x39\x85\x7e\xb4\xfa\x4d\xe0\xab\x30\x4b\x0e\x75\xd3\xa2\x42\x74\xd4\x0a\xcf\xef\x88\x8e\x5a\xa2\xaa\x1e\x1d\xd5\xa3\xa3\xd6\xd7\x65\x1f\xd1\x51\x2b\x7b\xde\x0d\x1d\xb5\x69\xcb\x37\x40\x47\x2d\x35\xf3\xc5\xa0\xa3\x56\x56\xf4\x8b\x41\x47\xad\xcc\xab\x47\x47\xfd\xf2\xd0\x51\xb7\xc4\xff\x6c\xe6\xc5\x06\x5f\x49\x51\xb6\x58\x9b\xc8\xbe\x92\xe8\xfc\x5a\x13\x58\xf4\x58\x0e\x6a\xf3\xd7\xd5\xf6\x98\xa3\xcd\x4c\x68\x3d\xcc\xd1\x46\x55\xbd\x9d\xd5\x6d\x0b\xf0\x04\x8a\xc1\x2b\x63\x8e\x96\x26\xd0\xc7\x57\xae\x1f\x5f\xd9\x48\x7c\xb6\x6f\x3d\x3c\x17\x74\x59\xbd\x90\x3b\xa2\x8e\x96\xf6\xa7\x53\x24\x26\x88\xee\x3b\xa0\xc4\x97\x95\xe6\xef\x4b\x87\x7c\xa5\x2c\x1f\xae\xa2\xb4\xf8\xc7\x5a\xc2\x73\x68\x71\x46\x09\x0f\xfd\xff\x3d\xe5\x6e\x10\x19\x5c\x59\x5e\xef\x57\x31\xb4\xd8\x81\x54\x3b\x53\xa8\xd3\x4a\x77\x93\x28\xeb\x92\x27\xd7\x74\x31\xbb\x41\xdc\x65\x24\x6a\xb1\x31\xd3\x94\xee\xaa\xd9\x55\x17\x99\xc7\xc2\x02\x85\xbc\x96\x17\xaa\xaf\x27\x33\x1c\x23\xe3\x57\xd2\x61\x01\xa8\xc3\x7c\x39\xa3\x52\x89\xd6\xd8\xa6\xda\x08\xb7\x71\x95\x66\x79\xe7\x80\x98\x60\x55\x67\x9b\x7d\x96\x92\x94\x8b\x55\x81\x55\x8d\x5f\xda\x8a\x2e\x9b\x7c\x4a\xb2\x39\x49\xb5\x24\x33\x5e\xb7\x91\xae\xfb\xed\x93\x86\x6d\xee\x9a\x09\x74\x2c\x11\x41\xe0\x08\xd5\xef\xc6\x06\x91\xb2\xf3\x76\x6f\xbb\xcd\x16\x33\x73\x4d\x87\x90\xc3\x0c\x5e\x6e\x70\xb3\x2f\x95\xdc\xdd\x40\xdf\x8d\x31\x1d\x3e\xa4\x66\x75\xd4\xc6\x92\x78\x8d\x65\xb8\x53\xc5\x57\xb6\xde\xf1\x1a\xae\xfc\xb2\x77\x5e\x73\xc2\xb0\xd8\xed\xfa\x01\x1e\x2d\xa8\xa9\xf5\xe5\x81\xc8\x1c\x49\xc4\x61\xa8\x19\x94\x06\x53\x5f\xaf\x12\x95\x38\x8d\x72\x0b\x22\xc9\x45\x6b\x94\x69\x17\x83\x76\xa4\x72\x9c\x80\x26\x11\x16\x69\xac\x6e\xea\x64\xd1\x90\xf6\xd8\xcd\x63\x42\x99\xfa\xf3\x7f\xac\xb5\x9b\x5a\xb5\xb2\xeb\x06\x85\xa5\x70\x14\x11\x69\x6c\xec\x36\x0a\x19\x4f\xf8\x13\xd4\x94\xda\x66\x57\xf5\x51\xd6\xf3\xd6\x0c\xde\x43\x11\xc7\x05\xa9\x1b\x71\x61\x2e\x78\x3e\x9b\x3b\x1b\x92\x3e\x33\x7a\x6a\x4d\x7b\xf9\x63\xcd\x46\xbe\xf6\x5e\x7e\x97\xd3\x64\x33\x0b\xdd\x5d\xa9\xda\xd6\xa7\xf3\x7b\x24\xe7\xfe\xb4\x4e\xa0\xd9\xc6\x8d\xad\x0f\xba\x7b\x9f\xf6\x5b\xef\xaf\x81\x6e\x0e\x1c\xfc\xe6\x94\x27\x09\x78\x1a\x24\x49\x9f\xc2\x22\xf9\x61\xf7\x30\xe1\x7b\xba\x1e\x72\x9e\x1f\x00\x7c\x5d\x24\x46\x74\x92\xbf\x6e\x8c\x68\x28\x91\x1b\x7d\x35\x68\xc1\x84\xaa\x71\x46\x58\x93\x8d\xed\xa7\x7a\xa1\x93\x77\x16\x30\xe8\xa2\xc7\x76\x16\x34\xe8\x96\xe4\x95\x03\x07\x57\xcc\x63\x5f\x83\x07\x2b\xcc\xce\xc7\xf2\x15\xd7\x8c\x0b\x1c\x32\x8a\xcf\x40\x2f\xf1\x88\x0d\x4a\xf9\x14\xae\x20\xf4\x64\x51\x04\x64\x1b\x1d\x22\x64\x66\x50\x4e\xc2\x1a\x56\xc0\x8d\xa6\xff\x02\x4d\xc7\x80\xd7\x9a\x90\x42\x17\x36\x08\xd1\xe4\x24\x3e\xc4\xd1\x22\x4a\x68\x14\xe8\xcc\x33\x81\xb3\x79\x13\xc7\x73\x3b\xdf\xa3\xee\xbc\x15\xea\x4e\x5b\xdd\xa5\x75\xe2\xb6\x1d\x5d\x31\x9c\x92\x1e\x0d\xa8\x09\x0d\xe8\xc0\xe3\x5d\xb0\xa2\x82\xd4\x1b\xc2\x28\xd4\xcf\x5d\x0f\x09\xf4\x06\x90\x40\x9b\x1c\xbe\x02\xef\xa7\x74\xec\x7a\x98\xa2\x0f\x9d\x60\x8a\xfc\x25\xb8\x57\xc8\x33\xed\xe7\xf1\x8d\x11\x4d\xea\x03\x7b\x4b\x58\xa2\x06\x71\x61\x1d\xb9\x69\x19\x2e\xd1\x32\xba\xe8\xb4\x2e\x6f\x8b\x12\xb4\xde\xca\xac\x05\x00\xd4\x78\x77\xed\x09\x1c\x50\xfb\x36\xec\xc9\xb9\xd9\x65\x56\xcb\x7a\x25\x32\xc3\xcc\x96\x75\x14\xac\xf5\x92\x5c\x3c\x3d\xbc\xaf\x44\x97\xa2\x96\xd8\x66\xc9\x2e\x03\xe7\x83\x26\x02\xcd\x79\x12\x3b\x10\x0a\xbf\x5a\xbe\x03\x9f\x09\xe0\x17\xc8\x6d\x06\xd4\xf4\x06\x6d\xab\x28\x08\xb6\x2c\xa5\xc5\x6f\x22\x0c\x77\x07\x8c\x66\x17\x56\x04\xcf\x49\x36\xb1\x1f\xac\x94\x45\x64\xd9\xfc\xbd\x64\x8c\xa5\x15\x02\xab\x79\xf3\x30\x57\xda\x7d\x57\x0c\x6e\x99\xe8\x11\x18\x07\x45\x53\x45\x4b\x43\x67\xf0\xf4\x89\x3a\x43\x04\x0e\x7b\x5c\xea\xa5\x73\xb3\xeb\xe4\xa9\xab\x12\xcb\x06\xc1\x60\xb5\xca\x6d\xdb\x83\x03\xa5\xf8\xf3\x38\xc3\x02\x27\x09\x49\xa8\x4c\x5f\x2c\x18\xf8\xb4\xec\xae\xd5\x67\x55\x70\x63\x22\x62\x79\x3a\x31\xa4\xe8\x06\x62\xeb\x45\x2a\x8e\x44\xce\x42\x68\xb3\xe7\x5a\x51\xfd\x1c\xee\x05\xb0\x2a\x45\x73\x28\x4e\x3a\xc5\x54\x30\x22\x5b\x4b\x41\x92\x28\x17\x54\x2d\xc6\xb6\xb2\x66\xf7\x03\x77\x67\xbf\x3c\xb5\x1f\x2e\xf7\x70\xbb\xac\x7e\xd7\x9f\xaf\xe4\x99\x11\x01\x65\x82\x5c\xc1\x9b\xa0\x7a\xa8\x45\x6d\x20\xbe\xd6\x10\x84\x3f\xd7\xae\xed\xb6\xc0\x61\xfc\x3c\x0e\x32\xaa\xc6\x51\x95\x38\x56\x1d\xd6\x26\xdc\xa9\x65\x93\x7c\x61\xe4\xa5\x16\x2f\xf2\x0b\x54\x19\xb1\x69\x13\xa6\x69\x3d\xe0\xc0\x15\x0c\xf6\xca\x62\x63\x82\x94\x77\xab\x54\xb5\x8c\xd3\x62\xfd\x34\x05\x1f\x2d\x19\xec\x20\xf8\xaa\xc3\x88\x83\x4e\x76\x34\x6c\x7d\xd0\x85\xc8\x33\x45\x27\x75\x68\x1b\xb5\xbb\xaa\xa3\x83\x04\xd2\xac\x9d\x9b\xa1\xd4\xad\x29\x45\x5a\xe2\xc4\x76\x76\x5a\xfe\xb7\x38\x62\x0e\x21\xc8\x20\x2c\x85\x79\x7c\xd7\x29\x55\xca\x25\x0a\x18\x03\xb4\xa6\xce\xb2\x6d\xf6\x2b\x17\xee\x81\xa1\xa0\xa9\x31\x11\x1d\x8d\xd8\x40\xa2\x67\x82\x18\xb1\x10\x12\x0d\xa5\x4a\xbd\x55\x1b\x6a\x3f\x4d\x88\xee\xc9\xc7\xa6\x68\xe1\x81\x2a\xe9\xcb\x8f\x99\x3e\xa6\x38\x91\xe4\x40\x37\x0c\x55\x4b\x15\x87\xe0\x4f\x8c\x9e\x05\xce\x32\x22\x46\xcc\x66\x71\x80\xc3\x85\xf3\xc4\xb4\xdf\x16\xe2\x6a\xd7\x80\x8c\x23\x1c\xcd\x5f\x69\x8f\x30\x24\xe3\x44\x73\x12\xbb\x7c\xe1\xf2\xf6\xb8\x79\x1b\x83\xf5\x1a\x9b\x75\x3e\x75\xe5\xb3\x0e\x6c\x27\x49\xa4\x39\x8a\xaf\xa6\x9c\x11\xa1\x47\xad\x69\xf8\x89\x30\x44\xa7\x6e\x1c\x36\x76\x07\x3d\x83\x67\x4a\x93\xfe\x13\xa6\x89\x49\xc0\x77\x5d\x3b\x21\xd0\x98\xdf\x47\xcc\xb8\xbb\x59\x54\xca\x50\xa5\x8c\xca\xb9\xe6\xd4\x39\xf8\x24\x41\xcd\x68\x4b\x9c\x61\x4f\xeb\x9c\xe6\xa1\x7e\x7d\x39\x07\x7d\xa2\x82\xb3\x14\x92\x64\x2c\x2e\x93\x5b\x3e\x49\x94\x3f\x1e\x8d\x29\x8e\x2b\x25\xe2\x38\x96\x65\xe3\xa7\x51\x2b\xe9\xaf\x25\xb3\xcb\x61\x29\x2b\x30\x0a\x60\x85\x20\x88\xd3\x55\x16\x5b\x26\xff\xf6\xa9\x0d\xf5\xd4\x86\xe6\xb5\xd9\xc7\xf4\x06\x7f\x88\xd7\x4d\x71\x68\xdb\xfe\x5d\x48\xb6\x3b\x4c\x75\x78\xe3\x9c\x80\x97\x49\x07\x78\xdb\xfc\x8d\x97\x48\xdd\xe8\x13\x1c\xde\x30\xc1\xa1\xb3\xa5\xb6\x1c\x9b\xdd\x7e\x6c\xd7\x4a\x0e\x58\x01\xe6\xd4\xd4\xcb\x25\x51\x82\x46\x72\x17\xfc\x41\x66\xb8\x63\x54\x1b\x68\x81\xd9\x0a\xa9\x49\xbf\xe0\x9d\x90\x10\x27\xe6\xeb\xfc\x4d\x04\xc1\x8f\x31\x7f\xae\xd9\xea\x64\x88\xa6\x71\xc9\xb5\xd8\x23\x48\x44\x25\x29\x45\xb2\x50\x89\x18\x91\xd6\xd8\x89\x47\x6c\x4e\x89\xc0\x22\x9a\x43\x76\x63\xb1\x31\x26\x4b\xd6\x00\x1a\x99\x58\x86\xd0\xdb\xb4\xc6\xa6\x77\x58\xf7\xaa\x85\xc9\xe3\xd3\xd9\x3d\xd7\x23\x49\xcd\x27\x5e\x98\xb1\x52\x46\x68\x92\xeb\xb4\xfd\xdb\x06\xe2\xfb\xc5\x7e\xd1\x60\x7c\x1f\x4c\x14\x7c\xd1\x31\x20\xbf\xa0\x86\x3e\x28\xff\x85\x82\xf2\x1b\x96\x78\xbd\xc0\xfc\x8d\x4c\x7e\xaf\x1f\x33\xec\x7a\x7e\x8d\xb8\xe1\x55\x41\x5b\xf9\x64\xfc\xe2\x47\xaf\x71\xce\x5d\x4f\xe0\x4f\x9e\x28\x8c\x44\x2c\x34\x9d\x4d\x48\x1c\x03\xa7\x55\xdc\x56\x8a\x2e\x68\xc7\x99\x07\xf4\xdd\x8b\xa5\x26\x76\x9c\x70\x36\x93\x34\x36\x60\x2b\x19\x86\x8a\xad\xa1\xf1\x02\xc0\x05\x60\x7f\x93\x84\x08\xe7\x95\x10\xe8\x6b\x49\x99\x45\x53\xf4\xbf\xc5\x9c\x48\xf6\x95\x32\xc6\x02\xcc\x16\xe8\x91\xf1\xe7\x84\xc4\x33\xd8\xa1\xea\x60\x0e\x11\x25\x07\x88\x2a\xff\x99\x00\x34\x02\x9e\xab\x91\x1e\x3b\xc4\x9a\x19\x0d\x80\xd8\x6f\x83\x9a\xe8\xbe\x99\x6f\x8e\x10\x3a\x67\x68\x8a\x23\x75\x80\x64\x3e\x29\xda\x8f\xb9\x29\x72\xad\xb5\xef\x60\xe2\x45\x23\x7d\xcc\x78\x43\xe7\xcd\x67\xc3\x71\x07\x4d\xae\x83\x84\xe2\xad\x62\xeb\x9e\xf0\x36\x10\xa3\x97\xb9\xb4\x41\x18\x88\x33\x7f\xf4\x2d\xbc\x92\xc7\x88\x06\xbc\x4f\x83\xb7\xcc\x78\xdc\x6a\xeb\xac\x4c\x65\xdd\xb1\x14\x81\x90\x56\x50\xb2\x8e\x2a\x68\xd7\x2c\xb7\x96\x9a\xa4\x12\x04\xa7\xd6\x39\xa0\xaf\x1a\x10\x6b\x4c\x18\xa4\x1e\x3d\x15\x46\xc2\x5c\x67\x8b\x2f\x28\x7b\xd4\xbb\x5b\xa0\x62\x43\x7d\x79\xe8\xb9\x69\xd3\x32\x7d\xe3\x91\x53\xce\x8c\x83\x70\x2b\xb9\x93\xce\x18\x4e\xd6\xb4\x71\xd4\x56\xae\xee\xd3\x73\x72\x96\x15\x17\xb4\x14\x61\x8c\x7d\xc8\xf4\xb8\x96\x0d\xa9\x32\xdf\x50\xde\xc3\x28\x26\x19\x61\x31\x61\xd1\x02\x48\x84\x01\x72\x8e\x60\x38\x41\x18\xbe\xc3\xc9\x11\x3a\x33\xf9\x35\x5e\xc2\xb3\xd7\x3a\x5c\xe8\x29\x66\x74\xaa\xf5\x04\x30\xc2\xda\x51\x8e\x98\x19\xa6\xf3\x81\x04\x45\xfb\xfd\x8a\x35\xed\x8c\xbe\x41\xae\xb6\x44\x25\x66\xe5\xef\xd1\xf2\x0b\x07\x7a\x5b\xb6\x3b\xba\x39\x57\x83\x40\xe6\x93\x43\xf8\x77\x29\xe1\xcc\x01\xf5\x14\x28\x32\x24\x21\x60\x0e\xb4\x1e\x2f\xb8\x18\xdb\x80\xe5\x76\xe1\xb7\x5b\x91\xc7\x11\xf4\x51\x52\x6a\x52\xca\x68\x9a\xa7\x81\xf3\xce\x54\x2c\x88\xac\xfd\xd2\x64\x62\x64\x5a\x0f\x88\x1c\x78\x39\xd2\x97\x2b\x5b\xa0\x19\x7d\x22\x6c\xc4\x32\x4e\x99\x3a\x42\x57\x5c\x91\xa0\x44\x84\x81\x8e\xe2\x99\xa2\xa9\x41\x3b\x15\x44\x9f\x03\x03\x8a\x0d\x40\x93\x73\xac\x0e\x50\x9c\xc3\x51\x65\x44\x69\xd6\xa1\x6f\x5c\x05\x3b\x03\xf1\xd1\x62\xc4\xcc\x4d\x37\xc5\x34\xc9\x05\xb1\x32\x2b\x36\x79\x31\xc5\x90\x8b\x91\x59\x24\xb4\x60\x12\x29\x9d\xcd\x95\xde\x22\x2d\xe3\x59\x7f\xe3\x5c\x73\x23\x3e\x62\x13\x82\x30\xca\xb8\xa4\x8a\x3e\x79\xff\x25\x9d\x22\x2c\x25\x58\x50\x8e\xd0\x59\xc9\xfe\x4f\x25\xa8\xde\x6d\x71\xb5\x94\x8d\xad\xed\xb9\x3d\x1f\x67\xeb\x8d\x2c\xf5\x62\x57\x19\x4f\x24\x4f\x72\x15\xba\x60\x9b\xf7\xb6\x30\x8d\x3b\xe0\x7e\x30\x10\xf3\xe9\x88\x39\xba\x96\x47\x68\x20\x91\xe4\x7a\x97\xa4\xd9\xca\x48\x50\x45\x04\x35\x28\x4e\x44\x99\x4d\xf0\xe7\xd4\x9f\x81\x14\x8b\x47\x2d\x42\x85\x16\x78\x83\x29\x5a\xb2\x76\x4c\x8c\x84\x04\xb0\x56\xe1\x76\x80\xe9\x1f\x31\xce\x0e\x19\x99\xe1\x55\x3b\x32\x62\xa5\x2d\x41\x5f\xd3\x69\xa1\x90\xb6\xf9\x1c\x83\xb5\x1b\x43\xe4\x53\xdb\x2e\x99\x8e\xdb\x36\x69\x9a\x70\xbc\xc2\x6d\x3c\x2d\x0e\x3d\xfa\x3b\x9f\x98\x31\x6a\xbd\x9f\x2b\x90\x02\xb5\x7a\x35\xe5\x82\xcc\x31\x8b\x0f\xdc\x66\x95\xc7\x06\x37\xa3\x35\xb5\x39\x65\x0c\x24\x41\x07\x22\x4c\x0c\x16\x13\x66\xc1\x5e\x58\xc5\xcd\x6e\x45\xb1\x0f\x6b\xdd\x15\xbe\x35\xa8\x7d\x62\x0c\x10\x86\xe5\x2d\x32\x7b\xc4\x25\x4d\xb3\xa4\xc8\x69\x0a\x6c\xa3\x53\x2d\x62\x39\x1e\xc9\x9f\xc0\x74\xe5\xb4\x36\xb8\xd5\xed\xce\x69\x3a\x6b\x18\xb9\x67\xa4\x70\x6b\x38\x9b\x97\x29\x83\x19\xb0\xb0\xaf\x25\xd1\xff\x54\xa4\x50\xfb\x8c\xb0\x3e\x62\x4e\x04\xf9\x06\xb8\x8c\x6d\x36\x30\x9e\x69\x11\xda\xc0\xbc\xda\xf5\x43\x91\x71\x72\x97\xce\x89\x3d\x0c\xee\xd5\x86\x8b\xea\x3b\xca\x70\x29\xf3\x76\x03\xc1\x2f\xc9\xd7\x4a\xae\x0a\xdc\x7e\x8b\xb6\x9a\x26\x0a\xaf\x2a\x33\xb2\x06\x25\x98\x7d\x26\x48\x77\x67\xa9\xd9\x55\xbc\xc1\x10\x11\x30\x27\x49\x86\x62\x3a\x05\xb3\x94\x02\xf6\xed\x81\xc5\x0c\x16\xbc\x3e\xec\x69\xce\x0c\x48\x9c\xf1\x88\x3c\x5b\xbc\x6d\x7b\x35\x16\x8d\x1f\x8d\xd8\xb9\xfa\x4a\x6a\x11\x9d\xb3\x99\xbe\x68\xe2\x27\x2a\x8b\x22\x27\x11\x67\x32\x4f\x89\xb0\x5d\xe8\x1b\x59\x53\xa4\x2d\x10\x80\x9d\x0c\xa5\xc7\xa6\xf7\xfe\x09\x27\x34\x76\x85\x78\xf4\x8f\xe6\xcc\xe9\x51\x4a\xe7\x51\x6c\x08\x09\xb3\x9b\x1b\xeb\xb5\x7a\x33\xb1\xfe\xc7\x50\x72\x47\x69\x21\xe4\x63\x6b\xab\x3f\xae\x8a\xf8\x76\xd5\x97\x88\xf7\x93\xda\xa4\xd0\x72\xc1\xc8\xae\xc2\xd9\x2a\x14\x43\x87\xa8\x9b\x9b\x10\x60\xdd\x8f\x33\xfa\x98\xc1\xad\xc5\x7e\x2a\x13\xb4\xa3\x36\x9c\x25\x14\xef\x09\x05\xd9\x40\x2a\xac\xc5\x0b\x73\x1d\x70\x61\x35\x1c\x7b\xe7\xb4\x6f\xed\xd9\x96\x65\x22\x64\x84\x93\xfa\x0e\x2f\xb1\x37\x9b\xf7\x97\x2b\x01\xf6\xb8\x99\xb6\x97\x26\xfd\x46\x3c\x49\xd6\x29\x61\x52\x99\xf9\x69\xf1\xf9\xf2\x11\x15\xfd\xe8\x0d\x70\x7b\x01\xa7\xc6\x5c\xde\x38\xb1\xa6\x14\xa9\xec\x2e\x85\x2f\x19\x35\x6c\x61\x59\xeb\x88\xf1\x29\x14\xb9\x49\xda\xa2\xba\x32\xc1\x53\xba\x0e\xca\xb2\x09\x74\xba\x75\x76\xf1\x15\x56\x06\x67\x3d\x07\xd1\xd4\x90\x97\xed\x11\xf2\xf5\xb0\x15\x37\x97\x9c\xa1\x14\x67\x1b\x2d\xf8\x2a\xaf\xd0\x00\xa5\xc6\x25\x67\x57\x0f\xf0\x16\x09\xd4\x8b\x81\x45\x7e\xc6\x8b\x22\x35\xba\x0d\x3f\x97\xad\x45\x0e\x0f\xfa\xf5\x73\x36\xe5\x6b\x1c\xce\x22\x95\xd9\x9e\x3e\xec\x68\x36\x38\x7f\xde\x4b\x61\x76\xdf\xac\x69\x97\xf3\x78\xda\x44\xd4\x6b\x9f\x4c\xb7\x82\x2f\x69\xa3\x0c\x99\x48\x68\x9e\x5c\xe7\x6e\x2d\x1f\xad\xa0\x45\x04\xc3\x59\xbe\x54\x97\x25\x3a\xdc\xf9\x1a\x55\xda\x41\xc6\x14\xee\x82\xa9\x6f\x9a\x5b\x7d\x85\x35\xb3\x87\xa4\xd3\x62\x6d\x89\xdd\xb0\x1e\x0e\xb0\xeb\xd1\xa3\xfe\x36\x9f\xd0\x95\x45\x0e\xba\x2f\x06\x70\x33\x69\xed\x5c\x45\x64\xa6\x4d\x51\x9b\xd2\x44\x8b\xd8\xe7\x0d\x06\x4e\x97\x20\xe6\x03\xaa\x4c\xa8\xbc\x93\x9e\x72\x41\x83\xc2\xa0\x4e\x46\x42\x14\x0a\x94\x84\x4e\x9e\x40\xa1\x07\xd3\xe2\x9c\x3f\x9b\xe8\x74\x41\x35\xcf\x32\xc2\xaa\x02\x73\x8f\xe6\x05\xd4\x5a\x4b\x8c\xb1\xc9\x7f\xc0\x4d\xcc\x20\xb6\xb5\x8f\x8b\x51\xb5\x6c\xe9\x2e\x4a\x3c\x75\xcf\xbf\x73\xbd\xde\xeb\x2f\xea\x7b\xd3\x38\xc2\xfb\x72\xeb\x6b\x8f\xce\x4b\xf9\xeb\x07\x4c\x7d\x84\x4f\x9d\xd2\x83\xd1\x54\x10\x70\xf0\xa7\x1e\x53\xc3\x80\xea\x72\x0e\xf7\xdd\xdd\xd9\x0f\xc7\x0f\xe7\x88\xa8\x08\x25\xf4\x91\x8c\x58\x24\x9f\x0e\xb4\x78\xfc\x8f\x9c\x28\xfd\x73\x8b\x47\x80\xa6\x84\x49\xe0\x04\x54\xd5\xb0\x87\x9a\x17\xd2\x2d\x8c\xfe\xef\x59\xf9\xfb\x25\x24\x5f\x4b\x1f\x06\xda\x75\xf5\x6e\x80\x4c\xa1\xa4\x87\x59\x5a\xd9\x40\x31\xc6\x16\x39\x6c\xaa\x86\xb9\x41\xba\x10\xfb\x7b\xce\xd6\x14\xba\x4e\x8b\x8f\x82\x51\xb4\xc8\x74\x69\x86\x01\xeb\x7a\xbd\x3c\x24\xf3\x4d\x63\xeb\xab\x98\x48\x91\x96\xed\x6c\xcb\x45\xe1\x50\xa4\x04\x21\xc0\x42\x3c\x3d\xd9\xbb\xde\x22\x71\xf8\x89\x05\x1f\x1d\x8d\xd8\xa5\xf3\x38\x17\xbf\xca\x42\x0f\x4f\x27\x01\x04\x78\xb9\x15\x68\x36\xa6\xd2\xff\x00\x05\x5d\x64\x9e\x28\x53\xd1\x6e\x4a\x19\x4e\xfc\x40\xcd\x93\x26\x2e\x21\x30\x8b\xe6\xdb\x9a\x90\xe9\x74\x4c\x92\x75\x24\xd1\xf3\xe9\x30\x91\x9a\xbe\xa3\xc7\x96\xd3\xb9\x49\xcd\xc6\x62\x32\xb6\x12\xad\xa9\xfb\x84\x0a\x13\x34\x4e\x4c\x45\x39\x82\xc0\x47\x59\xcd\x1e\x33\x00\x11\x7a\x17\xad\xa4\x6e\x5c\x94\x26\x6d\xc3\x87\x64\x43\x2f\x08\xab\x11\x13\x39\x83\x62\x13\x3e\x62\x01\xa3\x02\x2f\x3c\x72\xfe\x03\xeb\xcd\x99\x69\x36\x61\xe0\xb8\xcd\xcb\x5a\x3f\xe3\xb9\x04\x5b\x4d\x4a\x94\xbe\xa0\xbe\x86\x3a\xb0\x26\x64\xe8\x00\x65\x82\xa6\x60\x6e\x95\xdf\x34\x6c\xdd\x29\x56\x38\xe1\xb3\x81\x50\x74\x8a\x23\x75\x8f\xb7\xd2\xc0\xb1\x6d\x66\xd3\xf0\x53\x37\x0c\x74\x7e\xa6\x17\x7f\x46\x18\x11\x30\x51\xad\x93\x37\x1f\x61\x78\xb2\x11\xe7\x06\x2b\x9b\x35\x8c\x4a\x6f\xb1\xc0\xb9\xe2\xa9\xd6\x6f\x71\x92\x2c\x0e\x8c\x45\x96\xa0\x39\x96\x73\xb7\xd1\xc6\x98\xd6\xe5\x6e\xb2\x8b\x7b\x8a\xa3\x39\xb9\x83\xaa\xc8\x4d\x8b\x5b\x19\xe5\x07\xc2\xf2\xf4\xc3\x09\xfa\x9f\x62\x8e\xa7\x83\xd3\xef\x87\xe3\xb3\xf3\xbb\xc1\x77\x17\xc3\xb3\x60\x3e\xf6\xc9\xe5\xf9\xdd\x5d\xfd\xd7\xef\xcf\xef\xeb\x3f\xde\x5c\xdf\x3c\x5c\x0c\xee\x9b\x5a\xb9\xb8\xbe\xfe\xe1\xe1\x66\xfc\x71\x70\x7e\xf1\x70\x3b\x6c\xf8\xf4\xe1\xbe\xfd\xe1\xdd\x0f\xe7\x37\x37\xc3\x33\xb7\x2a\x7f\x0b\x4e\x17\x58\x8f\x21\xf5\xa2\x79\x1a\xd5\x03\x78\x88\xca\x2f\x9e\xa0\x87\x6a\xe9\x03\x1b\x8b\x6c\x70\x2c\x9e\xb1\xd4\x3c\x0c\x42\xe1\x47\x0c\xb9\xcf\xf5\xa2\xb4\x7d\x6a\xc2\x75\xa2\x39\x41\x09\xe7\x8f\x79\x66\x59\x9b\x89\x0f\x63\xdc\x18\x7e\x88\x0c\x5a\xfb\xfe\xfc\xfe\xa4\x5e\x82\xc1\x37\x16\x20\x66\xb9\x33\x00\xe3\xc2\x8e\x9d\x82\x2d\xc5\x41\xf3\x17\xd6\xdb\xa0\x07\xbf\x33\xcb\xfa\x31\xad\x61\xa6\x2a\xdd\xc4\xb1\x2d\xfa\xeb\x26\x16\x34\x5c\xde\xd7\x65\xab\xe9\x97\xc3\xd4\x9e\x42\x13\x12\xe1\xdc\x04\x35\xe9\x7b\x4a\x08\x2e\xc2\x01\x17\xf4\xb0\xbb\x46\x2d\x1d\x35\x36\x58\xd9\x33\x3d\x71\xf9\x48\xb3\x8c\xc4\x1f\xea\xf2\x4b\xb9\x3a\xac\xad\x49\xce\xa7\x28\x38\x93\x5a\xaf\x07\x9d\xdf\x15\x4e\x99\x2f\xbc\x27\x0d\x02\x37\x8a\x50\x16\x00\x72\xd6\x77\x82\x2f\x6c\x41\xc1\x35\x86\x15\x7a\x26\x90\x52\x9d\xdb\xca\x51\x46\xf7\xd6\x67\x1b\xba\x33\x36\x6d\x57\x07\xae\x94\x6a\xdd\xca\x8c\x77\x21\x70\xeb\xef\x25\x69\x62\xc4\x5b\xe4\xc5\x9e\x99\x46\x81\x3b\xbb\x98\x37\x18\x71\x4b\x70\x83\xbb\x0d\x1a\x2c\xe4\x4b\xe4\xab\xfa\x8d\xb4\xe2\xb2\xd0\x6c\xbb\xcb\x78\x1c\x16\x48\x09\xe0\xba\xfb\xc0\x4a\x20\xc8\x2b\xd7\xea\x9e\xc7\x78\xa1\x89\x03\x62\x8d\x65\x9e\x65\x5c\x28\xd4\xd2\x86\x71\xe3\x9b\xf1\xc1\x9d\x63\xe7\xe1\x79\x1c\x34\xa2\x25\x0c\xd9\x50\x4b\xa3\x1b\x3c\x82\x5d\xd7\x82\x71\x84\x01\xb2\xa0\x08\xfa\xba\x47\x69\x49\xa5\x2e\x51\x68\x93\xf0\xbb\x4d\x86\x41\xa6\x2f\xf8\xae\x65\xf8\x9a\x7a\xbf\x76\x2d\x34\x6e\x79\x42\xa6\x6a\xdc\xe8\xf5\x59\x62\xe0\xd4\x2d\xb2\x36\x44\x19\x3a\x9b\xef\xa0\xc5\xee\x5a\xc2\x1f\x6d\x60\x8f\x56\x0d\x02\x0b\x81\xe0\x5c\x19\xf9\xb4\xd0\x61\x90\x5b\x4d\x30\x2f\xd8\x4e\x6d\x2e\x98\x17\x02\xb5\xcc\x6f\xfc\xa1\x3e\x6d\xea\x68\xc4\x86\x10\x40\x51\x28\x22\x2e\x45\x0c\xb4\x80\x95\xf2\x7f\xa9\xe8\xe8\xab\x46\x6b\xb6\x23\xbc\x16\x74\x6f\xeb\xe5\x27\x0b\x54\x14\x96\x2d\x7d\xd7\xe5\xf4\x18\xab\xb7\x13\x01\xcd\x84\x6d\x19\x77\x45\x32\x6b\x99\x37\xf3\x2c\x22\x7d\x20\x3e\x4c\x77\x75\x84\x7e\x72\x96\x1f\x08\x7c\x2d\x6a\x32\xdb\xd8\x8d\x04\x2f\x1c\x28\x64\xd3\xc2\xee\x02\x67\x71\xd7\xa1\xb0\xcb\x17\xd8\x03\x3a\x35\xac\x72\x49\x01\x67\xcc\x58\x64\xd7\x48\xfb\x38\xf5\x1f\xdd\x91\xe5\x51\x01\x1f\xa1\x0c\xa7\x8d\xac\x02\xa1\x83\x25\x8b\xff\x65\x36\xcb\x64\xa2\xba\xc2\x5a\xb6\x2c\xa2\xf5\xa0\xea\xf3\x03\x1e\x40\x93\xa8\x8a\xa6\x34\x49\x40\x0e\x38\x42\x03\x28\x0f\x0c\x89\x9c\xfa\x2a\x74\x01\x16\x74\xc6\xf8\xaa\x1c\xb3\x16\x62\x8a\x02\x62\xba\x6b\x27\x26\x09\xd4\x54\xe4\xf1\xef\x86\xa2\x76\x80\xe9\xa2\x79\x0b\xae\x23\x62\x77\x47\x72\x59\x43\x79\x7f\x8b\xe8\xe8\xda\x70\x83\x0f\xff\xd5\x3c\xf4\x4f\x39\x16\x98\x29\x88\xf9\xb5\xa2\xbb\x20\x41\xea\x11\xf9\x0c\xf1\x19\xcc\x18\x82\xe1\xa7\x70\x73\x9d\xcb\x1f\xc2\xbd\x10\x8d\x0f\x10\x3d\x22\x47\x50\x9d\x4d\x68\x59\x62\x52\xbc\x39\xd7\x92\xc3\x88\xd5\x62\x19\x8f\xd0\x20\x91\xdc\x7e\x41\x58\x94\x40\x39\xee\x20\x3c\xd9\x53\xbe\x75\x2b\x4d\x16\xa0\xa0\xc0\x56\x16\xcd\x73\xfb\x20\xf8\x10\x8a\x8c\x81\x4f\x3c\x81\x93\x5e\xfc\xfe\x7b\x9e\x19\x6f\x45\x5b\x9c\xc4\x0b\x96\x73\xa8\x5d\x43\x2f\xb6\x49\xa6\x54\xe0\xb2\x0d\x82\x37\x60\x63\x8a\x18\xd3\x00\x81\x05\x7d\x8d\x15\x4a\x08\x96\x0a\xfd\xe1\x9b\xb5\x62\x43\xdc\x04\x0b\xee\x6a\x8f\x6f\x91\x28\xe6\x52\x0d\x42\xe1\xce\x77\x0c\xb5\xe3\xb0\x50\x08\x23\x46\x9e\xc3\xc8\x52\x0e\xc1\xc0\xae\x20\x1c\x09\x72\x5b\x4d\x3c\x99\xc9\xcc\x87\x6c\x0d\xa3\x32\xb5\xf0\x11\x07\x77\x6c\xdd\xa7\x76\x58\x0d\x94\x65\x95\x27\x1b\xe2\x09\x90\x5c\x45\xd0\xff\x1c\xab\x11\xb3\x9c\xd5\x85\x8d\x04\x69\x5e\x83\x24\x29\x07\xda\x63\xc8\x25\x61\x7a\xc2\x50\x9f\xfd\xc8\x2f\xd0\x15\xa8\x5f\x3e\xda\xb9\x64\xa7\x2b\x0e\x8b\x89\xc7\xf3\x78\x47\x61\xdb\x8d\xd2\x4e\x93\x7d\xf9\x15\x85\xe0\x86\xee\x2f\x4c\xa1\xfc\x0e\xc2\x30\x69\x1a\xf2\x8a\x83\x55\xb7\xe9\x2f\x91\x8d\x77\xdd\x41\x77\x51\xb9\xd9\x3e\x0e\xd7\xec\x33\x6f\x30\xb7\xb7\x6c\x6e\x20\x5b\x6c\xa3\x80\xfb\xb0\xfb\xd7\xf2\xf8\x96\x86\x7e\x1e\x43\xd2\xdf\x6a\x2e\x58\x24\xd1\x39\xd6\x61\x62\xaf\xe3\x20\xa7\x27\x48\x21\x80\xe0\x3f\xc7\xf8\xec\x9b\x2d\x9e\xd7\xec\x7d\x4f\xff\xa0\x98\xbf\x9b\x8a\x0f\x82\xab\x4f\xbc\x5d\xd8\x1b\xc4\x7f\xc7\x11\x44\xfa\x43\x4f\x2e\xc7\xa0\x0e\xc8\xe4\x60\xac\x31\x18\xf3\x1b\xc5\xc3\x4c\xf0\x88\x48\x79\x84\x86\x70\xd1\xd8\x7f\x22\x3c\x75\x0e\x89\xe0\xe5\x11\xd3\x9a\x89\xc3\x6f\x09\xda\x2f\x93\x78\xd3\x09\x30\x60\x70\x5b\xf9\x72\xd2\xd5\x35\x4a\xda\xb4\x09\x87\x45\x07\x6d\x40\x59\x03\x34\x9c\x9d\xa0\x98\x47\x8f\x44\x1c\x0b\x12\x53\x79\x02\xbe\x75\xd5\xea\xd4\x4b\xb5\xb6\xbd\xb5\xa4\xd1\x16\x28\xb0\x22\x29\xee\xd4\xf4\x6f\x03\xac\x5d\x78\xed\x01\xa2\x53\x50\x27\x5c\x4e\x86\x09\x42\x76\x70\x37\x84\x29\xb1\x80\xb8\x7e\x6f\xca\xaa\x2c\x84\xd3\x34\xb4\xd0\xd6\x96\x4d\x24\x76\x11\x83\xb3\xe1\xb4\xef\xe7\x44\x12\x17\x70\x60\x26\xa5\xb8\x8d\x65\x36\xec\x22\xc3\x6a\x2e\x21\x75\xb5\xbc\x06\x56\xe9\x82\x4f\xf5\x0a\xe1\x0c\xe2\x15\x8c\x95\xa2\xf8\xc8\x27\x58\x4a\x45\x93\x64\xc4\x18\x21\xb1\x44\x90\x65\xfa\x55\x63\x86\xbc\xfe\xf4\x00\xe1\x38\x46\xff\xfb\xeb\x8f\x17\x3f\xdf\x0f\xc7\xe7\x57\x60\xb4\x3e\xbf\x18\x7e\x73\xe0\x7f\xbc\x7e\xb8\xf7\xbf\x1a\x0b\xcb\x13\x11\x28\xc5\x8f\xa0\xe2\x31\x49\x6c\xf2\x04\x19\xb1\x70\xa4\x0e\x3b\x40\x3f\x91\xc4\x45\xba\x5a\x31\xc5\x43\x28\xda\x3d\x6c\xad\x58\x6c\x6c\x7e\x6b\x28\xbf\xb7\xfe\x93\xe5\x34\xe8\x88\xc7\x77\xe1\xc4\x40\xc8\x91\xc1\x32\x48\x26\xb7\xba\x6f\x41\x70\x84\xcd\x28\x6b\x8b\xc7\x23\xec\xe9\x25\x85\xf8\x1f\xc8\xe2\x47\xad\x5e\xdf\x60\x2a\x3a\xd3\x5e\x33\x1a\x90\x3b\x31\x5a\x4f\xc7\xb2\x7a\xa8\xa4\x91\x85\x4d\xb6\x4d\x6b\xcc\x67\x13\x10\xdc\x9b\x4f\xd7\xc2\x4b\x91\xcf\x4a\x38\x94\x0a\x9f\xcf\xe1\xa0\x9c\xfc\x45\x53\xd0\xe0\x88\xdd\x5f\x9f\x5d\x9f\x20\x92\xe0\x09\x87\x50\x7e\x1b\x12\xe4\x9a\xb0\x0b\x16\xf1\x34\x68\xa8\x84\x50\x72\x80\xb2\x02\xa1\x24\x34\xa2\x1d\x99\x36\x56\x20\x95\x64\x5c\xd4\xf1\x3d\x76\xab\x02\xda\xc9\xde\x70\xd1\xe5\xfa\xd7\xaf\xc1\xd2\xf1\x4c\x2b\x72\x15\xce\x6b\xef\xe6\x29\xc1\xa6\x96\xbe\x71\x0b\x59\x5b\xbe\x0d\x60\x4d\x92\x52\x3d\x45\x7d\x70\xe4\x91\x75\xc1\x17\x6f\x72\x86\x7e\xf8\x8b\x44\x93\x5c\x8d\x58\xb9\x0d\xce\xd0\xe0\xa7\x3b\xf4\x1d\x56\xd1\xfc\x9b\x11\xbb\xd6\x6a\xe6\x0f\x7f\x69\x81\x52\x5a\x1b\x9d\x50\xaf\xc9\x19\x56\xf8\x82\xe3\x98\xb2\x59\x13\x34\x61\x51\x3f\x66\x78\x3f\x38\x41\xd7\x56\x87\x2f\x32\x41\x7c\x4a\x70\xd0\x10\x30\x64\x98\x88\xe3\x22\xc0\xca\x59\x19\xbe\xcd\x68\x66\x70\x61\x8d\xd8\xbd\xc1\x64\xd4\x5c\x95\x2a\x94\x71\x5b\xc3\x48\x6b\x65\x06\xad\x12\xbb\x0c\x29\x92\x2c\x90\x5e\x1d\x20\x63\xbf\x19\x56\x1e\x03\x79\xa6\xce\xec\x47\x0c\x14\x74\x9f\x9b\x92\xf0\x08\x27\x10\x93\x77\x18\xd8\xf4\xb4\xda\xce\x73\xc8\x0f\x37\x45\xcf\x17\xe5\xd0\x59\x0f\x59\xe0\x85\xb2\x70\xa3\xc0\x00\x00\xfb\x68\xbd\xb1\x29\xd7\x1c\xc7\x60\xb1\x81\xf1\x2d\x31\xab\xa3\x3f\xf4\xd8\x6c\x66\x59\xf4\x53\x9f\xb6\xc5\x73\xe6\xb0\x48\x22\x30\xdf\xb3\x05\x84\x6f\x43\xd1\x11\x0e\xa1\x1f\x05\x77\xb6\x44\x59\xdb\x45\x7f\x27\x06\x9f\x8d\x98\x89\x14\x2c\xed\x4b\x88\xde\x13\xf4\xce\x19\x04\x32\xd6\x73\xc5\xf2\xcc\x06\x36\x5a\x59\x3f\x13\xe4\xd0\x67\x40\xc5\xa5\x35\xd5\x37\xec\x11\xba\x0d\xd5\xeb\x98\x47\x79\xea\x90\x95\x21\x7b\xaa\x28\x2b\x5f\x92\x78\xcc\xc5\xbe\x8a\xe2\x01\xa5\x45\x11\x48\x1f\xef\xac\x1f\x1b\x82\x19\x84\x9f\xd6\x25\xf5\x76\xc1\x17\x78\xc7\x76\x51\x6b\xa6\xa1\x71\x56\x6e\xa9\xd4\xda\xd6\x79\x89\x57\x05\xfa\x2b\x17\x20\x6c\x91\xcf\x19\x07\x23\xb7\x49\xcf\xe2\xf1\x57\x12\x9d\xdf\x68\x09\x48\x6b\xbc\xfe\x0c\xe6\x52\x99\xe0\x32\x48\xd7\x31\x5f\x9b\x74\x81\x03\xf4\x2d\x1a\xe5\xdf\x7e\xfb\xa7\x08\x7d\x76\x7f\xfc\xf9\x3f\xff\xf3\x4f\x7f\x5e\x27\x9d\xc4\x29\xe4\xd0\x6e\xb1\x46\xbe\x9c\x54\x59\x24\x0a\x77\xa0\xce\xa9\xb6\xd8\x05\x7b\x00\xdb\x96\x7f\x13\x94\xc7\x20\x76\x08\xcf\xec\x09\x97\xe1\xc9\x44\xa5\xa3\x59\x44\x12\x48\xa2\x0e\xca\x1c\xc2\x0b\xbb\x56\xa2\xff\x5f\x4b\xc0\xca\xc6\xfa\xa8\x6c\x16\xe3\x44\x13\x2f\x5e\xeb\x46\xd0\xd7\xd6\xfe\xa7\xc0\x81\xf8\x8d\xbb\xe0\x78\x12\x13\x61\xc6\xe4\x4d\x76\xde\x90\x08\xcc\x81\x7c\xce\x12\x1e\x3b\x78\xd4\x22\x17\x90\x82\x80\x30\xfc\x8c\x35\xe7\x3e\xb0\x30\x5a\xe6\x23\xe3\x79\x99\xe2\xc8\xa0\x82\x4a\xf4\xf5\xe7\x13\xfd\xdb\x01\x5a\x9c\x40\x10\xe9\x01\xfa\xf5\xc4\xa2\xe5\x60\xa1\xc6\xfa\xa7\x6f\x9c\xac\x6d\x9b\x80\x41\x53\x89\xbe\x3a\x7e\xc2\xc2\xd4\x8c\x3e\x36\x23\xfa\xca\x72\x56\x5f\x17\x2f\x94\xcd\x13\xce\x1f\x6d\x80\x6d\xed\xc3\x63\x07\xbc\x06\xe4\xed\xfd\x26\x66\xeb\x7d\x62\xbe\x42\x87\xf0\x02\x41\x47\xd9\x04\x1d\xfd\x5d\x72\x86\x8e\x16\x38\x4d\xec\xaf\xee\xa9\x8d\xff\xc5\xd2\xe6\xc4\xc5\x3e\xc8\x27\x59\x18\x4b\xe9\x77\x09\x9f\xc0\xac\x2e\xdd\x4c\x4d\x04\x2d\x0c\xb4\xb8\x7d\x8a\x0b\xcb\x4e\xc4\x25\xa2\x02\x7e\x50\xca\x95\x79\x05\x78\x5c\xd3\xac\x3e\xfb\x21\xfd\xb7\xf1\x0b\xc3\xa2\xb8\x24\x3e\x63\x1c\xf6\xd1\x6b\xba\xd1\xcf\xe8\x6b\xcb\x82\xbe\xd1\x77\x8c\x0d\x57\x36\xcb\xd0\xd4\xc1\xc2\x77\xf0\x73\xd0\x01\x65\xc8\xa4\x65\x2e\xf9\xf2\xd7\xe3\xa3\xa3\x23\xff\x35\x64\xad\xff\xbf\x88\x2a\x49\x92\xa9\x69\xc9\xdd\x60\x8b\x11\xbb\x74\x85\x17\x9c\xf1\xba\x80\x74\xcc\x04\x57\x3c\xe2\x09\x3a\x2c\x0c\xba\x31\x8f\x24\xfa\x77\x2d\xd6\x06\x4b\x09\x3f\x6a\x3d\xae\x05\x06\xd6\x20\x3d\xbf\xd2\xa1\xb2\x06\xf1\xea\xb1\x0a\x51\xdc\xbc\x62\x8b\x65\x58\xc5\x03\x68\x41\x53\xce\xb1\x45\x7a\x13\x42\xbf\x4c\x3e\x2b\x78\xd4\x02\xa4\xd7\x18\xca\xde\x7c\x53\xd6\xd8\x6d\x81\xa7\x67\xc8\xba\x65\x01\x2c\xde\x95\xe5\x0c\x66\x9e\x07\xa1\xfb\x44\x5f\x2e\x2c\x2c\x05\x20\xf3\x34\xc5\x62\x71\x5c\x9c\xb6\x3a\x71\x16\x48\x6b\xc0\x63\x12\xb7\x00\xe0\xc2\x4d\xec\xd1\xb2\x51\x0c\x56\xbc\x74\x37\x9a\x3f\xbb\x11\xd4\x32\x0c\x10\x0b\x08\x8b\x78\x6c\xe9\xba\xc8\x3e\x2d\x4b\x2c\xfe\x9d\xba\xac\xe2\x22\x62\x64\x61\x8c\x63\xca\x40\x78\xd8\x37\xdc\xc7\x2d\xec\x9b\x8f\xa1\x2a\x2e\x99\xad\xe1\x1e\x3d\xbf\xbe\x73\xdf\x74\xbf\x74\x61\x1d\xca\x22\x3b\x4e\x42\x7c\x3c\x36\x43\x02\x3f\x17\xd7\x2f\xc4\x76\x18\xeb\x4c\xee\x73\x73\xcd\xbf\x4f\xf9\x0d\x4d\xf4\xad\x05\x34\x7e\x34\x62\xa5\x9f\x0f\x10\x49\x68\x4a\x99\x8f\xad\x33\xcc\x9d\x4f\x8d\xf4\xfc\x48\x95\xde\x32\x19\x3f\x6a\x0e\xe6\x70\x9d\x02\x95\x6a\xc0\x16\x8e\x74\xbc\x63\xca\x5a\x20\x72\xa9\xc7\x55\xe8\xe8\x5a\x98\xd5\x4d\x1c\x5a\x81\x94\x06\x84\x07\xe7\x77\xc4\x74\x6b\xee\x2c\x15\xe1\xc2\x41\x7b\x41\x73\x87\x0e\x10\x3f\xe0\x00\xd0\x47\x29\xe6\xd7\xcb\xbf\x0d\x02\xca\x90\xe5\xe9\xb6\xc9\x26\x36\x7c\xf8\xad\xcc\x74\x37\x82\xb8\x9b\xca\x26\x2e\x11\x96\xa7\xee\x40\xad\x41\x71\x43\x2b\xfe\xc4\x24\x4a\xb0\x41\xaa\xd1\x0d\x41\xe4\xe3\x81\x71\x90\x66\x41\x5f\xe6\x7a\x31\xdd\x98\x1a\x3b\x09\x61\x5f\x9b\x7f\x7f\x83\xec\xdd\xf0\xed\x81\xbd\xcf\x85\xf4\x08\x20\x66\xcf\xa1\x46\x23\x89\x8d\x0d\x1d\x50\x89\x67\x58\xc4\xc6\x5a\x1e\x6a\x15\x26\x83\x57\xcb\x5f\x0b\x9e\xa3\x67\x2a\xe7\x23\x76\xcf\x9d\xc1\x11\x31\xee\x71\x9d\x0f\x40\x19\xad\xf5\x87\x25\x30\x01\x18\x75\x13\x05\x68\x26\xbc\x55\xae\x11\x44\xc1\x8e\x19\x8f\xc9\x76\x00\x46\xf7\x85\xaf\xc2\xf9\xaf\x05\x31\xf9\x60\x70\x53\xb4\xa5\xd3\x12\x29\xd7\xb4\xcd\x57\x37\x1e\xee\x21\xdb\x0e\x94\x04\x7e\x5e\x0b\x5d\x3b\xc4\x06\xf3\xb7\x1a\xb4\xe2\x34\xce\x20\x1b\xb8\xb4\xf6\x1e\x2d\x79\xdb\x4d\x88\x1a\xd0\x8a\x3a\xdd\xfd\x66\xee\x11\x2c\xbb\x0f\x30\xc6\x68\x26\x78\x9e\xf9\x94\x79\x97\xee\x67\xb6\xc1\xca\x34\xe7\x6c\xca\x4f\xac\x4e\x75\x41\xd9\xa3\xa1\xf8\x97\xda\x23\x03\x88\x4d\xe2\x12\x8c\x9b\xab\xd2\x0a\x73\x38\x44\x94\x45\x49\x0e\x17\x9f\x54\x38\x7a\x34\xa0\xde\x6d\x46\x5f\xfd\xcd\x78\x75\x32\x65\x8b\xc4\x94\x27\x89\xed\xb6\xb8\x40\x8b\x32\xd6\x4f\x14\x23\x8c\x1e\x6e\xcf\x9b\xfb\x7e\xa4\x75\x67\x4e\xf3\xed\x59\x26\x10\xf8\x9f\x1f\xe8\x5a\x71\x97\x15\x58\x3c\x52\x22\x75\x6f\x5c\x6a\x03\x5d\xd5\x44\xfa\x09\x2b\xb2\x6d\x26\x94\xc1\x00\x5b\x23\x52\xaf\x06\xae\xb6\xd4\x7a\xbc\x25\x32\x59\x81\x2a\x06\xa1\x41\xed\x10\x69\x61\xb0\x16\x3c\x5c\x03\xbb\x01\xde\xef\x36\x9f\xca\xbb\x2b\xa6\xb3\x7c\x98\x09\x21\x6b\xa0\x0d\xdc\xe9\xd7\x3b\x0e\xb2\xf4\xea\xb2\x31\x3e\x63\x53\x7d\xa1\x0e\xfa\x1b\x5b\xc9\x6e\x1d\x66\xeb\xc8\xd1\x88\xd7\xd2\xe7\x88\xf8\x91\xb8\x30\x1c\x2f\x8b\xb9\x7e\x67\xe0\xdb\xe2\xa5\xe2\x0e\xde\x42\xdb\x40\xf8\x81\xd8\xba\x65\xd8\x84\x16\xbf\xc6\x69\x67\x40\xb9\xa2\xe3\x33\xfb\xf1\x65\x0d\x5e\xce\xb3\xa2\x4b\xc8\xe2\xf3\xc0\x29\x29\x66\xfa\x64\xbb\x5e\x5b\x8c\x90\x46\x22\xdc\x68\x48\x0f\xd9\x46\x03\x32\x3d\x76\xac\x7b\x68\xbb\x72\xad\x3c\x1b\x3b\x3c\x4e\x8c\x9d\x49\xcd\xc1\x04\x51\xd4\x0b\xd2\x1c\xad\x6c\x8a\x30\xb5\x85\x92\xff\x8f\xbd\xaf\x6b\x6e\x1b\xc9\xce\xbe\xcf\xaf\xe8\xaa\x5c\x78\xfc\xbe\x14\xb5\x33\x5b\x49\x4d\x5c\x95\x0b\x5a\x96\x77\xb8\x6b\x4b\x5e\x49\x9e\xd9\xbc\x61\x8a\x6e\x02\x4d\x12\x11\xd8\x0d\xa3\x01\x69\x98\x6c\xfe\xfb\x5b\x7d\xce\xe9\x0f\x7c\x12\x20\x25\xdb\xbb\x99\x8b\x64\xc7\x22\xd0\xe8\xef\x3e\x7d\xce\x73\x9e\x87\xe7\x1b\xbc\x20\x69\x51\xe8\x97\x2d\x23\xec\x73\x1e\x4e\x18\xe1\x23\x34\x59\xc3\xb8\x27\x98\xdf\x7d\x2b\xcd\xd5\xb2\x4a\x2e\xea\x4e\x65\xa7\x6e\x1c\x30\xe7\xf9\x44\x8c\x48\xe5\xc8\xc4\x1d\x9b\xb5\xd2\xcd\x99\x72\xa2\x36\xf7\x15\xdf\x39\x46\x00\xab\x10\x4c\xf9\x5d\x58\xb9\x95\x00\x5e\xdc\xee\x3a\x9c\x2c\xc2\x1d\x56\x81\x44\x31\xbb\x6a\xb0\x90\x33\xfb\x88\x67\xf7\x32\x17\xb3\x1c\x0d\x70\xc0\x87\x22\x1a\x1a\xee\x57\xdc\xf7\x3a\x35\xae\xa3\x11\x63\x93\x37\xeb\x3a\xe2\xe6\x7e\xe7\x4e\x23\x52\x0c\x72\x1c\x9e\xbd\x6a\x4d\x24\x9f\x7f\xc2\xc7\x6f\x6d\x13\x6b\x4a\xfc\x6d\x1f\x3e\x7c\x97\xb2\x8c\x11\x54\x50\x28\xfe\x8f\x18\xd2\x74\xef\xa7\xa9\x27\x89\xab\x7d\xac\xb9\x5a\x8b\x93\x76\xe3\x84\xef\x96\xb9\xea\x96\xb3\x1a\xd0\x4d\xb6\x88\x8a\x7f\x67\x8b\xf2\x16\x7b\xf6\xb9\xe4\x29\x1e\x6e\x92\xa6\xa3\xad\x36\x98\xca\x3f\xfc\x33\x9b\xc1\xe9\xc3\xde\xc3\xbe\x08\x01\x7e\x28\xad\x50\x2c\xd9\x65\x22\xd7\x4a\xf2\x4e\x5d\xb7\xfb\x1f\xf5\x92\xb4\x69\x96\x3c\x8a\x54\xd9\xd4\xa1\x19\xd1\x92\x96\xd2\xc2\x46\x71\x76\x5f\xae\x44\x2e\x05\x6a\xd7\xc1\x73\xcc\x3e\x37\xa8\xba\x8a\x97\xc5\xf6\x87\x65\x94\x26\x83\x05\x73\x20\xbb\x68\x66\x5e\xbb\xc0\xb7\xfa\x1a\x50\x29\xbf\x52\x75\xc9\xf0\x37\x86\xbf\x4d\xd9\x6b\x1e\xdd\x0b\x19\xb3\x2c\x2d\x37\x09\x91\x09\xc0\x09\x05\xdb\x65\xe0\x9e\xad\x36\x0c\x6d\x0b\x2c\xdf\x1c\x43\x0b\xb9\xe3\xf7\x48\x62\x4b\x46\x64\xc4\xd3\x4e\x2a\x2a\x67\x56\x2f\x93\xe6\xdc\x3d\x38\x5a\xee\x3c\x6c\x16\x53\x9f\x7b\xba\xc4\xdc\x8a\xc7\xad\xa2\x88\x74\xc5\xaa\x1f\xb1\x70\xdd\x6c\x6d\x70\xbe\xd8\xbc\x7c\xa7\x62\x48\x95\xc1\xd5\x0b\xee\x5e\x20\x62\x2e\x25\xe3\x40\x1b\xf3\x42\xb3\x32\xb3\xf6\x19\xf8\x21\x53\x88\x0a\xe3\x10\x98\x1f\xb2\xc4\xdc\xd2\xb6\x62\x21\x01\x69\xcb\x5c\xf3\x1a\x62\x57\x4c\x78\x40\x4c\xdb\xd6\xb0\x46\xd2\x84\xd3\x62\x9c\x0d\x1e\xe7\x03\xf3\x74\x20\x8a\xb8\xd8\x0a\xb9\x3c\x82\x4e\x78\xf8\xa0\x55\x10\xc3\x64\x06\x3b\x7f\xae\xeb\xc2\x52\x26\x24\x20\x45\x2e\xfc\x90\x2b\x33\x59\xd7\xcc\xe8\x44\x33\xcd\x8b\x44\x9b\xbd\xac\xb5\xc7\x3d\x55\xc5\x29\xbd\xce\xc7\xf1\x63\xb4\x70\x63\xd4\xfa\xc2\x65\x25\x4c\xd9\x5b\xf0\x82\x05\x37\x03\xe5\x98\x26\xba\x36\xac\x62\x2b\x3a\x29\x17\x9f\x02\xce\x63\x5b\x10\x3c\xdf\xeb\xdc\x74\x19\x28\x53\x36\xf3\xd1\x07\xe4\xda\xc0\xb8\xc2\x81\x16\x89\x54\x8b\x63\x26\xdf\x20\x47\x1d\x44\xe8\x61\x02\x31\xb0\xa4\xb4\xf9\xbb\x67\x90\x77\xd5\x7c\x84\x24\x4f\x7e\x2f\x64\x9f\x37\x66\x78\x0d\xd1\x5d\xd6\xeb\x12\x70\x7e\x38\x85\xae\xb8\x63\x2a\x38\x7c\xd9\x79\x7a\x93\x64\x7d\x6e\xba\xdc\x5c\x43\xa2\x7b\x4a\x2d\x41\x6f\x2c\x11\xa4\x3c\x6e\x95\x0e\xd7\x99\x1d\x3f\xbc\xc9\xe6\xa5\x63\x09\x87\xd4\x1c\xd7\xc1\x88\xc9\x91\x2a\xe4\x4f\x81\x5a\xbb\x45\x8a\x9e\x66\x37\xde\xcc\x6e\xa1\xd0\x0d\x10\xc5\xb2\x45\x35\x57\xf3\x9f\x7e\xd4\xd7\xb0\x62\x9f\x22\x53\xbf\x5d\x96\xf5\x74\x94\xfc\x91\xf1\x01\x87\xff\xf2\x9a\xae\x3c\x76\xdc\x12\x99\x8a\x99\x9f\x5e\xe3\x05\x5c\xbf\x7e\xb3\x6a\xc2\xaf\x83\xda\x76\x68\x66\xbf\x0f\x40\x04\x6c\x55\x26\xa8\xa1\x5e\x31\x08\x95\xb5\x38\x80\xff\x18\x8e\xff\x44\xbb\xf3\xa4\x7d\x8e\x7d\x50\xf1\x29\x13\x6b\x3c\x9d\x5e\x73\x5e\x0f\xc0\x18\xeb\x36\xcd\xf7\x9e\x9e\xc8\x54\x37\x3a\x34\x5e\x0e\x57\x49\x07\x38\xc0\xaa\x5c\xdf\x82\xba\x48\x17\x63\x45\x40\xbc\x6f\x53\xd0\xcc\x38\x9b\xcf\xb8\x84\x88\xae\x41\xa1\xe8\xb2\x3f\xfe\x39\xfb\xe3\xed\xf5\xd5\xd9\x8e\xe7\x7a\xcb\x21\x23\xd8\x96\x35\xb1\x82\x6d\x78\x3d\xb6\x51\xaf\x44\x2e\xe4\x19\xdb\xa8\x09\xc6\x58\x5f\xb1\x6d\x51\x64\xfa\xd5\xf9\xf9\x26\x29\xb6\xe5\x6a\x1a\xa9\xdd\xb9\xef\x9a\x73\x9e\x25\xe7\xab\x54\xad\xce\x73\x01\x28\xdb\xb3\xef\xa7\x3f\x7c\x0f\x23\x73\xfe\xf0\xfd\x39\x44\xd6\xa6\x1b\xf5\x8f\xef\x7e\xf8\x97\xdf\xff\xb3\x29\x38\xdb\x17\x5b\x25\x5f\x51\x00\xb7\xb7\xec\x33\xb4\xca\xcf\xf1\x95\xda\x57\xfe\x65\xfa\xbb\xb0\x1a\xf4\xe8\x4e\xc5\x22\xd5\xe7\x0f\xdf\x2f\xed\xc0\x4c\xb3\xfd\x6f\xb8\xd4\xaf\x86\x4b\xbd\x4f\x8a\xdf\x70\xa9\x5f\x15\x97\x3a\xdc\xc2\x71\x7b\x0c\x10\x7d\xfa\xfd\xd1\xfc\xdd\xed\x91\xd6\xf5\x7e\x68\x1f\x6a\x39\x1c\xc2\xac\x81\x13\x8e\x88\x7b\x31\xea\x8a\x5d\x6b\xae\xbb\x3a\x74\xb8\xd8\xc6\x92\xed\x77\x1a\xf3\xa3\x92\xa4\x01\x05\x92\x44\x40\xe4\x8c\x2e\xc1\x8c\x27\x6d\x68\x53\x42\x3b\x9d\xd2\x7f\xcf\x49\x49\xfe\xd4\x5c\xe4\xd4\xdc\x23\x79\xc8\x53\x7c\xdb\x62\xb3\xd4\xa3\xe5\x1f\x7f\x0a\xd6\xee\x81\x3a\xae\x8e\x8c\x18\x27\x0f\xd4\xc5\xd6\xab\xa3\x1a\x5b\xae\x8f\x03\xf9\xcd\x90\xf2\xcf\xc5\xe9\x9c\x2a\x3e\x7d\xd0\x1e\x1c\x96\x45\x01\x44\xc2\x89\xac\x29\x2b\xf3\x4c\x69\xa1\xa7\xec\x6d\x4d\xe9\xd0\x03\x17\x6f\xde\x5e\xb0\xef\x7f\xfc\x97\xdf\x2f\xe4\x77\x2d\xe7\x36\xec\xf7\x2a\xdf\x10\x8e\x12\x4e\xeb\x1d\xd7\x85\xc8\xcf\xf3\x75\x74\x8e\xbb\xdc\xb9\x79\xff\x8c\x3e\x7a\xa6\xd6\x67\x8e\x92\xf8\x8c\xd8\x59\xa7\xbb\x78\x1c\xc1\x40\x65\xea\xe1\x59\x43\x07\x8d\x86\x43\x09\xa9\x88\xd4\xda\x91\xcf\x63\x9e\x0b\xea\x54\xa8\x75\xcb\x7f\xbc\x4e\xd5\x4a\xbf\x74\x04\x68\x5c\xdb\x6f\x78\x46\xa2\xee\xa5\xf9\x34\xec\xe4\x76\x8a\x3c\xa7\xa3\xc2\xee\x25\xe1\x75\x64\x4c\xc7\xb7\x2f\x36\x7f\xdc\x23\x1f\x03\xcf\x55\x29\x2d\xbb\xb3\x92\x42\xad\x01\xc5\x07\x96\xb0\x45\x29\x80\xaf\xd6\x9c\xb4\x9e\x7b\x21\x17\x19\x1e\x30\x10\x55\xe8\xee\xee\x13\x19\xce\x0f\xf5\xf3\x73\x30\x9c\x9f\xda\xef\xb4\xa1\x7c\xa5\x0e\x3f\x15\x4a\x88\x4b\x69\x0c\xaa\xc2\x3c\x7f\x30\x82\xea\xf6\x01\xaf\x3e\xe4\xc9\x84\x33\x9e\x83\x91\x26\xce\x0a\x75\x06\xa4\x35\x40\x85\x82\x9a\x03\x5d\xb0\x0a\x88\x3c\x8f\x39\x26\xcd\xf3\x03\xea\x89\x86\xf9\xaf\x41\x45\xc9\x26\xd1\x48\xe1\x49\x90\xac\x44\x4a\x91\x53\x4c\xed\xe0\x89\x3a\x32\x2e\x1d\x0e\x65\x3f\x22\x2b\xd0\xb5\x0e\xf8\xe0\x1d\x1e\x9f\x07\x9b\xc0\x94\x81\xf5\xb9\x55\x3b\x65\xcc\x19\x55\xea\xe0\x47\xbc\xbd\xc0\x21\xdc\x69\x7b\xed\x78\x86\x24\x75\x5f\xaf\x35\x66\x69\x99\x9f\xd0\xa9\x17\x3e\x34\x4a\x62\x63\x55\x15\x15\x38\x50\x7f\xc7\x06\xdf\x3f\x6f\x00\xf5\x80\x3a\x75\x20\x15\x4b\x1c\xcf\xc9\x7f\x99\x7b\x8d\x99\x52\xee\xa6\xe0\x4e\x6e\x04\xe9\x20\x17\x63\x48\xf7\x6a\xad\xf9\xce\x6c\xe9\x72\x37\x72\x0c\x1c\xc8\x78\xc8\x00\x70\x89\xb0\x5b\x8b\xb7\x3d\x6b\x05\xdc\x76\xad\x4b\x2b\xcc\x1a\x2f\x2d\x5f\xe8\xb8\xaa\xde\xba\x02\x88\x1a\xb4\x59\x6f\x4f\xb7\x04\xe8\x6c\xec\x63\xdc\x10\xac\x6d\xd1\x01\xba\x91\xe3\x17\x23\x08\xac\x8c\xe9\x3b\xf8\x08\x4e\xce\x46\x0f\x06\x6b\xa1\xab\x03\xc7\xb9\xd8\xfa\x3c\x56\x6d\x70\x7e\x64\xa8\xf3\xd9\x3b\xa6\x96\x8d\xcb\xa3\x7b\xf1\xc1\xab\x50\xef\x33\x31\x61\xab\x12\x7e\xbf\xba\xbe\x0b\xd1\x1a\x09\xb6\xf6\x2c\xda\x8a\xe8\x1e\x1c\x26\x78\xe4\x39\xd1\x46\x62\xc3\x5b\x48\x2f\xfd\x55\x28\x0b\x3d\xd8\x3b\x36\x74\xa7\x08\xa0\x72\x16\x27\x3a\x4b\xf9\x1e\x82\xbc\x12\x71\xfa\x3e\x40\xec\x12\x5c\xcc\x56\x70\xc8\x5f\x3c\x7c\xa4\xcd\xa8\xcc\xfc\x7b\x63\xfb\x92\xe7\xab\xa4\xc8\x79\xbe\x67\xbe\x33\x9b\xfb\x01\xd3\x62\xc7\x65\x91\x44\x0b\xb9\x13\x5c\x86\xa8\x3c\x0a\x72\x9b\x4e\x8e\x95\x20\xbe\xe0\xf5\x5a\x44\x85\x27\x1c\x04\xe3\xdd\xf5\xd4\xa1\x35\x38\xae\xed\x6e\xe5\xf5\x36\xfd\xa7\x44\x62\x7a\x7b\xb2\x03\xcc\x27\xcd\x21\x3a\x1a\x8f\x0c\xde\x80\x54\x1c\x1d\xb9\xf6\x32\x08\xff\xb2\x73\x8a\xad\x44\xf1\x28\x20\x9f\x9e\x12\x00\xdb\x6c\xfc\x93\xe5\x02\x4e\x53\xff\x6d\xd7\x4d\x0e\x90\x60\xb8\xc0\x42\x30\x99\x23\xfe\x91\x35\x06\x9f\x17\x94\x92\x08\xde\x9e\x17\xe4\xb7\x7a\x01\xc7\xb4\xb9\x3d\xe6\x0f\x22\x5e\xc8\x2a\xad\x12\xd9\x8c\x7e\xc1\x31\x2f\x84\xf5\x34\xbb\x8d\xed\xe3\x41\xbe\xfc\x4b\xa0\x92\xf0\x24\x92\x2e\xe9\xae\x47\x98\x0b\x1b\xfd\x9c\xb7\x2a\xab\x09\x18\x5a\xf7\x03\x20\x59\x42\x5b\xa1\x1b\xd2\xc5\xab\xe0\x29\xdc\xa4\x74\xa4\x31\xc8\x28\xe7\x00\xb0\xe4\x97\x6c\x78\x3a\xdb\xca\x58\x48\x9b\x4d\xbd\x2e\x53\x64\x09\xed\x92\x0a\x23\x0e\x29\x9b\xf9\xf1\xf5\x32\x80\x9c\x5f\x8d\x05\xda\x62\x0e\xf6\x10\x80\x91\x71\xaf\xb3\xb3\x5e\x48\x8d\x82\xd4\x56\x56\x08\x1c\xcf\x1b\x51\xc0\x69\x1e\x97\x29\x26\x07\x83\xc7\x1c\xf8\xa8\x78\x9a\xb2\xa4\xd0\x0b\xe9\xe8\xb3\x90\x0c\x1d\x76\x58\xeb\x52\xb7\x8a\xb4\xd2\xe9\xda\x92\x76\x3f\xd8\x61\x49\x94\x14\x0d\x08\xf7\x3e\x94\xe2\xc8\x32\xc1\x31\x97\x0d\x87\x6d\x21\xc3\x3b\x57\x7d\x10\x28\xf1\x0b\x34\xca\x9f\x22\x07\xab\x07\x91\x0f\xc2\xee\xa3\x87\x64\xca\x66\xd8\x3a\x73\xe1\xb2\x2a\x9b\x58\x5b\xca\x9f\x27\xa4\xa5\xb9\xd5\x14\xda\xfa\xc8\xfd\xbd\x15\xe4\x9c\xa3\x32\xe5\x79\x0a\x9c\xf4\xeb\x32\x65\xc9\x3a\x10\x0c\x85\x31\x40\xf2\x24\x33\x5c\x91\x82\xb3\xda\x7a\xc9\x35\xdf\x89\x20\x6f\x9b\xdc\x3b\x69\x80\xa1\x40\x46\x68\x0c\xce\x9b\xb2\x5e\x4e\xd9\x9b\xba\xc2\x3c\xac\x89\x80\x74\x31\xd1\xb8\xfd\xb9\xfa\x06\x29\x87\xa8\x54\x9f\xac\xcd\x95\xf2\x45\xb0\xea\x3a\x46\x10\xc8\xdb\xc7\x01\x34\x2c\x75\x7f\x3f\x6a\xb8\x35\xe5\xd8\xbc\x5a\x83\x6d\xb8\x05\xd1\x51\x41\x7b\x2a\x8c\xac\x64\x48\x58\x79\x44\x45\x1d\x21\x68\x4b\x65\x77\x3d\xfa\xa4\x30\x8e\x23\xab\x1a\xa8\xfd\x8c\xaf\x68\x30\x73\x42\x38\xce\x90\x9e\xdd\xf0\x62\x2c\x36\xc7\x25\xe3\x8c\xaf\x68\x2b\x0e\x6a\x48\x35\x61\xf7\x18\x59\x4f\x2f\xc1\x3f\xbe\xa2\x4e\xfa\xd9\xeb\x01\x78\x4d\xfc\x4a\x0e\xa5\x65\x3a\x74\x2d\xd0\x0b\x49\x87\xdd\xf8\xf4\xcf\x99\x9f\x73\x20\x78\xc4\x4c\xf5\xa7\xec\x5a\x0a\x44\xce\xa9\x75\x70\xa8\x50\x05\x48\x19\x09\xc8\xe6\x65\x20\x41\x9d\x26\xf2\xde\x52\x4b\x98\x25\x37\x61\xdc\x97\x0e\xbb\x1e\x4e\x1b\xdc\x45\x3a\x6c\xc9\x36\x69\x86\x13\xcc\xcb\x61\x09\x9a\xed\x77\xfe\x00\x80\x3a\x7e\x07\x68\x6b\xc7\xf0\x61\xe9\x45\x92\xbb\x5b\x5c\x45\x63\x3c\x44\x8d\x16\x49\xb1\x3f\xd4\xbf\x1f\xb6\x55\x14\xe2\x08\x21\xa3\x8f\x57\x6f\x2e\xdf\xce\xaf\xaa\xea\x43\x7f\xfe\x78\xf9\xb1\xfa\x97\x9b\x8f\x57\x57\xf3\xab\x3f\x84\x7f\xba\xfd\x78\x71\x71\x79\xf9\xa6\xfa\xdc\xdb\xd9\xfc\x5d\xed\x39\xf3\xa7\xea\x43\xb3\xd7\xd7\x37\x35\xbd\x23\x2b\x56\x14\xfc\xe9\x6e\xfe\xfe\xf2\xcd\xf2\xfa\x63\x45\x32\xe9\xcd\xbf\x5d\xcd\xde\xcf\x2f\x96\x2d\xf5\xb9\xb9\xbc\xb8\xfe\xf9\xf2\xe6\x80\xe2\x91\x6f\x6f\x6b\x97\x3e\x05\x7c\xec\x68\xfd\xab\x19\x5b\xe7\x89\x90\x71\xba\x47\xec\xbd\xbd\xd9\xd6\xc0\xb4\xe1\xd9\x9b\xec\x84\x2a\x4f\x81\xd0\xdf\x6d\x51\xa1\x1e\x58\x30\xb0\x34\x4a\x99\xe5\xfa\xbe\x93\x23\xb1\xc8\x9b\x51\x81\xde\x4c\xa1\x22\xdf\xbb\x5c\xb4\xbe\xea\x78\x06\x25\xfa\x08\xcb\x44\xde\x57\x17\xb0\x8c\xf2\x32\x2b\x92\x55\x77\x52\xc4\x40\x66\xa1\xf1\x77\x6f\xe4\xfb\x6b\x27\x47\xb9\x6a\xdf\x18\x2b\xb9\x01\xa7\x00\x8f\xa1\x84\x63\x65\xdd\xdc\xdb\x16\xac\x99\x95\xab\x34\x89\x58\x12\xd7\xfd\x29\x98\xc2\x86\x2e\xe3\x3a\x2d\x68\x26\x72\x30\x55\xcd\x0d\x20\xcb\xc5\x19\x2f\x8b\xad\x55\x9c\x77\x99\x8c\x48\xd3\x29\xa2\x5c\x60\x2c\x40\x68\x70\xd2\xa2\x9e\x57\xf0\x25\xa8\x0c\x65\x70\xc7\x40\x16\x33\x0d\x28\xda\x3b\x62\x04\xf8\x26\x96\x3e\xc2\x49\x8a\xcf\xf7\x76\x0d\xd5\x38\xd1\x75\x31\x67\x38\xe1\xf1\x47\xab\x0a\x66\xda\x6d\x76\x6a\xa7\x8a\x85\x83\x6c\x73\x37\xda\x9b\x71\x68\x8e\x85\x13\xa5\x9a\xcc\x40\xa5\xd3\x4f\x17\xb9\x80\x43\x84\xa0\x00\xd6\x7f\x01\xd0\x15\xca\xf5\x80\x14\x0f\x73\x55\x5b\x89\x2d\x4f\xd7\x68\x71\x98\xa1\xf1\xeb\xaa\x39\x45\xef\xd4\xbd\x90\x37\x38\x60\x5f\x65\x3b\x94\x78\xf3\xf1\x39\xfd\xce\x23\xe4\x5d\x98\xa6\x8e\x76\x56\xd9\x5c\x37\x30\xa6\x0a\xbc\x27\x04\x3f\x63\x4a\x87\x67\xec\xb5\x69\x72\xeb\x75\xf2\xab\x29\x70\x21\x45\x2b\x67\x29\xe0\x85\x2c\xbb\x92\xdb\x97\x01\x1b\x85\x14\x35\xf7\x42\x82\x9e\x18\xca\x0d\x1f\x9c\xb3\xe3\xfc\xe7\xcd\xb1\xe8\x71\xe8\x83\xcf\x2f\xa9\xc8\xac\x85\x51\x1e\xdb\x4f\x05\xe6\xd8\x4c\xd9\x1b\x22\xde\x30\x7f\xb9\x78\x37\xbf\xbc\xba\x5b\x5e\xdc\x5c\xbe\xb9\xbc\xba\x9b\xcf\xde\xdd\x0e\x5d\x7e\x4f\x91\x17\x55\x5b\x7d\xf5\xf4\x20\xb7\x43\x9c\xd3\xca\xf3\xe9\xb9\xae\x51\x7e\xd9\xc1\x90\x1c\xae\x7d\x12\x67\xcb\x38\xd1\x91\x39\xfe\xf6\x4b\x21\x63\x20\x7b\x3e\x6a\xaa\xb6\x17\x55\x6f\x85\x7b\x82\xb9\x27\xec\x0e\x82\xa7\xdd\x83\x9d\xd1\xee\x77\x40\xdd\x81\x1b\x32\x17\x66\xf1\xc7\xe6\x7e\xe0\x4e\x9b\xe9\x61\x85\x0f\x53\xdc\x69\x6d\xab\x16\x51\x6f\x13\xd6\x37\xd1\xba\xe4\x66\x7f\xb4\x8f\x01\xe4\xb0\xa3\x57\x88\x81\x2f\x64\x9c\x4e\x02\xb5\x54\x96\xe8\x85\xdc\x71\x19\xf3\x42\xe5\xfb\x8e\x26\x0e\xdb\x3c\xc3\x65\x53\xdd\x42\xc3\x23\x5b\x0a\x11\xdb\x51\xc0\x47\xb9\xac\x4f\x25\xe4\xa5\xbe\xbb\xfe\xd3\xe5\xd5\xed\xf2\xf2\xea\xe7\xe5\x87\x9b\xcb\xb7\xf3\xbf\x38\x24\x64\xc6\x75\x9b\x3a\x62\x96\x0b\xb3\xbb\x58\x9a\x8f\xd6\xfd\x05\x25\x0b\x6d\x39\x24\x53\x95\xac\x17\xd2\xee\x2c\xb9\x2f\x7e\x9b\xab\x72\xb3\x6d\x2f\xa8\x5e\xcb\x0f\xb3\xbb\x9f\x8e\xaa\x26\x90\x30\xa1\xae\x19\xae\xb6\x26\x22\x34\x59\xd3\xbe\x87\x30\xd2\x5a\xf5\x80\x4a\x0c\x1e\x6d\x8b\x32\x74\xec\x68\x47\xdd\x5e\x9a\x9b\x56\xaf\xf1\xdf\xf2\x78\xd7\x04\xba\x0b\xf6\xcd\xca\x31\x02\x08\x65\x94\xc7\x6c\x94\xf6\xaa\xe5\x6f\x95\x13\xec\x87\xb3\x54\x6c\x36\x22\xc6\xe9\x55\x2f\x98\x7c\x70\xb4\x05\x46\xfe\x5c\x6f\xeb\x45\x12\xb0\x3b\xe1\x60\x76\x78\xaf\xe1\x1b\xf8\x07\xf7\x4a\xfb\x5e\x71\x61\x45\xb2\x23\x25\x75\xc1\x65\x47\x20\xf9\xa1\x89\xd0\x1c\xb4\x15\x5d\xe7\xcc\x25\x3f\x91\xc3\xc4\x86\x0c\xfc\x3a\xe8\x02\xbc\x9c\x8e\x0b\x75\xf5\xb8\x11\x59\xca\x23\xe1\x72\x18\x90\x01\x0f\xee\xf5\xc7\x04\xf0\x48\x26\x50\x92\xbf\x25\x90\x0f\x0c\x34\xc5\x5b\xa6\x00\x78\x6e\x6f\xec\x7e\xfc\xfc\xae\x95\xde\x8b\x1b\xf1\x5e\x81\xa3\x19\x75\x9a\x08\xfa\x8e\xbe\x28\x10\x3f\xeb\x84\x25\x8f\x9a\x0e\xb5\x2f\xff\x4c\x03\x8f\x77\xe6\xaa\xa3\x9b\x5b\x66\x39\x37\x3d\x9c\xe9\xd8\xe7\x2f\x2c\x8a\xbc\x97\x8c\xf2\x29\xc2\x11\x1f\x72\xb5\x4b\xb4\x98\x15\x45\x9e\xac\xca\x50\x8d\x6f\x24\x60\xae\x72\x39\xf1\x0d\xce\x72\x15\x97\x91\xa5\x04\x82\xd6\x7a\xd8\x0f\x79\xf9\xac\xd5\x11\xb3\x33\x33\xfb\xe8\xe6\x26\xe2\x33\x00\xf4\x2f\x64\x57\x8c\xcd\x6e\x8c\x1d\xbe\xbf\x0f\xf6\x28\x3f\x65\x4a\xb6\x4c\x8a\xee\xce\xb4\x73\x60\x58\x62\x2d\xb3\x8f\x83\x05\xdc\x81\x9a\xa2\xe9\xb2\xe2\x18\x40\xaf\xda\x28\x5d\x0c\x20\xee\xa8\x19\x07\xee\x1a\x86\x8d\xa9\x66\xcc\xa0\xdd\xb0\xe5\x1a\xcd\xf9\x22\xda\x56\x2b\x0e\xad\xa9\xb2\xe6\xd5\xab\xeb\xcc\xe3\xd3\xdc\x26\x83\xc2\x68\x13\x74\x34\x24\xe4\xd8\xae\x28\xa0\x39\x39\xc7\x71\xde\xee\xd0\x62\x74\x37\x3a\x3c\x0c\x60\x1f\x4d\x79\x29\xa3\x2d\xcb\x52\x8e\xc9\xe4\x5b\xae\x71\x4a\x5b\x2c\x09\x5f\x25\x69\x52\x00\x4b\x0f\x86\x38\x6b\x3d\x6c\xae\x79\x3c\xbf\xb7\xc4\xb8\xdc\x53\x32\xf5\x4d\xfa\x13\x31\xbb\xae\x55\x5f\x14\xb5\xeb\x97\x6c\xb8\x0d\x0d\x9b\x96\x84\xd8\xf5\xc3\x61\x36\x62\x98\x96\xbe\x2d\xe3\x46\x96\x4a\xfc\x50\x7f\xbd\xd2\xdf\x2d\xd6\xcb\x78\xc4\x0a\x31\xbe\x8f\x38\x7d\xea\x7c\xf0\xad\x2b\x6b\x9d\x2a\xde\xa1\x49\x6c\xcb\x46\x7a\xf7\xae\xb2\x63\x55\xae\xba\x08\x85\xb1\x56\xfd\xa5\xf7\x05\x43\xec\xba\x7d\x2a\x67\x69\xb8\x01\xf2\x42\x14\xc9\x38\x7f\x4f\xd0\x68\x5e\x88\x33\x78\xbd\xbd\x70\xca\x30\x1c\xdc\xe6\xc6\x44\xf3\x22\x23\xce\x68\x03\x2c\x61\xdb\xec\xaa\x9d\xce\xa7\x60\xc2\x4f\x1c\xaf\x44\x1e\x98\x4a\x87\x75\x0b\x7e\xff\x43\x4b\xb7\x34\x1a\xfd\xe7\x92\x9b\xfd\xf0\x7a\x7d\x8b\x5c\x39\xa7\x34\xba\x48\x9a\xcb\xaa\x7d\xfb\xa9\x7f\xf5\xae\x1a\x5e\x0b\x27\xfe\xe0\x4c\xe4\xb6\xd6\xdc\x9a\xb7\x87\xef\x42\xf3\x8a\x1b\x2d\xcb\x13\x05\x9c\x31\x6a\x8d\x0c\x8c\xdd\x74\x93\xad\xdf\x3d\xa1\x27\x3f\x97\xa2\x14\x66\x02\xad\xca\x78\xd3\xf4\x72\x8f\xb0\x94\x7d\x93\xb6\xea\x91\xed\xca\x68\xcb\x6c\xe1\x2c\x16\x29\xdf\x57\x9a\x06\x46\x62\xa1\x52\x20\x70\x3e\x92\x4d\x36\x2a\x75\xa1\x76\x00\x30\xf6\xe5\xe6\xa5\x84\x55\xce\xb8\x5d\x5d\x6d\xfb\x7b\x85\x5d\xee\xc8\xd0\xe6\xed\x87\xcb\x8b\xf9\xdb\x79\x2d\xae\x38\xbb\xfd\x53\xf8\xef\x5f\xae\x6f\xfe\xf4\xf6\xdd\xf5\x2f\xe1\xdf\xde\xcd\x3e\x5e\x5d\xfc\xb4\xfc\xf0\x6e\x76\x55\x89\x3e\xce\xee\x66\xb7\x97\x77\x07\x02\x8c\xcd\xaf\x76\x0f\x04\x0f\xc8\xef\x2c\xe4\xd9\xb2\x80\x5b\x3f\x03\x7d\xf5\x15\x9b\x59\x2a\xc0\x0a\x59\xa5\x0d\x12\x03\xaa\x04\x35\xb1\x29\x96\xfc\x86\x17\xfc\x82\x17\x3c\x55\x9b\x29\x9b\x31\x02\x84\x23\xd0\x5f\x1b\x0b\x89\x78\xd2\xcc\xe8\x60\x11\xc6\x4c\x8a\xfc\x1d\xde\xcb\x1c\xaa\x35\x31\x14\xa6\x22\x24\xc4\xb7\x59\x6d\x0b\x79\xf9\x20\x64\x51\x02\x5b\x37\x4f\x53\x46\x9f\xb5\x0f\x04\x19\xfb\xb6\x96\x3a\xd9\x25\x29\xcf\xbd\x22\xdd\x35\x95\x05\xb7\x14\x5b\x57\x47\xd0\xd4\x4c\x07\xb7\x17\xb9\x8f\x73\x06\xf5\xbe\x78\x37\x07\xbb\x2f\x2a\xac\xdc\x8a\xfd\xf8\x42\x22\x03\x1e\x7d\x71\xc7\x21\xf9\xa4\x50\xe4\x59\xc5\xcf\xd3\xc3\xdd\x13\x51\x9f\xb2\x88\x6d\x0c\xe2\xb9\x6e\x94\xae\x92\xf6\x3f\x2e\x65\x91\xef\x07\x1b\x73\x77\x90\x6d\xad\xc1\x20\x27\x2c\x5b\x55\xa5\x0e\x1d\x5f\xcc\x96\x7e\x05\x16\x9e\x05\x5a\x52\x5c\xc6\x85\x5f\x10\xd7\xd2\x71\xe9\x48\xcd\xc9\xfb\xad\xf6\x43\x48\x88\x03\xbd\xb0\x52\xa5\x8c\x35\xa1\xee\x76\x89\x3c\xdf\xf1\x5f\x5f\xda\x96\x22\xc1\x84\xd3\x8a\x00\xf2\x30\x91\x9a\xeb\xd7\xde\x6c\x72\xfd\xdd\xb5\x90\x3d\xfd\x75\xd8\x44\xb6\x3b\x2b\xdc\xf5\xfc\xc5\x1c\xf1\x83\x0f\x62\xdf\x36\x7e\x0d\xbd\x1f\xc4\x28\xd2\x82\x87\x42\xb2\x5c\x98\x07\x1d\x38\x31\x45\xcc\xa9\xfb\x37\x24\x21\x54\x34\x09\xdb\xf7\xee\x30\xde\x7f\xd2\xb2\x69\x45\x1a\x3c\x83\x60\x13\x7d\xc9\x8c\x19\xe2\x0e\xac\xcb\x9b\x92\x2e\x28\xa0\x6a\x06\xeb\x3f\xd5\x8a\xad\x21\x03\x89\x34\xc7\x73\x01\x21\x0e\x18\x0a\xcb\x30\x0e\x14\x53\x0d\x30\x83\x9d\x02\xa9\xd0\xe0\xf8\x97\xe6\x8e\x29\x3e\x97\x14\xbb\xfd\xfe\x77\xe3\xce\xd9\x22\xdf\x33\xab\x66\x11\x66\x40\x51\x02\x20\x9d\xb9\x50\xaf\x52\x26\x6d\xbc\x73\x37\xa5\x34\x47\xf1\x53\xc0\x5e\x86\xc7\x35\x6b\x1f\xa5\x7f\x1e\x4c\x12\xb2\x2e\xf9\x1c\x9f\x7f\x36\x1a\xd1\x9f\x6b\xec\xa1\xf4\x39\x80\xa4\x53\xe9\xe1\x81\xb6\xe2\xd1\xfd\x23\xcf\x63\xf4\xdb\x02\x0e\x65\xca\x7e\x52\x8f\xe2\x41\xe4\x13\x16\x89\xbc\xe0\x44\xdd\xa5\x21\x10\x0f\x0b\x8a\xca\x59\x48\xc8\xd0\x40\x1e\x34\x09\x72\xed\x45\xb2\xd9\x9a\x4b\x74\x00\xa3\x50\xb9\xd9\x8e\x0a\x64\x6d\xcc\x44\x44\x64\x49\x1d\x1d\xb0\x4e\xf9\x43\x93\x8b\xec\x18\x96\x07\x36\x77\x69\xa6\x36\x4e\x69\x55\x1b\xfa\x80\x2f\xd4\x61\xb4\x69\x22\xbd\xcd\x84\x6d\x54\xca\xe5\x66\x3a\x9d\x32\x51\x44\xd3\x97\xa3\x26\x3a\x15\x18\x46\x3e\x1d\xbc\x3a\x55\x4a\x8b\x74\xef\x08\x7e\x5c\x02\x0c\x20\x2e\x7f\x2d\x84\xd4\x09\xfa\x79\x5a\xa6\xff\x6d\x3d\x2a\xf0\x65\x83\x28\xed\xd7\xf3\xd1\xe9\x95\x1d\xe5\x80\x08\xd4\x88\x92\xf0\xf9\xf6\x9b\xd7\x51\xe9\xc2\xed\x65\x49\x25\xc7\xe6\xc0\xfe\xac\xba\x24\xcd\x8f\xe2\xdd\x6b\x2d\x89\x48\x4a\x8e\xca\x1b\x6c\xef\xb3\x46\x2a\xe7\x09\x59\x9c\x3d\x09\x99\x23\x73\x31\x87\x38\x02\x6e\xeb\xc3\x3d\x7a\x59\x1c\xd6\xa5\x68\x6d\xd0\xc8\x5c\x57\x9f\x94\x3e\xc6\x74\xc2\x74\xb9\x74\x0f\x37\x2e\x97\xf9\x0a\xee\xf4\x38\x08\x07\x54\xa2\x1d\x90\x83\xe5\xc3\x25\x8e\x3c\x2a\x88\x8e\xe8\x42\xe5\x7c\x23\xd8\x4e\xc4\x49\xb9\x6b\xdd\x6c\x5c\x75\x4f\xc1\xfd\xa9\xb4\xdc\x75\xd3\xf8\x9d\x6a\x40\xfb\x4a\xe2\x7f\x5d\xc0\xe7\x06\x1b\xd0\x5e\xbc\xdf\xca\x03\x51\x7d\xd1\xf7\x4f\x7d\x6d\x4e\xca\x3c\xd1\x40\x38\x79\x4c\xca\xa3\x2b\x06\x8b\x86\xc8\xe9\x3e\x43\x9f\x73\x65\x74\xcf\x6c\x48\x8b\x5e\xd1\x38\xaa\x10\x6e\xed\x3e\x14\xea\x68\xc2\xd1\x63\x04\xe2\x33\x47\x45\xb8\xc1\x6c\x0c\x68\xe0\x09\xee\x04\x05\x12\x26\xa3\x50\x6c\x6d\x93\xe8\xee\x45\x40\x4b\x16\x03\x41\xfc\x23\x72\xdc\xfc\xe9\x47\x6d\xd1\x1b\x04\xb0\xf1\x16\x4b\xe1\x3f\x82\x01\x91\x87\xef\x2d\xae\x0a\x5b\x88\x45\x00\x79\x58\xcc\x65\xd1\x5a\x80\x87\x1d\x42\x59\xf8\xca\xcf\xbc\x4c\xdb\x1f\xa7\xf2\xe1\x51\x14\x9b\x9a\xfd\x72\xcb\xb0\xab\x89\x4a\x3c\xef\xab\x68\x50\xc8\x61\x64\x17\x74\xd7\xf2\x08\x4b\xb0\x32\x0e\xd8\xe9\x96\x4b\xde\x74\xbb\x28\xa2\xad\xb7\x3c\xaa\xaa\xd1\xa4\x24\x48\xed\xdc\x79\x72\x74\x04\xcd\x86\xe8\xc3\x64\x23\x55\xa8\xeb\xa1\xa4\x80\xc8\x94\xd9\x80\x54\x58\x2c\x4b\x8a\xc3\x10\xaf\x91\x8c\x61\x87\xa6\x5a\xa1\x10\xba\x43\xed\xac\x04\x18\xe1\x4a\x91\x20\xcf\x90\xc5\xc7\xe2\x9d\x88\x84\xe9\xea\xa4\xd9\x55\xe6\x86\x85\xac\x7e\xaa\xd1\x49\x16\x83\x95\xe4\x02\xb9\x6e\xb5\xb1\xde\x8a\xe4\xc1\x2c\xd4\xe6\xb4\x76\x13\x14\x76\x80\xe6\xdc\x5b\x48\xac\x76\x40\x98\x7b\x2f\xf6\x3a\x54\xc1\xa3\x19\xc5\xba\x26\x64\x62\xda\x43\xe3\x75\x78\x28\xa0\xe3\x96\x81\xaa\xff\xb0\xb3\x0c\x3f\xfa\xde\xbc\xdc\x03\xee\x6c\x14\x6e\xe6\xa0\xcf\x52\xf4\x3e\x45\xda\x26\x7c\x3f\xd3\x18\x7a\xfc\x16\xa0\xf3\x42\xfc\x5d\x98\x72\x02\x17\x5f\x73\xbf\x5d\x48\xe2\xd4\x0e\x0e\x39\xb3\xe1\x34\x87\x8d\x52\xa7\x91\xc9\x77\x5f\xa1\x7d\x01\xda\x43\x4b\x01\x59\xfd\xa4\x0d\xb6\x5a\x11\xd5\x85\x84\x4f\x63\x72\xa9\xf5\xe1\xb5\x7e\xf0\x48\x50\x20\x0d\x6e\x27\x10\x30\xc8\xe0\xc2\x27\x89\xf9\x0f\xe5\x14\xf1\xf6\x13\x09\xd3\x7d\x33\xd9\x8a\xc1\xb3\x08\xbc\xdb\xcb\x8b\x9b\xcb\xbb\x2f\x06\x14\xb4\x28\xbd\xd1\x48\x41\x5b\xcf\x37\x97\x6f\x67\x1f\xdf\xdd\x2d\xdf\xcc\x6f\x9e\x03\x2a\x48\x3f\x1d\x81\x15\xbc\x25\xaa\xfe\x0b\x25\x0b\xf1\xeb\x49\x67\x72\x5e\xca\x25\x1f\x91\xb3\xe2\xc4\x3a\xfa\xcc\x1d\x2c\xb4\x29\x35\xe0\x74\x00\x88\x77\x12\x4f\x34\xa7\x2c\xb0\xf6\x4e\xc3\x75\x92\xa6\x90\xc2\xeb\xdc\xeb\x94\x1e\x66\x3a\x15\xf6\x1f\x4b\xb5\x49\x7b\xea\x42\xae\x2a\x4a\x10\xe0\xf2\xdb\x9a\x4b\x30\x26\xef\x66\xa6\x03\xf2\x04\x52\x23\xfb\xd4\x08\x36\x89\x14\xbe\x1a\x28\x7d\x5c\x4a\xd6\x49\x21\x4d\x83\xf8\x9c\x90\x28\x32\xbc\x86\xda\x9a\x76\xc6\x55\xe6\xa7\x35\x3f\xed\x8f\xae\x85\xb8\x88\x13\x89\x86\x69\x65\x35\xdf\xb6\x4f\xdd\x73\xbf\x04\xa0\xdf\xcd\x48\x72\x88\x41\x80\xba\xb0\x1f\x48\x1a\x08\x54\x29\xf2\xc1\x89\xfb\x04\xa1\x43\x6a\x5d\xeb\x67\xb3\x15\x9a\xbe\x4e\x20\x52\xc1\x89\x95\x24\x4a\x4b\x5d\x88\x9c\xdc\x26\xb3\x5f\x6e\x17\xf2\xb5\x39\xbe\x5e\xd2\x29\x44\x4a\x36\xf8\x09\x04\xae\xa8\xca\xf7\xad\x85\x12\xee\x60\xdf\xa1\x8f\x7a\x27\xb8\xd4\xa8\xfc\x9e\xa6\x22\xf7\x33\x03\xeb\x23\x44\x4c\xea\x7f\x40\xc3\xea\xdf\x27\xf1\x6f\x05\xab\xd6\xd4\x97\x7e\x25\xf9\xeb\xfa\x7c\xea\xca\x10\x07\xa8\xf0\x73\xce\x9c\x96\x8c\x95\xa1\xb3\x88\x50\xd6\xad\x93\xa8\x9a\x3f\x32\x68\x2e\xdd\x61\x71\xbf\x4d\xa5\x27\x9c\x4a\x03\xce\xf5\xf0\x94\x60\x5b\x65\x36\x50\x27\xf3\xe2\xc3\xcc\x8e\xa1\x22\x05\xd0\x97\xe9\xc6\xd6\x53\xa7\x26\x75\x78\x0a\xf6\x03\x8a\x3a\x0d\x5a\x3b\x6b\xa1\xc2\xf1\x9a\x5a\x36\xb6\xd3\xab\xa2\xf8\x3c\x94\x73\x33\x0b\x32\x94\xaa\xb0\xe4\x11\x0e\xd7\x47\x20\x45\xf3\x80\x63\x2d\xe9\xad\x23\x31\x81\x58\x2b\x65\x79\xa2\x12\xd9\x5d\x08\x86\xac\xa4\xd3\x62\x2d\xc2\x44\x7c\x9b\x7c\xef\xc8\x3b\xc6\x4c\xbe\xe3\xb5\x2e\xab\x73\xce\x11\x41\x1e\x05\x76\xb8\xba\xbe\xba\x0c\xa1\x0a\xf3\xab\xbb\xcb\x3f\x5c\xde\x54\x12\xb1\xdf\x5d\xcf\x2a\xc9\xd4\xb7\x77\x37\xb5\x1c\xea\xd7\xd7\xd7\xef\x2e\x1b\x98\x87\xcb\xbb\xf9\xfb\x4a\xe1\x6f\x3e\xde\xcc\xee\xe6\xd7\x95\xe7\x5e\xcf\xaf\x66\x37\xff\x16\xfe\xe5\xf2\xe6\xe6\xfa\xa6\xf6\xbd\x8f\x17\xfd\xe8\x89\x4a\x33\xda\xdd\x3f\x3e\x38\x1b\x70\x62\xb6\x2e\xe3\xaa\x16\xe8\x09\xab\x78\x20\xf2\xec\xd0\x74\xb4\x79\xd6\x71\x48\x95\x8f\x0b\xc3\x54\x75\xd4\xac\x7b\x7a\xf1\xd2\x4a\xd7\x65\xfc\xb4\x6d\xcf\x9c\x6a\xcb\xa7\x40\x02\xf6\x1a\x80\xee\x2b\x35\xc7\xad\x2e\x20\x19\x0d\xbb\x36\x83\x08\xd6\x86\x77\x4a\xf7\xc8\xf8\xd9\x6b\x6a\xbf\x71\xa8\x9e\x9e\x83\xe9\x00\x95\xcd\x53\xd1\x58\xf4\x55\x3a\xf8\x98\xcd\x12\x4f\x62\x6b\x28\xd8\x1f\x83\x83\x1b\x9a\x61\x66\x4e\x30\x1d\xbb\x54\x26\xdb\xf3\x4d\xfa\x69\xd3\xc6\xd6\x9f\x3e\xd2\xac\x7b\x8d\x63\x63\x44\xbd\x81\xeb\x68\x4c\xbd\xef\xb8\xbe\x1f\x5b\x6f\xfa\x48\xb3\xde\x60\xf6\x1d\x55\x6f\x70\x78\x17\xed\xfc\x27\x23\x36\xb1\xb0\x98\x6a\xf5\x5c\x72\xb6\x7b\x24\x10\x73\x1d\x56\x47\xb3\x00\x9e\xf7\x7a\x99\xf1\xe1\x81\x0c\xa8\x8d\x5b\xae\xbc\x46\x07\x7e\x0b\xbf\x42\x0b\x57\xb9\xe0\xf7\xb1\x7a\xa4\xf1\xa8\x23\x43\xd9\xa0\xdd\xbc\xda\x41\x66\x0f\xb7\x47\x04\x48\xc0\x9b\x4f\x22\x4a\xcd\x17\x0f\x30\xb9\x84\x08\xad\xd1\x06\x0b\x54\x48\xeb\x0c\x32\xc0\xd9\x23\xfd\xe8\x2c\x24\x5a\xf3\x6d\x4a\xa6\x66\x54\x4d\x8d\x88\xf3\x01\x9a\xea\x6c\x68\x0c\xae\xeb\x60\x60\x29\x81\xa3\xcc\x01\x4c\xb7\xca\xe1\xce\x04\x1d\x92\x48\x70\x26\xe7\xe6\xc2\x93\x8b\x28\xd1\x22\x50\x73\x6a\x3d\xb1\x3f\x9f\xa6\xfd\x50\xf0\xa2\xd5\xed\x3a\xd8\x1f\xce\xa3\xa2\xe4\x29\xfb\x5c\x8a\x7c\x4f\xd4\x79\xe8\xab\xc4\xbf\x44\x5c\x62\xa6\x48\x21\x76\x19\xa4\x63\x87\x29\x0e\x0b\xf9\x0b\x00\x25\x70\x08\x5e\x68\xf6\x07\x80\x3c\xd8\x87\xe9\x10\xde\xf1\x02\xce\xe2\x3f\xe3\x37\xdc\x6f\xd3\x85\xac\xa8\xa3\x04\x6f\x55\x84\x52\xa6\x0b\x69\xe5\x09\x62\x15\xe9\x29\xdc\xf8\xa6\x2a\xdf\x9c\x93\xb0\xaf\x99\xec\xea\x7e\xa5\xd4\xfd\xb9\x90\xe7\xe0\x93\x2a\xce\x79\x59\xa8\x73\x80\x4b\xe1\xf8\xeb\x73\xab\xff\x69\x05\x54\xf5\xf9\x36\x79\x10\xf0\xff\xa6\xdb\x62\x97\xfe\xa3\xce\xb6\xbf\x9e\x6d\xd2\xfc\xcc\xbc\x7b\x16\xbe\x7b\x66\xdf\x3d\xb3\xef\x9e\x99\xd7\xf0\xff\x65\x7b\x0c\xef\x88\x5f\xb9\x39\xcb\x26\x0b\x99\x48\x2d\xf2\x02\xac\x9f\xc7\x3c\x29\xbc\x0c\xcd\x9e\xbd\xf8\xef\xff\x66\xd3\x9c\x3f\x62\x2a\xe3\x1b\x5e\xf0\x0f\xe8\x5f\xfc\x9f\xff\x79\x01\x01\x55\x4c\xea\xc9\x78\xfe\xb9\x14\xc5\x42\x6a\x61\x16\x21\xfb\x3f\x0b\x09\x11\xd8\xdd\x7e\x59\xa0\xdf\x15\x7d\x90\xb1\x66\xff\x8a\x65\xce\x91\x46\x32\xd6\xa6\xa4\x8e\x74\x82\x84\xa7\x2d\x92\xd1\x1d\x2e\xfa\xcf\xe9\x1b\x7a\x7e\xc4\xb2\xfe\x9c\x56\x57\xb5\x15\x42\xd1\x9f\x53\x38\x40\x53\xc5\x2d\x58\x8b\xb9\xc9\x0b\xf7\x64\xaa\x5c\xdb\x1a\x69\x40\x03\x9e\x35\x4c\xdf\xbe\x56\x6e\x91\xca\xda\x7a\xee\x1b\xdb\x08\xc4\x0a\x7c\x1c\x02\xa2\xe7\x89\x59\x21\xb7\xe8\x09\x05\xcb\x0d\x5b\x0e\x36\x29\x85\xce\x5d\x79\xe8\xb8\xd0\xbf\x7f\x75\x7e\x3e\x61\x1b\x0d\xff\xb3\xfa\x0c\xff\x03\xe8\xa1\xa7\x62\x63\x6d\x74\xa6\x03\xc2\x35\x47\xf9\xf0\x48\x3c\x05\x8a\xee\x4b\x10\x80\xd7\xa6\xe9\xeb\x52\xc6\xa9\xf0\x29\x90\x95\x90\x48\xaa\xac\x64\x3d\x3a\xc6\xea\x52\x2b\x30\xc6\x2b\x11\x71\xb3\xf1\x35\xbe\x8d\xe0\x52\xb5\x2e\x84\x44\x6f\x58\xee\x95\xd8\x38\x7a\xae\xc0\x2c\x06\x28\x24\x2f\x08\x72\x2e\xe0\x8f\xf0\x11\x60\xd4\x9e\xd4\x7f\x62\x7b\x55\x12\x39\x34\x50\x9e\xc6\x22\x4a\x81\x81\xdf\xd2\xbe\xb0\x5c\x14\x65\x2e\x19\x67\x19\x97\x31\xd7\x30\x03\xd7\x39\x44\x3b\x73\xc6\x9b\x15\x9d\x20\x1c\x57\x95\x05\x90\x19\x21\xb2\x20\xec\x09\x64\xef\x0e\xea\x3c\x09\x2a\x81\x67\x02\x90\x08\x37\x5e\x9c\x2e\xa4\xd5\x0a\x23\x2c\x1c\x7a\xca\x22\x95\xed\x89\xaa\xa6\xde\xe9\x89\xf5\x9c\x51\x77\x4f\x3c\xde\xa4\xfe\xec\x84\x25\xd5\xd0\x1a\x10\x85\x17\x81\xda\xb1\xd5\x8b\xfe\x4e\xc8\x48\xc5\x22\xd7\x2f\xcd\x32\x4c\xdc\xbd\x03\xed\x87\x44\xfb\xc1\x80\x5d\xca\x1c\x6e\xe4\x2d\x34\xc5\x3b\x45\x1d\xd3\x3b\x15\x6a\xe9\x36\x3b\xe7\xf0\x52\xf9\xd6\x51\x30\x6d\xf5\xa5\xff\xfc\xa2\x88\x98\x10\xd7\x69\xef\x9c\xc7\xbb\x20\x70\xc9\x86\x3b\x2e\x16\x8a\x36\x0e\x19\x27\x56\x5a\x36\x29\x40\xbd\x2e\x17\xba\x58\x48\x3a\x81\x27\x6c\x2d\xb8\xb1\xf3\x26\x2c\xd2\x0f\xb8\x19\xe3\x71\x5f\x3c\x2a\x8f\xc1\xb1\xba\x24\x00\x86\xad\x14\xee\x9d\xc4\xf8\x18\x20\x0a\x78\x54\x20\xc0\xa0\x53\x85\xdc\x9a\x2a\xd0\x59\xad\x1b\xe2\x11\xfd\x60\x65\x2e\xea\x92\x52\xa1\xca\x0a\xf4\xc4\x1e\x03\xc5\xac\x5e\x0f\xfc\xc1\x6c\x3c\xd8\x3a\x84\x81\x04\x9b\x23\x58\xdc\x84\xa5\xc5\x75\xe6\x63\xb8\x21\xd7\x38\xf8\x66\xba\x16\x55\x4f\x47\x40\x05\x8e\xf3\x5b\x98\x57\x0f\x3a\xac\xb4\xc8\xad\x06\x07\xb6\x15\x99\x01\xb7\x49\x1e\x9f\x65\x3c\x2f\xf6\x76\xfa\xa6\xc9\x0a\xa8\xfb\xd3\xe4\x5e\xb0\x59\x9e\xab\xc7\xa7\xee\x85\xce\xad\xa5\xeb\x86\x7d\x0a\x92\x7d\xec\x2d\xbf\x95\x17\xb4\xee\xee\x38\x8e\x83\xb4\xcb\xf1\xd1\xfa\x9d\x5c\x14\xf9\x7e\x69\x26\xe2\x2e\xeb\xdc\x29\x06\x25\x4d\x0c\x37\x72\xc7\xd1\x9b\xd6\x5c\x18\x9d\xf4\xa6\x95\x51\xfd\x76\xe8\x4d\x5b\x98\x4b\x9b\xf4\xa6\xf3\xab\xf9\xdd\x7c\xf6\x6e\xfe\xff\x6a\x25\xfe\x32\x9b\xdf\xcd\xaf\xfe\xb0\x7c\x7b\x7d\xb3\xbc\xb9\xbc\xbd\xfe\x78\x73\x71\xd9\xcf\x57\xd4\xac\xbd\x37\xc1\xcf\x58\xf8\x9d\x57\xec\x2e\x00\x6a\x60\xb2\x01\xd9\xdf\xa4\x5d\x09\xb3\xca\x2c\xe6\x44\x6e\x26\xb0\x50\x5f\xb1\xcb\x3c\x9f\xef\xf8\x46\x7c\x28\xd3\x14\xe0\x54\x98\xd9\x73\x91\x0b\xb8\x78\x4e\xd8\x07\x15\xcf\x83\xf7\x20\x1d\xb1\xb5\x19\xf0\x7d\x1e\xc7\xb9\xd0\x1a\x3f\x3f\xa1\xef\x07\xe0\x21\x97\xea\x48\xe0\x39\xfe\xc0\x93\xd4\xdc\xdf\x5e\xb1\xd7\x3c\xba\x57\xeb\x35\xa6\xcf\x4c\x5c\xe2\x14\xfb\x5c\xaa\x82\x33\xf1\x6b\x04\x1c\x5d\xed\xf3\xe4\x9d\xda\x7c\x05\xa8\xf2\x80\xf0\x54\xc7\x25\x05\x34\xca\x96\xed\xc7\x79\xfb\x46\x40\xad\x7c\x8f\xaf\xbe\xc5\x37\xdb\x1d\x94\x45\xfa\x04\xe9\xf1\xef\xd4\xa6\x5d\x31\x06\xac\x6b\x92\xb9\xa1\x40\x42\x44\x64\x1b\x6a\xc3\x74\x22\xef\x17\xf2\x97\xad\x90\x4c\x95\x39\xfe\x09\xae\xf9\xc6\xcc\x4c\x4b\xbd\x15\x20\x21\x3b\x61\x8f\x82\xed\xf8\x1e\xcd\x66\xb8\x13\x38\x99\x0b\x98\x32\x70\x8a\x98\xb7\xd3\x44\x9a\xdd\x22\x4b\x6c\x5e\x42\x7d\xe8\x9f\xe2\xc6\x65\x19\xea\xf8\xe9\x04\xb2\x7d\xe7\x69\x05\x9f\x07\xae\x32\x8f\x9b\xb4\x00\x21\xda\xb9\x41\x45\x53\xa9\xfb\x32\xf3\x5c\x96\x2f\x6c\x70\x12\xba\xfb\x41\x25\x31\x8b\xcb\x2c\x4d\x22\xb7\xef\x3e\xaa\xbc\x93\xb0\x17\x13\x68\x86\x9f\x3a\xf5\xb4\xb0\xbe\x86\xb5\x64\xe7\x04\x48\xba\x1e\xea\xde\x67\x26\x2f\x66\x89\x8c\xd2\x12\xf4\xc1\x4a\x2d\xf2\xb3\x22\x4f\x36\x1b\x30\xc0\x6d\xae\xdf\xb7\xcf\x6e\xec\xd9\x13\x4f\x4f\x6b\x0b\x93\xce\x53\xb5\x49\x22\x9e\x86\xe0\x66\x8f\x8a\x70\xf4\xa9\x76\xd9\x93\x7a\x2a\xe4\x41\xd8\x0a\x75\x32\x20\x65\xb9\x00\x06\xdf\x25\x6c\xe5\x4b\xda\xee\x4e\xa9\xf7\x9a\x99\x0b\x3a\xd6\x2b\x24\x37\xb5\xe1\x05\x7b\xc2\xf9\x6f\x5b\x09\x2d\x30\x31\x51\x5e\x9b\xa9\x47\x29\x72\xb0\x60\x01\xf6\x61\x5a\x2a\x15\xd8\x26\x4e\x56\xcb\xe1\x93\xad\xac\xdc\xda\x01\xb1\x31\x73\x76\x93\x3c\x08\xf9\xe5\xd9\xa8\x83\x0f\x44\x3c\xda\x8a\xa5\xb5\xcb\x9f\x7a\xcb\x72\x07\xc0\xc8\xcd\xca\xea\x5b\x84\x5b\xa9\x0b\x6f\xc2\xd5\x09\x6b\xdc\xdc\xbb\x30\x90\xd8\x93\x91\x65\x2a\xb1\x8c\x45\x74\xff\xc5\xb7\x66\x0f\xb2\xb2\x15\x61\x9c\xbd\x11\xd1\x3d\xfb\x78\x33\xc7\x6c\xe0\xa4\x60\x66\x2b\xd0\x5b\xaf\xd7\xd3\x79\x77\x2b\xf8\xe6\x19\x18\x9d\x86\x0a\x0e\x79\x8e\x79\x27\xb3\x66\x2a\x44\x80\x28\xc8\x97\x34\x9b\x24\xe5\xd2\x00\x10\x8c\x17\x56\x86\x06\x1c\xf1\x4c\xef\x40\x75\xa6\x2c\x02\xa9\xb6\x94\xaf\x44\xda\xc1\xb8\x98\xa9\x78\x69\xe3\x24\xa7\x82\x79\x1a\x65\x59\x3f\x06\x45\x1d\x6d\x1e\x03\x37\x16\xeb\x1d\x3d\xc8\xee\x7f\xd4\x01\xbd\x86\x0a\x89\x9f\xe1\x5e\xcf\x35\xa4\x77\xaf\x93\x8d\x8d\xb6\x25\x6b\xd2\xc6\xc1\x84\x7e\x50\x81\x37\xfb\xa5\x29\xe9\x83\x8a\x09\xa6\xe7\x48\xcc\x8c\x15\x24\xc8\x7b\xe2\x71\x15\x61\x15\x9c\x52\xbe\x06\xdf\x80\x2e\x04\x8f\x99\x5a\x93\x37\x31\xcb\xd2\x04\x28\x7d\x63\x64\x0f\x07\xf6\x0c\x5d\x45\xc7\x87\xa5\xd9\xca\x06\x24\x1f\x1f\x2c\x10\xaf\x37\xde\xe8\x83\x5c\xa6\x5d\x55\x27\x77\xdd\xa6\x3a\x55\x05\xce\xe5\x23\x1d\x7b\x85\xee\xf7\xa6\x6d\x52\xb5\x82\x8e\xea\x06\xc5\xf5\x6c\xd0\x66\x77\xca\x93\x78\xcc\xf1\x6e\xfb\xe4\xda\xbd\xda\x57\xc1\x6b\xeb\xe9\x70\x5f\xb2\xc3\xcc\x88\x70\x3d\x8c\xe0\xd7\xd2\xd8\x0f\xdd\xb5\x21\x40\xa8\x5d\x84\xd0\x59\xe3\x05\xc9\x0d\xc0\xaa\x70\xdb\x71\xc7\xb5\xba\xda\x96\x93\x06\xba\x49\x8c\x72\xa0\x2f\x3d\x97\x4a\xff\x20\x9f\xc0\x6e\x81\x2b\xd7\x51\x5c\x8c\xe1\x8c\xb6\x43\x87\x18\x5f\xd3\x9f\x7e\x10\x2b\xc9\x17\x83\x46\xb4\xde\xef\x76\x15\x9f\xd2\xe5\xcf\xb1\xa2\xca\x42\x79\x97\x3f\xb4\x67\x0e\xa4\xa1\x61\x5a\x17\x6c\x1b\xf3\xb8\x03\x2e\x60\x6d\x30\xbb\x34\x47\x80\x50\x47\xc1\x60\xb3\x5c\xd8\xe0\xd1\x5e\x14\x2e\xb9\x3f\xb5\xaa\x60\x10\x1b\x71\xad\xae\xb2\x9b\x58\x02\x03\xc7\x48\x05\x91\x0c\xb2\xf7\x22\xb5\xcb\x94\x04\x6c\x0a\xa6\x2a\x2d\x24\x15\x6e\xb5\x9d\x5d\x78\xa5\x92\xef\x36\x21\xaf\x16\x66\x4f\x08\xad\xd2\x07\x8a\xa3\x05\x12\x04\xa0\x0a\x67\x2a\x78\x61\x2e\x08\xe6\x3a\x0c\x01\x5e\xda\xde\x01\x0e\x5e\x13\x38\xce\xc5\x26\xd1\x85\x08\x53\x04\xc3\xf7\x9f\x4c\x8b\xb2\x72\x83\xee\xeb\xfa\x4e\x2d\xca\x43\xa6\xb0\x59\xb5\x23\xea\xb3\xcf\x44\x3c\x77\xef\xf5\x4f\x86\x5a\x16\xb7\xdf\x24\x2a\xa7\x00\xce\x01\xbc\x02\x68\xe4\x7b\xd2\x4e\x3c\xc0\x0d\x12\x31\xf1\x70\x8f\x6a\x33\x43\xb4\x29\x79\xce\x65\x21\x84\x5e\x48\x8a\x3e\x22\x6f\x59\x48\xcd\x51\x43\xc3\x39\x03\x37\x52\xba\x40\x1a\x20\x78\x65\xcd\x93\xb4\xcc\x3b\xef\x9c\x38\x2b\x8f\xe2\x1e\xe8\xeb\xa5\x0b\x28\x96\xb5\x0d\x9a\xcb\x62\x0d\x56\x91\xa3\xce\xa8\xc7\x0e\xab\x49\x9e\x1d\x4d\xb0\x5b\xee\xf0\xf1\x76\x0e\xc7\x8e\xc4\xd6\x1f\xf5\x32\x53\x23\x76\xbc\x3f\xfd\xa8\x3f\xa8\x8e\x94\x60\xfd\xb9\xe1\x18\xeb\x89\xa1\x7f\xee\x92\x53\xe0\xfa\x1e\xc2\x4f\x87\xee\xe3\x83\x28\x19\x0f\x06\xa9\x3a\xf7\x2e\x98\xb5\x5b\x2e\xe3\xd4\xdc\x53\x79\x51\x3b\x81\x3c\xd8\xd7\xd8\xc5\x85\xdd\x1c\xbb\x33\xbb\x20\x51\x62\x19\x35\xb2\xec\x0e\xf5\x53\x2d\x3d\xaf\x17\x50\x57\xfb\x4a\x35\x69\xae\x2d\x59\xc3\x9f\xec\x24\x62\xea\x16\x6c\xf7\x14\x5c\x27\x9b\x6f\xe0\x92\xf5\xbe\xb9\x53\x46\xb4\x14\xe9\xfc\x72\xc8\xef\x13\x17\x23\x24\xd9\x98\xcd\x2c\x24\x27\x5e\x48\xd2\x38\xc6\xc8\x2b\x84\xdc\x90\x8b\x4a\xb3\xef\x5d\xe6\xe5\xf7\xff\x64\x99\x88\xf6\x6c\x0d\x7d\x0d\x74\x5f\x2a\x8a\xca\x1c\xc2\xa2\xe4\xba\x61\x02\xcf\x26\x3d\x8a\x64\x03\x4e\x64\x07\x66\x41\xf3\xa9\xcd\x7a\x70\xbe\xba\x4a\xa3\xee\xc0\x45\x83\x6a\xcd\xee\x2c\x24\x11\x9e\x5c\x17\x4c\x17\x22\x6b\xdd\x95\x2a\x46\x57\x55\x90\xfc\x04\xb3\xcb\xcb\xa1\x0f\xb4\x75\x47\xec\xd1\xb3\xe0\x3a\xfd\xc7\xdb\xeb\x2b\x96\xf1\x3d\xe0\xc2\x0a\x45\x4a\xf2\x40\xc6\x58\x5f\xbf\x87\x46\xa0\xda\xf8\xea\x62\xc3\x3e\xb5\x00\xd3\x76\xdf\x2d\x7d\xb1\x69\x43\xc1\x9c\xa1\x29\x69\x96\x72\xae\xd2\xb3\x2c\xe5\x32\x80\xfe\xea\x29\xab\x7d\x3e\x8c\xf5\xba\xa8\x0f\xa1\x69\xa0\x02\xe0\x4e\xa1\xb9\x90\x97\xad\xe0\xd0\xaa\xc6\xfa\x49\xe1\xdd\xce\x3d\xa2\x17\xf4\xf6\x1e\xa5\x0d\x78\x64\x96\x09\x32\x0b\xd8\x90\xb5\x43\x3d\x70\x0d\x80\xc4\x11\x03\xd5\x2f\x08\xbf\x90\x56\xef\x57\x3d\x6a\x16\x23\xf7\x42\x99\xe8\x2d\xf8\x27\x31\x20\x00\xe0\x20\xda\x5f\x10\xb9\x90\x73\xa9\xcd\x80\x82\x4f\x53\x3c\x08\x72\x6c\x54\x82\x71\xf3\x37\xef\x5c\x7c\x1f\x07\x89\x24\xd9\x3a\xba\x3e\x30\xcc\x4e\xb9\xc0\xb4\x2a\x94\x1f\x26\xf6\x7f\xcf\xb3\xbe\xac\xb1\x93\x4b\x3c\x34\x4a\x8e\x79\xa6\x6e\x75\x82\x56\x2b\xa8\x34\x55\x52\xc7\xc2\xde\xfb\x28\x4f\xdc\x7e\x5a\xc9\x9f\x0f\x8b\x0a\x0c\xbe\x84\x0d\xcb\x04\x1c\xb1\xf7\x04\x24\x70\x0e\x5b\xe3\xec\x65\xb3\xca\x41\x03\x07\xd8\xab\xd0\x93\x36\x65\xb7\x42\xb0\x4f\xd0\x53\xe6\x63\x9f\x48\x63\x0d\xe0\x82\x05\x4f\x5a\x25\x70\xe0\xe9\xb9\x5c\xab\xd3\x36\x83\x7c\xd3\x80\xa3\x9d\xd4\x2b\xed\xf5\x3c\x15\xf0\x06\xa9\x8c\xf2\x79\xf3\xef\x5b\xdb\x75\x00\xde\xf6\xc1\xdf\xc9\x29\x2b\xcf\xd6\xd4\x9c\xcf\x30\xc4\xc7\x30\x3c\xd5\x26\x89\x69\xe5\x04\x59\x8b\xef\xa5\x7a\x94\x68\x0b\xd0\x97\xd8\x77\x66\xfd\xc1\x01\x86\x0e\x54\x34\x0b\x4a\xdc\x0d\x5f\x02\x8d\xf2\xcc\xfd\x9b\xdd\x62\xac\x08\xeb\x0c\xe2\x28\x1a\x8c\x1f\x92\x35\x81\xdd\xfc\xbb\xd9\x84\xbd\x9e\xb0\x8b\x09\x9b\x4e\xa7\x2f\x27\xa8\xdc\x4c\x35\xc2\x57\x10\x39\x56\xf0\x8d\x29\x9b\xe4\x22\xd6\xc1\x07\x40\x00\xc9\x1c\x56\x96\x2d\x8c\xfb\xa7\x02\xcf\x83\x6d\x02\xe6\x30\x52\xc2\x05\xc5\xd5\xa3\xad\x4a\x7c\xa5\x00\xa2\x29\x22\x95\x5b\x90\xa7\x2e\x54\x6e\x01\x6b\x0f\x3c\xe7\x89\x84\xd4\x6e\xde\x84\xeb\xd2\x97\x03\x72\x67\xf1\x2b\xdf\x41\xfb\x13\xe9\xf8\x2d\x4d\x37\xdd\xb9\xfa\x17\xfb\x8c\x1c\xd2\x8f\x79\x52\x14\xe6\x74\xd6\x0b\x79\xcb\x5e\xfd\x2b\x9b\x65\x59\x2a\xd8\x8c\xfd\x95\xbd\xe6\x92\x4b\xce\x5e\xb3\xbf\xb2\x0b\x2e\x0b\x9e\xaa\x32\x13\xec\x82\xfd\xd5\x74\x9b\x29\xef\x4a\x99\xe3\x70\x3f\x61\x9c\xc9\x32\xc5\x53\xff\x3b\x0b\x06\x7b\xe9\xda\xc5\xfd\xe8\xac\x44\xf1\x28\x84\x64\x5a\xed\xe8\x28\xfc\x8b\x8b\x49\xe8\x44\x6e\x52\x51\xd0\x7c\xa8\xc2\xf6\xf0\x03\x67\xd0\xd2\x57\x0b\xe9\x7c\x79\x7f\x31\x35\xfe\x0b\xfb\x2b\xbb\x2a\xd3\xd4\x54\xc9\x6c\x34\x66\x22\xbd\x62\x36\x8d\x42\xc8\xe9\x63\x72\x9f\x64\x22\x4e\x38\x24\x52\x98\x7f\x9d\xdf\xc1\x68\x2f\x4b\xcf\x99\x17\xae\x69\x27\x38\x73\xca\xd6\xf3\x2c\x49\xd9\x4e\x0e\xc9\x0e\x7e\xcf\xcd\xaf\xfa\xea\x78\x8b\xc8\x33\x85\xd2\x7a\x20\x83\x15\xc5\x82\x42\xd9\xa5\xa3\xb6\x80\xda\x61\x6b\xcb\x6a\x39\x0a\xc2\x43\xfd\xd4\x4d\x16\x34\xc4\x9e\xfc\x0e\x39\x40\xbb\x68\xe8\x96\xdb\x50\x5e\xa9\xa4\xb9\x83\x2d\xe9\xa9\x7e\x06\x45\x85\x9c\xe2\xca\xcf\x55\x11\xb5\x4a\x17\xab\x64\x90\xda\x5c\xad\xb2\x1f\xc9\x77\x81\x09\x6a\x66\x99\x26\xe9\xb9\x59\xaa\xe7\x57\x4a\x9a\x6b\xab\x4e\x36\x48\x4f\x04\x30\x22\x94\x69\xb3\x46\xc1\x5d\xd5\x64\x0d\x96\x00\xd8\x07\xa6\x4a\x08\x6d\x2b\xcc\x2e\x60\x86\x20\xdd\x2f\xa4\x79\x83\x4e\x24\x80\xb9\x27\x8e\xc5\x16\xbf\x66\x75\xed\xe9\x5b\xb4\x21\x07\x85\xb7\x4c\xb0\xbe\x1c\xda\x13\x26\x1c\xa5\x6c\x9d\xe0\x15\xbf\x0a\x18\xdc\xa8\x34\x4b\xef\x81\x71\xcf\x95\x48\x95\xdc\x98\x59\xd1\xb5\x09\xa8\x1d\x4f\x4e\x01\x96\x84\x55\xc0\xc2\x3a\x6b\x60\x0e\x4b\x7a\x84\x86\xc4\x9c\x93\x49\xec\xef\xf7\xba\x5c\x19\x3b\xc2\x79\x64\xdd\x69\x48\x8d\xeb\x4a\x28\x3e\x2d\xbe\xfc\x51\x8b\x1c\x68\x96\x11\xe1\xe0\xbc\xfd\x78\x70\x7a\xb2\x0d\x6c\xd1\xb0\x45\xd5\x0b\x8c\x6d\x77\x85\x50\x34\xa1\x91\x5a\x3d\x60\x3e\x7e\x4d\x8c\xec\x10\xe4\xec\xdb\xd9\xfc\x5d\xed\xb9\x26\x72\xb6\x05\x5e\x7b\x37\x7f\x7f\xf9\x66\x79\xfd\xf1\xae\xf1\x9c\x29\x8d\xfe\x34\x56\xe9\xdf\xf6\xde\x53\xc0\x07\x3f\xa3\xdc\xcb\x52\xad\x6d\x26\xe5\xf0\x33\xbd\x21\xb8\x33\x0c\xa5\x12\x92\x6c\x87\xc2\x34\xcd\x89\xd3\x99\x0f\x2e\x97\x14\x91\x18\x56\xd9\x7a\x87\x5d\xcb\xb7\xf8\xfa\x07\x95\x26\x51\x3f\xe8\xcd\x1e\x57\x5b\xf5\xd8\x82\x22\x5a\x09\x40\x81\x92\xff\x87\x2a\x85\x16\x7a\x21\xa2\xc2\x47\xdc\x9a\x8d\xfb\x5f\x0d\xb4\x39\x7c\x07\x47\x8f\xb2\xeb\x36\x10\xe0\x74\x31\x3c\x38\x5b\x81\x60\x13\x78\xe5\xd1\xd7\x0a\xb9\x74\x10\xdb\x8e\x38\xb9\xa0\x2b\x3d\x0f\x1b\xf4\xe3\x56\xa5\xe6\x2e\x26\x63\x22\x2b\x5d\xc8\x4c\xe4\x91\x02\x80\x0a\xe6\xc1\x2b\x16\x6d\x93\x34\xf6\xe2\x2d\xdf\x01\xa2\x17\x70\x77\x2f\x49\x96\x4f\xb8\x18\xb3\x2d\xbe\xe7\xd4\xb5\xd3\xce\xea\x95\x9f\xe6\x81\x7a\x3a\x88\x5e\xdf\xb4\xff\x85\xa0\x64\xd8\x15\x44\x2f\x54\x8b\x16\x9a\x4e\xaf\xd4\x67\x94\x87\x17\x14\xc5\xd7\x56\xfc\xd3\x5e\x9c\x8a\xda\xb8\xd2\x34\xab\x77\x25\x90\xce\x22\x8a\x0a\x01\x24\x5a\x40\x75\x76\x82\xa3\x2d\xe6\x29\x20\x69\x50\x17\xd2\xc7\x47\x5f\xe8\xd0\x2e\x6b\x1d\x67\xe4\x54\xb5\x20\xc0\x09\x7b\x51\x69\xe8\x0b\x20\x25\x95\x0a\xbe\x47\x31\xac\x4a\xd7\xc0\x74\x9d\xb0\xa4\x58\xc8\x44\xe3\xcc\xcc\x45\x2a\x1e\x4c\xed\x42\x67\x31\x61\x5d\xec\xdd\xd9\x36\x1b\x70\xe4\xdc\xa6\x1f\x3b\x99\x7b\x58\x84\x79\x48\x6e\xc9\xc1\x31\x1d\x0b\x6d\xec\x46\x90\xe5\x10\xbf\x9a\x05\x90\x40\x2c\x04\xe1\x1f\xb1\x90\xb6\x7e\x80\x0a\x41\x2d\xdb\x85\x9c\xaf\x21\x07\x14\x32\x4f\xe3\x18\x6f\xa1\x56\xa8\xc1\x31\x8d\x25\xe4\x1c\x56\x74\x27\xb7\x03\x41\xaa\x92\xb8\x92\xc4\x83\xc8\xf7\x05\x38\x75\xa1\x5f\xa5\xe0\xc5\x96\x25\xc5\x04\x28\xe2\xec\x4e\xb9\x90\x3c\x26\xa5\x72\x2a\xce\x74\x0d\xcc\xfb\x9e\x71\xa6\xdf\x57\xea\xa1\xcf\xb0\x3d\x15\xf5\x85\xab\x3a\x4b\xb9\x5c\xe2\x09\xf2\x15\x70\x5f\x81\xe0\x67\x57\xa8\xb3\x5c\x2d\x1d\xad\xcd\x93\xd4\x33\xd0\x84\x0e\x65\x78\x8d\x1d\x6b\x3f\x34\xc1\xc9\xe0\x69\xad\xed\xf5\xc4\xf9\x69\x08\x5d\x90\x33\x1b\x81\x1d\xbe\x0b\x78\x48\x18\xaf\x21\x11\xec\x6c\x3d\x84\x09\xb3\x33\xe0\x5b\xc5\x27\x0d\x19\xf9\xda\x19\x52\x1f\xf6\xf1\xd0\x98\x86\x85\x78\x14\x3c\xe6\x40\xb5\x9e\x17\x22\xd3\xe9\x47\x69\x42\x65\x6c\x6b\x83\x70\x1f\x26\x4f\x08\xf4\xc3\x39\x37\x4f\xbb\xa0\x6b\x78\x0f\x53\x2d\xd8\xca\xa7\xf4\x51\xc3\x3e\x35\xd4\x53\xe2\x73\xaf\xa1\x5e\x53\x36\x97\xcc\x9a\x7b\x13\xf6\x02\x27\x96\x7e\x41\x2e\x48\x52\x05\xa6\xd8\x79\x4c\xab\x87\xb2\x55\xeb\x50\x0c\xcc\x19\xf0\xcb\x0d\x23\x41\xbd\xd4\x86\xcf\xda\x2f\xaf\x13\xc8\x59\x38\x26\x2d\x1d\xa3\x88\x2b\x2c\x80\x0e\x49\xbc\x76\xef\xd1\x68\x57\xde\x9b\xed\x1b\x6c\xe3\x5d\xec\xb5\x7d\xd1\x74\x51\x56\xd2\x79\x6a\x7f\x67\x2a\x5f\x48\x5b\x1a\xb9\x24\x35\x6a\x29\xd5\x8b\x0a\x20\xd4\x64\xf3\x07\x33\x15\x40\x0c\x56\x3e\x0b\x54\xd9\x3c\xff\x6a\x7d\x17\x00\x50\xc4\x4a\x78\x3d\xf3\x29\x9b\xf9\xaf\x19\xc3\xc3\x4c\xf0\x1d\x1e\xf3\x75\x8e\xc6\x34\x35\x9d\x92\x14\x96\x12\x32\x48\x6f\xd0\x25\x10\x9b\xae\x4b\xb3\x19\x05\xec\xaf\x0b\x69\x3a\x8f\xad\x13\xc0\xfd\x52\xbf\x2c\xe4\x7b\xa5\x6d\x36\xbd\xf6\xfd\x61\x31\xa4\xd4\x6d\x2f\x9c\x8a\x18\xfd\xe1\x0d\x1c\xda\xe4\xf3\xaf\x49\xfc\x43\x5e\x0b\x51\x62\xec\x55\x99\xfb\x46\x45\x5c\x2e\xe4\x7f\x9a\xee\x41\x25\x6b\x27\x03\xaf\xd6\xb8\x84\x61\x04\x21\x58\xf2\x09\x0b\xfd\xee\x9f\x5e\x7e\x7a\x89\x38\xf4\x52\x83\x70\xe3\xa4\x7a\x80\x38\x22\xf0\x32\x4d\x21\x12\x6d\x5b\xe0\xc8\x28\xfc\x27\x78\x1f\x2c\x87\x2e\x75\x4b\x59\x35\x31\x86\x2c\xf4\xbe\x19\xec\x9d\xcf\x33\x16\xf1\x22\xda\x9e\x59\x5b\x8e\xb6\x31\x7b\xfa\xd1\xf0\xa1\x82\x9b\xb1\xb4\xda\xb9\xb0\xcd\x85\x33\xdf\x39\x76\xbe\xca\x7c\x31\x4d\x00\x60\xcd\x5d\x5d\x18\xc6\x91\x87\xe2\xe4\xf4\x42\xec\xde\xce\x73\x8f\x5b\x59\x36\x7f\xe3\x24\x2f\xb9\xe4\x3b\x11\xb3\x17\x90\x31\xf5\xc2\x0e\xfe\x42\x66\xab\x69\xba\x5f\x17\x44\xf1\x64\x3a\x65\x0a\x02\x46\x07\x4e\xb9\x65\xdc\xbc\x26\x1d\xe8\xec\xce\x8b\x56\xbb\xad\xe3\xfa\xc6\x7d\x69\xb8\xc1\x82\x3e\x2e\xd7\x3b\xb7\x55\x88\x50\x95\x49\x9d\xeb\xfb\x09\x5b\xe5\x5c\x82\xf6\x44\x1c\x1a\x55\x7e\x75\xc2\xe5\x19\xf9\x93\x6c\x0a\x85\xe4\xe9\x1e\xb0\xe3\x93\x85\x44\xb2\x29\x60\x25\xde\x47\x69\x12\xb1\x4d\xce\xb3\x6d\xcd\x0e\x12\x0f\x42\x16\x20\x61\x7a\x23\xb8\x3e\x2d\x5a\x9f\xd7\x4b\x60\x83\xe3\x29\x33\x09\xb7\x0f\x2e\x6b\xf4\xa0\x50\xbd\x8e\xa3\x05\xe0\x5a\x22\x5e\x8e\xa3\x06\x39\x48\x60\x59\xa1\x45\x23\x8e\x1e\x88\x40\x9a\xc6\x31\xfb\xd5\x43\xe1\x6f\xec\x57\x62\xad\xb0\xe0\xff\x53\x43\xf6\x8e\x05\xe3\x24\x2e\xc3\x79\xd5\x8a\xe4\x9e\xde\xc3\x7b\xae\x31\x01\x88\x3c\x15\x16\x2c\xec\x36\x8e\x09\x49\xcc\x01\xcf\x19\xfb\x73\xb9\x52\xa9\x25\x8a\x9b\xbf\x61\x2a\x07\x8d\x86\x42\xd1\x9f\x92\xb8\xcb\x3a\x48\x64\x2c\x7e\x3d\x89\xad\xa1\xff\xa0\xb7\x66\xb3\xf9\x4c\x20\x05\x50\x6f\x2c\xec\x4e\xb9\x30\x87\x70\x61\x6f\xc6\x8d\xa7\x74\x1d\xb9\x38\x4b\x8b\x2d\xc0\x09\x11\xc8\xee\x3b\x75\xc7\xf7\x2c\xda\x72\xb9\x09\x5c\x13\x80\xee\x12\x99\xca\x51\xcb\xf0\x01\x68\xd1\x54\x6e\xb3\x61\x29\xc7\x93\xd0\xf4\x2e\x90\x80\x20\x56\x65\x13\x39\xf9\x66\x93\x8b\x0d\x10\x14\x2c\x64\x25\x4b\x1d\x28\xe1\xac\x8c\x02\x7e\xa7\x2f\xc9\xf7\x69\x98\x32\xba\x6e\x83\x45\xbe\x77\x29\x92\x24\x04\xea\xd7\x73\xbd\x5b\x27\x2c\x11\xd3\x09\xfb\xc1\x03\x77\x45\xa4\xa4\xcb\xb1\xec\x48\xb0\xab\xb9\xfc\xd9\x81\xab\x43\x93\x52\xa3\xbd\xee\xf0\x5b\x43\x4e\xb4\x75\xd2\xf4\x26\xa9\x16\xbc\x28\x47\x9c\x41\x24\x19\x7d\x61\x5e\xbe\xc5\x77\x7b\xb1\xed\x3c\x33\xc7\x86\xa5\x33\x32\xcf\x9b\x93\xd3\x7c\xdb\xd3\x1d\xb7\xf5\xf5\x41\x07\x72\xaa\xba\x1d\xc8\x4f\x61\xaa\x5b\xce\x8a\xc3\x3e\xe4\xb4\x83\x87\xa1\xa7\x4d\x63\x5d\xc4\x16\xe4\x4b\xf0\x7d\x5d\xbf\xc6\xb6\xec\x00\x59\xae\xe2\x32\x12\xb1\x59\xb9\x70\x1f\x42\x44\x8c\xa3\x83\xa8\x6c\x92\x6d\x07\x6d\x85\xd3\x06\x4e\xdd\x2f\xe5\x73\x18\x44\x23\xec\xba\xff\x63\x87\xbf\xc1\x5a\x7c\x6d\x9d\x1e\xae\x4f\xec\xa7\x7c\xe4\x39\xe5\x3e\x5f\x25\xff\x55\x79\xb2\x49\x24\x2f\x54\xce\xbe\x73\x49\x9f\x2f\x9d\x62\x50\xb7\x85\x30\x72\x9b\xa8\x74\x11\x6e\x13\x5f\xd4\xf0\x68\x9b\xa4\xe6\x29\x5d\xf0\x5d\x16\xd2\x69\x3a\x3d\x66\xea\x99\x14\x3b\xc1\xd9\x26\xe0\x3b\x4d\xb4\xcf\x6d\x5b\x48\x8a\x38\xe0\xb8\xa9\x3c\xe4\x83\xee\x3c\x9b\xb3\xb2\x58\x1e\x49\x11\x83\x2f\x8f\x73\x3c\x11\x0c\xe1\x3d\xcf\xfa\x49\x37\x38\xb9\x1c\x30\xb9\xc7\x89\x54\x5b\x4b\xa5\x3a\x3f\xfb\x15\x17\x46\x92\x80\xd6\x43\xe7\x37\xef\x6c\xa0\xc8\xdf\x07\x2b\x17\x2c\x18\x08\x64\x1f\xd4\x60\x55\xe0\xd5\xde\x6d\x6b\xe6\x14\xb7\x4c\x1d\x17\xa9\x2a\x63\x46\x9b\x1a\x85\xe1\xf3\x29\x9e\x8e\x40\x07\x3a\x9d\x76\x71\xa3\x8d\x54\x82\x75\xfb\x0f\xbc\xd7\xbe\x02\xe1\xb7\x8e\x1d\xb8\x77\xe9\x53\xcf\x3e\xdb\xd0\x53\x4f\xc3\xd8\xbb\xed\x78\xd4\xd8\x3b\x2f\x38\x70\x93\x8d\x73\x90\xc2\x7d\x34\x89\x53\x58\x6f\x61\x00\xa1\x85\x3d\xb5\x12\x98\xd5\xf7\x27\x7f\xce\x66\x30\xf7\x7f\x2a\xe3\xb9\x90\xc5\x12\xbe\x38\xee\x63\xf0\x91\x0f\xf0\x7a\xc5\x60\x1a\xe4\x08\xfe\xf7\x3b\x85\xfe\x7d\x4b\x44\xf2\x1f\xec\x96\x7c\x5a\x66\xbf\x4a\x00\x44\xaa\xef\xd9\x77\x09\x60\x8e\x82\x58\xa8\x1b\xb8\x8e\xe1\xa2\x06\x1d\xd1\x7b\x41\x83\x2a\x5b\xfb\xa0\x06\xf9\xda\x43\xa8\x1a\x4a\x21\xf7\x1e\x65\xce\x9a\xad\xd6\xfe\x2d\x20\x27\xbf\xaa\xfc\x1b\x88\x24\xcd\xf8\xa5\xec\xbf\x44\xae\x7c\x3a\x08\x3a\xab\xc2\x82\x7b\xed\xf5\xe3\x75\x55\xd1\x1e\x47\x45\xcf\x50\xd2\x0e\xfe\x42\x5c\x2f\xe8\x51\x58\xed\xed\x75\xa4\x8b\xa6\x5e\x44\xcb\x0e\xfd\x82\x41\x55\x09\x2e\x9e\xa1\x1e\x41\x52\x3b\xcc\xec\x02\x3d\x07\x7f\x05\xb1\x29\xee\x78\x46\xf8\x3e\x82\x12\xd7\x83\x37\x53\x68\xc4\xbf\xff\xe5\x3f\xa6\x5d\x8a\xd9\x50\xf5\xb1\x70\x29\x57\xf9\xb7\x79\x22\x64\x0c\xc1\x58\x1e\x37\xa5\x75\x64\xc5\x3b\x5f\xd9\x9e\xcd\x34\x7c\x92\xac\xc9\xf6\xa3\x56\x2f\x71\x12\x7d\x81\x88\xbe\xdf\x64\xdd\xf2\xad\xc4\xfb\xba\x4c\x09\xbd\x8c\xf7\x92\xef\x9a\x1a\xe3\xcf\x5a\xc7\x7d\x22\xd2\x18\xaa\x48\x5f\x3f\x14\x95\x8a\x45\x74\x3f\xd6\x26\x38\x9a\x18\x5c\x44\xf7\xec\xa7\xbb\xf7\xef\x50\x07\x32\xd1\x0b\x79\xc5\x8b\xe4\x41\x7c\xcc\x53\x17\x0e\x20\xa6\x97\x3c\xb5\x6b\xa4\x4a\x54\x1b\x90\xa2\x58\x56\x5b\x6b\x38\x84\x3c\xe2\xbb\xfd\xd9\xaa\x8c\xee\x45\x71\x9e\x73\x19\xab\x1d\x36\xe3\x5c\x97\xeb\x75\xf2\xeb\xb4\xe0\x79\x07\xa9\x38\xfa\x11\xbe\xa2\x9d\xeb\xa5\x62\x0a\x6f\xf3\xa2\xa9\xfb\x08\x59\x9f\x24\x40\x5c\x31\x6e\xe1\x0a\x9c\xf3\x9d\x00\x56\x38\x56\x25\xe4\x87\x52\x30\x91\x12\x74\xeb\xb4\x26\x04\xbd\x22\x55\xdc\x4f\x81\x71\xff\x29\xa8\x55\x55\x99\xd9\x56\xca\x6b\xc1\xed\xf8\x3d\xde\x0f\x37\xb9\xd0\x7a\xc2\xb4\x82\x1a\x2f\xa4\xc5\xa2\xdb\x7c\x29\xc0\xbd\x00\xaf\x64\xba\x67\x91\xca\x12\x90\xce\x73\xed\xda\xaa\x47\xf0\xd3\x87\x69\x83\xa0\x76\x5a\xca\x22\x49\x19\x5f\x17\xe4\xc4\x07\x12\x6d\x2b\x9a\xa3\xa7\x0b\x09\xa1\xd8\x08\x9a\x0f\x10\x09\x17\x7e\x71\x8d\xd0\x6c\xcd\xa3\x24\x4d\x0a\xa2\xf6\x81\x24\x23\x6e\xda\x6b\xce\x03\xd3\x97\x39\xdf\xf3\xd4\x5f\xac\x78\x5a\xfa\x4c\xc9\x33\x2d\xea\xd4\x71\xdd\x8e\xcf\xbe\x53\xf7\x84\x0b\xef\x29\x87\x4f\xf3\x4a\xeb\x94\x5c\xfd\x39\x9e\xc4\x16\x7f\x5b\x31\x75\x3d\xa3\xaf\x3b\x7e\x20\x26\xd1\x71\xa9\x9e\x5a\xfd\x9d\xe6\x17\x46\xf4\x5e\xbb\x11\xf6\x85\xdc\x05\x5d\xdc\xc2\x43\xaa\x6f\xbd\xdd\x1f\x94\x4a\x4f\xf5\x78\xf3\xd4\x6e\xa8\x4b\x90\xa4\x3c\xe5\xba\x86\x13\xc0\x39\x8e\xe6\x6f\x5c\x4c\xdb\x91\xf5\x56\x85\x6c\x08\x6e\x45\x55\x80\x8d\x02\x2a\xd1\x83\xc4\xd6\x59\x0b\xa8\x61\x24\xa2\x1c\xca\x40\x34\x94\x35\x9d\x9b\x2e\xf8\x80\x23\x80\xfb\x3a\x02\xa1\x61\xad\x86\xa3\x9c\x61\x28\x20\x59\xfb\x94\x73\x8c\x85\xc4\xa7\xae\x1f\x83\x6f\xdb\xfe\x44\xd9\x6a\x73\x3e\x91\x95\xbc\x90\x81\x45\x8c\x6c\x45\x16\xb2\xef\x7a\xad\xcd\x5f\x56\x99\x86\x27\xfb\xcb\x4e\x61\xb7\xee\x0d\xa8\xbc\x09\x75\xaa\x00\x6b\x11\xa9\xdd\x2a\x91\x36\x05\x9c\x9c\xc8\x60\xca\xcf\x2c\x79\xa0\x73\xf8\x5b\x93\x1c\xd5\x0b\x6a\x7d\xef\xcc\x88\x90\x87\x31\xdc\xb2\x0e\x5d\x77\xc3\xfb\xd3\xd3\x12\x71\x77\x44\xf2\xea\x2d\x48\x34\xe3\xe9\x23\xdf\x6b\xd0\x72\x15\x66\x57\x5c\xa3\xe3\xb4\x5a\xff\x49\x70\xbc\x5b\x62\x4a\x12\x46\x2f\x49\xe2\x99\xda\x92\x20\x2f\x86\x48\xad\x6a\xad\xe7\x1b\x7a\xa1\xdb\x3b\xe7\xeb\xc4\x42\xf2\xde\x58\x08\x06\x79\xff\x36\xc2\x1f\x3d\x4e\xd6\x13\x7d\xbd\xc1\x31\x89\x16\x19\xc1\x70\x20\x31\xca\x85\x80\x27\x6c\xc7\x13\x49\xcb\x00\x95\xc1\x62\xb1\x2a\x37\x9b\x4e\x17\xe4\xb7\x1f\xcb\xa8\xae\x93\xbf\x7b\x5f\x73\x2f\x63\xd6\x53\x78\x63\xe7\xf6\x4b\xe8\x1e\x36\xf7\xaa\x2f\xe3\x80\xfd\x8a\xde\xee\xd6\x90\x53\x63\x12\x3d\x8d\xb7\x7b\x3e\xc4\xdb\x6d\xb1\x53\x90\xc2\x46\xd7\x55\x8b\x6f\xf9\xcd\x0d\xfe\x65\xdc\xe0\x83\x26\x05\xd2\xa6\x2c\x93\xaa\x81\xde\x53\xc3\x23\xd9\xd7\x1c\x4d\x27\xd4\x8a\x54\xd6\xb5\x90\xb1\x66\x2b\x1e\x3d\x03\x1d\x1b\x9c\x8e\xa7\xfb\xdb\x0e\x80\x4b\x6e\xd5\x4e\x30\xf8\x94\x46\x4d\x09\x46\x59\x82\x13\x40\x83\x9a\x06\x7a\x44\x06\xe1\x3d\xe0\x38\x45\x64\x48\xec\x8d\xea\xef\xa4\x78\x64\xe6\xb4\x9a\x84\xf0\xb8\x60\x78\x40\x6c\xe8\xa5\xb1\x0e\x2b\x58\x7a\x47\x89\x90\x8b\x0d\xcf\x63\xc8\xe0\xa0\x25\x99\xf2\xe8\xde\xfc\x37\xd4\x8f\xbe\x48\x10\x3e\xcb\x7b\x8e\xb0\x52\x5f\x5a\x22\xa3\x1c\xc8\xae\x08\x2d\xe8\xeb\x87\xaf\x6b\xc6\xa3\x5c\x69\x74\xca\x38\x8d\x4e\xc8\x20\x06\x03\xf6\x21\x89\x4b\x9e\xe2\x17\x3b\x3d\xd9\x63\xe1\x61\x75\x40\x4f\x20\xa7\xd3\x44\x8b\xd1\x70\x20\x07\x10\x74\xe3\x74\x21\xdf\xb8\x80\xc4\x2b\xf6\x51\x0b\x42\x71\x69\x4b\x48\xdc\x5b\xd3\x67\x33\x1f\x1a\x98\xbb\x4e\x1b\xa2\xa7\x03\x2c\x88\x39\xe8\x08\xdd\xdd\x13\x07\x48\xfd\x4e\x19\x94\xd1\xe4\xa4\xf3\x40\xd3\xd7\x77\x0b\xde\x13\x72\xc1\xe3\x7d\x48\x7d\x96\x48\x06\x51\x30\xc6\xe3\x5d\x22\xcd\x22\xb0\xba\x71\xee\xa4\xb1\x14\xd2\x08\xe9\x05\x79\x95\x34\xad\x6d\x82\x9a\x49\x61\x8c\x4b\x9e\x27\xe9\x1e\xee\x13\x59\x2e\xce\x82\xef\x04\xe3\x43\x19\x45\x40\x86\x4d\x34\x1d\xa5\x16\xeb\x32\xc5\x5b\x07\xdc\xcb\x5d\x03\x68\x47\xfa\x38\x9f\x18\x83\xa3\x20\x51\x83\xe0\xc3\x28\x15\xf6\x14\xd9\x19\x8d\x68\xe0\xb8\x88\x96\xa7\xe6\xcb\x01\x44\xbe\x55\x8f\x36\x95\xec\x91\x7b\xac\x70\xd7\xe9\xfa\x64\x51\x8c\x7e\x3b\xd4\xde\x00\xed\x3e\x85\x9d\x1f\x57\x42\x57\xf4\x9b\x88\xdd\xde\x94\x48\x68\x0e\xa9\x6d\x7a\xcf\x70\xa9\x31\x23\xcd\x8c\x25\x9c\x5f\xd6\xd1\x51\x75\x0c\x33\xd7\xba\x44\x2b\xc9\x16\xe5\xef\x7e\xf7\x7b\xc1\x7e\x07\x29\x7a\x74\x1f\xc1\xf8\x13\x90\xf3\x61\xe9\xb0\x65\xbb\x0f\x08\x64\xee\x6b\x8c\x08\x6b\x83\x80\xda\x7c\x78\x00\x51\xf2\x68\xcb\x74\xb9\x42\x84\x20\xa7\x10\x06\x97\x8e\xfb\xf6\x9d\x02\xb0\x1f\x9e\xec\xb6\xf6\xff\x4b\x1c\xf6\xc8\x3f\xbf\x90\x99\x42\x7a\x66\x80\x56\xae\x04\xdb\xf1\xfc\x1e\xe4\x04\x49\x33\x9e\xf1\x82\x7d\x97\x88\x69\xd5\x7d\xff\xb2\x52\x1f\x0a\x98\x20\xed\x2a\xcb\x4b\x29\xad\x3e\x0a\x33\x86\xa9\xf7\xa5\x4f\x16\x72\x55\x86\x77\xcf\x8a\x33\xde\x4f\x2d\x70\xc8\xc3\x66\xab\x80\x8b\x83\x2a\xc5\x75\xa0\x65\xcf\x06\x78\xe5\x17\xf2\x99\xdc\xf2\x5d\x0e\xbf\x0f\x64\x83\x59\x67\x5e\x90\x0f\x00\xcd\x0d\x25\x3c\x61\x38\x70\xda\x83\x91\xf3\x01\x74\x3c\x27\xec\xa7\xe4\x41\x4c\xd8\x6d\xc6\xf3\xfb\x09\x7b\x83\xe1\xb5\x3f\xaa\x55\x9b\x0f\xaf\x41\xd8\x70\xb2\x1f\xef\x38\x37\x56\x1f\x91\x49\xbb\xf5\xff\x4b\x53\xe9\xbf\x2b\xb6\xfc\xb7\x89\x78\xeb\xe0\xd2\xf8\x7b\xf7\x44\x1c\x08\x03\xff\x06\x0e\xfb\xbb\xbc\x15\xf7\xd3\x68\xfc\x43\xf8\xbf\x76\xff\xb2\x16\x17\xd8\x9e\xb4\xcb\xb5\xa2\xbe\xbe\xad\xc4\xe1\x24\xae\x1f\xca\xcd\xfc\xe1\x61\x4b\x81\xd2\xb3\x63\x97\x3a\x3e\x02\xd4\x4e\xaf\xda\xfe\xba\x48\x95\x2e\xf3\xfe\xc5\x7f\x53\xad\xb5\xfd\x7a\x0b\x95\x26\x4c\xb6\xdd\x4a\x00\x2b\xc0\x50\x78\x07\x3e\xb6\xfc\x4f\xb5\x5a\x02\x96\xe9\xb4\x15\xde\x56\x9c\x15\xe7\x71\x11\x31\xaa\xaa\x3f\x21\x6f\x33\x01\x8c\x4e\xde\x14\xf5\x01\x81\xda\x0c\x73\xae\x91\x85\xb4\x04\xd7\x98\x91\x9a\xe7\x02\x98\x78\x73\x01\x9a\x53\x2c\xe3\xb9\x03\x14\x58\x8b\x28\xb8\xf9\x78\xd0\x49\x98\x45\x06\xc9\xa0\x74\xdf\x5a\x09\x21\x5d\x6f\x8f\x31\x25\x8c\x75\x50\xef\x7d\x42\x93\x3d\x0a\x16\x61\xa2\x42\x87\x3e\x5e\xe3\xbd\xe0\x2e\x08\x26\xf7\x46\x14\xc1\x6e\x5e\x33\x2d\x2a\x4b\xb3\x12\xa1\xfa\xa6\x10\xf5\xad\x31\xe8\x1a\xf9\x55\xc5\x81\x32\x28\xa6\xf7\x14\xfe\xf2\x0f\xbc\xd8\xe2\x85\x76\xa7\x0a\x81\x7b\x26\xb2\xf0\xe0\x7c\x41\xaf\xf3\x2a\x55\x2b\x10\x7b\x32\xbf\x74\xdd\x0d\x23\x5a\xda\x83\xba\xae\x39\x60\x43\x76\x06\xb3\x9b\x40\x26\x6b\x2e\x34\x10\x9a\x34\xa3\x54\x43\xf1\xbf\xe3\x2e\xdd\xcd\xea\x9a\x4d\xff\x4d\xe3\xb2\xdd\x64\xc0\x37\xcb\x1a\xc0\xa0\x97\x47\x64\xa8\x5c\x86\xd9\xa0\xc6\x38\x20\x32\x60\x0a\x03\x23\x1f\x68\xad\xbd\x56\x53\x78\x21\x67\xf8\x4b\x70\x08\x70\xaf\xf4\xe2\xf0\x96\x24\x1f\xe9\xd6\x1f\xa6\x87\xb2\x59\x88\xf0\x23\x0f\xc1\xc4\xfb\x32\xe1\x32\x30\x81\xac\x41\x59\x24\xb9\x60\x12\x50\x08\x0b\xa9\xcb\xd5\x99\x27\xfe\x30\xb7\xb8\x07\x20\xab\xd1\x22\xe3\x70\x95\x01\x3e\xa0\xb3\x96\x63\x18\x3d\x93\x5e\xb1\xc1\x12\xe4\xf1\x94\x36\x7f\xc8\x45\xc4\xcc\x73\xd7\x76\x57\x8e\xb9\xac\xc1\x2d\xda\x66\x3d\xe3\x61\xd7\xb7\x5f\x80\xa6\x0c\x64\x38\xde\x20\x8a\xe2\x6b\x1f\xe0\x61\x34\x74\xe8\xd1\x0d\xf1\xb4\x85\xfc\xbf\xf6\x6c\xe8\x06\xed\x8e\x98\xe9\xa6\x67\xcc\x11\xd5\x09\x26\xae\xd4\xcd\x5e\x21\x03\x23\xb0\xbb\x52\x8d\x29\xdf\x56\x2a\xb7\xb8\x96\x50\x41\x41\x51\x3a\x2a\xfc\xfa\x90\xe8\x80\x4e\x1b\xbe\x76\x2b\x04\x7b\x95\x8b\xf5\xab\x4f\xb9\x58\x2f\xed\x48\x4f\xa1\x41\x53\xd3\xa2\x26\xa9\xf6\xc0\xc9\xa1\x33\x25\xdb\xc9\x05\x0f\x90\x7f\xd6\x9a\x84\xe5\x04\x6d\x4a\xd6\xcc\x0b\xed\x99\xf6\x00\xc3\x82\x88\xeb\x6c\xdf\x8d\x9a\x7d\xf1\x63\xae\x0b\x09\x36\x00\x6a\xd5\x21\x50\xf7\xf7\x7f\xbc\x55\xfa\x6c\xc8\xf1\x76\x57\x85\xcc\xd8\xcd\x9e\x4b\x77\xe0\x75\x43\xab\xbf\x2c\xfa\x1b\x06\x50\x67\xfc\x51\x12\x4f\xcc\x28\xd7\xd3\xb0\x63\xad\x5d\x2a\xdf\x1c\x6b\x0d\x0c\x9c\x5f\x65\xd2\x7a\xfa\x12\xa7\xe6\x36\x09\x84\x90\x79\x9a\x86\x9a\x05\x3e\xd2\xb6\x90\x3e\xef\xd3\x58\xad\x69\x6a\x5d\x78\x15\x7b\x83\x58\x81\x62\x48\xb8\x15\x13\x4b\x6a\x42\x74\x80\x14\x0f\x3b\x5b\x71\x50\xd9\x74\x4a\x3e\x87\x56\xf3\x53\x5d\x22\xbf\xb1\xbc\xe3\x03\x91\x67\xfc\xec\xf2\x5e\xec\x47\xd7\xb5\x3d\xd2\x11\x50\x36\xc0\x62\xb6\xbb\x6c\xc4\xf3\xdc\xa2\xe8\xe9\xab\xcc\xdc\x95\xd6\x3c\xaa\xb8\x39\x3b\xea\xb9\x15\xd1\x7d\xa6\x12\x39\x7a\x2f\xaa\x50\x48\xc0\x64\x2f\x98\x2f\xcd\xdd\x0e\x07\x1d\x8e\x15\x7b\x12\x1b\xa2\x01\x5e\x61\xa1\xa1\x9e\xec\x8c\x33\xa7\x62\xda\x3d\xed\x9e\xda\x7f\x21\xfc\xd9\xf0\x0c\xbe\xd8\x96\xf8\x50\xed\x54\xe1\x2d\x8e\x9d\x0a\xd3\x26\x6f\x64\x57\x0d\xec\x6c\xce\x2a\x14\x81\xad\x5d\x0a\x2e\xc8\xdf\x3c\x43\xbf\x79\x86\xfe\xc6\x3d\x43\x5f\xd2\x2d\x04\xd8\x98\xe7\xf4\x09\xf5\x04\xc8\x4f\x58\x8e\xee\xab\xa7\x4a\x7a\xa3\x75\x3c\x09\xa4\x67\x83\x4c\xc2\x26\xd0\xdf\x12\x4d\x14\x20\xdc\x1d\xdd\x0b\xd9\x19\xa3\xb7\xf4\x40\x9d\xfa\xc4\x4f\x8b\x60\x69\x63\x37\x0a\xde\xee\x87\xb2\x78\xa8\x13\x91\xf2\xb6\x11\x6e\x98\x75\x02\xb6\xa7\x69\xf8\x19\x80\xc6\x54\xee\x88\xa3\x35\x65\xb9\x61\x30\x12\x69\x88\x10\x2c\x55\xa3\x5a\x1e\x8a\x89\xb3\x1f\x5e\x66\x4a\xa5\xad\xd0\xb8\x27\xed\xc0\x46\xa2\xcc\xd0\xce\x9b\xa3\x31\xaa\x43\xc0\x98\xed\x45\x9f\x74\xe1\x53\x34\x30\x1f\x03\xb4\x26\x60\x36\xc5\x25\xe4\x2a\xfa\xee\x98\xfa\x0c\x27\xee\x1c\x2e\x84\x11\x5b\x89\x88\x83\xce\xa2\x05\xef\x45\xdc\x65\x9f\x84\xa4\x43\x8d\x74\x10\xdd\xfc\x4e\x47\xd4\x12\xca\x5d\x26\x6d\xc2\x12\x63\x17\x57\xcd\x42\xb0\xd0\x72\xac\xb9\x45\x92\x58\x5a\xc3\x43\xb2\x9a\x96\xc3\x79\x19\xa5\x5c\x0f\x34\xac\x5b\xf7\x9d\x39\x15\x74\x01\xe5\x0c\xdf\x48\x7f\x82\x74\x9c\xdd\x40\xe4\xce\x42\xce\x9c\xac\xa4\xc7\x7e\x39\xe4\x1e\x86\x4b\x11\xb3\xd8\x18\x1a\xe4\x4a\xf4\x37\x97\x09\xd3\x65\xb4\x05\x36\xc8\xea\x3e\x15\xee\x5b\xcd\x15\x3b\x59\x48\x73\x21\x02\x57\xcb\x8e\x43\xde\xf9\xa3\x31\x56\x75\xf2\x5f\xc2\xc1\xb3\x88\x1c\x2b\x44\x64\xe1\xc5\x49\xc9\x56\xf4\x9a\x25\xe6\x44\x80\x85\xc7\x94\x94\x59\xcc\x0b\x31\x5d\x78\xb4\x4d\x82\x9e\x4e\x8b\xf2\x20\x93\x59\x87\x0d\x0b\x71\x8c\xb5\x9d\x36\x4d\xd6\x22\xda\x47\x0d\x9d\x9d\x7e\x1a\x86\xdf\xae\x6d\xdf\xd6\xb5\x0d\x59\x6c\x31\x67\x70\x4c\xd7\x52\x55\x6f\xfc\xeb\xa7\x75\xae\x60\x41\x4d\xf4\x88\x7e\xfe\x82\xd7\xce\x16\x1b\x78\x9c\x3d\x3f\xf8\x1e\xd4\x7f\x9c\xf9\x8b\xad\x3f\xac\x03\x8a\x81\x86\x59\x18\x06\x17\x8b\x70\xea\x18\x83\x76\x70\x58\xbf\x9b\xc5\xe5\x9b\x02\x27\x0d\xb9\xb8\x1a\x8b\xdb\xc1\x95\xae\xac\xa5\x2d\x05\x9e\x77\x3d\x16\x77\xc0\x9a\xce\x8b\x17\xda\xf5\x7a\x75\x07\xb4\xd8\xff\x77\x89\x2e\x7e\xae\x69\x72\x1e\x27\xea\xf9\x6c\xa6\xa9\xad\x2a\x56\x73\xa8\x45\x75\x53\xb5\x79\xd4\xda\xce\x39\xb8\x3c\x59\x15\x36\x53\xef\x31\xf7\xa0\x4f\xae\xbf\x3e\xe1\xd1\xf4\x98\xf3\x2c\x13\xb9\x3d\xc8\x1b\xb6\x16\x48\x9a\xc1\x57\x40\x93\x70\x2b\x50\x18\xb9\x76\xcb\x35\x5b\x49\xad\x68\x78\x0c\xba\x6e\xda\x3e\x72\x57\x65\x9a\x76\x8e\xdc\x61\xa5\xa4\xab\x8f\xef\xde\x2d\x7f\x9e\xbd\xfb\x78\x69\x9b\xdf\xaa\x3c\x14\x3c\xd6\xd9\x27\xae\x26\xd4\x27\x5e\xdb\xd0\x7c\x56\x58\x71\x66\xe5\x5b\x8d\x4e\xae\x32\x4d\xab\xaa\x54\x0b\xf9\x89\xca\x01\x98\x36\x2a\x6e\x9a\x7e\x63\xbd\x1d\x57\xfd\x3e\x3c\xf6\xc9\x14\xfe\x09\xdf\x3d\x63\xbe\x11\xaf\x40\x3b\x91\x34\xd9\xda\xfb\x95\xb2\x61\x4e\x58\x0e\x08\x06\xee\x5a\x0e\x4f\xad\xbb\x77\xdc\xf2\xf8\x28\x81\xf1\x5b\xc4\x56\x2e\xef\x49\x56\x07\xf6\xdd\xa7\x6a\x9c\xda\xed\xe5\x31\x5e\x69\xa0\xdc\x09\xaa\xa5\x81\x06\xb4\x17\x14\x5b\x48\xf4\x81\x9a\x3a\x15\xaa\xbb\x4e\x6c\x4e\xe6\x6d\xca\xe5\xa6\xe4\x1b\x63\xdd\xda\x8f\x2f\xe4\x2e\xd9\x6c\x91\x67\xa3\xcc\x3c\x3e\x99\x33\x09\x74\x2c\xb5\x29\x54\xc3\x27\x27\x72\x21\xa9\x4d\x72\xe3\x8b\x47\xac\xec\x1f\x6f\x5d\x73\x08\x94\x8e\x05\x91\xe0\x9b\x5c\x48\x1c\x5c\xe4\xff\xb0\x91\x10\xb8\xb1\xf0\xa2\x3e\x75\x39\xc4\x2e\x51\x14\xdd\xec\xe9\x1b\x88\xc9\x2c\xa4\x4b\xd1\x45\xcf\x11\xb5\x21\x10\x06\xc1\x2a\x1d\xde\x4f\xec\x60\xd8\x35\x41\x75\x6b\x9f\xf5\x27\x9f\x01\x66\xc1\x2d\x47\xa8\x3b\x37\xb7\xb1\x81\xde\x42\x1e\x6c\x1c\x5d\xbc\x0d\x90\x97\xdd\x5e\x1b\xdb\x2e\x7c\xa6\x13\xda\xaa\xca\x55\x3a\xa2\x4a\xf8\x7c\x6f\xa5\x70\x4b\xee\xaf\xd4\x80\xeb\xf0\x4d\x6d\x69\x99\x69\xda\xf7\xd9\x95\x52\x1d\xe3\xf2\x84\x01\xc5\x4a\xa5\xe8\x85\x43\x9d\x51\x46\xc5\x31\xf3\x65\x40\xb2\x62\xbd\x8b\xec\xee\xd3\x57\xa1\x34\xd1\x47\x55\xc7\xdb\x4f\x83\x6b\xe4\x2c\x04\x3a\xec\x46\xed\xb0\x74\xce\x55\x36\xd8\x8e\x6d\x92\xe2\x49\x56\x26\x39\xc1\xed\xc5\x2c\x1e\xd4\x30\x36\xf3\x7f\xe2\x26\xd1\xc4\x8f\xdc\x04\x2a\x19\x95\xb9\x36\xdb\x25\xed\x77\xb4\x6b\xab\x9c\xf1\x85\xb4\xa9\x6a\x76\x3b\x9e\x59\x70\x6e\xee\xfe\x8a\x09\xa0\x19\xf2\xd5\x83\xc5\x5a\x30\x25\x85\xdd\x0d\x17\xd2\x6a\x6b\x4f\x18\x5f\x69\x2b\x59\xcd\xe5\xde\xe9\x48\x27\x4e\x24\x90\x4b\x06\xa8\xe7\xc3\x7b\x5e\xcd\x0c\xa8\x9c\xf3\xff\x60\xfe\xef\x7f\xfe\xe1\xff\x07\x00\x00\xff\xff\x1b\xbe\x58\x42\x2a\xac\x04\x00") +var _adminSwaggerJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\xf9\x73\x2b\xb7\x95\x37\x8c\xff\x3e\x7f\x05\x9e\x3b\x4f\x95\xed\x44\x8b\x93\xcc\xe4\x9b\xd2\xd4\x53\xdf\x97\x96\x78\xaf\xf5\x58\x5b\xb4\xd8\xe3\x77\x98\xa2\xc1\x6e\x90\x44\xd4\x0d\x74\x00\xb4\x74\xe9\x54\xfe\xf7\xb7\x70\xb0\x34\x7a\x23\x9b\x8b\x24\xea\xba\x67\xaa\x62\x5d\x76\x37\xd6\x83\x83\xb3\x7e\xce\x3f\xff\x0d\xa1\x0f\xf2\x19\xcf\x66\x44\x7c\x38\x41\x1f\xfe\x78\xf4\xed\x87\x03\xfd\x1b\x65\x53\xfe\xe1\x04\xe9\xe7\x08\x7d\x50\x54\x25\x44\x3f\x9f\x26\x0b\x45\x68\x9c\x1c\x4b\x22\x9e\x68\x44\x8e\x71\x9c\x52\x76\x94\x09\xae\x38\x7c\x88\xd0\x87\x27\x22\x24\xe5\x4c\xbf\x6e\xff\x44\x8c\x2b\x24\x89\xfa\xf0\x6f\x08\xfd\x0b\x9a\x97\xd1\x9c\xa4\x44\x7e\x38\x41\xff\x63\x3e\x9a\x2b\x95\xb9\x06\xf4\xdf\x52\xbf\xfb\x37\x78\x37\xe2\x4c\xe6\xa5\x97\x71\x96\x25\x34\xc2\x8a\x72\x76\xfc\x77\xc9\x59\xf1\x6e\x26\x78\x9c\x47\x1d\xdf\xc5\x6a\x2e\x8b\x39\x1e\xe3\x8c\x1e\x3f\xfd\xe1\x18\x47\x8a\x3e\x91\x71\x82\x73\x16\xcd\xc7\x59\x82\x99\x3c\xfe\x27\x8d\xf5\x1c\xff\x4e\x22\xf5\x2f\xf8\x47\xcc\x53\x4c\x99\xf9\x9b\xe1\x94\xfc\xcb\xb7\x83\xd0\x87\x19\x51\xc1\x3f\xf5\x6c\xf3\x34\xc5\x62\xa1\x57\xe4\x23\x51\xd1\x1c\xa9\x39\x41\xa6\x1f\xe4\x96\x88\x4f\x11\x46\x27\x82\x4c\x4f\x7e\x11\x64\x3a\x76\x0b\x7d\x64\x16\xf8\x02\x46\x73\x93\x60\xf6\xcb\x91\x5d\x26\x68\x99\x67\x44\xc0\xdc\xce\x63\xdd\xfa\x27\xa2\x06\xd0\x6c\xf1\x7e\xf8\xb6\x20\x32\xe3\x4c\x12\x59\x1a\x1e\x42\x1f\xfe\xf8\xed\xb7\x95\x9f\x10\xfa\x10\x13\x19\x09\x9a\x29\xbb\x97\x03\x24\xf3\x28\x22\x52\x4e\xf3\x04\xb9\x96\xc2\xc1\x98\xa9\xea\x8d\xc5\xb5\xc6\x10\xfa\xf0\xbf\x05\x99\xea\x76\xfe\xfd\x38\x26\x53\xca\xa8\x6e\x57\x1a\xfa\x09\x46\x5b\xfa\xea\x5f\xff\xd6\xf4\xf7\xbf\x82\x19\x65\x58\xe0\x94\x28\x22\x8a\x1d\x37\xff\x57\x99\x8b\xde\x23\xdd\x79\xb1\x8f\xd5\x81\x57\x66\x7b\x85\x53\xa2\xf7\x44\xef\x94\xfd\x02\xfe\x16\x44\xf2\x5c\x44\x04\x4d\x48\xc2\xd9\x4c\x22\xc5\x6b\x6b\x40\xa1\x05\x4d\x5e\xd5\x27\x82\xfc\x23\xa7\x82\xe8\xbd\x52\x22\x27\x95\xa7\x6a\x91\xc1\x20\xa5\x12\x94\xcd\xc2\xa5\xf8\xd7\x41\xa7\xa9\x19\xaa\x5c\x63\x66\xe6\x83\xd6\x89\x8d\xd8\xc0\xbd\x12\x61\x86\x26\x04\xe9\xb3\x48\x63\x22\x48\x8c\xb0\x44\x18\xc9\x7c\x22\x89\x42\xcf\x54\xcd\x29\xd3\xff\xce\x48\x44\xa7\x34\x72\x6b\xb6\x3f\x6b\x03\x7f\x2e\x5f\x99\x07\x49\x84\x1e\xf8\x13\x8d\x49\x8c\x9e\x70\x92\x13\x34\xe5\xa2\xb4\x3c\x47\x23\x76\x3f\xd7\xeb\x90\x4e\x28\x83\x93\xa7\xd7\xd2\x51\xc8\xef\xdd\x72\xfd\x1e\xe9\xfe\x50\xce\xe8\x3f\x72\x92\x2c\x10\x8d\x09\x53\x74\x4a\x89\xac\xb6\xf6\x7b\x0e\xfd\xe3\x04\x1d\x22\xbd\xce\x44\x28\x58\x6f\xce\x14\xf9\xac\x24\x3a\x44\x09\x7d\x24\xe8\xab\x0b\x2a\x15\x1a\xdc\x9c\x7f\x75\x80\xbe\x32\xe7\x05\x01\x6f\xfa\xea\x15\x56\xd8\xff\xfd\xb7\xe0\xe8\x29\x3c\xab\x1e\xba\x0f\x03\x7d\x9a\xef\xcc\xd5\x50\xb4\xf0\xb7\x7f\x0b\xdb\xb1\xfb\xb5\x9c\xdf\x16\xcc\xd6\x72\xda\xae\xfc\x15\x96\xa9\xcc\x5a\xa5\xde\xa1\x6d\x39\xab\x6e\xb7\xca\x5a\xe5\xfb\xe2\xad\x7a\x0a\x2f\xcd\x5f\xb7\x61\xae\x58\x01\xd5\x63\xca\xcc\x21\xf1\x67\x46\x48\x7d\x4e\x1c\xf5\xee\x09\x4b\xd9\x86\xd7\x06\x33\x0b\xd8\xad\xe3\xa2\xc1\xaa\xec\xe1\xbc\x13\x9a\xd2\x55\xfb\x7b\xce\x62\x2d\x72\x59\x66\xc7\xf2\x74\x42\x84\x5e\x06\xc7\xf6\x60\xb6\x13\xcd\x06\x55\x2e\x18\x89\x3b\x4c\xf3\x1f\x39\x11\x8b\x25\xf3\x9c\xe2\x44\xb6\x4d\x94\x32\x45\xb4\x7c\x5b\x79\x3c\xe5\x22\xc5\xca\xbe\xf0\xe7\xff\x58\x77\x21\x14\x7f\x24\xab\xf6\xff\xdc\xec\x66\x84\x25\x90\x41\x9a\x27\x8a\x66\x09\x41\x19\x9e\x11\x69\x57\x24\x4f\x94\x3c\x80\xd7\xb4\x4c\x4d\xc4\xa1\xbf\x81\xa0\x07\x77\xf3\xe6\x12\x7e\x41\x53\x2f\x40\x32\xf2\x59\x41\x4b\x23\x06\x77\x2f\x2c\x51\x78\xa3\xbc\xc0\x52\x6e\x46\x33\x92\x0b\x35\x9e\x2c\x8e\x1e\x49\xad\xdf\x56\xca\xc1\x0c\x61\xa5\x04\x9d\xe4\x8a\xe8\x79\xeb\x36\xdc\xdd\x09\xec\xd1\x5c\xd0\x5d\x58\xc3\xdb\x4d\x38\xa6\x82\x44\x30\xb7\x75\x0e\x8c\xff\x4a\xcf\x5b\xeb\x2f\x0b\x33\xfb\x47\xb2\x00\x79\xa4\x61\x05\xfc\x96\x8f\xd8\x88\xa1\x43\x74\x36\xbc\x3b\x1d\x5e\x9d\x9d\x5f\x7d\x3a\x41\xdf\x2d\x50\x4c\xa6\x38\x4f\xd4\x01\x9a\x52\x92\xc4\x12\x61\x41\xa0\x49\x12\x6b\x99\x43\x0f\x86\xb0\x98\xb2\x19\xe2\x22\x26\xe2\xe5\x96\xb1\xf2\x94\xb0\x3c\xad\xdc\x2b\xf0\x7b\x31\xfa\xca\x17\x5a\xc4\xf0\x8f\x4a\x4f\xfe\x56\x5b\x60\x98\xb1\xee\x3b\x68\xed\xd5\x84\x9a\x68\x4e\x93\x58\x10\x76\xac\xb0\x7c\x1c\x93\xcf\x24\xca\xcd\x9d\xfc\xcf\xf2\x0f\x63\x2d\x99\xf2\x98\x94\x7f\x29\xfd\xa3\x10\x85\xd6\xfe\xd4\x6b\xa9\x6b\x7f\x09\x3a\x6d\xb7\xef\xe0\x17\x1a\x37\xbe\x0d\xbf\xac\x98\x83\x7b\x67\xc9\x60\xdd\x2b\xad\xa3\x72\x2f\x58\x89\xaf\xf1\x1d\x41\x94\x58\x8c\xb1\x52\x24\xcd\xd4\x9a\xfa\x3a\x46\x89\x96\x2b\x97\xc9\x91\x57\x3c\x26\x43\xd7\xdf\x2f\xc8\x88\xb3\x24\x46\x93\x85\xe5\x5a\x53\x22\x08\x8b\x48\x7b\x0b\xf7\x58\x3e\x16\x2d\xac\x12\x46\x4b\xfd\xc9\x8f\x5c\xe8\xcf\xdf\x83\x40\x5a\x1a\xf8\x6b\xc8\xa4\x9b\x9e\xb8\x2f\xce\x42\xb0\x21\xff\xe8\xed\x09\xdb\xaf\x64\x57\xeb\x03\x17\x48\x2e\xa4\x22\xe9\x4a\x3b\xc4\xfb\x59\x08\x7b\x41\xec\xeb\x80\x2b\x77\xd4\x6f\xe0\xd4\x97\x6f\xdc\xfe\x78\xaf\xb1\x64\xbb\xb2\x22\xee\xfb\x3c\x9d\x0f\x67\xf9\x54\xef\xdc\xf6\x05\x4e\x8c\x77\x31\xcd\x92\x2c\xb8\xeb\x41\xbe\x90\xb9\xa1\x75\xaf\xdc\x6a\x8f\x61\x00\x2b\x14\xcd\xb2\x1d\xda\x9f\x3f\xfd\x69\x68\xa1\x31\xe6\x38\x35\xa7\x32\x30\x56\xa1\x88\x0b\x23\x0b\xc6\xf6\xbc\x1b\x5d\x73\x70\x3f\xb8\x1b\xde\x9f\xa0\x01\x8a\xb1\xc2\xfa\x80\x0b\x92\x09\x22\x09\x53\xa0\xc7\xeb\xef\xd5\x02\xa5\x3c\x26\x89\xd1\x38\x3f\x6a\xc9\x17\x9d\x61\x85\x4f\xb1\xc2\x09\x9f\x1d\xa1\x01\xfc\x53\x7f\x4c\x25\xc2\x89\xe4\x08\x3b\xb2\x22\xb1\x6b\x02\xb3\xd8\xb1\x16\x8c\x22\x9e\x66\x34\xf1\x36\x78\x6f\x5c\xa1\x2c\xa6\x4f\x34\xce\x71\x82\xf8\x44\x73\x15\xad\x21\x0f\x9f\x08\x53\x39\x4e\x92\x05\xc2\x49\x82\x6c\xb7\xee\x05\x24\xe7\x3c\x4f\x62\xdd\xae\x1b\xa5\xa4\x29\x4d\xb0\xd0\x2a\xb8\x19\xed\xb5\x6d\x0b\xdd\xcf\x89\x1f\x2b\x8c\x4b\xaf\x66\x8a\x1f\x89\x44\x54\xa1\x8c\x4b\x49\x27\x49\x71\xe6\x1f\xce\x11\x8c\xfb\xf4\xe2\x1c\xf4\xf9\x48\x21\x6e\x78\xa8\xeb\xdc\xda\x6f\x5c\x8f\x29\x66\x8c\x40\xc7\x5c\xcd\x89\xb0\xdd\xdb\x97\xdf\x5a\x35\x7f\xb8\xba\xbb\x19\x9e\x9e\x7f\x3c\x1f\x9e\xd5\x75\xf3\xfb\xc1\xdd\x0f\xf5\x5f\x7f\xba\xbe\xfd\xe1\xe3\xc5\xf5\x4f\xf5\x27\x17\x83\x87\xab\xd3\xef\xc7\x37\x17\x83\xab\xfa\x43\x4b\x56\x9d\xd5\xfc\x70\x64\x6b\x9e\xad\xde\xa6\xf9\x52\x36\xcd\x83\x2f\xd7\xa8\x39\xa5\x09\xe8\xa0\x9d\x0d\x9a\xde\x86\x60\xbf\x44\x19\x96\xd2\x48\x46\x66\x04\x47\x23\x76\xc9\x85\x66\x60\x53\xae\x79\x84\x96\x9e\x94\xc8\x23\x45\xd9\xcc\x7f\x74\x82\x46\xf9\xb7\xdf\xfe\x29\xba\xa0\xec\x11\xfe\x22\xfb\xb8\x38\xbd\xc5\xb7\xb7\xf8\xfe\xb6\x2c\xbe\x5a\xf4\x39\x0e\x0d\xbd\xbb\x0d\x19\xd2\xc2\x05\xcb\x72\x05\xa2\x04\xcf\x95\xfe\x53\x77\x09\xe4\xb1\x24\x70\xa8\x9b\x41\xf1\x13\x51\xfe\x45\x2d\xda\xbc\x07\x3b\xe2\x4f\x5c\x3c\x4e\x13\xfe\xec\x07\xfe\x89\x28\x3d\xf6\x5b\xdb\x4b\x1f\x4a\xd4\x87\x12\xbd\x6d\x28\xd1\x5e\x19\xf3\x5e\x9e\xf9\x95\x2d\x7f\x86\x03\xb6\x78\xb2\x5a\x1d\x55\x2d\x7e\xa8\xc0\xcd\xf4\x2a\x5c\xb3\xec\xcc\x59\xc1\x39\x4b\x2f\xbf\x17\xee\x59\x1a\xf4\xeb\x73\xce\xdf\x84\xbf\xa5\x77\xa7\x6c\xb8\x50\xef\x92\xc1\x76\xbc\x3b\x5e\xcd\x19\xf2\xf2\x0c\xbf\x16\xdb\xb0\x4e\x30\xc3\x1a\xd1\x0b\x9d\xc3\x15\x56\xc4\x27\x34\x06\x24\x34\x45\x20\xd4\x43\x0e\x1a\x63\x0c\xb6\x0b\x2a\xd8\xf4\x6e\xea\x1e\x26\xf0\x89\xa8\xd2\xcb\xef\xe5\x6e\x2a\x0d\xfa\xf5\xef\xa6\xdf\x68\x74\x40\x1f\x0e\xf0\x82\x4b\xf7\xa5\xdf\x68\xfb\xeb\xf0\xff\x0d\x78\xf8\x7b\x97\xfe\x5a\x6b\xf4\x65\xf9\xf0\xbf\x54\xa7\xfd\xfb\xf4\xd2\xf7\x6e\xf9\xde\x2d\xff\x16\xfe\x93\xf7\xe7\x96\x7f\x59\xf5\xb4\x38\x5e\x63\x47\x0b\x56\x5f\x0b\x0e\xe5\xbf\x3a\x38\x69\xe0\x2f\xa7\xf2\xad\x1b\x34\xde\xaa\xc3\x9d\x15\xe3\x1b\xc2\x11\xfa\xc5\x12\xd2\x0a\x75\xae\xf6\xdd\x7b\x50\xe7\xea\x83\x7e\x79\x1d\xee\xcd\x98\xef\x0b\x5d\x9e\xef\x84\x0d\xac\x7f\x5b\x7e\xc1\x32\x79\x2f\x8b\xbf\x7c\x36\xfe\xde\x4c\xe8\xfd\xc8\xde\x6f\x70\xf1\x76\xbc\x75\x77\x9e\x93\xd5\x70\xcd\x06\xb7\xd3\xaa\x0c\xab\xea\xd7\x94\xc8\x3f\xbe\xcb\xfb\xf6\x35\x92\xac\xfa\x0b\xb7\xbf\x70\x6d\x53\xfd\x85\xfb\x05\x5f\xb8\x7b\x07\x7f\xb3\x37\x11\xa0\x7d\x10\x79\x0f\x8c\xd1\xc7\x90\xef\x70\x71\xfa\x18\xf2\x3e\x86\xfc\x37\x16\x43\xbe\x8d\xf6\xb4\x29\x16\xe5\x5b\xe8\x51\xbd\x1a\xd5\xab\x51\xe1\xef\xbd\x1a\xd5\xab\x51\xbd\x1a\xf5\x85\xa3\x88\xf6\x3a\x54\xf7\x85\xe8\x75\xa8\xce\x4b\xd5\xeb\x50\x4b\x16\xa7\xd7\xa1\x7a\x1d\xea\xb7\xa5\x43\x91\x27\xc2\x94\x84\x64\xb4\x50\xa3\xf8\x90\x71\xd9\xae\x09\x85\xdc\xa1\x41\x0b\x82\x36\xcb\x49\x61\x10\xb8\xf4\x0b\x9a\x63\x89\x78\x14\xe5\xa2\x72\x06\xaa\x7a\xd0\xa9\x20\x58\x11\x68\x41\x7f\xf8\x1e\xf4\x9f\xfa\x74\x5f\x2b\x06\x7f\xc2\xe3\x1a\xb5\x9b\x83\xd0\xf4\x64\xb9\x3c\xb2\xb3\xa9\xff\x23\x27\xdd\xd4\xbf\x17\x24\x6a\x85\xe5\xe3\x8e\x89\xba\x94\x6b\xb1\x11\x51\x43\x0b\xef\x85\xa8\xeb\xd3\xfd\xcd\x10\x75\xd3\xd4\xf7\x81\xa8\x9f\x6d\x1e\xff\x8e\x09\xbb\x06\x0f\xb0\x11\x71\xfb\x56\xde\x0b\x81\x37\x4f\xfb\x37\x43\xe4\x6d\xd3\x7f\x5b\x42\xf7\x29\x92\x9d\x49\xfc\x5e\xd0\xd9\x4c\xab\x19\xa0\xe1\x69\x52\x5c\x5d\x23\xa8\x48\x0a\x5c\x49\xd6\xfe\xd5\xf7\x40\xd2\x7e\xb0\x66\xec\xbf\x19\x5a\xae\xcd\x7b\x4f\x88\xf8\x58\x90\x88\x3f\x41\xbd\xb0\x6e\xc4\x7c\x4b\x80\x82\x81\x5f\x67\x82\x3c\x51\x9e\xcb\x64\x71\x28\x72\x86\x1c\xf3\x47\xbe\x79\x63\xad\x7e\xa6\x49\x82\x38\xd3\xfa\x97\xc2\x42\xb9\xc7\x5a\xff\x16\x3c\x85\x53\x91\x60\xa9\xd0\x23\xe3\xcf\x0c\x4d\x31\x4d\x72\x41\x50\xc6\x29\x53\x47\x23\x76\xce\xd0\xad\x19\x23\xe4\x0d\x1c\xa0\x5c\xea\xb3\x14\x61\xc6\xb8\x42\xd1\x1c\xb3\x19\x41\x98\x2d\x6c\x02\x6e\x41\x19\x88\x0b\x94\x67\x31\xd6\x8a\xef\x9c\x54\xa3\xf4\xfc\x18\xc1\x7c\x47\x25\xa2\x12\x91\xcf\x4a\x90\x94\x24\x0b\xdd\x87\xa6\x7d\xc5\x91\x5d\x1f\x33\x54\x9b\xce\x47\x84\xe0\x42\x42\xc6\xc1\x64\xf1\x2b\x66\x8a\x32\x82\x40\x51\x92\xc6\x34\x77\x88\x2e\xb8\x04\xb3\xcd\x0f\x7f\x91\x28\x4a\x72\xa9\x88\x38\x40\x93\x7c\x26\xb5\xa6\x98\x25\x58\x4d\xb9\x48\xf5\x08\x29\x93\x0a\x4f\x68\x42\xd5\xe2\x00\xa5\x38\x9a\x9b\xb6\x60\x0d\xe4\xc1\x88\xc5\xfc\x99\x49\x25\x08\xf6\xbd\xbb\x87\xe8\xeb\xf0\x99\x21\x00\xf9\xcd\x01\xa4\x1d\xd2\x54\xab\xbb\xc1\xf0\x8b\x1d\x37\x7b\xa2\x1b\x21\x31\x9a\x90\x08\xe7\xd2\x7a\x18\x94\x58\x20\xf2\x79\x8e\x73\x09\x7b\xa7\xa7\x67\x73\x36\x22\x9e\x66\x09\x51\x04\xd1\x29\x52\x82\x92\x18\xe1\x19\xa6\x7a\xe9\xee\xc8\x12\x10\x74\x4f\xf4\x76\x03\x2d\xd5\xff\x02\xea\x77\xca\x05\x41\x31\x51\x98\x26\x4b\xbd\x4e\xf6\xdb\x9e\xcb\xbd\x27\x2e\x57\xde\xf0\xbd\x60\x73\x06\xc4\x7f\x07\x97\x36\xb3\xa6\xfb\x08\x27\x5b\xde\xdf\xb7\x76\x50\x3d\x6d\xbf\x2f\xda\x36\xbb\xb6\x3f\xc4\xfd\x6a\x31\xd8\xdd\x2b\x5a\x14\xd5\x2c\xde\x15\x4d\xbf\x46\x58\x40\xef\x70\xee\x1d\xce\xad\x2b\xf3\x3e\x1d\xce\x7b\xe3\x31\xea\x7d\xce\x2f\xe4\x73\xa6\xb2\x77\x3a\xf7\x4e\xe7\xae\x0b\xd4\x3b\x9d\x7b\xa7\xf3\xfb\x75\x3a\xbf\x24\xee\xf3\x4e\xd1\x9d\xdf\x95\x68\xdd\x8b\xd5\xbd\x58\xdd\x43\x38\xfb\xa9\xed\x8a\x85\xb9\xaf\x3f\xc4\x24\x21\x8a\xb4\xdb\xb3\x88\x48\xb5\xb6\x60\xae\x67\xca\xb4\x1c\x37\x13\x44\xca\x6d\x19\x92\x6f\xf8\x7d\xb2\x25\x3f\xfc\x1e\x6a\xbe\xe7\x53\x3d\x9f\xda\x64\x6a\xfb\x63\x9a\x0d\x0e\xf3\x6b\xd9\x66\x3d\xff\xcd\xf2\x76\xe9\xef\xc1\xb8\x21\x0b\xbf\xa8\xa1\x70\x2d\xb5\x2b\xee\x0f\xb7\xa5\xf3\x2d\xf9\xb1\xe9\xeb\x7d\x32\x63\x33\xf6\x9e\x13\xf7\x9c\xb8\xe7\xc4\xef\x9b\x13\xbb\x93\xfc\xa6\x2e\x32\xe3\xa7\x1b\x67\x09\x66\x63\x1a\xcb\xe3\x7f\x16\xba\xfc\x4b\x79\xc8\xf4\x81\x8a\x4d\x8a\xa9\x4f\xe9\x14\xbf\xe8\x4f\x92\xc2\x60\xee\x31\x33\x57\x38\xd1\x8c\x8d\xfd\x26\xc1\xec\x3c\x7e\x17\x7e\xb4\xc6\xd9\xbf\x86\x4f\x6d\x1b\x3e\x8e\x15\x78\x3a\x30\x65\xc6\x84\x57\xe4\xd5\x96\x0c\x94\xfb\x71\xc2\xb7\xe1\xea\xc1\xc4\x02\xc6\xee\xf8\x75\xb0\x28\xfb\x37\xed\xde\xaf\xd3\xe7\x12\xf6\x9e\x8b\x8e\x13\xee\x3d\x17\xfb\xeb\xb9\x78\x2b\x77\xe4\x2b\x1f\xcf\xd7\x12\xeb\xba\x07\xe1\x9b\x68\x35\x08\x6a\xcd\xb3\x84\xe3\x78\x99\x2b\xa6\x10\xbc\x42\x70\x94\x95\x91\xf8\xc5\x67\xef\x41\x58\x2b\x46\xfb\x1b\x8b\xe4\xab\x4f\x7c\x5f\xb4\x94\x57\x0c\xe5\x6b\x26\xf1\x35\x54\x92\xf7\x81\x9f\x5a\x8c\xb7\x0f\xed\xeb\x2d\x4a\x6f\x6f\x51\xea\x43\xfb\x7a\x15\x70\xcf\x54\xc0\x3e\xb4\xaf\x0f\xed\xeb\x15\xe4\xe5\xd3\xee\x15\xe4\x2f\x22\xb4\xaf\x93\xa8\xfd\x82\xd8\x9b\xdb\x0b\xdd\xbd\xcc\xed\xde\xeb\x65\xee\x5e\xe6\xfe\x42\x65\xee\xfd\x58\xe1\x5e\xe0\xee\x05\xee\x5e\xe0\xee\x05\xee\x5e\xe0\xde\xf9\x32\xf6\x02\xf7\x6b\x16\xe8\x6c\x96\xba\x57\x24\xd9\xbc\x57\x5f\x4e\x2f\x6e\xf7\xe2\xf6\x7e\x8b\xdb\x7b\x33\xa1\xf7\x53\xe6\xb1\xdb\x7c\xfa\x22\xe5\x7d\x91\xf2\xbe\x48\xf9\x8b\x17\x29\x77\x5f\x77\xc8\xf8\xb0\x87\x4b\x61\x95\x4b\x03\xf8\x28\xc8\x8c\x4a\x05\xec\xbf\x8b\xbc\xb2\x3a\xd1\xe3\xbd\xca\x29\x7d\xaa\x87\x7f\xda\x4b\x2d\xbd\xd4\xf2\x1b\x95\x5a\xf6\x28\x16\x6c\x2f\x32\x56\x52\xac\xa2\x39\x9e\x24\x64\xec\x8d\x3e\xb2\xab\x1e\x7c\x41\xa5\x92\x28\xca\xa5\xe2\x69\xfb\xe5\x72\xe9\x7a\x18\xf8\x0e\x4e\x39\x9b\xd2\x59\x6e\xee\x16\x03\xce\x19\x9c\xe8\x42\x12\x5c\x64\x64\x95\xa7\xaa\xa1\xf5\x77\x71\x2d\x35\x0f\xfd\xb5\x6e\xa7\x75\x04\xf7\xc2\xc8\x67\xa5\x6e\x2d\x6b\x8d\x6f\x87\x77\xd7\x0f\xb7\xa7\xc3\x13\x34\xc8\xb2\x84\x1a\xbb\xbb\x21\x05\xfa\xab\x9e\x14\x52\x58\x3e\x16\x7b\x29\x0c\x99\x1b\x0c\x5b\x30\xf4\x6b\xd9\x18\x1d\xa2\xd3\x8b\x87\xbb\xfb\xe1\x6d\x4b\x83\x96\x50\x20\x6f\x95\xa4\x59\x82\x15\x89\xd1\x63\x3e\x21\x82\x11\x2d\xed\x58\xa4\xdb\xc2\xfc\x6f\x1a\x1d\xfe\xf7\xf0\xf4\xe1\xfe\xfc\xfa\x6a\xfc\xd7\x87\xe1\xc3\xf0\x04\x39\x8a\xd3\xcd\xea\x71\xe9\x51\xc4\x0b\x86\x53\xad\x81\xe8\x1f\x8a\x4c\xd9\x7f\xe4\x24\x27\x08\x4b\x49\x67\x2c\x25\x80\x08\x5c\x6a\xd1\x0d\xf8\x62\xf0\xdd\xf0\xa2\xdc\xf2\x9c\x84\xf0\xbb\x28\xc1\x13\x92\x58\x7f\x04\x98\xd8\x35\xa1\x07\x50\xc5\xc6\x51\x91\x9b\x55\xfd\xeb\xc3\xe0\xe2\xfc\xfe\xe7\xf1\xf5\xc7\xf1\xdd\xf0\xf6\xc7\xf3\xd3\xe1\xd8\x4a\x95\xa7\x03\xdd\x6f\xa9\x27\x2b\x7c\xa2\x7f\xe4\x38\xd1\xda\x09\x9f\x3a\x3c\x5e\xf4\x3c\x27\x0c\xe5\x0c\x28\xce\xa8\x3c\x5a\x0f\xf2\x9d\xea\x53\x66\x66\x74\x73\xf1\xf0\xe9\xfc\x6a\x7c\xfd\xe3\xf0\xf6\xf6\xfc\x6c\x78\x82\xee\x48\x02\x4a\x81\x5b\x74\xd8\xc5\x2c\xc9\x67\x94\x21\x9a\x66\x09\xd1\xab\x81\x6d\x36\xf1\x1c\x3f\x51\x2e\xec\xd1\x9d\xd1\x27\xc2\xcc\x3a\xc2\x99\x85\xf6\x9d\xf0\x3d\x0e\x96\xee\xfa\xea\xe3\xf9\xa7\x13\x34\x88\x63\x3f\x07\x09\x6d\x94\x28\xc7\xc1\x3a\x1f\x96\x87\xad\x99\x03\x74\x6f\x88\x88\x3f\x11\x21\x68\x4c\x2a\x74\x34\xb8\xbb\x3b\xff\x74\x75\x39\xbc\xba\x87\x15\x53\x82\x27\x12\xcd\xf9\x33\x98\xb2\x61\x86\x60\xe1\x7e\xc2\x34\x81\xce\xdc\x66\x71\x86\x9e\xe7\x14\xdc\x1f\x00\xcc\xec\x7b\x36\xfa\x99\xc8\xd9\x9b\x5b\x67\x4b\x07\xaf\xae\xb6\x54\x4f\x52\xfd\x8d\xca\xb1\x58\xf6\x42\x89\xca\xeb\x2f\xae\xa2\xd6\xfa\x17\x15\x72\x6b\x57\xd6\x6a\xf4\xd2\x3e\xd3\x62\xaf\x3b\xeb\x6a\xe5\x35\x7c\xbd\x6b\x96\x28\x41\x23\xf9\xb2\x50\x4f\x22\x67\x8a\xa6\x04\xd9\xce\xec\xe1\xdc\x21\xfc\xd3\xa5\x69\xf8\x3d\x5c\xb0\xb5\x52\x0e\x9f\x88\xb2\xc3\xef\x55\xc0\x5e\x05\xdc\x0f\x15\xf0\xbd\x65\xfb\xc7\x24\xab\x77\x58\x99\x18\xbc\x63\xbc\x5e\xb5\x20\x0d\x63\x4f\xb4\x16\xd5\x84\x3c\x91\x04\xa4\x3c\x25\xb0\x56\x1a\xad\xec\x32\x11\x04\x3f\x6a\x81\x2f\xe6\xcf\xa1\xe4\xd2\x80\xdc\x8f\x76\x73\x0b\x77\x09\xe2\xf8\xd3\x1f\x5f\xef\xb2\xd0\xcb\x1d\xbf\x46\x09\xef\x5b\x08\x92\x59\x8a\x11\x18\x24\xd8\xff\x62\x2d\xc1\x2b\x6e\x8b\xe0\x8b\xf7\x70\x51\x84\xc3\xdd\x23\xad\xeb\x36\x54\x82\x1d\x0b\x4d\x89\xc2\x31\x56\x58\x1f\x9a\x19\x51\x47\xe8\x9a\xc1\xb3\x7b\x2c\x1f\x0f\x90\xbb\xf2\x34\x5b\x29\xac\x0c\xaf\x90\x5a\xff\x4e\x0c\xf8\xeb\xf3\xf1\xfe\xfa\xee\xaf\xef\xe6\x95\xe9\xc3\x3c\x5b\x56\x78\x57\x17\xe3\x5a\x3e\xaf\xdd\xdd\x5f\xa6\xc5\xf7\x7b\x85\xbd\xae\x93\x6b\xa7\x17\x9a\xa9\x9c\xd5\xdf\x56\xe6\xff\xfa\xdb\xaa\xbf\xad\xfa\xdb\x6a\x0f\x56\xf8\xcd\x1d\x86\x0d\xdc\xfd\x4d\x3d\x86\xab\xb4\xd3\x8d\x21\xef\x0a\x6d\x74\x1d\xd0\xbb\x5f\xba\x62\xdb\x15\xdf\xd0\xf7\xe1\x23\x0c\x26\xf9\x1a\x69\x6d\x3b\xbd\xcc\x4d\xbe\x48\xaf\x9f\xbe\xe0\x8d\xdf\x23\x10\xee\x14\x81\x70\x3f\xe6\xfa\x22\x29\x70\x6f\x63\x31\x7d\xfb\xb4\xb7\x1e\x6a\xb0\x4f\xec\xea\x13\xbb\xe0\xf7\x1e\x6a\x70\x77\xd4\xfa\xb2\xd2\x35\x8f\xc9\xb8\x12\x25\xe0\xff\x39\xae\x7a\x7e\x4a\x4f\x42\x37\x50\xe9\x41\x91\xe9\x06\xad\xd3\x78\x97\x45\xa4\xae\x78\x4c\x3a\x47\x12\x94\x5e\xde\x73\x19\xdc\xcd\xd3\xc8\xe2\xa5\x81\xbf\xb0\x24\xde\xb2\xe5\x5f\xa2\x61\xa7\x81\x80\x7b\x2b\xcf\xca\x85\xfa\x52\xe3\x0b\x0a\x0e\xf5\x8e\x3c\x15\xdd\xd8\xb8\x8b\x69\x1c\xb7\x30\xf3\xe6\xe7\x9e\xa5\x37\x3f\x7e\x19\xcc\xa0\xee\x1c\x1d\xcc\x2a\xe1\xdb\xef\xc3\xae\x12\x8e\xf8\x35\x2c\x2b\x4b\xf7\xfe\x8b\xe3\xea\xcb\x28\xb9\xe7\xed\x1d\x97\xeb\x4b\xe5\xf0\x3d\xc4\xcf\x32\x5b\x47\x8f\xa1\xd3\x9b\x5a\xf6\x67\xc2\xbd\xa9\xe5\x5d\x9b\x5a\x8c\x8b\x76\x9c\x61\x41\x98\x6a\x10\xa9\xab\xd7\x09\xbc\x1e\x62\x2e\x38\xa9\x03\x1a\x40\x5a\xa2\x45\xf6\x42\xf6\x57\xd5\x97\x65\x7b\xb1\x82\x41\x90\x09\x79\xfc\xcf\xe2\x6f\x2f\xac\x97\x2a\x40\x2c\x89\x4e\x32\x58\xff\x52\xdf\xd1\xb9\x0d\x54\xda\x3e\x57\x12\xab\x92\x28\x08\x41\xd4\x2b\xe3\x99\x6e\xcc\xdb\xef\x2b\x45\xb2\x36\xe8\xd7\x8d\x6d\xaa\x6f\x7c\xb7\x03\xe4\x76\x86\x9a\x74\xbf\x20\xa7\x4c\x4b\xa3\x7c\x5a\x5c\x0c\x12\x3d\xd3\x24\x01\x44\x11\xc8\x78\x6c\xbb\x01\x7e\x73\x11\x0f\xad\x3b\xff\xa6\x71\x0f\x4d\xdc\xa1\x89\x25\x74\xb1\xa7\xee\x2a\x67\xda\x11\x1b\xa4\xb3\x82\x36\xb4\xc2\x00\xfb\x65\x70\x82\x4f\x44\xbd\x16\x1b\xd8\xf4\xec\x2f\x3d\xf7\x82\x4c\x89\x20\x2c\x22\x7b\xe8\x6d\x5f\x27\x0c\xe4\x27\x33\x49\x1b\x03\xe2\xa1\x04\xc2\xa9\x2a\x6e\xf5\xb4\x92\xa8\xdb\x67\x92\xf7\x99\xe4\x7d\x26\x79\xf5\xa8\xf7\x99\xe4\x7d\x26\x79\x63\x0e\x44\x4c\x12\xa2\x48\xab\x54\x71\x06\x8f\xdf\x4a\xaa\x30\xbd\x7f\x19\x82\x85\x99\x4b\x2f\x5b\xfc\x66\x34\x0b\xb7\xe1\x7b\xa1\x59\x98\xb3\xb6\xca\xfc\x50\xfa\xb1\x21\xc4\xfa\xd5\x4d\x12\x9b\x30\x8d\x92\x5d\xe2\x0c\x5e\x7f\x97\xac\xa3\x3a\xf4\xde\x46\x81\x82\xad\x7b\x39\x4e\x52\x3b\x02\xdd\x26\x6e\x3d\x86\xef\x77\xde\xfb\xc2\x41\xdb\xe8\x7e\x5f\xf9\xe8\xc6\x49\x29\xfb\x62\xb1\xf9\x82\x78\x64\x6f\xbd\x79\xe3\x5c\x89\x1a\x33\x7c\xb7\xd3\xed\x8d\x55\xbd\xb1\xaa\x37\x56\xf5\xc6\xaa\xde\x58\x85\x7a\x63\xd5\xda\xc6\xaa\x2f\x48\xa6\xea\x0d\x57\xbd\x58\xb5\xbb\xe9\xee\xab\x96\xb9\x4f\xd6\xba\xce\x28\xe9\x45\x0e\xd5\xca\xc8\x7b\x3b\xed\x5f\x56\x84\xdc\xdf\xb8\x11\xbc\x1f\x7e\x25\x5f\x9a\x25\x6d\x13\x58\xec\x76\xf4\x8b\x8d\x2b\xee\x4b\x87\x36\xae\x55\x1f\xf6\xbc\x64\x71\xfa\xb0\xe7\x3e\xec\x79\xef\xc2\x9e\x77\xae\xac\x64\x5c\x2e\x03\x24\x32\xa5\xb3\x96\xe6\x3f\xbb\x3b\x1b\x12\x8d\x80\x14\x0c\xca\x71\x4c\xb2\x84\x2f\xc0\x92\xb2\xe4\x3a\x77\x5d\xdc\xd4\x24\xea\x7d\xbf\xd1\xdd\xc8\x5f\x4b\xe7\xd8\x17\x99\xb4\x98\xf7\x5e\x48\xa1\xc7\xff\xac\xa4\xf3\x77\xc2\xcb\x64\x88\x7c\xa6\x12\x6e\xa5\xd5\x84\x3d\x62\xcd\x4f\x82\xd2\x85\xf6\x1e\x9c\xe4\x2a\xc8\xdd\x93\x5a\xb0\xca\x88\x50\x8b\xe0\x4d\x92\x66\x6a\xf1\x5f\x23\x46\x95\xf7\xb0\xd1\x19\xe3\xc2\x70\x35\xfd\xf1\x1c\xb3\x38\x21\x42\x5f\xaa\xae\x9d\x08\x33\xc6\x15\x88\x1b\x30\x83\x18\x3d\x51\x6c\x84\x93\xc1\xcd\x79\x67\x3f\xf3\x3b\x3a\x5d\xaf\x5d\xac\x6e\xc5\x5d\xf7\x29\xe1\x13\xa8\x60\x99\x97\x75\x7a\xdd\x40\xef\x19\x2d\xed\xdc\x5b\x31\x04\x85\xe5\x63\x15\x38\xa4\x9c\x85\x3e\x5e\x0a\x25\xb2\xe2\xdd\x12\xc6\xfc\xf2\x57\x2b\x70\x23\xe5\x67\x16\x80\x04\x1e\xc3\x90\xab\xe3\x70\x3f\x86\x1d\xba\xdf\x8a\x96\xdd\x2f\xae\x74\x37\xfc\x28\x88\x12\x8b\x31\x56\x4a\x33\x99\x5d\x62\x9c\xdc\x63\xf9\xd8\x19\xe3\xa4\xf4\xf2\x9e\xb3\x9c\x12\xc6\x49\x79\xe0\x2f\xce\x72\x3a\x52\xe7\x0a\xce\xf4\xfe\xf2\xe3\xbb\x9e\xb5\x35\x26\xfe\x5b\xc9\x95\xef\xc6\x7b\x56\x99\x69\xdf\x63\xde\xfc\x32\x66\xba\x37\x23\xac\xf0\xf3\x2f\xf1\xe4\x96\x6f\xa7\xfe\x88\x2e\x5b\xa3\x2f\xae\x10\x6e\x45\xe8\x58\x31\xb7\x77\x52\x10\xb7\x2a\x37\xed\x7a\x54\x2f\x63\xe6\x0e\x76\x63\x9d\x18\xa0\xf3\x32\x5a\xb9\x3f\x43\x2e\x2a\xa8\x28\x3d\x3b\x87\x44\x6b\x2a\xc3\x84\xf8\x88\x0b\x23\x79\xc5\xf6\xcc\x1a\xb3\x9d\x01\xf3\x3d\x41\x03\x14\xdb\xda\xfc\x82\x64\x82\x48\xc2\x94\x51\xb5\x4d\xbd\x2b\x57\xde\x9f\x32\x6b\x21\x3a\xc3\x0a\x9f\x62\x85\x13\x3e\x3b\x42\x03\x5f\xd8\x9f\x4a\x84\x13\xc9\x11\x76\x84\x43\x62\xd7\x04\x66\xb1\x63\x0f\x18\x45\x3c\xcd\x68\xe2\x91\xda\xbd\x15\x9f\xb2\x98\x3e\xd1\x38\xc7\x89\x47\xc6\x1e\xb1\xe1\x13\x61\x2a\x07\x15\x0e\x27\x09\xb2\xdd\xba\x17\x02\xfd\xdc\x8d\x52\xd2\x94\x26\x58\x20\xc5\xed\x68\xaf\x6d\x5b\xe8\x7e\x4e\xfc\x58\x1d\x0a\x38\x4a\xf1\x23\x91\x88\x2a\x94\x71\x29\xe9\x24\x29\x8e\xf1\xc3\x39\x82\x71\x9f\x5e\x9c\x83\x69\x34\x52\x88\x1b\x3e\xe8\x3a\xb7\x7e\x02\xd7\x63\x8a\x19\x23\xd0\x31\x57\x73\x22\x6c\xf7\xf6\xe5\xb7\xb6\x72\xbe\x35\x46\x74\xbb\xc5\x34\x1c\xd9\xdb\x29\x9d\x9d\x35\xce\xae\xea\x66\x37\x5d\xb3\x5d\xd1\x7c\x01\x2f\x6d\x77\x6d\xf0\x82\xca\xb2\x3a\xf8\x2e\x5c\xb6\xa5\x11\xbf\x06\x3e\xda\x6f\x54\x11\xec\xb5\xc0\x17\x59\xb7\x2f\x55\x05\xdc\x73\xfd\xaf\x47\x76\xeb\x51\xec\xfb\x00\x8c\x1d\x2e\x4e\x1f\x80\xd1\x07\x60\x7c\xb1\x01\x18\xed\xda\x04\x8d\xb7\x4e\xd7\x5b\xb3\x82\x94\x37\x0a\x88\x5f\x40\x94\xc2\xf2\xb1\x6b\x4d\x29\x2d\x2a\x9f\xc7\xef\x42\xaa\x6f\x9c\xf0\x6b\x48\xf7\x7d\x9d\xa2\x9d\xd6\x29\xda\xbb\x69\xf7\x82\x5f\x2f\xf8\xf5\xb2\x4d\xc7\x09\xf7\xb2\xcd\xfe\xca\x36\x6f\xa5\xb0\x7c\x49\x10\xba\x5a\x78\x2a\x65\xc6\x2c\x0d\xb0\x35\x70\x34\xe0\x1e\xc8\xb3\x84\xe3\x78\x55\x10\xce\x2f\xa8\x90\x6b\x96\x88\x66\xa6\x5d\xfd\xc1\x9e\x4b\x66\xb5\xf8\x1b\x33\xf2\xdf\x42\x4c\x6d\xeb\xd4\xdf\x34\xac\x16\xe8\x17\x82\xc9\x4a\x41\x69\x2f\xa5\x85\x54\x69\xba\x93\xc2\x21\xff\xb8\xe7\x54\xed\xb7\xf4\x35\xd4\x8b\x2f\xd8\x41\xd0\x3b\x01\x7e\x9b\x85\xcf\xf7\x46\x6a\xed\x55\xbb\x3e\xab\xb2\x37\xea\xf7\x8a\x6f\xaf\xf8\xee\x7c\x19\xf7\x49\xf1\x7d\x43\x89\xda\xa4\x89\xbc\x48\x19\xc3\xcd\x64\xeb\x5e\xb4\xee\x45\xeb\x5e\xb4\xfe\x62\x45\xeb\xfd\x58\xe1\x5e\xae\xee\xe5\xea\x5e\xae\xee\xe5\xea\x5e\xae\xde\xf9\x32\xf6\x72\x75\x45\xae\x86\xbf\x5c\x9a\xf4\xba\x42\x76\x67\xe1\xba\x43\x4e\xf4\x7b\x91\xac\x7b\xa9\xba\x97\xaa\xf7\x5b\xaa\xde\x9b\x09\x7d\x79\x89\x90\x7d\x2a\x61\x9f\x4a\xd8\xa7\x12\xbe\x45\x2a\xa1\xe3\x25\xcb\x24\x94\xba\x60\xf1\x63\x8d\x03\xed\xad\x6c\x51\x8c\x76\xd3\xf0\x8e\x5d\x2d\xb5\x03\x9a\xdf\xa4\xd2\x54\xe9\x37\xd7\xd0\x1e\xd5\x9f\x3a\x70\xd2\x82\x66\x14\x6e\x7c\xab\x11\xc2\x7e\xb2\x6f\xbe\x2f\x30\xf0\xfa\xa8\xfb\xfa\x53\x28\xd8\xb5\xbe\xfe\xd4\x0b\xce\xdb\x1d\xae\x15\x33\x77\x34\x6a\x6c\xbc\xef\x74\xda\x6f\x0e\x2e\xd7\x7e\xd2\xdf\x34\x5c\xae\xf1\x26\xa9\x25\xef\x1c\xff\xb3\xf1\xa2\x78\x83\xb2\x5b\x6b\xdf\x0e\x9f\x88\xfa\x52\xae\x86\xbe\xec\x56\x5f\x1f\x62\x47\xd3\xdd\x88\xf5\xbf\xdb\xd9\xf6\x45\xc6\xfa\x22\x63\x7d\x91\xb1\xbe\xc8\x58\x5f\x64\x0c\xfd\xc6\x8b\x8c\xad\x2d\x3e\x9a\x71\x7c\x29\x12\x64\x5f\x64\xac\x17\x22\x77\x37\xdd\xdf\x96\x10\xb9\x87\x16\x84\xbd\xa8\xa6\xe6\x2d\x08\x6f\x8e\xfb\xe1\x46\xd2\x15\xfb\xc3\x2d\x68\x8f\xff\x61\xff\xaf\xc7\xff\xe8\xf1\x3f\x5a\x66\xdd\x07\xb3\xf6\xf8\x1f\xa8\x0f\xd7\xec\xc3\x35\xf7\x39\x5c\xb3\xc3\x36\xf6\xf8\x1f\x1d\xc5\xb9\x17\xc2\x00\x71\x32\xd7\x5a\x38\x20\x3f\xd5\x15\x8d\xbd\x95\xd2\xdc\x58\x7f\x3b\x38\x20\x8d\xd3\xde\x0b\x95\xe4\x15\x71\x40\x9a\xe8\xba\xb3\x02\xf2\x3e\xf0\x40\xdc\x68\xfb\xc4\xc5\x3e\xc4\x7a\xff\x43\xac\xf7\x2e\x71\x71\x6f\x24\xd9\x5e\xdd\xeb\x73\x17\xfb\xdc\xc5\x5e\x19\xee\x95\xe1\x9d\x2f\xe3\x3e\x29\xc3\x6f\x2c\x61\xbf\x20\x2e\xc8\x76\xb2\x76\x2f\x6a\x9b\xf7\x7a\x51\xbb\x17\xb5\xbf\x50\x51\x7b\x3f\x56\xb8\x97\xb3\x7b\x39\xbb\x97\xb3\x7b\x39\xbb\x97\xb3\x77\xbe\x8c\xbd\x9c\xfd\x6a\x38\x21\x4d\xc2\x76\xc7\x7c\x9b\xf7\x24\x69\xf7\x52\x76\x2f\x65\xef\xb7\x94\xbd\x37\x13\xea\x31\x43\x7a\xcc\x90\x1e\x33\xa4\xc7\x0c\xd9\x48\xbe\xf9\x37\x7b\x2c\x3f\x04\x37\xb1\xbf\xb2\x3f\x7c\x97\xf0\xc9\xfd\x22\x23\xfa\xbf\x67\x34\x25\x4c\x82\x34\x4a\xd5\x22\x94\x67\x5a\x56\xbe\xbe\xe6\x1f\xee\xce\xaf\x3e\x5d\x84\xd9\x34\x1f\x2e\x1f\x2e\xee\xcf\x6f\x06\xb7\x7e\x5d\xfc\xac\xc2\xb5\xb0\xdf\x95\x44\x32\x4b\xf2\xb7\x44\xeb\x9e\x70\x6a\xee\x14\x56\xb9\xdc\x6c\x64\xb7\xc3\xbb\xe1\xed\x8f\x90\x0d\x34\x3e\x3b\xbf\x1b\x7c\x77\x51\x22\x88\xd2\xf3\xc1\xe9\x5f\x1f\xce\x6f\xdb\x9f\x0f\xff\xfb\xfc\xee\xfe\xae\xed\xe9\xed\xf0\x62\x38\xb8\x6b\xff\xfa\xe3\xe0\xfc\xe2\xe1\x76\xb8\x74\x3d\x96\x8e\x76\xb9\x12\x22\x61\x91\x20\xce\x1f\x45\x96\x6b\x88\x62\x0d\x91\x17\x1f\x1d\x3b\x6c\xea\xeb\x04\x3d\x58\x9d\x9e\xda\xc6\x0d\x83\x0d\x1a\x32\xca\x48\x4c\x25\x9e\x24\x24\xae\xb5\xe4\xd6\xb0\xad\x25\x5c\x1a\xd4\xb3\xd6\x9e\xbd\xc8\xa9\x79\x5e\x64\x78\x01\x82\x1c\x45\x45\x58\xdc\xd0\x87\xd9\x87\xd6\x1e\x98\xe6\x5d\xf4\x89\x94\x7a\x8a\x72\x21\x08\x53\xc9\x02\x91\xcf\x54\x2a\x59\x6b\xd4\x6d\x5f\x5b\xb3\xf6\x4e\xf5\x0d\xce\xb1\x44\x13\x42\x58\x79\xfc\x82\x24\x04\xcb\x86\x31\xdb\xdd\xef\xb6\x2c\x7e\xaf\xac\x35\xc6\x5c\x46\x53\x4c\x93\x5c\x90\xca\x69\xe1\x69\x86\x05\x95\x9c\x0d\x3f\xeb\xbb\x4c\x1f\xe4\x6b\xf8\x9c\x8b\xcd\x4e\xcc\xf0\xaf\x21\x05\x5f\x95\xff\xf9\xe9\xbe\xfc\xaf\xd2\x99\xbf\xb8\x2f\xff\x6b\x39\xad\x07\x0d\x57\x29\xfb\x10\x7d\xba\x3f\x41\x9f\x20\xc4\x49\xa0\xfb\x39\x36\x14\x7b\x71\x7f\x82\x2e\x88\x94\xf0\x4b\xf1\xb1\xa2\x2a\x81\xb9\x7d\x47\x19\x16\x0b\xe4\xa6\x6f\x12\x5d\x71\x34\x47\xc4\x2f\x4d\x75\xf1\xd8\xdf\x73\x06\xaa\x7b\xb1\x7a\x17\x7c\x46\x23\x9c\x6c\xb7\x88\x83\xab\x12\x1f\xb8\xbe\x5d\xba\x14\xe1\xdb\xf5\xb5\x18\x5c\x9d\x41\x12\xa9\x1b\x6a\xc3\xcc\xaf\x88\xd4\x44\x12\x71\x16\x5b\x2f\x8d\xbe\xfd\x17\x81\x50\xff\x77\x0e\x89\xb8\xb9\xa4\x6c\xa6\x5b\x44\xc7\xe8\xfa\x76\xc4\xae\x45\x6c\x0c\xa1\x44\x4b\xc3\x86\xe6\xa8\x44\x8c\x2b\x44\xd3\x8c\x0b\x85\x99\xd2\x8a\x00\x88\x01\x76\x45\x0c\x07\x38\xe5\x69\x9a\x2b\xac\x0f\x5a\x6d\x51\x99\x31\x87\xdc\x11\x75\x1e\x83\x6b\xa5\x61\x0d\x8d\x9c\x50\xcc\x25\x13\xba\x7d\x2d\xa3\x94\x75\x68\x1a\xd7\x54\x59\xd7\x04\x16\x02\x97\xa5\x89\x0f\x54\x91\xb4\xfa\x7e\xc7\x20\xcf\x7f\x35\x1a\x08\x4e\x4d\x52\x05\x11\x03\x11\xcd\xa9\x22\x91\xd2\x47\x70\x23\x9a\x78\xb8\xfa\xe1\xea\xfa\xa7\x50\x82\xf8\x30\xb8\x3c\xfb\xf3\x7f\x94\x7e\xb8\xbd\xac\xfd\x30\xfe\xf1\xcf\xb5\x5f\xfe\x7f\x4b\xe9\xa9\xda\x53\x4d\xcf\x0f\xe6\x72\x08\x22\x35\xd8\x84\xdd\x54\x11\x4d\xf1\x8c\x20\x99\x67\x9a\x02\xe4\x51\x79\x7f\xb5\x48\x79\xc1\x71\x4c\xd9\xcc\x64\x80\x5e\x50\x45\x04\x4e\x2e\x71\xf6\xd1\xd9\xaf\x37\x58\x9d\xff\x7b\x57\xca\xd7\xfd\xf0\xf3\xe0\x32\xcc\xf8\xfd\x70\x73\x7b\x7d\x7f\xbd\x74\xd6\xa5\x16\xea\xc7\x48\x3f\x3e\x81\xff\x45\xc7\x48\xb7\xee\x25\xdf\x94\x28\xac\x35\x02\xf4\xb5\x49\x9a\xf3\x89\x34\x94\x25\x70\x6a\x32\x41\x53\x0a\x57\x8a\xb1\xe0\x7d\x63\x84\x6b\xaf\x3d\xf8\x73\x63\x3e\x00\x6d\xd9\x5d\xca\x2c\xc6\x22\x46\x7f\x97\xd5\xf4\x71\x30\x1c\x9b\x1f\x48\x8c\x0e\xd1\x5c\xa9\x4c\x9e\x1c\x1f\x3f\x3f\x3f\x1f\xe9\xb7\x8f\xb8\x98\x1d\xeb\x3f\x0e\x09\x3b\x9a\xab\x34\x31\xe9\xf2\x7a\x15\x4e\xd0\x8d\xe0\xfa\x0a\x01\x05\x9d\x08\x8a\x13\xfa\x2b\x89\xd1\xc4\xf0\x3f\x3e\x45\xbf\x44\x5c\x90\xa3\x62\x63\xac\x51\xc9\xde\x23\xd6\xf0\x74\xac\x5f\x6a\x60\x26\xd5\xfd\x44\x31\x89\x68\x6c\xc5\x0c\xc2\x22\x0e\x96\x47\xe3\xab\xd0\xed\xb9\x4c\x43\xad\xd1\x64\xb9\x2a\x96\x33\x50\x56\x70\x4c\x82\x6c\x77\xc5\xcb\x04\xa7\x15\x9f\x73\xa3\xb6\xe6\x5a\x45\xd7\x77\x2b\x86\x5b\xd5\xbd\x9a\xe9\x09\x47\x3c\x41\x93\x7c\x3a\x25\x22\x74\x48\x1f\x68\x6d\x86\x4a\x24\x48\xc4\xd3\x14\x24\x06\xfd\x55\x2e\x0d\x55\xc3\x8a\xd9\xd1\x1e\x8d\x18\xec\xbf\x56\x73\x80\x02\x62\x0e\xac\x8e\x11\x12\x23\xcc\x16\xa6\x9b\x49\x3e\x0d\xdb\x37\x30\x14\x38\x46\x54\x8d\xd8\x20\x49\x90\x20\x29\x57\x24\xc8\xa1\x04\xe7\x59\x79\xc1\x81\x45\x0a\x92\x25\x38\x22\xb1\xa1\x87\x84\x47\x38\x41\x53\x9a\x10\xb9\x90\x8a\xa4\x61\x03\x5f\x83\xad\x46\xaf\x19\x95\x28\xe6\xcf\x2c\xe1\xd8\xce\xa3\xfa\xd9\x37\xe5\xd3\x38\x74\x10\x01\x43\x21\xb8\x80\xff\xf9\x81\xb2\x78\x67\x1c\xea\xe1\x6e\x78\x1b\xfe\xfb\xee\xe7\xbb\xfb\xe1\xe5\x7a\xdc\xc7\x53\x16\x0c\x0f\x74\xf8\x13\x74\x67\x16\x81\x0b\x2d\x11\x89\x96\x49\x5d\x5a\x52\x2a\x7e\xe0\xf1\x86\xdc\xf7\x72\x70\xf5\x30\x28\x71\x94\xbb\xd3\xef\x87\x67\x0f\x15\x7d\xc0\xce\xaf\x24\xc3\x1b\xf5\x2f\xfc\xed\xf4\xfb\xf3\x8b\xb3\x71\x83\xc2\xf8\xe1\x76\x78\x7a\xfd\xe3\xf0\xb6\xd0\xed\x1a\x97\xa8\x32\x98\x2a\xb3\xba\x37\x4c\x69\xce\x63\x34\x59\x34\x03\x42\x68\xc9\x39\x01\x5f\x6c\x01\x89\x62\x5a\x3d\x01\xde\xe4\xb0\x39\x8a\x2f\x52\x1e\x93\x03\xfb\x0e\x20\x69\x18\xe3\x8a\x91\x98\x9b\x1b\xd6\xbd\x63\x16\x18\x2a\x0c\xc8\x85\x5f\xb8\x13\x34\x40\x52\xbf\x98\xeb\x43\x2d\xe8\x6c\x06\x86\xc3\xca\x50\x4d\x6b\xf6\x53\x58\x5e\xf8\xce\xec\x7f\x26\x38\x9c\x73\xdd\xad\xb5\x38\x7b\xab\x84\xf9\x10\x50\x57\xca\x2d\x0a\x0c\x06\x87\x86\xa1\xb9\xcd\xd2\x8b\xd0\xba\x5e\xe6\x3c\x1a\x7b\x91\x3e\x5c\xc0\xb6\xa4\xb1\x77\x66\x82\x3c\x51\x9e\x07\x9f\x5a\x60\x8f\xd2\x8e\x37\x36\x5f\x2c\x00\x2c\x9b\x31\x8a\x54\x9a\xf1\xe4\xd1\xd8\x82\x66\x61\x4f\xd0\xc2\x54\xf0\xb4\xa1\x8d\xf2\x31\x39\xbf\xbe\x53\x02\x2b\x32\x5b\x9c\x59\x96\xb1\xf9\xf1\x38\xbb\xfe\xe9\xea\xe2\x7a\x70\x36\x1e\x0e\x3e\x95\x4f\xbc\x7f\x72\x77\x7f\x3b\x1c\x5c\x96\x1f\x8d\xaf\xae\xef\xc7\xee\x8d\xa5\x24\xdf\xd2\x41\xfd\x9e\x2e\xbf\x78\x82\x34\xcb\x05\xd6\xe8\x00\xef\x02\xfe\x38\x21\x53\x2e\x0c\x9f\x4f\x5d\xe8\x82\x15\x61\xdc\xda\x5a\x5d\xac\x32\x8b\x13\xb0\x8c\x35\x35\x69\xac\xde\x4a\x10\x9c\xc2\x3d\x81\x19\x1a\xb2\xf8\xf0\x7a\x7a\x78\x67\x7e\x4c\xb1\x78\x24\xc2\x7f\xfa\x2c\xa8\x52\x84\x95\x54\x3a\xec\x86\xec\x95\xc4\xa2\x83\x23\x74\xab\xf9\xbe\x7e\xdf\x5f\x6a\x9a\xd8\x63\xa2\x30\x4d\xa4\x1d\x6c\x69\x5d\x4f\xd0\x05\x16\xb3\xc2\x0e\xf7\x35\x9f\x4e\x4d\x63\xdf\x98\x61\xe8\x3b\xac\x34\x8b\x06\xde\xab\x49\xc3\xdd\x8b\xd0\x9f\x7d\xd9\xcb\xc3\x75\xaa\x7a\xc8\xb6\xa3\xa9\x87\x1b\x58\x71\xa3\xb1\x97\x74\x43\xfb\xa4\x81\xd6\x60\xe2\xe6\xf1\xf2\x4b\xa6\xb9\xed\x3a\x39\x95\x5f\x6c\x20\x27\x93\x4b\xa5\x77\x7e\xaa\xb5\xcd\x06\x5a\x22\x9f\xa9\x35\x18\x84\xe3\xae\x90\x50\xd1\x0c\x98\x57\x71\x96\x11\x2c\x64\xd3\x6e\x97\xc5\xc0\x96\xbd\x37\x3d\x85\x7d\xd8\x4d\x76\xfd\x1c\x20\xce\xc0\xe0\xe0\x85\x88\x0a\x45\x76\xa0\x01\xd3\x56\x8d\x02\x6e\x00\x6d\xe9\xda\x22\x1b\x5d\x52\xa9\x95\x46\xf3\xe3\x77\x16\x72\x69\x33\x82\xf8\x38\x38\xbf\xa8\x08\x17\xe3\xb3\xe1\xc7\xc1\xc3\xc5\x72\x33\x61\xe9\xbb\xea\x16\xa3\x43\xa4\x9f\x97\xfd\xe6\x74\x6a\xee\x0c\x07\x1c\x65\x54\x5a\xc2\xc0\x68\x65\xa1\x6a\x8c\xbd\x3a\x26\x59\xc2\x17\x29\x61\x60\xe2\x29\xdd\x84\x7a\x3d\xa7\x98\xda\xab\x25\x18\x2c\x58\x71\xac\xd9\x0d\xae\xb1\x43\x87\x56\x45\x62\x7f\xf3\x96\xc1\xaa\x2a\xac\xfb\xc6\x78\xcf\xec\x7f\xee\x14\x56\x1b\x9e\xb1\xc1\xe9\xfd\xf9\x8f\xc3\xb2\x7e\x78\xfa\xfd\xf9\x8f\x4d\x52\xcd\xf8\xd3\xf0\x6a\x78\x3b\xb8\x5f\x21\x9c\x54\x9a\x6c\x12\x4e\xa4\x1e\x70\xd5\x7b\x4a\xa5\x8f\x08\x8a\x0c\xe4\x15\xa2\x4a\xa2\x27\x2a\xe9\x84\x02\x40\x98\xf5\x44\x3e\x9c\x03\x67\x7d\xc2\x09\x8d\xa9\x5a\x38\xf1\xc5\xf4\x5b\xde\x47\xcd\x49\x6d\xfb\xc6\xec\x10\xfa\x27\xc1\xca\x67\x36\xc7\x4d\xfa\x04\x81\x6e\xfb\x04\x4a\x5b\xf0\x19\xd3\x82\x34\x9b\x11\x61\x86\x03\xde\x97\x70\x2c\xc1\x73\x3d\xaa\x50\x58\x29\x56\xcd\x0b\xad\x33\xc2\x88\x00\x10\x38\xdf\x89\x11\xa4\x04\x61\x5f\x69\x99\x2b\x4b\x68\x44\x55\xb2\x40\x11\xd8\xb0\xc0\x9c\x99\x62\x86\x67\x56\x38\x00\x35\xa7\x42\x12\x7f\x35\x28\x6a\xd7\x53\x6b\xda\xbf\xa7\x64\xc3\x63\xf6\x70\x75\x36\xfc\x78\x7e\x55\x26\x81\xef\xcf\x3f\x95\x44\xd8\xcb\xe1\xd9\xf9\x43\xe9\x36\xd7\x92\xec\x72\xb9\xbe\xda\x6c\xc3\x51\xf4\x2f\x9d\xa0\x33\xf3\xe9\x89\x5e\xdc\x06\x88\x38\xaf\xfc\x56\xd6\xe1\xd6\x85\xe4\xb9\x3f\x86\x4c\x89\x46\xbf\x44\x57\x13\x92\xf5\x41\x96\x6c\x48\xcd\xa1\x0a\xb5\xbe\xaf\xaa\x4e\xe5\xea\x94\xdd\x8b\x10\x74\x79\x54\x58\x96\xc2\x18\x06\x30\x1a\xb4\x19\xb1\x1a\xdc\x5a\x05\xc3\xfe\x11\x5c\xd4\x69\x2e\x95\x71\x25\x02\x71\xa2\xc7\xbf\x48\xbd\xa0\xe0\x6a\x3c\x42\x77\x84\x8c\x98\xb3\x1e\xcc\xa8\x9a\xe7\x93\xa3\x88\xa7\xc7\x05\x3e\xe1\x31\xce\x68\x8a\xb5\x24\x4d\xc4\xe2\x78\x92\xf0\xc9\x71\x8a\xa5\x22\xe2\x38\x7b\x9c\x41\x04\x8c\x73\xa7\x1e\xfb\x66\x67\xfc\xdf\x2f\xfe\xf4\xed\xe1\xc5\x5f\xbe\xfd\x50\xb7\x90\xb5\xed\xff\x90\x45\x38\x93\x79\x62\x23\xe6\x44\xb8\x36\xee\xc8\xe7\x64\xd5\x7e\x5f\x95\xb7\x6b\x3b\xfd\xf5\xf4\xe6\xa1\x64\xb1\x2e\xff\xf3\x72\x78\x79\x7d\xfb\x73\x89\x53\xde\x5f\xdf\x0e\x3e\x95\x18\xea\xf0\xe6\xfb\xe1\xe5\xf0\x76\x70\x31\x76\x0f\xb7\xb1\xbd\xfd\xc0\xf8\x33\x2b\x2f\x8d\x74\x1c\xb0\xd6\xd3\x09\xfa\xc8\x05\xfa\xc1\xef\xe4\xe1\x04\x4b\xb8\x62\xdc\x9d\x25\x0f\x50\xc6\x63\x60\xbc\x88\x64\x73\x92\x12\x81\x13\x6b\x33\x90\x8a\x0b\x3c\x33\x37\xbd\x8c\x04\x56\xd1\x1c\xc9\x0c\x47\xe4\x00\x45\x40\x0d\xb3\x03\xd8\x14\x50\xb5\xf8\xac\x6a\xe7\xbb\xcd\x99\xa2\x29\x71\x2a\xb8\xfd\xe7\xbd\xd9\x8c\x0d\x36\xe7\xfa\xfe\xfb\xb2\xb0\xf7\xf1\xe2\xe7\xfb\xe1\xf8\xee\xec\x87\xa5\xeb\x69\x3e\x2b\x8d\xec\x0e\x02\x90\x4e\x79\x92\xa7\x2c\xfc\x7b\xf3\xb1\x9d\x5f\xdd\x0f\x3f\x55\x47\x77\x3d\xb8\x2f\x53\xc6\x6d\x39\xc0\xed\xc3\x77\xd7\xd7\x17\xc3\x92\x4b\xf8\xc3\xd9\xe0\x7e\x78\x7f\x7e\x59\xa2\x9f\xb3\x87\x5b\x83\x46\xb8\x6c\x9a\x6e\x04\x0d\x13\xd5\xd3\x0a\xa7\xb9\x6b\x56\xd8\x89\x13\x0d\x6c\x40\xb9\x39\xcb\x87\x01\xdc\x8e\x09\x07\x03\xab\xce\xa1\x37\xa9\x46\x66\xa4\x8d\xec\x50\x95\xb7\x09\xb5\xb3\xe3\xa5\x1b\xbd\x8c\x2b\xdf\xfb\x21\x18\x28\x50\xa3\x6c\xe3\x24\xe1\xcf\x26\x94\x37\xa5\xfa\x56\xb6\xc0\x68\xfa\x15\x59\x78\x08\x8f\x1a\x38\x5e\x79\x5b\x48\x24\x88\xba\xe4\x39\x53\x9b\x93\xdc\xe0\xaa\xc4\x77\x86\x57\x3f\x8e\x7f\x1c\x94\x29\xf0\xfc\x62\x39\xab\x09\x9b\x68\xb8\x8a\x07\x57\x3f\xfb\x4b\x18\x02\xbe\x0f\xbc\x86\x6a\x64\xd7\x28\xa1\x5a\xec\x8d\xb0\xd6\x5e\x13\x90\x68\x10\xa1\x60\x72\x48\xf5\xe4\x20\xc0\x34\x33\xfe\x24\xc3\x9f\xcc\x20\x4f\xdc\x1f\x95\xf6\x24\xac\x0b\x58\x53\x5d\x3c\x3d\xb4\x63\xb5\x6a\x86\x08\x7b\xa2\x82\x03\x9e\x2d\x7a\xc2\x82\x6a\x69\xdc\xb4\xac\xe7\x7a\x02\xff\xbb\x5e\x9b\x60\x18\xad\x30\xae\x3b\x2e\xd4\x99\x0f\xe4\xdd\xcc\x1a\xd2\x14\xd0\x5a\x0f\x65\x6d\x36\x74\xd4\xbf\x6d\xd8\x9c\x2d\x03\x7e\xcb\x13\xfe\x47\x72\x46\x71\xa2\x19\xc0\xee\xe4\xc5\xc1\xd5\xdd\x79\x59\x7e\x2c\xab\x19\x01\x5f\xde\x58\x5e\x04\x43\xa5\x19\xb9\x53\x26\xee\xfe\x7a\x61\xb4\x0b\x00\x3d\x36\xe7\x36\x50\x2c\x40\x00\x72\x28\x28\x19\x16\xb2\xf2\x85\x44\x00\x84\x56\x04\x5c\xe9\x3b\x0b\xc2\x99\x9e\x38\x8d\x47\x8c\x7c\xce\x08\x93\x10\x1c\x60\xee\xb3\xc2\xd7\x2e\x8f\xd0\xf9\x14\x58\x82\x7e\x9d\xa1\x9c\x59\x07\x98\xbe\x70\xcd\x20\x0f\xb4\x28\x6b\x87\xe0\x35\x44\x30\xbc\x30\xe2\x82\xa5\x8a\xc1\x8f\xd8\x4f\xde\x89\x06\x8f\xa6\x5c\x33\x20\xbd\x8b\xb6\xbd\x13\x84\x99\xa4\x07\x48\x2b\x2c\xd5\x3d\x85\xd4\x01\xad\x50\xda\x10\x2e\xcd\x69\xec\x9f\xaf\x7f\x0d\xd4\xe2\x84\xc3\xcb\xa0\xf9\x2e\xa8\x5c\x05\x2d\xa2\x71\x62\x3c\x26\xe3\xee\x77\x42\xc4\x05\xb1\x7e\x96\xb5\xaf\x81\x55\x8c\xfd\x1e\xcb\xc7\x9a\xef\xe1\x9c\x49\x85\x59\x44\x4e\x13\x2c\x37\x0c\x42\x72\x36\x8e\x83\xb2\xc4\x71\x7b\xfb\x70\x73\x7f\xfe\xdd\x0a\x2e\x5f\xfd\xb8\x1e\x06\x14\x25\xb9\x73\xcf\x4d\x04\xc7\x31\xd2\xec\x73\xc6\x8d\x2b\xd0\x0a\xfe\x05\xf4\xb7\xc9\xeb\xf1\x01\x95\x25\xd8\xf1\x22\x1d\xc1\xda\x39\x42\x57\x02\xb5\x0b\x81\x22\xbd\x12\x28\x30\x79\xb8\xad\x06\xcf\xa2\x29\x48\x62\xad\x5b\x59\x82\xd5\x94\x8b\xd4\x70\xf9\xd2\xa4\x4d\xe3\xcb\x1b\xa5\x4c\x11\x21\xf2\x4c\x51\x87\xe5\x5e\x95\x52\xa1\xc2\x3b\x9f\x5d\x12\x29\xf1\x8c\x6c\xe3\x80\x6e\x52\x1e\xee\x7e\x0c\xff\x09\x0e\xe6\x2e\xb2\x7f\x69\x84\x2e\xf2\xdd\xd1\xd3\x35\xfb\x68\x02\x79\x6e\x78\x42\xa3\x0d\x03\xee\x3e\x0e\xce\x2f\xc6\xe7\x97\x5a\x89\x1f\xdc\x0f\x2f\x4a\xa2\x04\x3c\x1b\x7c\xbc\x1f\xde\x5a\x10\xeb\xc1\x77\x17\xc3\xf1\xd5\xf5\xd9\xf0\x6e\x7c\x7a\x7d\x79\x73\x31\x5c\x11\x99\xd3\xda\x78\xdd\xba\x5a\x7d\xf5\xa4\xf6\x0b\xec\xb0\xe6\x65\xa1\xbd\x0c\xb2\xc6\x30\x4d\xc0\x09\xce\x8d\x33\x1c\x23\xc6\x63\x02\x3f\x4b\x67\x9d\xf1\xc8\xd1\xe8\x5c\x7d\x95\x24\x08\xe7\x8a\xa7\x18\xbc\x36\xc9\x62\xc4\xf0\x44\xb3\x56\x9c\x24\x41\x78\x97\xc8\x19\xd3\x2c\x56\x37\x66\x20\xda\xa3\x84\x68\x76\x9e\x05\xc9\x7e\xd6\x6f\x30\xa5\x0c\x22\x6d\x53\x2c\x1e\x8d\x9b\xa9\xe8\xb2\x38\x14\x12\x61\x39\x62\x7a\x5c\xc4\x1a\x86\xba\xac\xf0\x49\xa7\xb7\x5a\x57\x27\xc5\x8f\x44\xaf\x4a\x9a\x47\x73\x94\x09\x3e\x13\x44\x4a\x6b\x5b\x8e\x30\x33\x01\x08\xf6\x75\x7d\x0d\x8d\x18\xe3\x7a\x29\x9c\x09\x3b\x26\x19\x61\x31\x61\x11\x35\x69\x7d\xe0\xbb\xf7\xa6\xcd\x99\xc0\xd9\x1c\x49\x0e\x4e\x6f\x58\x76\xb0\x5f\x99\x8f\xdc\x4d\x66\x66\x6c\x1e\x87\x16\x68\x91\x6b\x3e\x71\x0d\x72\xa2\x59\x65\xf8\xd8\x5d\x86\xce\xed\x62\xec\x80\x69\x96\x10\x65\xc0\xfa\x61\xc9\x61\x33\xf4\x5a\x97\xf6\x43\x6f\x53\xd3\x26\xe8\x0b\xdb\x8d\x19\x4b\x3b\xa2\xa3\x06\xcb\xb6\x3d\x52\xe8\x7b\xcc\xe2\x44\xb7\xe2\x7c\x18\xe5\xb3\x08\xa9\x28\x03\x4d\x35\xee\x34\x6e\x73\x8b\x46\x38\x97\xdb\x5c\xa3\x95\x5c\x4c\x63\x15\x3c\x2c\x82\x42\x80\xbc\x6d\x22\x26\xac\x6e\xa6\x59\x24\x4e\xb8\x5d\x25\xf3\x7a\x6e\xea\x3f\x21\x18\x4d\xcb\x35\x9b\x09\xca\x22\x9a\xe1\x64\x23\xdd\xaf\x12\x8c\x6f\x63\xdc\xbf\xa6\x53\x4d\x3e\xdf\xd4\xdc\xb6\x8a\x88\x14\x12\x94\xed\x30\xfd\x16\xae\x61\x49\xb2\x59\x0d\x44\x16\xd1\x24\x58\xf0\xdc\xf8\xe3\x60\x5d\x48\xdc\x70\x54\x8f\x9a\xb6\x5b\x9f\x0c\x5c\x0e\x80\xde\x60\xb3\x4d\xe4\x4f\xdb\xfa\x55\x5a\xb1\xbd\x9b\x60\x3c\x9c\xdc\x34\xb7\xd9\xb4\x03\xc1\xc3\x7f\x2d\xa3\x9d\x4b\x9c\x69\x9a\xb1\xb0\xfd\xb8\x98\xa3\x55\x92\x6c\x55\x30\x17\x3f\x13\xf8\xce\x7d\x5e\x48\xf7\xdd\x28\x96\xd0\x06\x40\xd5\x3b\x29\xc5\x10\x04\x39\xe6\x96\xc6\xa7\xb9\x96\x65\x11\x86\x28\x04\xf4\x35\x39\x9a\x1d\x21\x57\x84\xe1\x00\x0d\x6e\x6e\x86\x57\x67\x07\x88\xa8\xe8\x1b\x17\xb3\x68\x03\x96\x46\x4c\x71\x2b\xad\x2c\x5c\x01\x8d\x94\x88\x19\x29\xcd\xd9\x45\x37\x41\xa8\xf2\x8c\x4a\x65\xc3\x67\x35\x5f\x09\x4a\x9d\xd0\xb4\x2a\x66\x1b\x0a\xc9\xd5\x7c\x1b\xd2\xc0\x52\xe6\xa9\xd6\x65\xc7\x14\xa7\x63\xc1\x93\x6d\x98\xc2\x19\x4c\x05\xd4\x65\x9f\x9e\x4f\x71\x8a\x74\xb3\x36\x14\xc4\xbb\x1c\xbd\x48\xa7\x05\x23\xcd\x97\xf5\xbd\x19\xdc\x5b\xce\xfb\x60\xe3\xd1\xa8\x0b\x81\x80\xf4\xfd\x16\x56\x51\x98\x8d\xc7\xd6\x52\x3f\xc6\x51\xa4\x55\xee\x1d\x4f\x2a\xa8\x9f\xe3\x5c\x02\xb6\xa3\x17\x9b\xe6\x2a\x3a\x77\xc3\xcc\x34\x07\x83\x60\x60\x7d\xe5\x4a\x1e\xd1\xa2\xfd\x86\x7e\x27\x8b\x5a\xaf\xae\xc2\xcd\x83\xf4\x26\x15\x73\x09\x4b\x02\x3b\x29\x4d\x85\x1c\x35\x27\x0b\x34\xc7\x4f\xa4\xd4\xa5\x4b\x88\xd1\x0d\x2f\x78\x2e\x9a\x18\xdd\x88\x9d\x91\x4c\x10\x2d\xe9\x57\x1d\x28\x9e\xa6\x6f\xcb\x94\xd8\xd3\x75\x4f\xd7\xef\x9e\xae\x4f\x4d\xa1\xa4\x81\x2f\x8c\xb5\x95\x00\x67\x1a\x1b\x67\x9c\x27\xe3\x0e\x36\x91\xee\x2b\x5e\xf2\x84\x55\xca\x46\x01\x24\x00\xcf\x41\x3e\x2a\x5d\x9b\x5c\xdf\x75\x41\x8a\xad\x1d\xde\x92\x65\x70\x2e\xb3\xa0\x5e\xce\x36\xe7\xbd\xa9\x95\x65\x2d\xa1\x17\x17\x73\x4e\x8d\x7c\xe3\xdd\x65\x61\xfd\xd3\xd2\x61\x72\xa2\x08\x65\xb5\x6a\x6c\x86\x9e\xf5\x02\x1b\xb9\xe3\x1f\x39\x57\x58\x7e\x73\x34\x62\x5a\x88\x7a\x24\x0b\x63\x6e\xd5\x62\xca\xef\xb4\x2c\x7e\x28\x09\x93\x10\xee\xfd\x3b\xe3\x9e\xd3\x24\xee\xcc\xd5\x46\x35\x35\x45\xe0\x20\xe8\xda\xf7\x02\x21\xba\xb6\x51\x2b\x25\x15\x01\xd0\x20\xe7\x9b\xb9\xd8\x67\x66\xf8\x33\xa2\x20\xc5\x5a\x51\x05\x3a\x53\x6c\xaa\xcc\xd5\x86\xbe\xd2\x74\x65\xa8\x42\x70\xf0\x93\xc4\xf9\x76\x8c\x5f\xd6\xdb\x58\xc9\x19\xbd\xb6\x70\x67\x63\xde\x8f\x9d\xdd\x28\x12\xbc\x56\xba\x0d\x4b\x64\x76\x7a\x62\xd8\x81\xf3\x5f\x13\x76\xf4\x4c\x1f\x69\x46\x62\x8a\x21\x02\x5e\xff\xeb\x58\xcf\xeb\xdf\x4f\x6f\xaf\xaf\xc6\x45\x26\xcf\x7f\x8d\xd8\x20\x91\xdc\x67\x29\x20\xc6\x99\x0f\xb7\xcf\x04\x71\x22\xa1\x9d\x0b\x58\x5d\x0b\x33\xe2\x88\xb5\x8d\x20\xe6\x91\x3c\xc2\xcf\xf2\x08\xa7\xf8\x57\xce\xc0\x95\x3e\x80\x3f\x4f\x13\x9e\xc7\x3f\x61\x15\xcd\x8f\xe1\x5c\xab\x63\xf2\x44\x98\x32\x6e\x2a\xbd\x5c\x31\x24\xef\x4a\x88\xd6\xff\x77\x3d\xe6\x22\xa9\x48\x6a\x4d\x36\x22\x99\x42\xff\x8f\x20\x13\xce\x55\xf3\x25\xc5\xa7\x53\x49\xd6\xba\x90\x0a\x25\xed\xee\x1a\xfd\xe5\xcf\xdf\xfe\x41\x93\xd0\x26\x6b\x7c\x7e\x77\x3d\xd6\xdf\xff\xfb\x99\xfd\x5e\xae\xc1\xee\xae\xb3\x82\xb5\x39\xe2\x31\x81\xf3\x39\x83\xdb\x4f\x80\xf3\x02\xd8\x1b\x90\x43\xb1\x8f\x4d\xdc\xed\xac\xd4\xfa\x76\x2a\xdb\x46\x8b\x09\x2a\x76\x30\x47\x74\x88\x18\x47\xa9\x89\x35\xc5\x0c\xfd\xc7\x0f\xdf\x35\x6f\x60\x2e\xe8\x46\x1d\x52\x0b\xd7\x10\x74\x29\xe9\xaf\x44\x22\x4d\x35\x9a\x8a\x79\xaa\xbb\x16\x44\xce\x79\x12\xa3\x67\x02\x6a\x92\x8d\x03\xf5\x5a\xb9\x20\x23\x16\x36\x01\x21\x87\x08\x27\x8a\xcf\x08\xdc\xd5\x4e\x51\x53\x44\x68\x51\xc5\x64\x69\x28\x2e\xc8\x81\x81\xfa\xba\xfb\x93\x8b\xad\x86\x69\xc2\x23\x97\xd4\x62\x4d\x72\xf1\xa4\x79\xe6\xd3\xaa\xe9\x15\xb5\xdb\xf0\xab\x9b\x6c\xcd\xb6\xcd\x4b\x63\x93\x50\xac\x0d\xab\xba\x33\xcd\x83\xa1\x11\x67\xe3\x84\xb2\xc7\x8d\x36\xe3\xda\x89\x72\xba\x05\xbb\x66\xba\x45\x6f\xe7\x36\x16\x90\x35\xce\xc7\xc7\x3c\x49\x4c\x6a\x4b\xb8\x3d\x20\x77\x99\x75\x03\x61\x20\x33\x39\xa0\x24\xb6\x7e\x2f\xab\x09\x0b\xc2\x20\xe0\x6d\xc4\x26\x0b\xeb\xb3\x95\x07\x48\xe6\xd1\xdc\x65\xe6\x45\x9c\x49\x2d\x46\x73\x81\x22\x9e\xa6\xa6\xb8\x29\x23\x48\x71\x9e\x48\x1b\xed\xce\x0e\x15\x8e\xd4\x88\x15\xfd\xad\x38\x79\xa6\x02\xd2\x76\xa9\x7b\xdd\x5d\x3a\x45\xa5\xa5\xa5\x02\x37\x8d\x43\xcc\x06\x30\x82\x19\x4f\x54\x80\xfe\xc0\xeb\x67\xc9\x6c\x58\x8b\x66\x20\xe7\x5c\xa8\x71\xdc\xc8\x73\x56\x12\x4d\x95\x11\x32\x72\x98\x40\xd0\x30\x7f\xd2\xc2\x3f\x79\xf6\xc6\xd7\x65\x43\xd0\x54\xbd\x6c\x04\xdd\x8e\xd1\xd2\x91\xad\x4b\x82\x2d\x6b\x65\x10\x3c\xa2\x72\x4c\xf8\xaa\x31\xde\xc1\x57\xa7\xfa\xa3\xa5\x8b\x57\x3d\x77\x4e\x08\xe2\x71\x01\x36\x67\xee\x75\x9b\x11\xb2\x6c\x4d\x2d\x74\xc2\xcb\x65\x8e\x2e\x9b\xca\x43\xd9\x92\xab\xc7\x02\x26\x7b\x49\x40\xd6\xc4\x62\x42\x95\xc0\xa2\x84\x14\xe2\xf5\x41\x49\xb0\x80\xf8\xac\x11\x33\xb8\x71\x46\x53\x88\x51\x4c\x25\x24\x88\xc0\x5d\x1a\x38\xc3\x50\x37\x25\xb0\x72\xb4\x8b\x3c\x47\x13\x7f\x0e\x81\x65\x05\x69\x38\x66\xa7\x3b\xf2\xf8\x58\x5a\x3f\xe3\x51\x5e\x08\x72\x11\x48\xb8\x16\x53\x07\x51\x26\xe9\x6c\xae\x10\x65\xd6\xee\x88\x93\x19\x17\x54\xcd\x53\x79\x80\x26\xb9\xd4\x5a\xa8\x09\x56\x33\xf1\x28\x44\x45\x9d\xb8\xd0\xb6\x49\xc4\x71\xa5\xc1\xba\x8a\xb2\x01\x69\x74\x3b\x94\xc3\xca\x5d\xb1\x82\x70\x06\x1e\x67\xb0\xda\x06\x85\xba\x8d\x06\x9e\x12\x99\x38\x40\xee\x90\x9d\xa0\x0a\x48\xdb\x39\x00\x54\xc8\x9d\x79\x29\x5e\xa3\x10\x17\x32\xc9\xa0\x82\xb8\xd8\x6d\x90\xbc\xca\xc8\x94\x06\xbd\xc9\x3b\x9d\xd2\x4c\x35\x06\x6e\xd5\x5d\x45\xb7\x01\xe6\x4f\xb7\xc5\x86\x64\x2c\xa0\x66\x40\x6a\x1b\xb1\x3b\x42\xda\x81\xdc\x6a\x7b\x6f\x4a\xe3\xc2\x14\x6c\xa2\xc7\x72\x92\xdf\xc6\x89\x7d\x36\xbc\x3b\xbd\x3d\xbf\x31\x90\x13\xd7\xb7\x97\x83\xfb\x71\x83\x5f\xbb\xe1\xad\xcb\xc1\xed\x0f\x67\xab\x5f\xfb\xfe\xbe\x9c\x95\xdd\xf0\xca\xed\xdd\xf2\x64\x8e\x0e\x43\x6c\x48\x0a\x6b\xec\xe7\x04\x65\x0b\x35\xe7\xcc\x87\x28\xc4\x25\xde\x74\x88\x4c\x46\xb0\x82\x10\x22\x21\x55\x83\xe3\xf0\x1e\xe2\x72\x56\x4b\x98\xe5\xcd\x32\x30\x6c\x3b\x15\x8d\xd6\x38\x91\x9f\x12\x3e\x01\xbf\x75\x5e\x2a\x71\xbb\x24\x02\x7d\xcb\x78\x9f\x33\x2a\xb3\x04\x2f\x6a\x3d\xac\xba\x72\xae\x70\x4a\x20\xe2\xb8\xc0\x8f\x73\xc9\x22\x7a\x67\x20\x81\xc9\xdf\xeb\x74\x0a\x99\x4c\x8a\x62\x45\xd0\x84\xa8\x67\xc8\x9b\x73\xbf\x7a\x5b\xaa\x0b\x18\x91\x47\x23\x06\xe6\x9c\x91\x5e\xe4\x38\x87\x68\xbf\xd1\x87\x03\x34\xfa\x10\x93\x27\x92\xf0\x4c\xef\xbc\xfe\xa1\xe5\x92\x19\xa6\x98\x26\x57\x5c\x79\xcb\xdc\x36\xfb\x29\x48\x44\x33\x90\xcc\xc7\x44\xb7\xfb\x7a\x82\x47\x89\x92\x1d\x3b\x83\x31\x20\x1c\xc7\x5a\xc9\x06\x56\xe6\x86\x57\x84\x00\xb1\x60\xea\xa5\x5a\x99\xeb\x88\x14\xde\xfc\x6d\x7a\x0c\xdb\x2c\x9b\x3d\x1b\x77\x80\x3d\xbd\xa0\x4b\x76\xdb\x8b\x5c\x6b\x25\x3f\x90\x05\xa4\x60\xdc\x60\x2a\x36\x74\xcd\x36\xc5\xbc\xbe\x88\x93\x76\xd8\xd0\xd1\x1e\xb9\x6b\x9b\xd7\x61\x3b\xc7\xad\x8f\xd5\x7b\x2d\x2d\xd5\xc5\x72\xf9\x8e\x3b\xaa\xad\x0f\x6d\x4a\x6a\x6b\x08\x03\xaa\x2a\x5e\x19\x89\xd6\xd0\xb8\xfc\x00\xef\xf4\x77\x2b\x35\x15\x2f\xae\x45\x61\x4d\x7f\xd8\x05\x9b\x1c\x5f\xcd\xc7\x27\x2b\x47\x1c\x25\x5c\x96\xb1\x72\x3a\x0f\xfa\xd4\x7e\xba\x6c\xdc\xc3\x90\x7c\xb5\x5c\xb8\x56\x40\x43\xc3\xc2\x57\xc0\x20\xcd\x3d\xa3\xac\x87\xcc\xbe\x7d\x80\x28\x44\x5b\x82\x42\x96\x14\xc8\x01\x2c\x46\x85\x1b\x64\xc4\x8a\x98\x15\x89\x9e\x49\x02\x61\x6e\x11\x4f\x33\x30\xf1\xdb\xe1\xda\x96\x48\x6c\x22\x86\x0f\x10\xcf\x95\x6e\xcc\xe4\xe4\x38\x23\xae\x4d\xf8\x29\xdc\x1e\xc6\xf7\x66\x83\xdf\x3d\xb0\xb4\xa1\x75\x73\x97\x52\x86\x3e\x11\x05\xad\x00\x70\x7f\x38\x41\xd0\x13\xaa\x21\x94\xcd\x6b\xbf\xc5\x89\xb2\x33\x59\x63\xe7\x0b\xe0\x94\xef\x12\x3e\x59\x6e\x24\x80\xc6\xd1\xc3\xed\xb9\xb3\x48\x16\xf1\x53\x01\x7a\x71\xc9\xa3\x38\xbc\xb9\x1d\x9e\x0e\xee\x87\x67\x47\xe8\x41\x12\xbd\x3c\x7e\xba\x90\x5f\xed\x55\x12\x33\x72\x8b\xc4\xc2\xa4\x22\xb8\xcd\x10\x42\x84\x28\x65\x41\xaf\x60\x1c\x65\x98\x96\xe5\x84\x0d\x20\x29\xd4\x1a\xea\x00\x58\xa8\x3a\x4f\x1b\x99\xb7\xea\x04\x42\x9c\xd4\xf8\xfd\x44\xa9\x99\xf1\xa6\xf5\xc8\xbc\x55\xe4\x53\x8e\xe8\x7b\xe9\xc9\xc0\xd1\x52\x73\x42\x05\xea\x34\x2d\x43\x54\xe3\xee\x73\x0a\x42\xdc\x2f\x71\xb6\x3c\xfd\x14\x3f\x97\x88\xd6\x88\xc2\x81\xef\xfe\xa5\xcf\x81\x63\x6b\x63\xc3\x0a\xb7\x9f\x60\xe1\xd0\x32\xbc\xd5\xf3\x4d\x93\xf1\x21\x9d\x91\x2c\x9c\x58\x65\x10\x36\x8e\x55\x22\x38\x3b\xf0\x0b\x65\xa8\x74\x25\x1e\xa0\x29\xfd\x6c\x1b\x2d\xe2\xdb\xdd\xab\x41\xc0\x43\x4b\x3c\xe5\x1c\xd7\xcf\xd4\x1a\x62\xc3\x0d\x7c\xbf\x54\x88\xe4\x52\x8b\x44\x91\x16\x97\x04\x89\xb8\xd0\x37\x05\x74\x5b\x78\x21\x56\x89\x0c\x0a\x0b\xbd\x28\x75\xaf\xcc\xb2\xd3\x5f\xd4\x20\x89\xb1\x22\x87\x5a\xf4\x5a\x91\x00\x6d\x73\x64\x20\x9b\x06\xab\x00\x0e\xac\xb8\x79\x26\x64\x86\x99\x0b\xcd\x6e\x19\xae\xbb\xf2\xb6\x60\x55\x5a\x05\xc2\x90\x1e\x06\xf2\x15\xa4\xfe\x94\xc6\x21\x33\x58\xcf\xa5\xe3\xb0\xd1\x2f\xfb\xb0\x6c\xcf\xd8\x07\xe3\xb4\x0c\x36\xcf\xe2\x7d\x1a\x6c\x82\xa5\x42\x76\x4c\x6d\xa6\x88\x40\x45\x7c\x59\x23\x6c\x49\xb7\xef\xaa\xbc\x69\x12\x2a\x6b\xb1\x04\x3c\x23\xd2\xe1\xa6\x18\x94\x18\xad\xd3\x38\x41\xd8\x94\x62\xf6\x67\xdb\xd6\x64\x76\xb7\x44\xc8\x4c\x20\x48\xbf\xde\xf4\x11\x1a\xb0\x1a\x5e\x96\x8b\xcb\x2a\xad\x97\xb9\x93\x70\xf2\x8c\x17\x12\x65\xc2\x40\xcb\x98\xc8\x7d\x37\x79\xd0\xc0\xca\x1f\xf9\x50\x08\xe5\x52\x27\x10\xd8\x62\x56\x07\xcd\x39\xb9\x77\xfc\x02\xae\xbc\x4a\x54\xb9\x17\xc8\x8b\xe6\x0a\x5b\x45\x07\x56\xa7\xc8\x38\x9a\x63\x36\x23\x63\x67\x64\xdd\x44\x5b\xd2\xed\x9c\x42\x33\x67\xb6\x95\xe6\xcb\xe9\xc6\x28\x4c\xb6\xfe\x8b\x79\xd5\x1b\x10\xf5\x21\x90\x0a\xcf\x08\x32\x23\xea\x64\x96\x2e\x45\x8c\x59\xb0\x61\xd0\x13\x6c\xab\xc3\x72\x14\x7d\x9b\xf0\x0e\xa1\x4f\x17\x78\x42\x92\xb7\x89\x9c\x80\xae\xad\x71\x1e\xbc\x75\x26\x1b\x80\xa0\x67\xb0\xe7\x57\x58\x86\xb5\xde\x8b\xbc\x29\x37\x60\xd9\x3c\x4b\xd5\xcf\xb7\x98\xa8\xab\x15\xb2\xc9\x54\xdb\x2a\x88\x84\xd7\x5e\x50\x69\xa3\xc9\xc0\x16\x5e\x7f\x55\x9b\xf2\x66\x03\x09\x0a\x7e\xb4\x8c\x63\xeb\x8a\x1f\x2b\xa7\xb2\x31\xc8\x40\xc7\x2a\x78\xe7\x53\xc4\x38\x23\x88\xca\xe2\x65\x55\x4e\x87\xf2\x10\x3d\x5a\xc4\x37\xc6\x17\x5f\xa5\xcb\x17\x5f\x7a\x69\x4b\x4b\x01\x9e\xe0\x6d\x03\x2e\xbf\x9b\x11\xad\xa8\x62\xb1\x00\x88\x4f\xc3\x87\xcb\x32\xdd\xca\x71\xee\x5c\xe0\xbe\x77\x08\xae\x41\xa4\xae\xe2\x08\xc4\xc8\xca\xe0\x90\xc1\x41\xb5\x2f\xd9\x8f\x2c\x4c\xcd\x88\x79\xcb\x06\x10\x22\x95\x28\xc5\x19\xf8\xf4\x18\x57\xc5\x57\x06\x76\x49\xf9\x2d\x3c\x70\x82\xb8\x34\x35\xb4\x5a\x56\x60\x95\x69\xc7\x5d\xbf\xc5\xba\x96\xe1\x2d\x1d\x34\xef\x8c\x3e\x11\xe6\x68\xfa\xc0\x9d\x09\x3d\x28\xd7\x69\xb2\x38\xc4\x10\x66\x4c\xe2\xd0\xf3\xb1\x9c\x23\x19\x83\xcc\x3e\xd8\x23\xbb\x2f\xd9\x7d\x63\x18\x8d\x01\x49\x2b\xa1\xdb\xbb\xc0\xf0\x90\x4a\x2d\x6e\xaf\xc9\x04\xc7\x12\xfd\x8e\x71\xf5\xbb\x00\xd9\xd8\x19\x2f\xe0\x53\x67\x82\x3a\xa8\x95\x6c\x81\x43\x6b\x09\x07\xe1\x00\x61\x6b\xe5\xca\x6f\x1b\x1b\x50\x04\xbe\xbf\xa8\x34\x3a\xac\x67\xc1\xb5\xd5\xbc\xea\x3d\xf6\xa8\x7a\x2d\x54\x0d\x9e\xa6\xac\x5e\x71\xd2\x4b\x86\x4e\xb9\xca\x45\xef\xf7\xa2\x93\x6b\xbe\x86\x08\xb0\x0d\xb5\xa5\x9d\x23\xa7\x56\x80\x20\x37\xdb\x25\x36\xc9\xf3\x6c\x93\xcb\x45\x39\x74\xcd\x96\xc1\x68\x41\xf9\x3d\x1a\xb1\x8f\x5c\xd8\x2b\x58\xda\x3a\x03\x13\x1c\x3d\x1e\x12\x16\x23\x9c\xab\xb9\x41\xdb\xb5\x7e\x85\x85\xa5\x06\x2d\x69\x00\xd9\x78\x28\x0d\x2a\x23\x2c\x62\x57\xf1\xe2\x89\xbb\x51\x8c\x58\xd0\x08\x54\x32\x80\x42\x4f\x50\xaa\xb6\x4d\xd5\x24\x52\xeb\x57\x6d\x6b\xd1\x54\x84\xb5\x56\x82\x75\xf9\x39\x2b\x15\x95\x85\x1a\x0c\x10\xe0\xc4\xa7\xf5\xd5\x39\x77\xd6\x46\xa7\xdf\x69\x7a\xae\x7b\x21\x0e\xac\x46\x61\x4c\x52\x76\x06\x5a\xd2\xf9\xd6\xf1\xda\x12\x6a\xf0\x34\x17\x10\xae\xdb\xd4\xe6\xd7\xd1\x9c\x26\x85\xef\xe2\x9b\x03\x3f\x4c\xdd\x64\x42\x9e\x48\x62\x30\xeb\x23\x01\x91\xf9\xc6\x6a\xf8\x2d\xfa\x3f\xa6\x30\x29\xfa\xc3\x88\x7d\x02\x36\x9c\x24\x0b\x40\xd4\xf4\x2d\x63\x55\x69\xe6\xb1\x71\x00\xca\xa6\x02\xa1\xf2\x40\xcc\x5e\xcf\xf1\x13\x19\x31\xd7\xcc\xff\x41\x8f\xe8\xf7\xe8\x0f\x6d\xea\x9d\x0b\xb0\x7f\x61\x3b\xc7\xc7\x20\x7c\x3d\xb8\xe5\x2c\xa3\xb4\xfc\xc6\x99\x41\x4a\x46\xc8\x06\x64\x0d\x0f\x8c\x4d\xd9\x13\x8f\x6a\x59\x1c\xe1\xa9\xc5\x82\x30\x35\x66\x3c\x26\x63\xd2\xe0\xd2\x5c\xc2\x24\xb4\x10\x70\xc5\x63\xb2\xd2\x21\xe9\x99\xe9\x4f\x60\xba\x91\xf9\xc4\x6f\x07\x24\xf8\xfb\x6c\x6e\x6f\x7d\x28\x53\x5a\xf3\xc8\x3d\xfa\xec\x26\xe3\xde\xd4\x99\xea\xc2\x44\x0f\xe0\x42\xb0\x03\x68\x76\xe8\x25\x58\x39\xf7\x7a\xf5\x38\x56\x1d\x01\xfa\x65\x3d\x73\x7b\x59\x05\xb8\xba\x50\xfb\x44\xd0\x19\xd5\xf2\x7b\x77\x87\x2d\x70\xc2\x4d\xbc\x19\x06\x64\xb4\x93\x3b\xa3\x58\x0a\x07\xb4\x72\xe8\xe9\xaf\x70\x42\x4e\x78\x5e\x15\xe0\xed\x02\x50\x19\xba\xfb\xad\xac\xbe\xd0\x7c\x78\x66\x32\x00\xc9\x9c\x9a\x9c\xfb\xc1\xe9\x05\xd2\xa7\x83\xa7\x06\x98\x0a\x16\x2d\x57\x73\x2e\xe8\xaf\xad\x19\x4a\xed\x32\x7a\xe1\x69\x2d\x12\xba\xcc\x38\xcb\xd2\x3a\x10\xab\x11\x29\x54\x49\x2b\x69\xd2\x99\xd0\x24\x07\x0c\x56\xcd\x66\xa7\x79\x62\x0a\x37\x44\x5c\xc4\xa6\x72\xba\x2c\xa5\x8f\x41\x18\xae\x13\xef\xb1\xf2\x0d\x52\x0b\x55\x69\x4b\x43\x18\x0b\xce\x52\x01\xf4\xaf\x39\xc9\x77\x94\x81\xf7\xa6\x31\xcb\xf7\x78\x26\x8b\x20\x64\xb3\x36\x9a\x37\x17\xeb\xfb\x0f\x3d\x53\x19\xe4\xac\x3a\xcb\xa2\x87\x80\x32\x2a\xb9\x29\x0c\xba\x96\x45\xe7\xd6\x40\xdf\xef\xc0\xa4\xf3\x1a\xf1\x1c\x75\x19\xa9\x81\xfd\x58\xf2\x7b\xf2\x19\x9c\x55\x16\xf1\x42\x76\x12\x57\x43\xa0\x22\x7d\xbc\xa0\xc9\x64\x03\x26\x57\x17\xaa\x97\x46\x45\x17\x06\x14\xcf\xd6\x1a\x92\xa9\x15\x87\xb4\x8b\x67\x41\x01\x21\x6e\x51\xbc\xec\x6b\xe0\xba\xeb\x22\xe4\x31\x5a\x4a\x31\x62\x2d\xc4\x75\xb8\x25\x5c\x34\xf3\xf8\x35\x0c\x10\xb6\xa1\x72\xd7\x75\xbf\x7d\xdb\x89\x30\x2c\x69\x5f\x8f\x44\x1d\x1e\x66\xe5\x61\xf0\x95\x40\xde\xc6\x80\xe8\x45\x9b\xd7\x3b\x19\x9e\x1c\xc7\x11\x8e\xe6\xad\x93\x9a\x70\x9e\x10\xcc\xda\xa4\xd7\xc6\xc7\xd5\x23\x62\xc0\x4d\x81\x75\x27\x09\x20\xfc\xba\x25\xb0\x55\x21\x0b\xf1\x9d\xc5\x80\xcc\x6e\x78\xb8\x89\x0d\x74\x03\x55\x84\x39\xcb\x0f\x65\xb3\x84\x54\xd7\xca\x42\xe8\x1f\xd8\x4e\x92\x28\x4f\x82\xb2\x90\x19\x11\x7a\xd4\x7a\x89\x9f\x08\xd3\x3a\x83\x1d\x87\x73\x66\x3c\xbb\x84\x68\x5f\x0c\xea\xc0\x77\xed\xfc\x69\x90\x75\x18\x8f\x18\x1c\x5c\x5e\x3e\xac\x9a\x56\xa5\x56\x33\x42\xbb\xd4\xc6\xa7\x33\x10\x22\xd6\x3e\x9e\x77\x65\x33\xf1\xda\x67\xd2\xf4\x3d\x86\x18\x83\xad\x5d\x6b\x81\xfb\xa5\x80\x6a\x30\x1b\xeb\xe0\xb8\x5e\xc9\x88\x0c\x51\x1b\xe5\xb0\xd3\x20\x68\xa3\x0d\x0e\xea\x45\xef\x92\xa2\xfc\x85\xbb\x0d\x3a\x0e\x65\xa9\xab\xba\xa3\xe3\x19\xac\x93\xcb\xce\xed\x85\x0d\xd9\x2e\xbb\x6c\x7d\x7e\x4f\x11\xe6\x68\x0b\xbc\x2a\x81\x01\x9d\x00\x72\xca\x7f\x32\x1a\x36\x95\xc6\x02\xe6\xca\x5c\xa4\x99\x5a\xd8\xaa\x68\x70\x2f\x86\x39\xbd\x06\xf1\xad\xc9\x3d\x5c\xbd\x23\xe3\x92\x83\xb8\xa9\x33\xe8\xc8\x9a\x15\x1a\x9b\x74\x0b\x1d\x22\x88\x54\x10\x1b\xda\xa2\x41\x4c\x81\xd9\x31\x4e\x5a\x6d\x59\x3b\x60\x9a\x90\x66\x5b\xa0\x34\x58\xf0\x57\x25\x72\xa2\x79\x17\x4e\x92\xca\xbc\x30\xa4\x43\x2b\x5f\x64\x6e\x52\x54\xc2\xed\xee\xac\x4e\xf0\x84\xac\xe5\x9e\xbe\x30\x1f\x2c\xa5\x22\x78\x05\x22\xbb\xb3\x2c\x59\x74\x8b\x28\x0f\x43\xef\x1a\x41\xd2\x56\x0d\x2c\x84\x56\x5b\x7a\x37\x95\xe1\xc9\x36\x1b\xa2\x24\x51\x2e\xa8\x5a\x8c\xad\xd1\xaf\x3b\xd3\xba\xb3\x5f\x9e\xda\x0f\xbb\x68\xd4\x27\xc8\xf5\xe7\x8c\x8c\x70\x4f\x09\x6a\x2a\xe8\xd8\x29\x74\xd9\x6e\xad\x25\x37\x82\x27\x2d\x5b\x58\x87\xde\xd4\x6d\xa8\xba\x8b\x4d\x87\x67\x2b\x73\x8c\xf9\xd4\xe1\x22\x75\x5f\xd8\x6a\xc9\x92\x35\xac\xa5\x0e\x7e\x39\x13\x94\x0b\x5b\x19\xa4\x4b\x50\x5b\x8a\x3f\x8f\x33\x2c\x70\x92\x90\x84\xca\x74\x73\xdb\xee\x9f\xfe\xb8\x74\xb4\xa7\xa6\x82\x8d\xb4\xf5\xa0\x3e\xd3\x34\x4f\x11\xcb\xd3\x89\x95\x72\xb1\x7c\x0c\xc1\x2f\x5d\xaa\xbe\xc1\x70\x72\x03\x2c\x01\x06\x88\x00\xce\x74\xc4\x02\x60\x6b\x6b\xaa\xc0\xd1\x9c\x92\x27\x80\xdd\x14\x8c\x48\x79\x84\xae\xb8\x22\x27\xe8\x12\x67\xf7\x20\xa8\x99\x92\x92\x33\x63\x1d\xc7\x12\x69\xa9\x35\x67\x54\x1d\x8c\x98\x45\xc3\x76\xab\x72\x1c\x71\x66\x10\x51\x23\x58\x58\xdf\x04\x98\x7b\x1d\x34\xa8\x72\x89\x8d\x54\xb6\x2c\xb6\xc0\xcf\xe3\x20\x7a\x75\x6c\xb2\x03\xd6\xa0\xe3\x5b\xfc\x6c\xe2\xb5\xcf\xb0\xc2\xa6\x5a\xec\x32\xc9\xdd\x06\x44\xd9\x0a\x42\x06\x08\xd8\x05\x8e\x70\x8b\x46\xe1\x6b\x9f\x99\xe8\xd4\xaf\xe9\x11\x39\x42\xdf\x25\x7c\x22\x0f\x90\xf4\xa0\xd9\xf0\x50\x12\x25\x0f\x8c\x83\x0a\xfe\x6d\x52\xc1\xbe\x71\xab\x5f\xf0\x7d\x28\xfb\x37\xa5\x9f\x0d\x08\x86\xfc\xd3\xc9\xf1\x71\xba\x38\x9c\xe4\xd1\x23\x51\xfa\x2f\x90\x29\x1a\x57\xc8\x21\x48\xe1\x26\x3c\xaa\x55\xab\x53\xc7\xb2\xea\x44\x91\x36\xad\x46\x12\xc0\x4d\xd7\x57\xba\x2f\xac\xea\xa0\x8f\x38\x6b\xae\x1a\x69\xa7\x2c\xf2\xb6\xe3\x55\x02\x5c\x7e\x1d\x6d\xc5\x14\x8e\x0d\x71\x9e\xa7\x09\x9e\x55\x54\x96\x35\x94\x94\xeb\x94\x5a\x2a\xd2\x73\x87\x78\x0b\x7d\xca\xca\x51\x66\x5f\x39\x77\x24\xb8\x15\xad\xbb\xe5\x68\xc4\x06\x12\x3d\x13\x53\x0f\x16\x72\x12\xc1\x3b\x91\x53\x39\xf7\x19\x89\x60\x2f\x85\x46\x0d\x1c\xae\x41\x4d\xb0\x8a\xa3\xd3\xac\x9c\xff\xc6\x6a\xa0\x38\x91\xe4\x40\x37\x0c\x90\x68\x2e\x90\x10\x3d\x0b\x9c\x65\x44\x8c\x98\x85\x36\x05\x00\x6f\xce\x6d\x90\x48\x5b\x34\x79\xaf\x51\xbe\xae\x46\x19\x26\x7d\x94\x13\x16\x57\x9d\x6f\xc8\x6f\x5c\x9a\xea\xb1\x24\x37\x50\xcb\xa2\x5d\x23\xbd\xdf\xde\x6c\xdc\x71\xcc\xab\xb4\xf3\x41\x25\x4c\x1f\xca\x4d\xa7\xa0\x40\xca\xa2\xaa\xa6\xb3\xf5\x79\xf5\xbd\x24\xe6\x00\x32\x36\x7c\x1c\x73\x22\x03\x23\x3e\xf2\xb6\xb8\x84\x4e\x89\x96\x3e\x46\x4c\x93\x71\xe8\x70\x30\x00\xdb\x0e\x6f\x5b\x77\x1a\x09\x2e\xa5\x8d\xbc\x37\xed\x2c\xcf\x9f\xda\xa2\x96\x9f\x41\x09\x3f\xbf\xbe\x1a\xd7\xab\xfa\x05\xcf\x5c\x7d\x3f\xfb\xb0\x31\xc9\xbe\xb5\xa9\x95\xd5\xfc\x8a\xb5\x58\xa3\x9e\xdf\xf1\xe9\xc5\xb9\x2f\x62\x55\xe9\xba\x5e\xd0\x2f\x44\x56\x6f\x2f\xe9\x57\x9f\x71\x50\xdc\xaf\xd2\xc4\x92\xf2\x7e\xab\x37\xab\x1c\xef\xbb\x0d\x6c\x5e\x65\xeb\x57\xf2\x87\x32\xcd\xac\x0a\x4b\xdf\xd1\x36\xb5\x5c\x2b\x11\x08\x8c\x2f\xed\x61\x07\xc1\x4b\xbf\x25\x15\x4e\xb3\x30\xe5\xd2\xe1\x86\xda\x69\x9a\xa3\xd6\x76\x09\xbe\x2a\x9e\x79\x84\x4d\x34\x4b\x75\x70\xb5\xad\x58\xcf\xe3\x75\x6f\x61\xd2\x77\x11\xc6\xfc\x7a\x39\xcc\xc9\xa2\x88\xda\x93\x56\x76\x73\x25\xb8\x5b\xec\xfe\x13\xe2\x21\xe1\x5b\x37\x74\xdb\x24\x45\x0f\x1d\x25\x08\x96\x36\x1c\x03\x72\xf9\x2a\x79\x3e\x6b\x98\x87\xfd\x98\x4d\x36\xf0\xa1\x2f\xc2\x10\x5c\x35\xb6\xae\x58\xe4\x0e\x22\x15\x82\x3c\x11\x01\xb4\x63\x63\x7e\x58\xf9\xa8\xe2\x44\x10\x1c\x2f\x82\x15\xf1\x01\x07\xa6\x67\x30\x8f\x49\x9a\x6a\x05\x1e\x54\x13\xc6\x0f\x79\xe6\x74\x96\xd2\x5b\x50\x41\x83\x4e\xf5\x8d\x15\x84\x2b\xe8\x2f\xd8\x21\xf9\x4c\xa5\xd2\x72\x45\x43\xac\xa6\x6b\x04\x24\x1e\xa8\xab\x35\x27\xf6\x86\x1b\x7d\x18\x7c\x77\x7d\x7b\x3f\x3c\x1b\x7d\x28\xa2\xf3\x5d\xfa\x99\x47\x84\x72\x00\xff\x9c\x8d\x98\x0f\xa8\xf5\x00\xc8\xb0\x97\x08\xc7\x71\x81\x6c\x60\x95\x48\x23\xb3\x2d\xe5\xc8\xc1\xa9\x58\x19\x4a\xbb\xa4\x99\x07\xc8\x41\xda\xd7\x93\xb5\xc4\x75\x56\x3a\x39\x26\x93\x6a\x49\xca\xcb\x8e\x2e\x9b\x10\xbb\x55\x19\x5d\x9b\x28\x07\x2e\xc8\xc8\xb3\xd3\x95\xe0\x76\x3e\xc6\xe6\x12\xde\x07\x51\xb4\x88\x5d\x37\x1a\xe3\xea\x15\xec\xc0\x98\x1d\xed\x6c\x40\x7f\x1f\xe9\x67\x12\xdf\xb6\x08\x80\x3b\x49\xbe\xe9\x14\xb4\xd8\xb8\x33\x39\xa3\xeb\x18\x27\xfc\x54\x1e\xf4\x77\xdd\x39\xe8\x75\x81\x1e\x57\x20\xc1\x02\x0c\xac\x42\x18\x45\x44\x28\x4c\x19\x9a\x02\x0f\x62\xd1\x02\x01\xb6\x08\x01\x77\xfb\x1f\x51\x4a\x19\x80\x1c\x2c\x5b\xda\x87\xf2\x3c\xd6\x90\xaf\x2f\xcf\xaf\x1e\xee\x4b\x52\xf5\xf7\xd7\x0f\xe5\xfa\xf3\x83\x9f\x97\x8a\xd5\x95\x16\x96\xc5\x35\x05\x53\x2c\x12\x26\x2d\x20\xae\x5f\x99\xc6\x89\x26\x0b\x45\x1e\x6e\x2f\xb6\x12\x45\x9b\xfd\x7a\xad\x70\xe6\xa1\x20\xd8\x0c\xde\xd0\xe5\xd3\x98\x44\xab\x00\x57\xbb\xd3\x91\x09\xd8\xd2\xeb\x60\x0d\x9f\x16\x8c\x0d\x4b\x94\x61\x61\x5d\x66\xb1\x89\xd5\x2a\x17\x31\x33\x4a\xe2\x32\xb0\x8b\x4f\x44\xfd\xa8\x6f\x69\xce\x76\x91\xb0\x61\xa5\x6e\x70\xe5\x92\xf1\x93\x69\x78\x8d\x93\x66\x87\xb2\x24\x2b\xc7\xc9\xf5\xd0\x03\xb2\x3d\x84\x10\x11\x47\xa6\x98\xfd\x40\x37\x07\x2b\xe2\x42\x1f\xb5\xf6\xcc\x99\xa6\x48\x83\xfc\xea\xe0\x62\x83\xe6\xf8\xd4\x7c\xdc\x11\x3c\x2f\x08\xc0\xd7\x6d\x15\x4b\x89\x06\x37\xe7\x0d\x6b\x7d\x51\xf5\x76\x7d\x59\x95\x77\x12\xef\x78\xdb\x35\x9e\x53\x90\x49\xb9\x17\x00\x4e\x76\xa6\xdb\x21\x36\x99\xf8\x84\x9b\x72\xd0\xc3\x3e\x00\x0b\x37\x69\x37\xa5\x0c\xe9\x15\x18\xc2\xeb\x25\x0d\x16\xcb\xb0\x26\x3e\x53\x38\x20\x9b\xb1\x12\x62\x12\xd5\xc3\xa1\x0f\x42\x8c\x22\x6e\x6a\xfb\xda\x30\x88\x9d\xe1\x36\x15\xb3\xe9\x02\xdc\xf4\xa3\xa1\x68\x8f\xeb\x01\x48\x25\xae\x76\xa4\x0b\x63\xb6\x69\xf6\xe1\x74\x43\x6a\x5b\x0f\xeb\xa9\x18\x9f\xb3\xd4\x5b\xd8\x6c\x9c\x61\x6b\x22\x01\x7d\xcf\x15\x75\x68\xaa\x01\x78\x34\x62\x41\x6c\x8d\x34\x1a\x9a\x3e\x23\xae\x8e\x0a\x14\xe7\x65\x80\xc1\x0d\xf9\x44\x5e\xf8\x29\xed\x40\x35\x9b\x5f\xcd\xcb\x95\x50\x6a\xfd\xd8\xd3\x29\xe7\xd8\xe5\x4c\x3a\x63\x8f\x0d\x59\x0c\x4d\x61\xd0\x5e\x50\xfb\xc0\x76\x0c\x96\x73\xb0\xaf\xe0\xa0\xb2\x5e\x90\x67\x1f\x73\x22\xd9\x57\xca\x67\xa5\xd2\xc4\x56\x6f\xc1\x55\x4f\x86\x96\xea\x30\xb5\x2d\x2f\x3f\xe0\x3b\x00\x92\x5a\x57\xc7\x09\x8e\xd5\x4a\x8b\x9a\x73\x47\x03\x25\x84\x61\x53\xd0\x69\x9b\x03\xe0\x73\x46\xa2\x4d\xd0\x6e\x6e\xb0\xc0\x29\x51\x44\x2c\x8b\x9c\x2a\xd7\xbd\x06\x11\xc7\xed\xa0\xed\xd7\xec\xa2\x29\x0a\x52\xad\x1e\xe3\x15\xf1\x8b\x55\xe8\x35\x7e\x16\x6b\x01\x75\xe9\x69\xfc\x68\x9d\x14\x6b\xce\xc2\xf6\x53\x4c\xc3\x06\x86\x05\x60\x45\xdb\xce\xe9\x75\x50\x5b\xee\x6b\xf8\x27\xa5\xc8\xa6\x3d\x81\x6b\x59\x3d\xca\x36\x9c\x96\x55\xbc\x74\x27\xbc\xdb\x25\x63\xb8\x6c\xdf\xca\xa1\x2a\xa5\x79\x00\x95\x80\x4a\x65\x20\x4b\x9a\xb1\x56\x40\x68\x69\x0a\xe6\x0c\x3c\x94\x16\x89\xaf\xb0\x3d\x5b\xc9\xaa\x5a\x07\xab\xb2\x5c\x2b\x78\xdc\xae\x70\x28\x7a\x89\x66\xd7\x12\xcd\x2a\x52\x2e\x05\x02\x6b\xea\x24\xa2\x02\x89\x63\xeb\x53\x5b\x2c\x83\xf2\x04\x21\x4d\xca\x5e\x91\xb6\xc8\x2d\x5c\xfd\x94\xf9\x7f\x95\x39\xb8\x23\xea\x90\x54\x9b\xf2\x3f\x8f\x02\x6f\x19\x38\xcb\x92\x50\x1a\xb0\x21\x40\x30\x5a\x13\xb1\x69\x1c\x12\xe7\x57\xc6\xd7\x06\x79\xd8\x0b\x9e\xa3\x67\x2a\xe7\x48\xf1\x11\x83\x90\x46\xef\xb8\x50\x1c\x99\x17\x0f\xe0\x2d\x40\x6c\x90\xf9\x24\xa5\x0a\xe1\x60\x86\x25\xeb\xe9\x81\x3d\xcf\xfa\x03\x98\x71\x23\x24\x40\x13\x9a\xd0\x8a\x43\xb3\x81\x7d\xad\x68\x64\xdb\xac\xff\x20\xfc\xfa\x65\xf3\xfe\x03\x8d\x27\xd4\x30\x1b\xcf\x5c\x9f\xf8\x8f\x9a\xad\x0d\x16\xdf\x14\x40\x68\xa9\x54\x95\xbb\xc5\x1a\x7a\x56\x24\xfd\x17\x1b\xd1\x29\xeb\xbf\x78\x7d\x17\x69\xff\x6d\x15\xd5\x96\xa5\x81\xba\x4f\x5a\x4c\xf5\x2e\xbd\x58\x71\x17\xe3\x1f\x4a\x4a\x37\xad\x92\xd2\xbe\x01\xb0\x15\xb9\x0b\x9b\x47\xc2\xaf\xa3\x0e\x16\xa9\x64\x21\x15\x05\x99\xa1\x65\xf8\x1a\x52\xe5\xfc\x8c\x2b\x48\xff\x89\xa0\xda\x7c\x2d\x25\x75\xc4\x9a\x25\x90\xe5\x3c\x71\xdb\x6c\x92\x9d\x02\xb5\x05\xe7\xcf\xcd\xc2\x5a\xb4\x7e\xf2\xf1\x78\x46\x59\xb6\x75\xe3\xab\x22\x66\xe1\x8d\x6c\x8b\xa3\xd2\x82\xc7\x26\xb9\xd1\x0d\xa7\xb2\x79\xe8\xb5\x5c\x8f\x95\xe7\xc2\x5e\xba\x3b\x54\xed\x6a\xdc\xb9\x73\x6a\x8c\x97\x91\x2d\x37\xb6\xb1\xdd\xb1\xd7\xe3\x2b\x5e\xe5\x4d\x0a\xe2\x02\x00\xea\xce\x60\x5b\xab\x48\x0a\xba\xf1\x03\xf0\x44\xdb\xb1\x63\x13\x95\xe3\xc1\xc4\x2b\x7b\x52\x9a\xb1\x89\xac\x7c\x91\x59\xaf\x5b\xc5\x38\x70\x8d\x0a\x1b\x9a\x4c\x43\xcb\x01\x94\x2f\xb6\x11\x9d\x15\x4e\xec\x85\xbb\x9c\xc5\x44\x30\x82\xd5\xfc\xf5\x12\x42\x4e\xb7\x35\x4f\x07\xe3\x7b\xd9\xe4\x90\xd3\x9d\x94\xb0\x0f\x87\x5b\x2e\xe7\xbe\x72\x9c\xfa\xf5\x2e\x96\x22\x1b\x27\xe1\x0b\x1a\xd7\x54\xc7\x06\xb3\x61\x80\x97\xb3\x0e\x95\x6e\x95\x33\xd2\xac\xce\xbd\x4c\xf6\x4c\x83\xdd\xa7\x96\x37\xa3\x4f\x7b\x58\x06\x7a\xc5\x92\x7c\x11\x69\x2a\x2f\x9f\x39\xb1\xac\xe0\x74\x1e\x24\x53\x40\xd5\x6f\x85\x29\xb3\xdc\x6b\x59\xfe\x84\x96\x29\x53\xdc\x94\x32\xb1\xf7\xc9\x38\x5f\x7c\x2e\x4e\x9f\x99\xd1\x67\x66\x34\xec\x51\x9f\x99\x81\xd0\xbe\x65\x66\xac\x52\x41\x97\x19\x40\xbd\x4f\x0e\x0a\x83\x96\xaa\xf1\x98\xfd\x5d\xa1\x47\x6e\x9e\x7d\xe0\x6c\x88\x61\x3c\x94\xfd\xc5\xfe\xd0\x18\x12\x55\xfb\xac\x3a\xdb\xd0\x9e\xc9\x16\x55\xb7\x00\x16\x71\x62\x21\xf3\x6c\x6c\x75\xd9\xfe\xb4\xcc\x54\x3a\x62\xdf\xf3\x67\xf2\x44\xc4\x01\xc2\x0a\xa5\x5c\x2a\xe0\xc3\x2e\x3e\x06\x0e\x42\x09\x7d\xdd\xc4\x41\x60\x74\x85\x53\x12\x9b\xe2\x8c\x41\x04\xa6\x35\xd8\x5a\x57\x6b\x13\x32\x2c\x80\x9c\x9a\x6d\x70\x71\x13\x23\x66\xa2\x22\x4d\x78\x1b\xc8\x0a\xd4\x4d\x0c\x08\xe6\x77\xde\x11\xfc\xbb\x23\x74\xaf\xef\x27\x2a\xcb\xe3\x0d\x80\xe2\xda\xc6\x36\x62\x33\xc1\xf3\xcc\xdb\xd0\xf8\xc4\x54\xe9\x35\xd1\x4f\x75\x47\x30\x0c\xc6\x79\x81\x23\x1c\x6b\x5d\x7c\x39\xe1\xbc\x49\xc0\xec\x46\x68\x4b\x21\x01\xe9\x63\xe8\x43\xeb\x6c\x54\xbe\xf1\xdf\x06\x18\x33\xcb\x30\xe3\x5f\xc8\xb9\x7c\x46\x24\x58\x85\xbc\xd5\xbd\x94\xf2\x5e\x86\x55\x68\x1c\xe7\x32\x9b\xa8\xf7\x5b\x38\xdb\x7e\x33\x62\x43\xd1\xb9\x8d\xf9\x32\xf9\xb4\xf6\x9e\x78\x31\x6b\x69\xe7\xe8\xd9\x36\x7e\x71\x93\x8b\x8c\x83\x24\x96\x2c\x1c\xc2\x84\x05\xa5\xcb\x78\x96\x9b\xb8\x36\x1a\x86\x39\x35\x52\x36\x95\xea\x12\xab\x68\xae\x39\x77\x01\xce\xb6\xa3\x78\xbf\x82\x2b\xbf\xac\x05\xb5\x61\x06\xa7\x61\xef\x2d\x2e\x85\x0e\x16\x75\x73\xef\xbb\x4c\x00\x27\x49\xa4\xba\x3f\xe3\x76\xb3\xb5\xb7\x03\xbb\xa8\xfb\xc4\x3e\xd1\x13\x5d\x45\x45\xab\xc6\xdf\x8d\xb6\xca\xc5\xc1\x76\x1e\x49\xb8\x05\xda\xcd\x99\xc5\x16\x2b\x5e\xb4\xc5\x64\x5b\xdc\xff\x82\x6e\x96\xb0\x64\x01\xfd\x9f\xb4\x38\xe2\x2d\xae\x29\xce\xb4\x12\xa1\xb8\xbe\x25\xc5\xcc\xc8\xb1\x26\x4e\x16\x61\x94\x0b\xea\xce\x7e\x25\x7d\xbd\x9d\x3a\xc0\x42\x79\x1c\x16\x7f\x8a\x70\x50\x17\xcf\x38\xfc\x71\xa4\x72\xec\x03\x13\x81\x26\x5c\xbd\x76\x93\xaa\xef\x1c\xeb\xc2\x89\x77\x0d\x7b\xba\x92\xb0\xb7\xd8\x65\xdc\x04\xc5\xd8\xe9\xa4\x51\x36\x0b\x70\x1c\x9b\xad\xc4\x5d\xca\x34\x34\x7e\xd9\xad\xd4\x44\xe3\xa7\x4e\xf6\xd9\xe4\xdb\x25\x38\x53\x1b\xc7\x66\x97\xe2\xdc\x6d\x20\xac\x95\x9e\x42\x84\x4d\x6b\xbf\x03\xa0\x5c\x0a\x8e\x7a\x6c\xa5\xa9\xff\xf2\x7f\x99\xb2\x5e\x66\x69\xfe\x0b\x71\x31\x62\xe6\xf7\x03\x5f\x52\x43\xbf\x50\x60\xd5\xe2\x94\x14\x68\x9e\xa2\x8c\xfb\x07\xe8\x27\x16\xb7\xcd\xe0\x12\xfb\x8a\x02\x7a\x0c\x8f\xf9\x84\x08\x46\xf4\xd0\x1c\x4e\x82\x67\x66\x29\x66\x78\x06\x28\xc8\x07\x10\x19\x07\xe2\x6a\xa1\x8a\x18\x92\x36\xa5\x19\x81\x5b\x69\x66\x69\x53\x83\x8b\x12\xc5\xd0\xa7\x11\x65\x2d\x08\x6b\x11\x5e\xd1\x4c\xfd\xb7\xb6\xff\xcd\x24\xf6\xfb\xc1\xdd\x0f\xe3\xdb\xe1\xdd\xf5\xc3\xed\x69\x49\x6c\x3f\xbd\x78\xb8\xbb\x1f\xde\x36\x3e\x2b\xd2\x6a\xff\xfa\x30\x7c\x68\x79\xe4\x1a\xb8\x18\x7c\x37\x2c\xd5\xfb\xfe\xeb\xc3\xe0\xe2\xfc\xfe\xe7\xf1\xf5\xc7\xf1\xdd\xf0\xf6\xc7\xf3\xd3\xe1\xf8\xee\x66\x78\x7a\xfe\xf1\xfc\x74\xa0\xbf\x0c\xdf\xbd\xb9\x78\xf8\x74\x7e\x35\x76\x61\xc7\xe1\xa3\x9f\xae\x6f\x7f\xf8\x78\x71\xfd\xd3\x38\xe8\xf2\xfa\xea\xe3\xf9\xa7\xa6\x59\x0c\xee\xee\xce\x3f\x5d\x5d\x0e\xaf\x96\xd7\x15\x6f\x5e\x8d\xd6\x92\xc5\xc1\x45\x16\x18\x8d\x02\x31\x69\xb2\xb0\xa4\x4d\x7f\x05\xdf\xc5\x8d\xa1\xc7\xc3\x03\xf7\x97\xa9\x02\x7e\xa8\x59\xa0\xf3\x8b\x15\xdc\x63\xc4\xbc\xe3\xd2\x5f\xaa\x0a\xcf\xa4\xcb\x92\x2e\x8d\xf6\x04\x0d\xe0\xac\x80\xc2\x50\xea\x14\x32\x1b\xfc\x48\x9d\xab\x1b\xe8\x30\xa1\x29\x05\xaf\x37\x3a\x44\xd5\x0d\x2f\x37\x68\xe7\x04\x43\xb0\x7e\xbb\x78\xd9\x69\x90\xd5\x04\x6c\xa0\x94\x13\xe4\x38\x34\x31\xe6\x04\x03\x93\xbb\x60\x38\xa5\x51\x35\x05\x03\x90\x62\x51\x81\x8a\x52\x6d\xb1\x44\x60\xe5\x96\xe7\x04\xfd\xf0\x97\x62\x50\xe0\xc1\xb0\x9a\x77\x5e\x2b\xfe\x67\x1f\x88\xdc\xac\xea\x2a\xf2\x2c\xf5\xe4\x8e\xb9\x35\x2d\xc3\xb9\xb5\x45\xc6\xc1\xdd\x94\xb3\x00\x19\xad\xe4\x7b\xd2\xc7\xdb\xcc\xa8\x42\xe3\x27\xe8\x0e\x50\x59\x64\xa1\xba\xeb\x5d\xcc\x92\x7c\x46\x19\xa2\x69\x96\x90\xa2\x3c\xfd\x84\xcc\xf1\x13\xe5\xae\xd2\x86\x29\x48\x02\xeb\x68\x45\x2b\x74\x88\x5a\x0f\xca\x09\x1a\xc4\xb1\x2c\x33\xb8\x12\xe5\x38\x96\x79\x58\x1e\x76\x08\x66\xc6\x62\xcf\x36\x2b\x74\x54\x1c\x39\x58\xb1\xdd\xe3\xce\xd4\xd9\x61\xf9\xee\xdd\xe2\xfa\xd7\x2b\x38\x76\xa4\x3c\xde\x48\x18\xb8\xc7\xf2\xd1\xb1\xe6\x55\x02\x81\x43\x00\xda\xae\x47\x0b\x05\xd4\xb5\x53\xbf\xb2\x63\x38\x68\x9b\xf5\xd9\x0a\x60\xbd\xa2\x4b\x37\xe3\xa4\x52\x65\xac\x73\x7f\xa5\x2a\x65\x8d\x9d\xed\xd4\xdb\xd3\x2c\x8d\xc1\x91\x1c\x7b\xfa\x5f\x63\x1e\x37\xf0\xe9\xb5\xff\x72\xa9\xc8\x36\x0e\xd6\x6d\x5d\x1f\x50\x2d\x9f\xd8\xfa\x81\x96\xd2\xe1\x8e\x90\xa8\xba\x0b\x83\x50\x23\x82\x46\xe0\xee\xc3\x94\xd9\xca\x41\xc4\xfb\xa3\x5c\xad\x6c\x7d\x8e\x7d\x35\x3b\x3c\xe1\x4f\x25\xe5\x32\x25\x52\xe2\x16\x6c\x95\xc0\x24\xb6\x0d\x63\xf0\x27\xd4\x7e\xd8\x91\x9e\xdc\x99\xbc\xd7\x5f\x2d\x33\xfa\xdc\x86\x9a\xb1\x9b\xa8\x16\x58\x63\x17\x69\x8b\xae\x4d\xbe\x9d\xe6\x2f\x07\x45\x30\x0d\x17\x41\x8c\x51\x9b\xfb\xa7\xa3\x59\xad\xba\x60\x8d\x05\xa1\x42\x17\xde\xfa\x31\x38\x41\xeb\x1b\x83\x77\x5b\xbf\x0a\x2e\xaf\xcf\x1a\x54\x57\xf2\x77\x86\xc5\xb2\x23\x9e\xa6\x46\x2e\x28\xd9\x52\x0f\x10\x36\x69\x8e\x85\x34\x25\xf3\x68\x6e\xbc\x4c\xfa\xca\x38\x18\xb1\xe7\x60\x43\x4a\x81\xc0\x83\xb0\x25\x00\x3e\xfd\xac\x8f\x1b\x7d\x2a\x85\x57\x83\xc8\x48\x21\xd6\x37\x20\x04\xe3\x10\x2c\x2a\x5d\xad\x20\xf0\x60\xbf\xb6\x20\xf5\x0d\xca\x1a\x56\xd6\xb7\xad\xb8\xa1\x9f\x5b\x50\x53\x70\x0b\x4d\xb9\xeb\x10\x82\xb2\x86\x4d\x23\xd8\x41\x55\xc3\x57\x45\x22\xf7\xe9\x9a\x26\xbb\x37\x9d\x58\x38\x0d\x3d\x5d\xb7\xda\xbf\x77\x33\xfa\xbd\xf1\x3b\xe4\x2d\xf8\x2b\x41\x6b\x1e\x8c\x1c\x1d\x6a\x99\xd5\x25\xdb\xdb\x40\x0c\x89\x0e\x0d\xc0\xe1\x57\x10\x69\x39\xb8\x39\xff\xea\x00\x7d\x15\x66\x9b\x7d\xb5\xd1\x01\xb4\xe3\xb6\x95\x0d\x41\x9b\x2a\xa5\x1c\x94\x8f\x1d\xec\x55\xe5\x24\xda\x3d\xb3\x07\x11\xb5\x9d\x43\xfd\x65\xe9\x1b\x70\x4e\x43\xa5\x3e\xe3\xbf\xf5\x01\xcf\xd6\x05\x64\x64\x5c\x2a\x1b\xd6\x2e\x1e\xb1\xc9\xa2\xea\xe4\x39\xf0\x5e\x9e\xce\xa7\x74\xeb\xea\x73\xba\xbd\x7a\x7a\xf2\x8e\x03\x71\x97\xdf\x07\x2b\x12\x9e\x07\x26\xe6\x9a\x4f\x03\x2e\xd6\x16\xa5\xd0\x47\xb0\x37\xcd\xaa\x64\x2f\x73\x8b\xd9\xb8\x29\xab\xe4\x9f\xf7\x46\x6e\x1d\xc2\xbe\x07\x4d\x2b\x62\x23\xfe\x5b\x84\xeb\x9e\xca\x5e\x96\xca\x76\x91\xf1\x50\x1e\xdc\xfa\x17\xe8\xa9\x91\xe3\x82\x66\x9c\xc1\x55\x2b\x13\x9e\xc1\x97\x4a\x14\xae\xae\xed\xbb\xa6\xcf\x37\x58\x93\xd5\x4e\xdf\x3b\x13\x38\x60\xdc\xae\xf5\xb1\x56\x87\x3a\x50\xb6\x5e\x12\xa7\x26\xbb\x51\xd1\x94\x1c\x20\xce\x92\x45\x10\xec\x60\xcf\x2b\x90\x9b\x89\x51\x9a\x13\x2a\x5c\x27\x16\x0e\x71\xad\x74\xf8\x35\xa5\xf1\x36\x1a\xd9\x22\xd2\xe4\x6a\x70\x39\x3c\x1b\x0f\xaf\xee\xcf\xef\x7f\x6e\x80\xba\x2c\x3f\x76\x68\x97\xc1\x0b\x77\x3f\xdf\xdd\x0f\x2f\xc7\x9f\x86\x57\xc3\xdb\xc1\xfd\x0a\x24\xcc\x65\x9d\xb5\xa1\x2c\xe6\xb2\x49\x7d\x5b\x07\x69\xd1\x99\x79\x1b\x7a\xaf\xe3\x61\x06\x9d\x50\xd2\x82\x89\x69\x52\xff\x59\x4c\x04\x8a\xc9\x13\x49\x78\x56\x98\x55\x1b\x17\x2c\x00\xcb\x6c\x68\x7f\x19\x60\x26\xb4\x59\x5d\xe3\x13\x64\xca\xd2\x05\x95\x79\x7d\x83\x20\xf2\x61\x41\xd8\x57\x0a\x91\xcf\x59\x42\x23\xaa\x82\xd4\x40\x2e\xac\x7b\xc5\xb8\x0f\x21\x3a\x75\x05\x71\xed\x2c\x1a\x65\xe7\x3a\x7f\xe8\x49\xaf\x6b\xfb\xfe\x44\x79\xe8\xb1\x95\xb5\x8e\x76\xa0\xd8\xb7\x38\x8d\x6b\xd8\x72\x1b\x8c\xee\x25\xcc\x03\xf5\x1c\x1d\x9b\xde\xd7\x82\x3b\xd7\x3c\xc8\xd5\xb7\xe1\xb2\x38\x99\xd2\xb9\x5e\x1e\x28\xd3\x8d\x52\xdf\x38\xdc\xa5\x54\x03\x74\x07\xc8\x1b\x36\x76\x7d\xcd\x80\x85\x5a\x69\x1b\x66\x62\x4e\x31\x12\x24\xe5\x4a\x2b\x60\x26\x22\xe0\x40\x0b\x55\x14\x27\xf4\x57\xc0\xa8\x12\xe4\x28\x88\xa0\x70\xc8\x5e\x85\xfb\xc0\xe2\x47\x1c\x8d\xd8\xd9\xf0\xe6\x76\x78\xaa\x19\xd2\x11\x7a\x90\x00\x3f\x55\x9a\xfa\x99\x25\x6f\x23\x8e\x85\x91\x0c\x94\x49\x45\x70\x5b\x30\x18\x11\x82\x8b\xee\xfc\xc1\xf7\x37\x84\xef\x9a\xc9\x1b\x9e\x95\x6c\x53\xce\x00\x70\xd5\x5a\xc0\x39\xc8\x19\xd8\x79\x4e\xd6\x2d\x7e\x2e\xad\x48\x08\xbf\x01\x92\x48\x79\xd5\x5f\x70\xb5\x01\x6b\xb4\xfb\xfc\x4a\x7d\xde\xc0\xb7\xcb\xe6\x79\x0f\x21\x76\x52\x15\xc0\xa5\x06\xdb\xd4\x17\xe8\xa9\xcc\xb3\x55\x54\x14\x6f\x01\xd5\x51\x21\xfd\x09\x99\x61\x86\x44\xce\x58\x05\xc9\x36\xb4\xb4\xd5\x83\x66\xd6\x3d\xaa\x7a\xcd\x70\xca\x73\x06\x4a\x03\x84\xb1\x36\x0c\x46\x66\x84\xa9\x15\x83\x79\x2b\x20\x96\xca\x50\xf7\x17\x8b\xa5\x61\xa0\x6d\x70\x2c\x4d\xfe\x24\xa8\x12\xbd\xde\xb5\xec\x82\xf2\x4a\x4e\x25\x7d\xa8\xfc\xfd\xdc\xac\x65\x63\xf9\xb8\x75\x77\xf7\x58\x3e\xae\xee\x2a\x26\xd1\xe3\xba\x97\x4d\x35\x33\x33\xb1\x45\xb6\x6b\xc6\xbe\x85\x7e\x6a\xab\xc8\x40\x6d\xf5\xe8\x11\x7d\x7f\x7f\x79\x81\xa6\x54\xcb\xbd\xfa\x5a\xb9\xc2\x5a\xc6\x7e\x10\x89\xb3\x0b\x5b\xdb\x6a\x2e\x12\x7f\xf7\xc2\xc6\x3b\x51\x2a\x90\x12\xf4\x8d\x86\x67\xc4\x19\x7b\x85\x45\xdb\xab\x54\x91\x11\x98\xc5\x3c\x35\xf3\x38\x96\xf9\x74\x4a\x3f\x1f\x29\x2c\xbe\x69\x59\x0f\x13\x55\x31\xfe\x3b\x9f\x8c\xf5\x88\xb6\xbc\x88\x9b\x9a\x43\xb6\xf6\xb3\x5f\x36\x3b\xb3\x33\xf3\xee\xff\xe5\x13\xc8\x76\xcf\x04\x07\x04\x40\xf0\xce\xd9\x48\x05\xfb\x8a\xa3\xa4\x23\xe4\x12\xa8\x4a\x20\x27\x11\x17\x82\xd8\x24\x79\x53\x06\x35\xc3\x42\x51\xb0\xd6\x3a\x90\x94\x12\x90\x7f\xb1\x45\x61\x75\xf2\x39\x2e\x40\xb3\x27\x84\x80\x83\x27\xa3\xc9\x7a\x4a\xef\x69\xc9\x37\x59\x39\x81\x36\xf2\xd4\xe2\x66\x82\x41\x66\xa5\x88\x35\x7c\x22\x4c\xed\x44\x3f\x81\x26\x1a\xd2\xf6\xbb\x79\x19\x4c\x35\xd2\xf3\xb3\xe2\x72\x73\x21\xbd\x61\x54\x93\x12\x18\xee\x79\x9b\x28\x65\x5d\xea\x6d\x8e\xfe\xa7\xce\xbe\x63\x78\xb5\xbe\x2e\x2b\x42\xe3\xed\x6a\x17\x55\xc9\x8b\xb0\x56\x57\x85\x60\x43\x20\x1f\x49\x8c\x15\x23\x00\x90\xb0\xca\x69\x75\xcf\x4d\x9f\x9a\xb6\x2a\x5d\xae\xdc\xf2\x0d\x50\x6b\x4a\xcd\x7c\x22\x90\xd2\xb9\x8b\x40\xf4\x75\x72\xf7\x61\x20\x0f\x22\x81\x10\xea\xa5\x56\x2c\x53\x11\x5d\x73\x3e\x2f\xd9\xe1\x0e\x32\xba\x19\x8c\x16\x1a\x49\x26\x48\xa4\xaf\xb2\x13\x74\x93\x10\x2d\x79\xe5\x5a\xfa\xca\x93\xc4\x21\x7c\x2d\x97\x0e\xd7\x42\xa5\x7b\xf1\x79\x05\xba\xc7\x92\x89\x39\x84\xbb\xe5\x33\x0b\xd6\x60\xf7\x88\x0b\xc1\xfa\x82\x09\x19\x0c\x89\x65\x2d\x12\x38\xfc\xc2\xc4\xcd\x82\x29\x09\x97\x2e\x32\xfa\xab\x66\xbf\x82\xc8\x39\x6f\x4d\x72\x0c\x67\xfb\x32\x73\x70\x4b\xf9\x82\x93\x70\xf7\x61\x5b\x5c\x75\x07\xb9\xa6\x72\x07\x96\x44\x9c\x65\x53\xf4\x85\x2a\x7c\xf4\x87\xc5\x5b\xb5\x77\xab\x1d\x1a\xdc\x92\x85\xa9\x2d\xc4\x3e\x2b\x5c\x17\x85\x32\xb3\x30\xbe\x57\xff\x79\x61\x40\x2e\x52\x02\xa8\x92\x45\x81\x3c\xa4\xef\xda\xb6\x2d\xd6\xf3\x1c\xe7\x62\x2d\x48\x8a\x02\xb5\x7c\x1d\xce\x6d\x93\x51\x8a\x61\xe9\x45\x68\x66\x97\xb6\xee\x05\x88\xd1\x36\xd4\x48\x96\x90\xe0\x2c\xd9\x98\x65\x6c\x54\xf1\xda\x99\xf2\xb6\x6e\x35\x90\x92\x0b\x51\xe6\xa5\xbc\x6b\x25\x0a\x2c\x4d\xa0\xc7\x16\x5b\x1f\x5b\xcc\x16\x41\xf1\xb4\x07\x48\x80\x4a\x40\xe2\x7f\xe1\x40\xab\x0a\x0e\xd6\xe8\xbd\x2a\xf3\xa9\xb4\x3b\x9d\xd2\x9c\x4a\x5f\x68\x5e\x72\xb6\xa5\x07\x4e\x4f\x66\x31\x86\xc4\xd1\x6d\xa2\x70\x4a\xf3\x37\xde\x03\x68\x93\xc4\xc8\xa0\x17\x18\xe4\x63\xbb\x76\xde\x73\x92\x61\x41\x98\x1a\xb1\x5b\x3d\x0a\xf3\x45\x11\x89\xe1\xe2\x70\x1c\x1a\x3d\x94\xd7\x9d\x22\x6c\xbf\x82\x45\x6f\x0b\x84\x93\x63\xf3\x12\xa8\xa6\x2f\x98\x64\xff\x9d\x79\xc7\x60\x1e\x58\xcc\x1f\x3d\x55\x3a\x2d\xd4\x78\x2d\x40\x46\x73\x0a\x90\x03\x31\x91\xf6\x42\xa2\xca\x62\x4a\x78\xf1\x3b\x27\x0e\x7f\x19\x3e\xf3\xfc\xab\x89\x61\x3b\x43\x01\x73\x06\x3a\x39\x62\x41\x1f\x4b\xe0\x3a\x8d\xb2\xbe\xa1\x2a\x01\xfb\x4c\x63\xef\xf8\x82\x7f\x9a\x1d\xe2\x82\xce\x28\x0b\xea\x3b\xd9\xe9\xa5\x38\x03\xf3\xae\x39\x83\x7c\xea\xef\xb4\x7b\x9b\x65\x70\x04\x23\xfe\x9f\xff\xfe\xdb\x11\x6d\xf3\x7e\xc8\xb1\x5d\x81\x7d\xd8\xc9\xf5\xb6\x25\xdc\xf9\x00\x45\xa4\x05\x9d\x22\xd0\x69\x65\x29\x73\xa2\xf8\xd5\x5e\x6e\x9a\x68\xb8\x9a\x1b\x77\x6f\x99\xdc\xc1\x37\x22\xf2\xe5\x75\x04\x02\x16\x57\x04\x04\x14\x5e\xdf\x20\xe8\xd6\x55\x89\x30\xc1\x92\xba\xfd\xca\x85\x52\x61\x50\x01\x9c\xdf\x36\xc1\x89\x73\x2c\x5f\x2e\x02\xa5\xb1\x10\x93\x31\x1a\x87\x77\xe4\xaa\x58\x14\x33\x48\x93\xd4\xa8\x77\x25\x97\x44\x98\x03\xed\x51\x9f\x2c\xf1\x84\x60\x85\x10\x8a\xb8\xc2\xa5\x46\x52\x4c\xd7\x0a\x9b\xd7\xef\x37\x43\x29\x96\x6c\xea\x78\x46\xc4\x38\xce\x4b\x31\xd2\xab\xda\xbe\xd1\x1f\x9d\xe5\x6a\xb1\xba\x7d\x99\xe0\x7a\x75\x97\x65\xf0\x95\xfa\xfd\x96\x66\x57\x0b\x86\x41\x24\x4b\x59\x38\x6c\x01\x87\x24\x15\x70\x48\x1b\x5a\x59\xb2\x04\xc0\x45\xc3\x14\x20\xc7\x15\x0a\x83\xbd\x89\x0c\x84\x35\x8c\x1c\x4d\xf2\xc2\x72\xe2\x8b\x02\xc4\x47\x23\xf6\xd1\x54\xd5\x00\x65\xc6\x0c\x20\x82\xbc\x16\xf2\x39\xe3\x92\x94\x12\xad\x1a\x80\xfe\x6d\xa2\xa4\x1d\x46\xb3\x4c\x5a\x7c\xb4\xbd\x48\xfa\xe6\x30\x9f\xf5\x0d\xaf\x4f\xb9\x99\x02\xb7\x92\x7a\x22\x9a\x51\x4d\x3b\xe3\xc6\x93\xf6\x0a\xc5\xc8\x4e\x01\xee\x49\x25\x8b\x03\xe4\xa7\x57\x21\x88\x84\x3c\x11\xb0\x1a\xc3\x18\xc3\x72\x0e\x65\xf3\x55\x0b\x3b\x59\x75\x80\x8a\x2c\x47\x60\x0b\x28\xae\x8e\xa0\x9c\x0b\xd6\x44\x8b\xe5\x2c\x97\xad\x13\xb2\x9a\xe2\x2f\xd6\x90\x42\x07\x61\x59\x8b\x05\x51\x88\x7c\x56\xc4\xd6\xe8\xbc\x77\x29\x73\xf5\x28\x7b\xd4\x9c\xf5\xd3\x2e\x22\xbd\x78\xb5\xe4\x81\x4b\x94\x76\x39\x81\xb1\xbb\xf7\x6d\x8e\xdc\x1c\xb3\xd8\x26\x7e\x5a\x59\x5a\xcb\x14\x30\x3b\x63\x5b\xf2\x21\xf1\x36\x7d\x31\xc0\x03\x37\x6d\x1a\xe0\x72\xb8\xc8\x9c\x5e\xa4\x25\x73\x88\x22\xe0\x42\x0b\xa8\x39\x53\x34\xd1\xc4\x61\xc7\xa0\xb5\xe6\x9c\x79\x3c\x3e\x08\xe0\x6e\x83\x7c\xa3\x52\x52\x36\x1b\xdb\x95\x74\x39\x8c\xdd\x2e\x86\x32\x4d\x5d\x9a\xa6\xcc\x8f\xdf\xb9\x86\x96\xdb\x8e\x0d\x59\x03\x1c\x97\xcb\x9e\x04\xc1\x9a\x71\x37\x19\x8b\xa3\xe6\x92\x2e\xc7\x34\x36\x4b\x41\x4d\x29\x68\x98\xe8\x3a\xe6\x65\x10\xeb\xea\x70\x05\xc5\x15\x22\x6d\x46\xa4\xc9\x73\x82\x80\x74\xd5\x92\xf2\x29\x5b\x53\x3d\xcf\x99\x17\xd1\x6c\x75\x27\x9f\xd0\x5e\xc9\x1a\xc5\xae\x3b\x1b\x75\x8f\x93\x64\x82\xa3\x47\xaf\x6c\x78\x95\x9b\x0b\x87\x8e\xaf\x05\x54\x28\xff\x65\x88\x4b\x0f\x34\x02\xe9\x26\x74\x8a\x19\xc0\x1a\x3b\xec\xa2\x73\xb3\x6a\x16\x09\xcc\x20\x14\x99\xd1\x9b\x10\xfe\x98\x64\x09\x5f\xa4\x2d\xf7\x59\x35\x53\x6e\x9b\x80\x94\xb6\x44\xbd\x9d\x5e\x65\x15\xa6\xb7\xf6\x65\x56\x4b\xbb\xd9\x01\x7c\xd2\x1a\x5c\xf2\x53\xc2\x27\x60\x39\xb4\x5a\xb6\x4b\x25\x09\x32\x1a\xaa\xe7\x79\xdd\x04\x97\xea\x89\xa4\x32\x4b\xf0\x62\x59\x0f\x26\xb5\xe2\x65\xf7\xcd\xa4\xe2\xaf\x36\x82\x75\x0f\x4a\x6e\xfc\xfc\x25\x80\x7a\x2f\x9c\x24\x60\xde\x35\xfc\xab\x62\x4c\x32\x39\x6d\x47\xc6\x17\xab\xf8\x88\x29\x3c\x73\x9b\x6b\x85\x4b\xfe\xcc\x88\x90\x73\x9a\x95\xca\x02\x6e\x1d\x05\x6d\x29\xda\xfe\xc7\xc4\xfc\xae\xc1\x3b\x79\x76\x68\x80\x38\x34\x7d\xc8\x0c\x47\x85\xf1\x2f\x4a\xb0\x94\x74\xba\x08\xf0\x33\x7c\x40\x29\x64\x29\x95\xb5\xe5\xa0\x12\x57\x13\xa3\x31\xe3\xdb\x4d\x02\xf9\xf6\xc9\x73\x0f\xe5\xe3\x47\xe3\x10\xa8\x4c\xdf\x27\x75\xb0\x14\x77\x53\x5b\xd0\x94\x56\xc0\x55\x93\x29\xbf\x59\xc2\xf7\x52\x8c\x9b\x76\x33\x42\x21\x4c\xda\x61\x5b\x45\xc6\xe3\x5a\x84\x98\x2f\xaa\x94\x31\x08\x9b\xaf\x15\x27\x67\xfe\xd4\xc4\xe9\x31\x31\x00\x3a\xa0\xf8\xf8\x00\xc9\xad\xb0\xa4\xba\xd0\xc5\x19\x49\xc8\x4e\x02\x8b\x37\x20\x92\xaa\xd7\x3e\x20\x8f\xa5\xa4\x51\xa0\xe9\xaf\x36\x2e\x6c\x10\xef\xdc\x82\x48\xd3\x3c\xf4\x9f\xcc\x40\x6d\xc8\x73\xd3\x2e\x82\xfd\x0b\x56\xb9\xab\xee\xd2\x04\x6d\x67\x5a\xb0\x24\x57\x74\x53\xa2\xab\xa2\x53\x2f\xaf\xec\x23\xa9\xbd\x71\x64\x70\x6d\x5c\x9f\x48\x97\x28\x86\x95\x07\x60\x23\x0e\x54\xe7\xd3\xdd\xe8\xc2\xfa\x09\x15\x47\x33\xa2\x4c\x3d\xfe\x98\x3e\xd1\x38\xc7\xc9\xbb\xa2\x89\x9d\xe5\x35\xec\x68\xf5\x9b\x0f\xf9\x7a\xa7\xf6\x8e\x28\xe9\xae\x84\x1a\x5a\xa0\xdd\x9c\x3d\xdc\x82\xfd\x38\x96\x46\x70\xfd\xe2\xe5\x96\xad\xb1\x00\xec\xc8\x6c\x46\xfc\x6f\x48\xa0\x32\x73\x8c\xed\x17\x3e\xfb\xbd\x84\xfb\x84\x4b\x58\x79\x66\x8d\xde\x9e\xeb\x55\x49\xfb\x4b\x17\xbd\xd6\xa7\xf1\xea\xa8\x0a\xea\xee\xe5\xc1\xf5\xe4\x41\x87\x25\xb9\x87\x97\x7f\xdb\x31\xd8\xcf\xfb\x67\x0f\x84\xc3\xda\x95\xb8\x3b\x11\xf1\x1d\x91\xc9\x5e\x48\x8a\xb5\xad\x78\x2d\x79\xf1\xd0\x81\xf9\x14\xd0\x38\xfb\xbb\x45\xfb\x71\x92\x6f\xad\x1b\xe8\xe5\x2e\xd8\xd5\xf4\xb2\x13\xfa\x00\x5c\x4b\x0c\xe9\xbf\xb9\x2d\x94\x01\x87\x37\x08\x19\xab\xf9\x1e\x56\x04\xe3\xd9\xe1\x75\x0a\xc3\xab\x2d\xe7\x4b\x6c\xaf\xcd\xf5\xea\xbc\xb9\x2f\x49\x6a\xeb\x8e\x65\x17\x3a\xca\x0b\x7b\x71\x2c\x35\x06\x1f\xf4\x31\xb1\xdd\x6e\xd1\x06\x04\x19\xb7\x65\xbb\x3c\x64\x4d\xd5\xcd\xb6\xcf\x56\x77\xa9\x6c\xe3\x4c\x90\x29\xfd\xbc\x91\x28\x7e\x03\x9f\x5a\xf5\x52\x2f\x73\xa5\x5e\x1a\xb8\x67\xa0\xbe\x5a\x10\xb7\x67\x57\xda\xd6\x54\x1a\xb1\x22\x01\xd0\x66\xff\x3d\x92\x05\xe2\xa2\xf4\xd3\xa6\x58\x87\xbb\xaf\xed\x66\xf6\x75\xae\x54\x26\x4f\x8e\x8f\x67\x54\xcd\xf3\xc9\x51\xc4\x53\x13\x6e\xce\xc5\xcc\xfc\x71\x4c\xa5\xcc\x89\x3c\xfe\xe3\x1f\xfe\x50\x6c\xf1\x04\x47\x8f\x33\x83\x1e\x53\xf7\x3b\x95\xb7\x9c\x60\xb9\x5d\x64\x8f\xcb\xd4\x7a\xe1\x8c\xdd\xa0\x1b\x97\x23\xa9\xbf\x91\x0a\xa7\x59\x18\x3d\x6a\xaa\xa3\x49\x85\x8b\x9a\x0c\x90\x7e\xa7\xa7\x89\xe6\x38\xcb\x08\x6b\x37\x3b\x98\x7c\xca\x2d\x58\x8f\xcb\xc8\xb4\x23\x24\x9f\xb3\x04\xb3\x32\xca\x00\x14\x18\x12\x24\x22\x4c\xd9\x0c\xf8\xa2\x62\x32\x50\xa3\x41\xba\x31\xfc\x7f\xbd\x8c\x3b\x98\x23\x95\x45\xe5\x30\x37\x1c\x5b\xc5\xd3\xd5\x76\xc4\xc1\xd2\x55\x2b\xa7\x16\x6b\x47\xdc\xaa\x2d\xcb\xc5\xbb\xab\x57\xd0\x5e\xbf\x72\x8b\xe0\x6c\x4c\x3e\x6b\x26\x27\x37\xc5\xa5\x7a\x90\x44\xa2\xc1\x4f\x77\x48\x2e\x98\xc2\x9f\x4f\xd0\x25\x65\x20\xc0\x7e\xcf\x73\x21\xd1\x19\x5e\x1c\xf2\xe9\x61\xca\x99\x9a\xa3\x4b\xf8\x5f\xfb\xd3\x33\x21\x8f\xe8\x67\x82\x85\xe5\x0f\xb6\xf2\x9a\x2f\xe3\xad\x49\x48\xe4\x4c\x22\xf2\xa4\x4f\xe8\x1f\xfe\x13\xa5\xa6\xe5\x13\xf4\xed\xf1\x1f\xfe\x13\xfd\x0e\xfe\xff\xff\x8f\x7e\xd7\xa2\xe9\xaf\x87\x6c\x05\x05\x7a\x6f\xcb\xee\xdc\x83\xca\x4a\x6d\x50\xb4\xfc\x54\xf0\x62\xa7\x1a\x5b\x7e\xa4\xd1\x23\x9f\x4e\xc7\x9a\x30\x4c\xbe\xda\x18\x8b\x1a\x2a\xf2\x86\x30\xa1\xd4\x96\x58\x36\x05\xdb\x8a\x52\x29\xb6\x53\x03\x6c\xe0\xd8\xb5\xcc\x8b\x02\xb3\x10\x44\x54\x2a\xda\x4b\x25\x7c\x45\x62\xcd\x55\xd7\x39\x1d\xce\xba\xe7\x72\x9c\x9d\x05\x27\x04\x02\x09\xcb\x86\xfb\xc0\xbf\x30\x8a\xd5\x04\xfa\xd8\x85\x6c\x3c\x0e\xb5\xf0\xda\x2f\x26\x66\x12\xa6\xf6\x56\xf1\x92\xb2\xd6\xf9\xea\x50\xc9\x3b\x2e\xb6\xd2\xb7\x1e\x49\x2d\x66\xbb\x63\x59\x20\x57\xaa\x36\x2c\x60\x0f\x89\xd0\x5c\x78\xb8\x5e\x63\x17\xb1\xc5\x03\x57\x5b\x31\xa9\x30\xc1\x65\xdd\x0e\xbd\x9e\xfa\x99\xff\x64\xd5\x30\x21\xd2\xcc\xbd\x5d\x94\x45\x83\xd1\x6a\x11\x49\xb3\xc4\x86\x11\x37\x60\xfa\xad\xda\xd0\x3b\x0f\xe3\x00\x8d\x43\xd8\x23\xa4\x7c\x30\x27\xd9\xda\x3c\xf9\xe6\xfd\xcc\x45\x44\x4e\xf9\x76\x61\xaf\x09\x65\xb5\x78\xf9\xee\x15\x77\xfc\xea\x5d\xd8\xda\x4a\x0e\xf6\x96\xc7\x85\xb2\x60\xdc\x02\xb6\xd8\x42\x80\xb7\x59\x9e\x0d\xe0\xb6\xed\x02\xd2\xb1\x56\x02\x60\x0b\xae\x6d\x0c\xc7\x05\xc3\x73\x15\x24\x2a\x85\x23\x04\xd6\xbc\x70\x49\xec\x1a\x04\x15\x6d\x3d\x8e\xa0\x18\x4a\x11\xa9\x54\x29\x3a\x8e\x4d\x45\x10\xb1\x21\x24\xa7\xa9\x4b\x74\x80\x04\x86\xa0\x4c\x35\xd7\xed\x49\x22\x0e\xa7\x38\xa2\x6c\x76\x10\xa0\x31\x02\x32\x42\x78\x1d\x34\x11\xe9\x3d\x96\x8f\xbb\x0d\x34\xdc\xba\x4e\x23\x8d\x8b\x5a\x61\x16\x3f\xc5\x38\x36\x68\x0d\x8a\x4e\x61\xf9\xd8\x06\x20\x54\x43\x2f\x5b\x32\x3a\xbf\x14\x0e\xf3\x6c\xd9\xf8\x5c\xa6\x35\x09\xf5\x29\x28\x4d\xe0\x2a\x07\x5b\x2c\x43\x97\xd8\x86\x3d\xd8\x48\x15\xc4\x73\xc9\xf8\xe5\x9c\x0b\x35\xde\x10\xfe\xb4\x9a\x2d\xce\xc8\x61\x02\xb8\x25\xfc\x89\x88\x27\x4a\x9e\xcb\x28\xa2\xeb\xd0\xa2\x31\x9a\x05\x51\x75\x00\x33\x99\x66\x1c\x52\x68\xa6\x28\xc5\x6c\x61\x18\xa5\x66\x2e\x58\x3e\x4a\x5f\xaf\x14\xc9\x14\x27\xc9\x01\x12\x24\x97\xa6\x8e\xaf\x24\xc9\xf4\xd0\x55\x7c\x88\x51\xc2\x67\x34\xc2\x09\x9a\x24\x3c\x7a\x94\x23\xa6\x05\x05\x36\x33\x4c\x2a\x13\x3c\x22\x52\x06\x92\x55\x91\xb4\x6d\x53\xe9\xa0\x58\xa9\x22\x22\xa5\x8c\x4a\x45\x23\x27\x32\x15\xd8\x0b\xa6\x64\x76\x84\xc1\x24\x0c\x89\x89\x30\x5c\x2d\xe9\x11\x83\x41\x99\x33\x5b\x1b\x08\xae\x6b\x0b\x2d\xe7\x82\xc4\xdb\x0e\xd0\x0e\x90\xf2\x1c\x85\x8c\x55\xf9\x40\xae\x38\x52\xa7\xf6\x33\x38\xc6\xcb\x48\xe0\xb6\x7c\xa2\x3c\x41\xfa\x93\x56\x42\xef\x81\x98\x72\x1f\x02\x5f\x92\x5c\x7c\x64\xf8\x9e\x01\x77\xc1\x90\x5b\xe0\xba\x56\xd1\xb4\x5e\x45\x10\x79\xa0\x1c\x55\xd5\x6b\x4e\x59\x94\xe4\xb1\x2f\x48\xa8\x45\x80\x27\x4d\x24\x6e\x79\xf4\xda\x6b\x41\xe1\x00\x61\x89\x9e\x49\x92\xe8\xff\x9a\x08\xf8\x43\x5f\x1f\x40\xb3\x64\x53\xc3\x01\x3a\x71\x5c\xba\x8d\xa2\xf6\x0e\x84\xf1\x06\xab\xb9\x49\x6d\x4f\xb9\x32\xb5\x20\x0d\x08\xa3\xb3\x6f\x19\xd4\xbe\x49\xc2\x27\x70\xd2\x01\x9f\xd1\xa5\xc6\x06\x69\x75\x79\x14\x11\x12\x93\x18\x7d\x1d\x1c\x5c\x0f\xbb\xf0\x4d\x33\x5a\x60\x69\x45\xf6\x00\x9b\xb1\x6a\x58\x6b\x45\x68\x2c\x97\x33\x3b\x42\x37\x15\xfc\x91\xb0\x4c\x39\xae\xa2\x51\x1d\xd4\xb6\xf0\x6d\xf0\x1c\x2b\x93\x78\xb9\x1d\x5a\x13\xcf\xb1\xd4\xe7\x0e\xf0\x1c\x2b\xf3\x6c\x89\xdd\xe7\xb3\x17\xcd\x39\xd6\x93\xba\xe0\xdd\x13\xc1\x0c\x0e\x96\xb9\x3b\x4b\x24\xe8\x0e\xe4\xa2\x89\x10\xf7\x0b\xab\xb2\x52\xf4\xef\x6d\xb1\x2a\x2b\x83\xd9\x67\xac\xca\xca\x50\xf7\x17\xab\xb2\x61\xa0\x1d\xb0\x2a\x8d\x73\x7f\xac\x89\xba\x1b\x53\x80\xc4\x96\x49\x3e\xbd\x83\x54\xef\xa5\x63\x3c\x35\x81\x03\xe6\x1a\x73\x77\xb4\x85\x6e\x86\xd1\xda\x1c\xc8\xb6\x70\xa8\x8a\x13\x62\x5d\xda\xf3\xde\x37\x2a\x8d\x86\xb6\x9e\xd9\xfd\x20\xb4\x76\x83\x1d\x32\xc2\x99\xcd\x29\x6f\xab\xa8\xb2\x3f\xd9\xb3\x9b\xc1\x80\x02\xd4\x5e\x89\xe5\x77\x02\xca\xba\xac\x14\x27\x98\xf3\x67\x5b\x20\x08\xc8\xd0\x10\x65\x2b\x09\x42\xa7\x63\xab\xb4\xb5\xad\x1c\x65\x8a\xcc\xaa\x3a\x6d\x71\x68\x28\x53\x7f\xfa\xe3\x4a\x4e\x64\x90\x04\x9d\x7a\x18\x94\x08\xf0\xce\x0e\xfb\x8c\xc4\x28\x9a\x6b\xad\x48\x6a\xf5\x45\x4f\xc7\xdc\xac\x12\xa5\x98\x3a\x45\x2a\x97\xc6\xb5\x44\xe5\x88\x95\xa0\x37\x8f\xd0\x47\xa8\x7b\x8a\xd3\x4c\xeb\x5f\x7e\x7e\x54\x53\xd2\x28\xff\xf6\xdb\x3f\x11\xf4\x2d\x4a\x09\x66\x25\x1d\x16\xd4\x26\x7d\xf5\x01\x54\x9d\x9a\x93\x11\x6b\xdc\x0a\x34\xfc\x6c\x4a\x29\xb9\x78\xbf\x73\x36\xe5\x4e\x27\x86\x7a\x7e\x38\x9a\x23\x99\x4f\x4c\x41\xda\xc0\x86\xe1\x04\xe9\x0b\x3e\x03\x47\x35\xdc\xc8\x6e\xd0\xcb\x4e\xe1\xcb\xc6\x00\x58\x77\x63\xd7\xdb\x78\x00\xf7\xc8\xa1\x24\x25\x08\xa3\x06\xa7\x99\xe1\x7c\xe1\xc1\x97\x06\xff\xf4\xc0\xf8\x10\xb4\x7e\x86\xad\x65\x5f\xcb\xd2\x10\xce\x0b\x5e\xb2\x3c\xc1\xc2\x1e\xfd\x11\xd3\x8a\x86\x20\x4f\x94\xe7\x32\x59\xa0\x98\x33\x72\x00\x94\x90\x47\x73\xe3\x58\xd5\x3a\x0b\xb6\x75\x19\x9e\xa8\xcc\xb5\x42\x0b\x6d\xb9\x32\x10\x52\x61\x03\xbd\x34\xa7\xd0\x8f\x56\xbf\x09\x7c\x15\x66\xc9\xa1\x6e\x5a\x54\x88\x8e\x5a\xe1\xf9\x1d\xd1\x51\x4b\x54\xd5\xa3\xa3\x7a\x74\xd4\xfa\xba\xec\x23\x3a\x6a\x65\xcf\xbb\xa1\xa3\x36\x6d\xf9\x06\xe8\xa8\xa5\x66\xbe\x18\x74\xd4\xca\x8a\x7e\x31\xe8\xa8\x95\x79\xf5\xe8\xa8\x5f\x1e\x3a\xea\x96\xf8\x9f\xcd\xbc\xd8\xe0\x2b\x29\xca\x16\x6b\x13\xd9\x57\x12\x9d\x5f\x6b\x02\x8b\x1e\xcb\x41\x6d\xfe\xba\xda\x1e\x73\xb4\x99\x09\xad\x87\x39\xda\xa8\xaa\xb7\xb3\xba\x6d\x01\x9e\x40\x31\x78\x65\xcc\xd1\xd2\x04\xfa\xf8\xca\xf5\xe3\x2b\x1b\x89\xcf\xf6\xad\x87\xe7\x82\x2e\xab\x17\x72\x47\xd4\xd1\xd2\xfe\x74\x8a\xc4\x04\xd1\x7d\x07\x94\xf8\xb2\xd2\xfc\x7d\xe9\x90\xaf\x94\xe5\xc3\x55\x94\x16\xff\x58\x4b\x78\x0e\x2d\xce\x28\xe1\xa1\xff\xbf\xa7\xdc\x0d\x22\x83\x2b\xcb\xeb\xfd\x2a\x86\x16\x3b\x90\x6a\x67\x0a\x75\x5a\xe9\x6e\x12\x65\x5d\xf2\xe4\x9a\x2e\x66\x37\x88\xbb\x8c\x44\x2d\x36\x66\x9a\xd2\x5d\x35\xbb\xea\x22\xf3\x58\x58\xa0\x90\xd7\xf2\x42\xf5\xf5\x64\x86\x63\x64\xfc\x4a\x3a\x2c\x00\x75\x98\x2f\x67\x54\x2a\xd1\x1a\xdb\x54\x1b\xe1\x36\xae\xd2\x2c\xef\x1c\x10\x13\xac\xea\x6c\xb3\xcf\x52\x92\x72\xb1\x2a\xb0\xaa\xf1\x4b\x5b\xd1\x65\x93\x4f\x49\x36\x27\xa9\x96\x64\xc6\xeb\x36\xd2\x75\xbf\x7d\xd2\xb0\xcd\x5d\x33\x81\x8e\x25\x22\x08\x1c\xa1\xfa\xdd\xd8\x20\x52\x76\xde\xee\x6d\xb7\xd9\x62\x66\xae\xe9\x10\x72\x98\xc1\xcb\x0d\x6e\xf6\xa5\x92\xbb\x1b\xe8\xbb\x31\xa6\xc3\x87\xd4\xac\x8e\xda\x58\x12\xaf\xb1\x0c\x77\xaa\xf8\xca\xd6\x3b\x5e\xc3\x95\x5f\xf6\xce\x6b\x4e\x18\x16\xbb\x5d\x3f\xc0\xa3\x05\x35\xb5\xbe\x3c\x10\x99\x23\x89\x38\x0c\x35\x83\xd2\x60\xea\xeb\x55\xa2\x12\xa7\x51\x6e\x41\x24\xb9\x68\x8d\x32\xed\x62\xd0\x8e\x54\x8e\x13\xd0\x24\xc2\x22\x8d\xd5\x4d\x9d\x2c\x1a\xd2\x1e\xbb\x79\x4c\x28\x53\x7f\xfe\x8f\xb5\x76\x53\xab\x56\x76\xdd\xa0\xb0\x14\x8e\x22\x22\x8d\x8d\xdd\x46\x21\xe3\x09\x7f\x82\x9a\x52\xdb\xec\xaa\x3e\xca\x7a\xde\x9a\xc1\x7b\x28\xe2\xb8\x20\x75\x23\x2e\xcc\x05\xcf\x67\x73\x67\x43\xd2\x67\x46\x4f\xad\x69\x2f\x7f\xac\xd9\xc8\xd7\xde\xcb\xef\x72\x9a\x6c\x66\xa1\xbb\x2b\x55\xdb\xfa\x74\x7e\x8f\xe4\xdc\x9f\xd6\x09\x34\xdb\xb8\xb1\xf5\x41\x77\xef\xd3\x7e\xeb\xfd\x35\xd0\xcd\x81\x83\xdf\x9c\xf2\x24\x01\x4f\x83\x24\xe9\x53\x58\x24\x3f\xec\x1e\x26\x7c\x4f\xd7\x43\xce\xf3\x03\x80\xaf\x8b\xc4\x88\x4e\xf2\xd7\x8d\x11\x0d\x25\x72\xa3\xaf\x06\x2d\x98\x50\x35\xce\x08\x6b\xb2\xb1\xfd\x54\x2f\x74\xf2\xce\x02\x06\x5d\xf4\xd8\xce\x82\x06\xdd\x92\xbc\x72\xe0\xe0\x8a\x79\xec\x6b\xf0\x60\x85\xd9\xf9\x58\xbe\xe2\x9a\x71\x81\x43\x46\xf1\x19\xe8\x25\x1e\xb1\x41\x29\x9f\xc2\x15\x84\x9e\x2c\x8a\x80\x6c\xa3\x43\x84\xcc\x0c\xca\x49\x58\xc3\x0a\xb8\xd1\xf4\x5f\xa0\xe9\x18\xf0\x5a\x13\x52\xe8\xc2\x06\x21\x9a\x9c\xc4\x87\x38\x5a\x44\x09\x8d\x02\x9d\x79\x26\x70\x36\x6f\xe2\x78\x6e\xe7\x7b\xd4\x9d\xb7\x42\xdd\x69\xab\xbb\xb4\x4e\xdc\xb6\xa3\x2b\x86\x53\xd2\xa3\x01\x35\xa1\x01\x1d\x78\xbc\x0b\x56\x54\x90\x7a\x43\x18\x85\xfa\xb9\xeb\x21\x81\xde\x00\x12\x68\x93\xc3\x57\xe0\xfd\x94\x8e\x5d\x0f\x53\xf4\xa1\x13\x4c\x91\xbf\x04\xf7\x0a\x79\xa6\xfd\x3c\xbe\x31\xa2\x49\x7d\x60\x6f\x09\x4b\xd4\x20\x2e\xac\x23\x37\x2d\xc3\x25\x5a\x46\x17\x9d\xd6\xe5\x6d\x51\x82\xd6\x5b\x99\xb5\x00\x80\x1a\xef\xae\x3d\x81\x03\x6a\xdf\x86\x3d\x39\x37\xbb\xcc\x6a\x59\xaf\x44\x66\x98\xd9\xb2\x8e\x82\xb5\x5e\x92\x8b\xa7\x87\xf7\x95\xe8\x52\xd4\x12\xdb\x2c\xd9\x65\xe0\x7c\xd0\x44\xa0\x39\x4f\x62\x07\x42\xe1\x57\xcb\x77\xe0\x33\x01\xfc\x02\xb9\xcd\x80\x9a\xde\xa0\x6d\x15\x05\xc1\x96\xa5\xb4\xf8\x4d\x84\xe1\xee\x80\xd1\xec\xc2\x8a\xe0\x39\xc9\x26\xf6\x83\x95\xb2\x88\x2c\x9b\xbf\x97\x8c\xb1\xb4\x42\x60\x35\x6f\x1e\xe6\x4a\xbb\xef\x8a\xc1\x2d\x13\x3d\x02\xe3\xa0\x68\xaa\x68\x69\xe8\x0c\x9e\x3e\x51\x67\x88\xc0\x61\x8f\x4b\xbd\x74\x6e\x76\x9d\x3c\x75\x55\x62\xd9\x20\x18\xac\x56\xb9\x6d\x7b\x70\xa0\x14\x7f\x1e\x67\x58\xe0\x24\x21\x09\x95\xe9\x8b\x05\x03\x9f\x96\xdd\xb5\xfa\xac\x0a\x6e\x4c\x44\x2c\x4f\x27\x86\x14\xdd\x40\x6c\xbd\x48\xc5\x91\xc8\x59\x08\x6d\xf6\x5c\x2b\xaa\x9f\xc3\xbd\x00\x56\xa5\x68\x0e\xc5\x49\xa7\x98\x0a\x46\x64\x6b\x29\x48\x12\xe5\x82\xaa\xc5\xd8\x56\xd6\xec\x7e\xe0\xee\xec\x97\xa7\xf6\xc3\xe5\x1e\x6e\x97\xd5\xef\xfa\xf3\x95\x3c\x33\x22\xa0\x4c\x90\x2b\x78\x13\x54\x0f\xb5\xa8\x0d\xc4\xd7\x1a\x82\xf0\xe7\xda\xb5\xdd\x16\x38\x8c\x9f\xc7\x41\x46\xd5\x38\xaa\x12\xc7\xaa\xc3\xda\x84\x3b\xb5\x6c\x92\x2f\x8c\xbc\xd4\xe2\x45\x7e\x81\x2a\x23\x36\x6d\xc2\x34\xad\x07\x1c\xb8\x82\xc1\x5e\x59\x6c\x4c\x90\xf2\x6e\x95\xaa\x96\x71\x5a\xac\x9f\xa6\xe0\xa3\x25\x83\x1d\x04\x5f\x75\x18\x71\xd0\xc9\x8e\x86\xad\x0f\xba\x10\x79\xa6\xe8\xa4\x0e\x6d\xa3\x76\x57\x75\x74\x90\x40\x9a\xb5\x73\x33\x94\xba\x35\xa5\x48\x4b\x9c\xd8\xce\x4e\xcb\xff\x16\x47\xcc\x21\x04\x19\x84\xa5\x30\x8f\xef\x3a\xa5\x4a\xb9\x44\x01\x63\x80\xd6\xd4\x59\xb6\xcd\x7e\xe5\xc2\x3d\x30\x14\x34\x35\x26\xa2\xa3\x11\x1b\x48\xf4\x4c\x10\x23\x16\x42\xa2\xa1\x54\xa9\xb7\x6a\x43\xed\xa7\x09\xd1\x3d\xf9\xd8\x14\x2d\x3c\x50\x25\x7d\xf9\x31\xd3\xc7\x14\x27\x92\x1c\xe8\x86\xa1\x6a\xa9\xe2\x10\xfc\x89\xd1\xb3\xc0\x59\x46\xc4\x88\xd9\x2c\x0e\x70\xb8\x70\x9e\x98\xf6\xdb\x42\x5c\xed\x1a\x90\x71\x84\xa3\xf9\x2b\xed\x11\x86\x64\x9c\x68\x4e\x62\x97\x2f\x5c\xde\x1e\x37\x6f\x63\xb0\x5e\x63\xb3\xce\xa7\xae\x7c\xd6\x81\xed\x24\x89\x34\x47\xf1\xd5\x94\x33\x22\xf4\xa8\x35\x0d\x3f\x11\x86\xe8\xd4\x8d\xc3\xc6\xee\xa0\x67\xf0\x4c\x69\xd2\x7f\xc2\x34\x31\x09\xf8\xae\x6b\x27\x04\x1a\xf3\xfb\x88\x19\x77\x37\x8b\x4a\x19\xaa\x94\x51\x39\xd7\x9c\x3a\x07\x9f\x24\xa8\x19\x6d\x89\x33\xec\x69\x9d\xd3\x3c\xd4\xaf\x2f\xe7\xa0\x4f\x54\x70\x96\x42\x92\x8c\xc5\x65\x72\xcb\x27\x89\xf2\xc7\xa3\x31\xc5\x71\xa5\x44\x1c\xc7\xb2\x6c\xfc\x34\x6a\x25\xfd\xb5\x64\x76\x39\x2c\x65\x05\x46\x01\xac\x10\x04\x71\xba\xca\x62\xcb\xe4\xdf\x3e\xb5\xa1\x9e\xda\xd0\xbc\x36\xfb\x98\xde\xe0\x0f\xf1\xba\x29\x0e\x6d\xdb\xbf\x0b\xc9\x76\x87\xa9\x0e\x6f\x9c\x13\xf0\x32\xe9\x00\x6f\x9b\xbf\xf1\x12\xa9\x1b\x7d\x82\xc3\x1b\x26\x38\x74\xb6\xd4\x96\x63\xb3\xdb\x8f\xed\x5a\xc9\x01\x2b\xc0\x9c\x9a\x7a\xb9\x24\x4a\xd0\x48\xee\x82\x3f\xc8\x0c\x77\x8c\x6a\x03\x2d\x30\x5b\x21\x35\xe9\x17\xbc\x13\x12\xe2\xc4\x7c\x9d\xbf\x89\x20\xf8\x31\xe6\xcf\x35\x5b\x9d\x0c\xd1\x34\x2e\xb9\x16\x7b\x04\x89\xa8\x24\xa5\x48\x16\x2a\x11\x23\xd2\x1a\x3b\xf1\x88\xcd\x29\x11\x58\x44\x73\xc8\x6e\x2c\x36\xc6\x64\xc9\x1a\x40\x23\x13\xcb\x10\x7a\x9b\xd6\xd8\xf4\x0e\xeb\x5e\xb5\x30\x79\x7c\x3a\xbb\xe7\x7a\x24\xa9\xf9\xc4\x0b\x33\x56\xca\x08\x4d\x72\x9d\xb6\x7f\xdb\x40\x7c\xbf\xd8\x2f\x1a\x8c\xef\x83\x89\x82\x2f\x3a\x06\xe4\x17\xd4\xd0\x07\xe5\xbf\x50\x50\x7e\xc3\x12\xaf\x17\x98\xbf\x91\xc9\xef\xf5\x63\x86\x5d\xcf\xaf\x11\x37\xbc\x2a\x68\x2b\x9f\x8c\x5f\xfc\xe8\x35\xce\xb9\xeb\x09\xfc\xc9\x13\x85\x91\x88\x85\xa6\xb3\x09\x89\x63\xe0\xb4\x8a\xdb\x4a\xd1\x05\xed\x38\xf3\x80\xbe\x7b\xb1\xd4\xc4\x8e\x13\xce\x66\x92\xc6\x06\x6c\x25\xc3\x50\xb1\x35\x34\x5e\x00\xb8\x00\xec\x6f\x92\x10\xe1\xbc\x12\x02\x7d\x2d\x29\xb3\x68\x8a\xfe\xb7\x98\x13\xc9\xbe\x52\xc6\x58\x80\xd9\x02\x3d\x32\xfe\x9c\x90\x78\x06\x3b\x54\x1d\xcc\x21\xa2\xe4\x00\x51\xe5\x3f\x13\x80\x46\xc0\x73\x35\xd2\x63\x87\x58\x33\xa3\x01\x10\xfb\x6d\x50\x13\xdd\x37\xf3\xcd\x11\x42\xe7\x0c\x4d\x71\xa4\x0e\x90\xcc\x27\x45\xfb\x31\x37\x45\xae\xb5\xf6\x1d\x4c\xbc\x68\xa4\x8f\x19\x6f\xe8\xbc\xf9\x6c\x38\xee\xa0\xc9\x75\x90\x50\xbc\x55\x6c\xdd\x13\xde\x06\x62\xf4\x32\x97\x36\x08\x03\x71\xe6\x8f\xbe\x85\x57\xf2\x18\xd1\x80\xf7\x69\xf0\x96\x19\x8f\x5b\x6d\x9d\x95\xa9\xac\x3b\x96\x22\x10\xd2\x0a\x4a\xd6\x51\x05\xed\x9a\xe5\xd6\x52\x93\x54\x82\xe0\xd4\x3a\x07\xf4\x55\x03\x62\x8d\x09\x83\xd4\xa3\xa7\xc2\x48\x98\xeb\x6c\xf1\x05\x65\x8f\x7a\x77\x0b\x54\x6c\xa8\x2f\x0f\x3d\x37\x6d\x5a\xa6\x6f\x3c\x72\xca\x99\x71\x10\x6e\x25\x77\xd2\x19\xc3\xc9\x9a\x36\x8e\xda\xca\xd5\x7d\x7a\x4e\xce\xb2\xe2\x82\x96\x22\x8c\xb1\x0f\x99\x1e\xd7\xb2\x21\x55\xe6\x1b\xca\x7b\x18\xc5\x24\x23\x2c\x26\x2c\x5a\x00\x89\x30\x40\xce\x11\x0c\x27\x08\xc3\x77\x38\x39\x42\x67\x26\xbf\xc6\x4b\x78\xf6\x5a\x87\x0b\x3d\xc5\x8c\x4e\xb5\x9e\x00\x46\x58\x3b\xca\x11\x33\xc3\x74\x3e\x90\xa0\x68\xbf\x5f\xb1\xa6\x9d\xd1\x37\xc8\xd5\x96\xa8\xc4\xac\xfc\x3d\x5a\x7e\xe1\x40\x6f\xcb\x76\x47\x37\xe7\x6a\x10\xc8\x7c\x72\x08\xff\x2e\x25\x9c\x39\xa0\x9e\x02\x45\x86\x24\x04\xcc\x81\xd6\xe3\x05\x17\x63\x1b\xb0\xdc\x2e\xfc\x76\x2b\xf2\x38\x82\x3e\x4a\x4a\x4d\x4a\x19\x4d\xf3\x34\x70\xde\x99\x8a\x05\x91\xb5\x5f\x9a\x4c\x8c\x4c\xeb\x01\x91\x03\x2f\x47\xfa\x72\x65\x0b\x34\xa3\x4f\x84\x8d\x58\xc6\x29\x53\x47\xe8\x8a\x2b\x12\x94\x88\x30\xd0\x51\x3c\x53\x34\x35\x68\xa7\x82\xe8\x73\x60\x40\xb1\x01\x68\x72\x8e\xd5\x01\x8a\x73\x38\xaa\x8c\x28\xcd\x3a\xf4\x8d\xab\x60\x67\x20\x3e\x5a\x8c\x98\xb9\xe9\xa6\x98\x26\xb9\x20\x56\x66\xc5\x26\x2f\xa6\x18\x72\x31\x32\x8b\x84\x16\x4c\x22\xa5\xb3\xb9\xd2\x5b\xa4\x65\x3c\xeb\x6f\x9c\x6b\x6e\xc4\x47\x6c\x42\x10\x46\x19\x97\x54\xd1\x27\xef\xbf\xa4\x53\x84\xa5\x04\x0b\xca\x11\x3a\x2b\xd9\xff\xa9\x04\xd5\xbb\x2d\xae\x96\xb2\xb1\xb5\x3d\xb7\xe7\xe3\x6c\xbd\x91\xa5\x5e\xec\x2a\xe3\x89\xe4\x49\xae\x42\x17\x6c\xf3\xde\x16\xa6\x71\x07\xdc\x0f\x06\x62\x3e\x1d\x31\x47\xd7\xf2\x08\x0d\x24\x92\x5c\xef\x92\x34\x5b\x19\x09\xaa\x88\xa0\x06\xc5\x89\x28\xb3\x09\xfe\x9c\xfa\x33\x90\x62\xf1\xa8\x45\xa8\xd0\x02\x6f\x30\x45\x4b\xd6\x8e\x89\x91\x90\x00\xd6\x2a\xdc\x0e\x30\xfd\x23\xc6\xd9\x21\x23\x33\xbc\x6a\x47\x46\xac\xb4\x25\xe8\x6b\x3a\x2d\x14\xd2\x36\x9f\x63\xb0\x76\x63\x88\x7c\x6a\xdb\x25\xd3\x71\xdb\x26\x4d\x13\x8e\x57\xb8\x8d\xa7\xc5\xa1\x47\x7f\xe7\x13\x33\x46\xad\xf7\x73\x05\x52\xa0\x56\xaf\xa6\x5c\x90\x39\x66\xf1\x81\xdb\xac\xf2\xd8\xe0\x66\xb4\xa6\x36\xa7\x8c\x81\x24\xe8\x40\x84\x89\xc1\x62\xc2\x2c\xd8\x0b\xab\xb8\xd9\xad\x28\xf6\x61\xad\xbb\xc2\xb7\x06\xb5\x4f\x8c\x01\xc2\xb0\xbc\x45\x66\x8f\xb8\xa4\x69\x96\x14\x39\x4d\x81\x6d\x74\xaa\x45\x2c\xc7\x23\xf9\x13\x98\xae\x9c\xd6\x06\xb7\xba\xdd\x39\x4d\x67\x0d\x23\xf7\x8c\x14\x6e\x0d\x67\xf3\x32\x65\x30\x03\x16\xf6\xb5\x24\xfa\x9f\x8a\x14\x6a\x9f\x11\xd6\x47\xcc\x89\x20\xdf\x00\x97\xb1\xcd\x06\xc6\x33\x2d\x42\x1b\x98\x57\xbb\x7e\x28\x32\x4e\xee\xd2\x39\xb1\x87\xc1\xbd\xda\x70\x51\x7d\x47\x19\x2e\x65\xde\x6e\x20\xf8\x25\xf9\x5a\xc9\x55\x81\xdb\x6f\xd1\x56\xd3\x44\xe1\x55\x65\x46\xd6\xa0\x04\xb3\xcf\x04\xe9\xee\x2c\x35\xbb\x8a\x37\x18\x22\x02\xe6\x24\xc9\x50\x4c\xa7\x60\x96\x52\xc0\xbe\x3d\xb0\x98\xc1\x82\xd7\x87\x3d\xcd\x99\x01\x89\x33\x1e\x91\x67\x8b\xb7\x6d\xaf\xc6\xa2\xf1\xa3\x11\x3b\x57\x5f\x49\x2d\xa2\x73\x36\xd3\x17\x4d\xfc\x44\x65\x51\xe4\x24\xe2\x4c\xe6\x29\x11\xb6\x0b\x7d\x23\x6b\x8a\xb4\x05\x02\xb0\x93\xa1\xf4\xd8\xf4\xde\x3f\xe1\x84\xc6\xae\x10\x8f\xfe\xd1\x9c\x39\x3d\x4a\xe9\x3c\x8a\x0d\x21\x61\x76\x73\x63\xbd\x56\x6f\x26\xd6\xff\x18\x4a\xee\x28\x2d\x84\x7c\x6c\x6d\xf5\xc7\x55\x11\xdf\xae\xfa\x12\xf1\x7e\x52\x9b\x14\x5a\x2e\x18\xd9\x55\x38\x5b\x85\x62\xe8\x10\x75\x73\x13\x02\xac\xfb\x71\x46\x1f\x33\xb8\xb5\xd8\x4f\x65\x82\x76\xd4\x86\xb3\x84\xe2\x3d\xa1\x20\x1b\x48\x85\xb5\x78\x61\xae\x03\x2e\xac\x86\x63\xef\x9c\xf6\xad\x3d\xdb\xb2\x4c\x84\x8c\x70\x52\xdf\xe1\x25\xf6\x66\xf3\xfe\x72\x25\xc0\x1e\x37\xd3\xf6\xd2\xa4\xdf\x88\x27\xc9\x3a\x25\x4c\x2a\x33\x3f\x2d\x3e\x5f\x3e\xa2\xa2\x1f\xbd\x01\x6e\x2f\xe0\xd4\x98\xcb\x1b\x27\xd6\x94\x22\x95\xdd\xa5\xf0\x25\xa3\x86\x2d\x2c\x6b\x1d\x31\x3e\x85\x22\x37\x49\x5b\x54\x57\x26\x78\x4a\xd7\x41\x59\x36\x81\x4e\xb7\xce\x2e\xbe\xc2\xca\xe0\xac\xe7\x20\x9a\x1a\xf2\xb2\x3d\x42\xbe\x1e\xb6\xe2\xe6\x92\x33\x94\xe2\x6c\xa3\x05\x5f\xe5\x15\x1a\xa0\xd4\xb8\xe4\xec\xea\x01\xde\x22\x81\x7a\x31\xb0\xc8\xcf\x78\x51\xa4\x46\xb7\xe1\xe7\xb2\xb5\xc8\xe1\x41\xbf\x7e\xce\xa6\x7c\x8d\xc3\x59\xa4\x32\xdb\xd3\x87\x1d\xcd\x06\xe7\xcf\x7b\x29\xcc\xee\x9b\x35\xed\x72\x1e\x4f\x9b\x88\x7a\xed\x93\xe9\x56\xf0\x25\x6d\x94\x21\x13\x09\xcd\x93\xeb\xdc\xad\xe5\xa3\x15\xb4\x88\x60\x38\xcb\x97\xea\xb2\x44\x87\x3b\x5f\xa3\x4a\x3b\xc8\x98\xc2\x5d\x30\xf5\x4d\x73\xab\xaf\xb0\x66\xf6\x90\x74\x5a\xac\x2d\xb1\x1b\xd6\xc3\x01\x76\x3d\x7a\xd4\xdf\xe6\x13\xba\xb2\xc8\x41\xf7\xc5\x00\x6e\x26\xad\x9d\xab\x88\xcc\xb4\x29\x6a\x53\x9a\x68\x11\xfb\xbc\xc1\xc0\xe9\x12\xc4\x7c\x40\x95\x09\x95\x77\xd2\x53\x2e\x68\x50\x18\xd4\xc9\x48\x88\x42\x81\x92\xd0\xc9\x13\x28\xf4\x60\x5a\x9c\xf3\x67\x13\x9d\x2e\xa8\xe6\x59\x46\x58\x55\x60\xee\xd1\xbc\x80\x5a\x6b\x89\x31\x36\xf9\x0f\xb8\x89\x19\xc4\xb6\xf6\x71\x31\xaa\x96\x2d\xdd\x45\x89\xa7\xee\xf9\x77\xae\xd7\x7b\xfd\x45\x7d\x6f\x1a\x47\x78\x5f\x6e\x7d\xed\xd1\x79\x29\x7f\xfd\x80\xa9\x8f\xf0\xa9\x53\x7a\x30\x9a\x0a\x02\x0e\xfe\xd4\x63\x6a\x18\x50\x5d\xce\xe1\xbe\xbb\x3b\xfb\xe1\xf8\xe1\x1c\x11\x15\xa1\x84\x3e\x92\x11\x8b\xe4\xd3\x81\x16\x8f\xff\x91\x13\xa5\x7f\x6e\xf1\x08\xd0\x94\x30\x09\x9c\x80\xaa\x1a\xf6\x50\xf3\x42\xba\x85\xd1\xff\x3d\x2b\x7f\xbf\x84\xe4\x6b\xe9\xc3\x40\xbb\xae\xde\x0d\x90\x29\x94\xf4\x30\x4b\x2b\x1b\x28\xc6\xd8\x22\x87\x4d\xd5\x30\x37\x48\x17\x62\x7f\xcf\xd9\x9a\x42\xd7\x69\xf1\x51\x30\x8a\x16\x99\x2e\xcd\x30\x60\x5d\xaf\x97\x87\x64\xbe\x69\x6c\x7d\x15\x13\x29\xd2\xb2\x9d\x6d\xb9\x28\x1c\x8a\x94\x20\x04\x58\x88\xa7\x27\x7b\xd7\x5b\x24\x0e\x3f\xb1\xe0\xa3\xa3\x11\xbb\x74\x1e\xe7\xe2\x57\x59\xe8\xe1\xe9\x24\x80\x00\x2f\xb7\x02\xcd\xc6\x54\xfa\x1f\xa0\xa0\x8b\xcc\x13\x65\x2a\xda\x4d\x29\xc3\x89\x1f\xa8\x79\xd2\xc4\x25\x04\x66\xd1\x7c\x5b\x13\x32\x9d\x8e\x49\xb2\x8e\x24\x7a\x3e\x1d\x26\x52\xd3\x77\xf4\xd8\x72\x3a\x37\xa9\xd9\x58\x4c\xc6\x56\xa2\x35\x75\x9f\x50\x61\x82\xc6\x89\xa9\x28\x47\x10\xf8\x28\xab\xd9\x63\x06\x20\x42\xef\xa2\x95\xd4\x8d\x8b\xd2\xa4\x6d\xf8\x90\x6c\xe8\x05\x61\x35\x62\x22\x67\x50\x6c\xc2\x47\x2c\x60\x54\xe0\x85\x47\xce\x7f\x60\xbd\x39\x33\xcd\x26\x0c\x1c\xb7\x79\x59\xeb\x67\x3c\x97\x60\xab\x49\x89\xd2\x17\xd4\xd7\x50\x07\xd6\x84\x0c\x1d\xa0\x4c\xd0\x14\xcc\xad\xf2\x9b\x86\xad\x3b\xc5\x0a\x27\x7c\x36\x10\x8a\x4e\x71\xa4\xee\xf1\x56\x1a\x38\xb6\xcd\x6c\x1a\x7e\xea\x86\x81\xce\xcf\xf4\xe2\xcf\x08\x23\x02\x26\xaa\x75\xf2\xe6\x23\x0c\x4f\x36\xe2\xdc\x60\x65\xb3\x86\x51\xe9\x2d\x16\x38\x57\x3c\xd5\xfa\x2d\x4e\x92\xc5\x81\xb1\xc8\x12\x34\xc7\x72\xee\x36\xda\x18\xd3\xba\xdc\x4d\x76\x71\x4f\x71\x34\x27\x77\x50\x15\xb9\x69\x71\x2b\xa3\xfc\x40\x58\x9e\x7e\x38\x41\xff\x53\xcc\xf1\x74\x70\xfa\xfd\x70\x7c\x76\x7e\x37\xf8\xee\x62\x78\x16\xcc\xc7\x3e\xb9\x3c\xbf\xbb\xab\xff\xfa\xfd\xf9\x7d\xfd\xc7\x9b\xeb\x9b\x87\x8b\xc1\x7d\x53\x2b\x17\xd7\xd7\x3f\x3c\xdc\x8c\x3f\x0e\xce\x2f\x1e\x6e\x87\x0d\x9f\x3e\xdc\xb7\x3f\xbc\xfb\xe1\xfc\xe6\x66\x78\xe6\x56\xe5\x6f\xc1\xe9\x02\xeb\x31\xa4\x5e\x34\x4f\xa3\x7a\x00\x0f\x51\xf9\xc5\x13\xf4\x50\x2d\x7d\x60\x63\x91\x0d\x8e\xc5\x33\x96\x9a\x87\x41\x28\xfc\x88\x21\xf7\xb9\x5e\x94\xb6\x4f\x4d\xb8\x4e\x34\x27\x28\xe1\xfc\x31\xcf\x2c\x6b\x33\xf1\x61\x8c\x1b\xc3\x0f\x91\x41\x6b\xdf\x9f\xdf\x9f\xd4\x4b\x30\xf8\xc6\x02\xc4\x2c\x77\x06\x60\x5c\xd8\xb1\x53\xb0\xa5\x38\x68\xfe\xc2\x7a\x1b\xf4\xe0\x77\x66\x59\x3f\xa6\x35\xcc\x54\xa5\x9b\x38\xb6\x45\x7f\xdd\xc4\x82\x86\xcb\xfb\xba\x6c\x35\xfd\x72\x98\xda\x53\x68\x42\x22\x9c\x9b\xa0\x26\x7d\x4f\x09\xc1\x45\x38\xe0\x82\x1e\x76\xd7\xa8\xa5\xa3\xc6\x06\x2b\x7b\xa6\x27\x2e\x1f\x69\x96\x91\xf8\x43\x5d\x7e\x29\x57\x87\xb5\x35\xc9\xf9\x14\x05\x67\x52\xeb\xf5\xa0\xf3\xbb\xc2\x29\xf3\x85\xf7\xa4\x41\xe0\x46\x11\xca\x02\x40\xce\xfa\x4e\xf0\x85\x2d\x28\xb8\xc6\xb0\x42\xcf\x04\x52\xaa\x73\x5b\x39\xca\xe8\xde\xfa\x6c\x43\x77\xc6\xa6\xed\xea\xc0\x95\x52\xad\x5b\x99\xf1\x2e\x04\x6e\xfd\xbd\x24\x4d\x8c\x78\x8b\xbc\xd8\x33\xd3\x28\x70\x67\x17\xf3\x06\x23\x6e\x09\x6e\x70\xb7\x41\x83\x85\x7c\x89\x7c\x55\xbf\x91\x56\x5c\x16\x9a\x6d\x77\x19\x8f\xc3\x02\x29\x01\x5c\x77\x1f\x58\x09\x04\x79\xe5\x5a\xdd\xf3\x18\x2f\x34\x71\x40\xac\xb1\xcc\xb3\x8c\x0b\x85\x5a\xda\x30\x6e\x7c\x33\x3e\xb8\x73\xec\x3c\x3c\x8f\x83\x46\xb4\x84\x21\x1b\x6a\x69\x74\x83\x47\xb0\xeb\x5a\x30\x8e\x30\x40\x16\x14\x41\x5f\xf7\x28\x2d\xa9\xd4\x25\x0a\x6d\x12\x7e\xb7\xc9\x30\xc8\xf4\x05\xdf\xb5\x0c\x5f\x53\xef\xd7\xae\x85\xc6\x2d\x4f\xc8\x54\x8d\x1b\xbd\x3e\x4b\x0c\x9c\xba\x45\xd6\x86\x28\x43\x67\xf3\x1d\xb4\xd8\x5d\x4b\xf8\xa3\x0d\xec\xd1\xaa\x41\x60\x21\x10\x9c\x2b\x23\x9f\x16\x3a\x0c\x72\xab\x09\xe6\x05\xdb\xa9\xcd\x05\xf3\x42\xa0\x96\xf9\x8d\x3f\xd4\xa7\x4d\x1d\x8d\xd8\x10\x02\x28\x0a\x45\xc4\xa5\x88\x81\x16\xb0\x52\xfe\x2f\x15\x1d\x7d\xd5\x68\xcd\x76\x84\xd7\x82\xee\x6d\xbd\xfc\x64\x81\x8a\xc2\xb2\xa5\xef\xba\x9c\x1e\x63\xf5\x76\x22\xa0\x99\xb0\x2d\xe3\xae\x48\x66\x2d\xf3\x66\x9e\x45\xa4\x0f\xc4\x87\xe9\xae\x8e\xd0\x4f\xce\xf2\x03\x81\xaf\x45\x4d\x66\x1b\xbb\x91\xe0\x85\x03\x85\x6c\x5a\xd8\x5d\xe0\x2c\xee\x3a\x14\x76\xf9\x02\x7b\x40\xa7\x86\x55\x2e\x29\xe0\x8c\x19\x8b\xec\x1a\x69\x1f\xa7\xfe\xa3\x3b\xb2\x3c\x2a\xe0\x23\x94\xe1\xb4\x91\x55\x20\x74\xb0\x64\xf1\xbf\xcc\x66\x99\x4c\x54\x57\x58\xcb\x96\x45\xb4\x1e\x54\x7d\x7e\xc0\x03\x68\x12\x55\xd1\x94\x26\x09\xc8\x01\x47\x68\x00\xe5\x81\x21\x91\x53\x5f\x85\x2e\xc0\x82\xce\x18\x5f\x95\x63\xd6\x42\x4c\x51\x40\x4c\x77\xed\xc4\x24\x81\x9a\x8a\x3c\xfe\xdd\x50\xd4\x0e\x30\x5d\x34\x6f\xc1\x75\x44\xec\xee\x48\x2e\x6b\x28\xef\x6f\x11\x1d\x5d\x1b\x6e\xf0\xe1\xbf\x9a\x87\xfe\x29\xc7\x02\x33\x05\x31\xbf\x56\x74\x17\x24\x48\x3d\x22\x9f\x21\x3e\x83\x19\x43\x30\xfc\x14\x6e\xae\x73\xf9\x43\xb8\x17\xa2\xf1\x01\xa2\x47\xe4\x08\xaa\xb3\x09\x2d\x4b\x4c\x8a\x37\xe7\x5a\x72\x18\xb1\x5a\x2c\xe3\x11\x1a\x24\x92\xdb\x2f\x08\x8b\x12\x28\xc7\x1d\x84\x27\x7b\xca\xb7\x6e\xa5\xc9\x02\x14\x14\xd8\xca\xa2\x79\x6e\x1f\x04\x1f\x42\x91\x31\xf0\x89\x27\x70\xd2\x8b\xdf\x7f\xcf\x33\xe3\xad\x68\x8b\x93\x78\xc1\x72\x0e\xb5\x6b\xe8\xc5\x36\xc9\x94\x0a\x5c\xb6\x41\xf0\x06\x6c\x4c\x11\x63\x1a\x20\xb0\xa0\xaf\xb1\x42\x09\xc1\x52\xa1\x3f\x7c\xb3\x56\x6c\x88\x9b\x60\xc1\x5d\xed\xf1\x2d\x12\xc5\x5c\xaa\x41\x28\xdc\xf9\x8e\xa1\x76\x1c\x16\x0a\x61\xc4\xc8\x73\x18\x59\xca\x21\x18\xd8\x15\x84\x23\x41\x6e\xab\x89\x27\x33\x99\xf9\x90\xad\x61\x54\xa6\x16\x3e\xe2\xe0\x8e\xad\xfb\xd4\x0e\xab\x81\xb2\xac\xf2\x64\x43\x3c\x01\x92\xab\x08\xfa\x9f\x63\x35\x62\x96\xb3\xba\xb0\x91\x20\xcd\x6b\x90\x24\xe5\x40\x7b\x0c\xb9\x24\x4c\x4f\x18\xea\xb3\x1f\xf9\x05\xba\x02\xf5\xcb\x47\x3b\x97\xec\x74\xc5\x61\x31\xf1\x78\x1e\xef\x28\x6c\xbb\x51\xda\x69\xb2\x2f\xbf\xa2\x10\xdc\xd0\xfd\x85\x29\x94\xdf\x41\x18\x26\x4d\x43\x5e\x71\xb0\xea\x36\xfd\x25\xb2\xf1\xae\x3b\xe8\x2e\x2a\x37\xdb\xc7\xe1\x9a\x7d\xe6\x0d\xe6\xf6\x96\xcd\x0d\x64\x8b\x6d\x14\x70\x1f\x76\xff\x5a\x1e\xdf\xd2\xd0\xcf\x63\x48\xfa\x5b\xcd\x05\x8b\x24\x3a\xc7\x3a\x4c\xec\x75\x1c\xe4\xf4\x04\x29\x04\x10\xfc\xe7\x18\x9f\x7d\xb3\xc5\xf3\x9a\xbd\xef\xe9\x1f\x14\xf3\x77\x53\xf1\x41\x70\xf5\x89\xb7\x0b\x7b\x83\xf8\xef\x38\x82\x48\x7f\xe8\xc9\xe5\x18\xd4\x01\x99\x1c\x8c\x35\x06\x63\x7e\xa3\x78\x98\x09\x1e\x11\x29\x8f\xd0\x10\x2e\x1a\xfb\x4f\x84\xa7\xce\x21\x11\xbc\x3c\x62\x5a\x33\x71\xf8\x2d\x41\xfb\x65\x12\x6f\x3a\x01\x06\x0c\x6e\x2b\x5f\x4e\xba\xba\x46\x49\x9b\x36\xe1\xb0\xe8\xa0\x0d\x28\x6b\x80\x86\xb3\x13\x14\xf3\xe8\x91\x88\x63\x41\x62\x2a\x4f\xc0\xb7\xae\x5a\x9d\x7a\xa9\xd6\xb6\xb7\x96\x34\xda\x02\x05\x56\x24\xc5\x9d\x9a\xfe\x6d\x80\xb5\x0b\xaf\x3d\x40\x74\x0a\xea\x84\xcb\xc9\x30\x41\xc8\x0e\xee\x86\x30\x25\x16\x10\xd7\xef\x4d\x59\x95\x85\x70\x9a\x86\x16\xda\xda\xb2\x89\xc4\x2e\x62\x70\x36\x9c\xf6\xfd\x9c\x48\xe2\x02\x0e\xcc\xa4\x14\xb7\xb1\xcc\x86\x5d\x64\x58\xcd\x25\xa4\xae\x96\xd7\xc0\x2a\x5d\xf0\xa9\x5e\x21\x9c\x41\xbc\x82\xb1\x52\x14\x1f\xf9\x04\x4b\xa9\x68\x92\x8c\x18\x23\x24\x96\x08\xb2\x4c\xbf\x6a\xcc\x90\xd7\x9f\x1e\x20\x1c\xc7\xe8\x7f\x7f\xfd\xf1\xe2\xe7\xfb\xe1\xf8\xfc\x0a\x8c\xd6\xe7\x17\xc3\x6f\x0e\xfc\x8f\xd7\x0f\xf7\xfe\x57\x63\x61\x79\x22\x02\xa5\xf8\x11\x54\x3c\x26\x89\x4d\x9e\x20\x23\x16\x8e\xd4\x61\x07\xe8\x27\x92\xb8\x48\x57\x2b\xa6\x78\x08\x45\xbb\x87\xad\x15\x8b\x8d\xcd\x6f\x0d\xe5\xf7\xd6\x7f\xb2\x9c\x06\x1d\xf1\xf8\x2e\x9c\x18\x08\x39\x32\x58\x06\xc9\xe4\x56\xf7\x2d\x08\x8e\xb0\x19\x65\x6d\xf1\x78\x84\x3d\xbd\xa4\x10\xff\x03\x59\xfc\xa8\xd5\xeb\x1b\x4c\x45\x67\xda\x6b\x46\x03\x72\x27\x46\xeb\xe9\x58\x56\x0f\x95\x34\xb2\xb0\xc9\xb6\x69\x8d\xf9\x6c\x02\x82\x7b\xf3\xe9\x5a\x78\x29\xf2\x59\x09\x87\x52\xe1\xf3\x39\x1c\x94\x93\xbf\x68\x0a\x1a\x1c\xb1\xfb\xeb\xb3\xeb\x13\x44\x12\x3c\xe1\x10\xca\x6f\x43\x82\x5c\x13\x76\xc1\x22\x9e\x06\x0d\x95\x10\x4a\x0e\x50\x56\x20\x94\x84\x46\xb4\x23\xd3\xc6\x0a\xa4\x92\x8c\x8b\x3a\xbe\xc7\x6e\x55\x40\x3b\xd9\x1b\x2e\xba\x5c\xff\xfa\x35\x58\x3a\x9e\x69\x45\xae\xc2\x79\xed\xdd\x3c\x25\xd8\xd4\xd2\x37\x6e\x21\x6b\xcb\xb7\x01\xac\x49\x52\xaa\xa7\xa8\x0f\x8e\x3c\xb2\x2e\xf8\xe2\x4d\xce\xd0\x0f\x7f\x91\x68\x92\xab\x11\x2b\xb7\xc1\x19\x1a\xfc\x74\x87\xbe\xc3\x2a\x9a\x7f\x33\x62\xd7\x5a\xcd\xfc\xe1\x2f\x2d\x50\x4a\x6b\xa3\x13\xea\x35\x39\xc3\x0a\x5f\x70\x1c\x53\x36\x6b\x82\x26\x2c\xea\xc7\x0c\xef\x07\x27\xe8\xda\xea\xf0\x45\x26\x88\x4f\x09\x0e\x1a\x02\x86\x0c\x13\x71\x5c\x04\x58\x39\x2b\xc3\xb7\x19\xcd\x0c\x2e\xac\x11\xbb\x37\x98\x8c\x9a\xab\x52\x85\x32\x6e\x6b\x18\x69\xad\xcc\xa0\x55\x62\x97\x21\x45\x92\x05\xd2\xab\x03\x64\xec\x37\xc3\xca\x63\x20\xcf\xd4\x99\xfd\x88\x81\x82\xee\x73\x53\x12\x1e\xe1\x04\x62\xf2\x0e\x03\x9b\x9e\x56\xdb\x79\x0e\xf9\xe1\xa6\xe8\xf9\xa2\x1c\x3a\xeb\x21\x0b\xbc\x50\x16\x6e\x14\x18\x00\x60\x1f\xad\x37\x36\xe5\x9a\xe3\x18\x2c\x36\x30\xbe\x25\x66\x75\xf4\x87\x1e\x9b\xcd\x2c\x8b\x7e\xea\xd3\xb6\x78\xce\x1c\x16\x49\x04\xe6\x7b\xb6\x80\xf0\x6d\x28\x3a\xc2\x21\xf4\xa3\xe0\xce\x96\x28\x6b\xbb\xe8\xef\xc4\xe0\xb3\x11\x33\x91\x82\xa5\x7d\x09\xd1\x7b\x82\xde\x39\x83\x40\xc6\x7a\xae\x58\x9e\xd9\xc0\x46\x2b\xeb\x67\x82\x1c\xfa\x0c\xa8\xb8\xb4\xa6\xfa\x86\x3d\x42\xb7\xa1\x7a\x1d\xf3\x28\x4f\x1d\xb2\x32\x64\x4f\x15\x65\xe5\x4b\x12\x8f\xb9\xd8\x57\x51\x3c\xa0\xb4\x28\x02\xe9\xe3\x9d\xf5\x63\x43\x30\x83\xf0\xd3\xba\xa4\xde\x2e\xf8\x02\xef\xd8\x2e\x6a\xcd\x34\x34\xce\xca\x2d\x95\x5a\xdb\x3a\x2f\xf1\xaa\x40\x7f\xe5\x02\x84\x2d\xf2\x39\xe3\x60\xe4\x36\xe9\x59\x3c\xfe\x4a\xa2\xf3\x1b\x2d\x01\x69\x8d\xd7\x9f\xc1\x5c\x2a\x13\x5c\x06\xe9\x3a\xe6\x6b\x93\x2e\x70\x80\xbe\x45\xa3\xfc\xdb\x6f\xff\x14\xa1\xcf\xee\x8f\x3f\xff\xe7\x7f\xfe\xe9\xcf\xeb\xa4\x93\x38\x85\x1c\xda\x2d\xd6\xc8\x97\x93\x2a\x8b\x44\xe1\x0e\xd4\x39\xd5\x16\xbb\x60\x0f\x60\xdb\xf2\x6f\x82\xf2\x18\xc4\x0e\xe1\x99\x3d\xe1\x32\x3c\x99\xa8\x74\x34\x8b\x48\x02\x49\xd4\x41\x99\x43\x78\x61\xd7\x4a\xf4\xff\x6b\x09\x58\xd9\x58\x1f\x95\xcd\x62\x9c\x68\xe2\xc5\x6b\xdd\x08\xfa\xda\xda\xff\x14\x38\x10\xbf\x71\x17\x1c\x4f\x62\x22\xcc\x98\xbc\xc9\xce\x1b\x12\x81\x39\x90\xcf\x59\xc2\x63\x07\x8f\x5a\xe4\x02\x52\x10\x10\x86\x9f\xb1\xe6\xdc\x07\x16\x46\xcb\x7c\x64\x3c\x2f\x53\x1c\x19\x54\x50\x89\xbe\xfe\x7c\xa2\x7f\x3b\x40\x8b\x13\x08\x22\x3d\x40\xbf\x9e\x58\xb4\x1c\x2c\xd4\x58\xff\xf4\x8d\x93\xb5\x6d\x13\x30\x68\x2a\xd1\x57\xc7\x4f\x58\x98\x9a\xd1\xc7\x66\x44\x5f\x59\xce\xea\xeb\xe2\x85\xb2\x79\xc2\xf9\xa3\x0d\xb0\xad\x7d\x78\xec\x80\xd7\x80\xbc\xbd\xdf\xc4\x6c\xbd\x4f\xcc\x57\xe8\x10\x5e\x20\xe8\x28\x9b\xa0\xa3\xbf\x4b\xce\xd0\xd1\x02\xa7\x89\xfd\xd5\x3d\xb5\xf1\xbf\x58\xda\x9c\xb8\xd8\x07\xf9\x24\x0b\x63\x29\xfd\x2e\xe1\x13\x98\xd5\xa5\x9b\xa9\x89\xa0\x85\x81\x16\xb7\x4f\x71\x61\xd9\x89\xb8\x44\x54\xc0\x0f\x4a\xb9\x32\xaf\x00\x8f\x6b\x9a\xd5\x67\x3f\xa4\xff\x36\x7e\x61\x58\x14\x97\xc4\x67\x8c\xc3\x3e\x7a\x4d\x37\xfa\x19\x7d\x6d\x59\xd0\x37\xfa\x8e\xb1\xe1\xca\x66\x19\x9a\x3a\x58\xf8\x0e\x7e\x0e\x3a\xa0\x0c\x99\xb4\xcc\x25\x5f\xfe\x7a\x7c\x74\x74\xe4\xbf\x86\xac\xf5\xff\x17\x51\x25\x49\x32\x35\x2d\xb9\x1b\x6c\x31\x62\x97\xae\xf0\x82\x33\x5e\x17\x90\x8e\x99\xe0\x8a\x47\x3c\x41\x87\x85\x41\x37\xe6\x91\x44\xff\xae\xc5\xda\x60\x29\xe1\x47\xad\xc7\xb5\xc0\xc0\x1a\xa4\xe7\x57\x3a\x54\xd6\x20\x5e\x3d\x56\x21\x8a\x9b\x57\x6c\xb1\x0c\xab\x78\x00\x2d\x68\xca\x39\xb6\x48\x6f\x42\xe8\x97\xc9\x67\x05\x8f\x5a\x80\xf4\x1a\x43\xd9\x9b\x6f\xca\x1a\xbb\x2d\xf0\xf4\x0c\x59\xb7\x2c\x80\xc5\xbb\xb2\x9c\xc1\xcc\xf3\x20\x74\x9f\xe8\xcb\x85\x85\xa5\x00\x64\x9e\xa6\x58\x2c\x8e\x8b\xd3\x56\x27\xce\x02\x69\x0d\x78\x4c\xe2\x16\x00\x5c\xb8\x89\x3d\x5a\x36\x8a\xc1\x8a\x97\xee\x46\xf3\x67\x37\x82\x5a\x86\x01\x62\x01\x61\x11\x8f\x2d\x5d\x17\xd9\xa7\x65\x89\xc5\xbf\x53\x97\x55\x5c\x44\x8c\x2c\x8c\x71\x4c\x19\x08\x0f\xfb\x86\xfb\xb8\x85\x7d\xf3\x31\x54\xc5\x25\xb3\x35\xdc\xa3\xe7\xd7\x77\xee\x9b\xee\x97\x2e\xac\x43\x59\x64\xc7\x49\x88\x8f\xc7\x66\x48\xe0\xe7\xe2\xfa\x85\xd8\x0e\x63\x9d\xc9\x7d\x6e\xae\xf9\xf7\x29\xbf\xa1\x89\xbe\xb5\x80\xc6\x8f\x46\xac\xf4\xf3\x01\x22\x09\x4d\x29\xf3\xb1\x75\x86\xb9\xf3\xa9\x91\x9e\x1f\xa9\xd2\x5b\x26\xe3\x47\xcd\xc1\x1c\xae\x53\xa0\x52\x0d\xd8\xc2\x91\x8e\x77\x4c\x59\x0b\x44\x2e\xf5\xb8\x0a\x1d\x5d\x0b\xb3\xba\x89\x43\x2b\x90\xd2\x80\xf0\xe0\xfc\x8e\x98\x6e\xcd\x9d\xa5\x22\x5c\x38\x68\x2f\x68\xee\xd0\x01\xe2\x07\x1c\x00\xfa\x28\xc5\xfc\x7a\xf9\xb7\x41\x40\x19\xb2\x3c\xdd\x36\xd9\xc4\x86\x0f\xbf\x95\x99\xee\x46\x10\x77\x53\xd9\xc4\x25\xc2\xf2\xd4\x1d\xa8\x35\x28\x6e\x68\xc5\x9f\x98\x44\x09\x36\x48\x35\xba\x21\x88\x7c\x3c\x30\x0e\xd2\x2c\xe8\xcb\x5c\x2f\xa6\x1b\x53\x63\x27\x21\xec\x6b\xf3\xef\x6f\x90\xbd\x1b\xbe\x3d\xb0\xf7\xb9\x90\x1e\x01\xc4\xec\x39\xd4\x68\x24\xb1\xb1\xa1\x03\x2a\xf1\x0c\x8b\xd8\x58\xcb\x43\xad\xc2\x64\xf0\x6a\xf9\x6b\xc1\x73\xf4\x4c\xe5\x7c\xc4\xee\xb9\x33\x38\x22\xc6\x3d\xae\xf3\x01\x28\xa3\xb5\xfe\xb0\x04\x26\x00\xa3\x6e\xa2\x00\xcd\x84\xb7\xca\x35\x82\x28\xd8\x31\xe3\x31\xd9\x0e\xc0\xe8\xbe\xf0\x55\x38\xff\xb5\x20\x26\x1f\x0c\x6e\x8a\xb6\x74\x5a\x22\xe5\x9a\xb6\xf9\xea\xc6\xc3\x3d\x64\xdb\x81\x92\xc0\xcf\x6b\xa1\x6b\x87\xd8\x60\xfe\x56\x83\x56\x9c\xc6\x19\x64\x03\x97\xd6\xde\xa3\x25\x6f\xbb\x09\x51\x03\x5a\x51\xa7\xbb\xdf\xcc\x3d\x82\x65\xf7\x01\xc6\x18\xcd\x04\xcf\x33\x9f\x32\xef\xd2\xfd\xcc\x36\x58\x99\xe6\x9c\x4d\xf9\x89\xd5\xa9\x2e\x28\x7b\x34\x14\xff\x52\x7b\x64\x00\xb1\x49\x5c\x82\x71\x73\x55\x5a\x61\x0e\x87\x88\xb2\x28\xc9\xe1\xe2\x93\x0a\x47\x8f\x06\xd4\xbb\xcd\xe8\xab\xbf\x19\xaf\x4e\xa6\x6c\x91\x98\xf2\x24\xb1\xdd\x16\x17\x68\x51\xc6\xfa\x89\x62\x84\xd1\xc3\xed\x79\x73\xdf\x8f\xb4\xee\xcc\x69\xbe\x3d\xcb\x04\x02\xff\xf3\x03\x5d\x2b\xee\xb2\x02\x8b\x47\x4a\xa4\xee\x8d\x4b\x6d\xa0\xab\x9a\x48\x3f\x61\x45\xb6\xcd\x84\x32\x18\x60\x6b\x44\xea\xd5\xc0\xd5\x96\x5a\x8f\xb7\x44\x26\x2b\x50\xc5\x20\x34\xa8\x1d\x22\x2d\x0c\xd6\x82\x87\x6b\x60\x37\xc0\xfb\xdd\xe6\x53\x79\x77\xc5\x74\x96\x0f\x33\x21\x64\x0d\xb4\x81\x3b\xfd\x7a\xc7\x41\x96\x5e\x5d\x36\xc6\x67\x6c\xaa\x2f\xd4\x41\x7f\x63\x2b\xd9\xad\xc3\x6c\x1d\x39\x1a\xf1\x5a\xfa\x1c\x11\x3f\x12\x17\x86\xe3\x65\x31\xd7\xef\x0c\x7c\x5b\xbc\x54\xdc\xc1\x5b\x68\x1b\x08\x3f\x10\x5b\xb7\x0c\x9b\xd0\xe2\xd7\x38\xed\x0c\x28\x57\x74\x7c\x66\x3f\xbe\xac\xc1\xcb\x79\x56\x74\x09\x59\x7c\x1e\x38\x25\xc5\x4c\x9f\x6c\xd7\x6b\x8b\x11\xd2\x48\x84\x1b\x0d\xe9\x21\xdb\x68\x40\xa6\xc7\x8e\x75\x0f\x6d\x57\xae\x95\x67\x63\x87\xff\xff\xd8\xfb\xba\xe6\xb6\x91\xec\xec\xfb\xfc\x8a\xae\xca\x85\xc7\xef\x4b\x51\x3b\xb3\x95\xd4\xc4\x55\xb9\xa0\x65\x79\x87\xbb\xb6\xe4\x95\xe4\x99\xcd\x1b\xa6\xe8\x26\xd0\x24\x11\x81\xdd\x30\x1a\x90\x86\xc9\xe6\xbf\xbf\xd5\xe7\x9c\xfe\xc0\x27\x01\x52\xb2\xbd\x9b\xb9\x48\x76\x2c\x02\x8d\xfe\xee\xd3\xe7\x3c\xe7\x79\x78\x8a\x7e\xa6\x62\x0b\x2e\x08\xaf\x17\x64\x76\xb4\xaa\x2b\x02\xb5\x85\x52\x9e\x6f\xf0\x82\xa4\x45\xa1\x5f\xb6\x8c\xb0\xcf\x79\x38\x61\x84\x8f\xd0\x64\x0d\xe3\x9e\x60\x7e\xf7\xad\x34\x57\xcb\x2a\xb9\xa8\x3b\x95\x9d\xba\x71\xc0\x9c\xe7\x13\x31\x22\x95\x23\x13\x77\x6c\xd6\x4a\x37\x67\xca\x89\xda\xdc\x57\x7c\xe7\x18\x01\xac\x42\x30\xe5\x77\x61\xe5\x56\x02\x78\x71\xbb\xeb\x70\xb2\x08\x77\x58\x05\x12\xc5\xec\xaa\xc1\x42\xce\xec\x23\x9e\xdd\xcb\x5c\xcc\x72\x34\xc0\x01\x1f\x8a\x68\x68\xb8\x5f\x71\xdf\xeb\xd4\xb8\x8e\x46\x8c\x4d\xde\xac\xeb\x88\x9b\xfb\x9d\x3b\x8d\x48\x31\xc8\x71\x78\xf6\xaa\x35\x91\x7c\xfe\x09\x1f\xbf\xb5\x4d\xac\x29\xf1\xb7\x7d\xf8\xf0\x5d\xca\x32\x46\x50\x41\xa1\xf8\x3f\x62\x48\xd3\xbd\x9f\xa6\x9e\x24\xae\xf6\xb1\xe6\x6a\x2d\x4e\xda\x8d\x13\xbe\x5b\xe6\xaa\x5b\xce\x6a\x40\x37\xd9\x22\x2a\xfe\x9d\x2d\xca\x5b\xec\xd9\xe7\x92\xa7\x78\xb8\x49\x9a\x8e\xb6\xda\x60\x2a\xff\xf0\xcf\x6c\x06\xa7\x0f\x7b\x0f\xfb\x22\x04\xf8\xa1\xb4\x42\xb1\x64\x97\x89\x5c\x2b\xc9\x3b\x75\xdd\xee\x7f\xd4\x4b\xd2\xa6\x59\xf2\x28\x52\x65\x53\x87\x66\x44\x4b\x5a\x4a\x0b\x1b\xc5\xd9\x7d\xb9\x12\xb9\x14\xa8\x5d\x07\xcf\x31\xfb\xdc\xa0\xea\x2a\x5e\x16\xdb\x1f\x96\x51\x9a\x0c\x16\xcc\x81\xec\xa2\x99\x79\xed\x02\xdf\xea\x6b\x40\xa5\xfc\x4a\xd5\x25\xc3\xdf\x18\xfe\x36\x65\xaf\x79\x74\x2f\x64\xcc\xb2\xb4\xdc\x24\x44\x26\x00\x27\x14\x6c\x97\x81\x7b\xb6\xda\x30\xb4\x2d\xb0\x7c\x73\x0c\x2d\xe4\x8e\xdf\x23\x89\x2d\x19\x91\x11\x4f\x3b\xa9\xa8\x9c\x59\xbd\x4c\x9a\x73\xf7\xe0\x68\xb9\xf3\xb0\x59\x4c\x7d\xee\xe9\x12\x73\x2b\x1e\xb7\x8a\x22\xd2\x15\xab\x7e\xc4\xc2\x75\xb3\xb5\xc1\xf9\x62\xf3\xf2\x9d\x8a\x21\x55\x06\x57\x2f\xb8\x7b\x81\x88\xb9\x94\x8c\x03\x6d\xcc\x0b\xcd\xca\xcc\xda\x67\xe0\x87\x4c\x21\x2a\x8c\x43\x60\x7e\xc8\x12\x73\x4b\xdb\x8a\x85\x04\xa4\x2d\x73\xcd\x6b\x88\x5d\x31\xe1\x01\x31\x6d\x5b\xc3\x1a\x49\x13\x4e\x8b\x71\x36\x78\x9c\x0f\xcc\xd3\x81\x28\xe2\x62\x2b\xe4\xf2\x08\x3a\xe1\xe1\x83\x56\x41\x0c\x93\x19\xec\xfc\xb9\xae\x0b\x4b\x99\x90\x80\x14\xb9\xf0\x43\xae\xcc\x64\x5d\x33\xa3\x13\xcd\x34\x2f\x12\x6d\xf6\xb2\xd6\x1e\xf7\x54\x15\xa7\xf4\x3a\x1f\xc7\x8f\xd1\xc2\x8d\x51\xeb\x0b\x97\x95\x30\x65\x6f\xc1\x0b\x16\xdc\x0c\x94\x63\x9a\xe8\xda\xb0\x8a\xad\xe8\xa4\x5c\x7c\x0a\x38\x8f\x6d\x41\xf0\x7c\xaf\x73\xd3\x65\xa0\x4c\xd9\xcc\x47\x1f\x90\x6b\x03\xe3\x0a\x07\x5a\x24\x52\x2d\x8e\x99\x7c\x83\x1c\x75\x10\xa1\x87\x09\xc4\xc0\x92\xd2\xe6\xef\x9e\x41\xde\x55\xf3\x11\x92\x3c\xf9\xbd\x90\x7d\xde\x98\xe1\x35\x44\x77\x59\xaf\x4b\xc0\xf9\xe1\x14\xba\xe2\x8e\xa9\xe0\xf0\x65\xe7\xe9\x4d\x92\xf5\xb9\xe9\x72\x73\x0d\x89\xee\x29\xb5\x04\xbd\xb1\x44\x90\xf2\xb8\x55\x3a\x5c\x67\x76\xfc\xf0\x26\x9b\x97\x8e\x25\x1c\x52\x73\x5c\x07\x23\x26\x47\xaa\x90\x3f\x05\x6a\xed\x16\x29\x7a\x9a\xdd\x78\x33\xbb\x85\x42\x37\x40\x14\xcb\x16\xd5\x5c\xcd\x7f\xfa\x51\x5f\xc3\x8a\x7d\x8a\x4c\xfd\x76\x59\xd6\xd3\x51\xf2\x47\xc6\x07\x1c\xfe\xcb\x6b\xba\xf2\xd8\x71\x4b\x64\x2a\x66\x7e\x7a\x8d\x17\x70\xfd\xfa\xcd\xaa\x09\xbf\x0e\x6a\xdb\xa1\x99\xfd\x3e\x00\x11\xb0\x55\x99\xa0\x86\x7a\xc5\x20\x54\xd6\xe2\x00\xfe\x63\x38\xfe\x13\xed\xce\x93\xf6\x39\xf6\x41\xc5\xa7\x4c\xac\xf1\x74\x7a\xcd\x79\x3d\x00\x63\xac\xdb\x34\xdf\x7b\x7a\x22\x53\xdd\xe8\xd0\x78\x39\x5c\x25\x1d\xe0\x00\xab\x72\x7d\x0b\xea\x22\x5d\x8c\x15\x01\xf1\xbe\x4d\x41\x33\xe3\x6c\x3e\xe3\x12\x22\xba\x06\x85\xa2\xcb\xfe\xf8\xe7\xec\x8f\xb7\xd7\x57\x67\x3b\x9e\xeb\x2d\x87\x8c\x60\x5b\xd6\xc4\x0a\xb6\xe1\xf5\xd8\x46\xbd\x12\xb9\x90\x67\x6c\xa3\x26\x18\x63\x7d\xc5\xb6\x45\x91\xe9\x57\xe7\xe7\x9b\xa4\xd8\x96\xab\x69\xa4\x76\xe7\xbe\x6b\xce\x79\x96\x9c\xaf\x52\xb5\x3a\xcf\x05\xa0\x6c\xcf\xbe\x9f\xfe\xf0\x3d\x8c\xcc\xf9\xc3\xf7\xe7\x10\x59\x9b\x6e\xd4\x3f\xbe\xfb\xe1\x5f\x7e\xff\xcf\xa6\xe0\x6c\x5f\x6c\x95\x7c\x45\x01\xdc\xde\xb2\xcf\xd0\x2a\x3f\xc7\x57\x6a\x5f\xf9\x97\xe9\xef\xc2\x6a\xd0\xa3\x3b\x15\x8b\x54\x9f\x3f\x7c\xbf\xb4\x03\x33\xcd\xf6\xbf\xe1\x52\xbf\x1a\x2e\xf5\x3e\x29\x7e\xc3\xa5\x7e\x55\x5c\xea\x70\x0b\xc7\xed\x31\x40\xf4\xe9\xf7\x47\xf3\x77\xb7\x47\x5a\xd7\xfb\xa1\x7d\xa8\xe5\x70\x08\xb3\x06\x4e\x38\x22\xee\xc5\xa8\x2b\x76\xad\xb9\xee\xea\xd0\xe1\x62\x1b\x4b\xb6\xdf\x69\xcc\x8f\x4a\x92\x06\x14\x48\x12\x01\x91\x33\xba\x04\x33\x9e\xb4\xa1\x4d\x09\xed\x74\x4a\xff\x3d\x27\x25\xf9\x53\x73\x91\x53\x73\x8f\xe4\x21\x4f\xf1\x6d\x8b\xcd\x52\x8f\x96\x7f\xfc\x29\x58\xbb\x07\xea\xb8\x3a\x32\x62\x9c\x3c\x50\x17\x5b\xaf\x8e\x6a\x6c\xb9\x3e\x0e\xe4\x37\x43\xca\x3f\x17\xa7\x73\xaa\xf8\xf4\x41\x7b\x70\x58\x16\x05\x10\x09\x27\xb2\xa6\xac\xcc\x33\xa5\x85\x9e\xb2\xb7\x35\xa5\x43\x0f\x5c\xbc\x79\x7b\xc1\xbe\xff\xf1\x5f\x7e\xbf\x90\xdf\xb5\x9c\xdb\xb0\xdf\xab\x7c\x43\x38\x4a\x38\xad\x77\x5c\x17\x22\x3f\xcf\xd7\xd1\x39\xee\x72\xe7\xe6\xfd\x33\xfa\xe8\x99\x5a\x9f\x39\x4a\xe2\x33\x62\x67\x9d\xee\xe2\x71\x04\x03\x95\xa9\x87\x67\x0d\x1d\x34\x1a\x0e\x25\xa4\x22\x52\x6b\x47\x3e\x8f\x79\x2e\xa8\x53\xa1\xd6\x2d\xff\xf1\x3a\x55\x2b\xfd\xd2\x11\xa0\x71\x6d\xbf\xe1\x19\x89\xba\x97\xe6\xd3\xb0\x93\xdb\x29\xf2\x9c\x8e\x0a\xbb\x97\x84\xd7\x91\x31\x1d\xdf\xbe\xd8\xfc\x71\x8f\x7c\x0c\x3c\x57\xa5\xb4\xec\xce\x4a\x0a\xb5\x06\x14\x1f\x58\xc2\x16\xa5\x00\xbe\x5a\x73\xd2\x7a\xee\x85\x5c\x64\x78\xc0\x40\x54\xa1\xbb\xbb\x4f\x64\x38\x3f\xd4\xcf\xcf\xc1\x70\x7e\x6a\xbf\xd3\x86\xf2\x95\x3a\xfc\x54\x28\x21\x2e\xa5\x31\xa8\x0a\xf3\xfc\xc1\x08\xaa\xdb\x07\xbc\xfa\x90\x27\x13\xce\x78\x0e\x46\x9a\x38\x2b\xd4\x19\x90\xd6\x00\x15\x0a\x6a\x0e\x74\xc1\x2a\x20\xf2\x3c\xe6\x98\x34\xcf\x0f\xa8\x27\x1a\xe6\xbf\x06\x15\x25\x9b\x44\x23\x85\x27\x41\xb2\x12\x29\x45\x4e\x31\xb5\x83\x27\xea\xc8\xb8\x74\x38\x94\xfd\x88\xac\x40\xd7\x3a\xe0\x83\x77\x78\x7c\x1e\x6c\x02\x53\x06\xd6\xe7\x56\xed\x94\x31\x67\x54\xa9\x83\x1f\xf1\xf6\x02\x87\x70\xa7\xed\xb5\xe3\x19\x92\xd4\x7d\xbd\xd6\x98\xa5\x65\x7e\x42\xa7\x5e\xf8\xd0\x28\x89\x8d\x55\x55\x54\xe0\x40\xfd\x1d\x1b\x7c\xff\xbc\x01\xd4\x03\xea\xd4\x81\x54\x2c\x71\x3c\x27\xff\x65\xee\x35\x66\x4a\xb9\x9b\x82\x3b\xb9\x11\xa4\x83\x5c\x8c\x21\xdd\xab\xb5\xe6\x3b\xb3\xa5\xcb\xdd\xc8\x31\x70\x20\xe3\x21\x03\xc0\x25\xc2\x6e\x2d\xde\xf6\xac\x15\x70\xdb\xb5\x2e\xad\x30\x6b\xbc\xb4\x7c\xa1\xe3\xaa\x7a\xeb\x0a\x20\x6a\xd0\x66\xbd\x3d\xdd\x12\xa0\xb3\xb1\x8f\x71\x43\xb0\xb6\x45\x07\xe8\x46\x8e\x5f\x8c\x20\xb0\x32\xa6\xef\xe0\x23\x38\x39\x1b\x3d\x18\xac\x85\xae\x0e\x1c\xe7\x62\xeb\xf3\x58\xb5\xc1\xf9\x91\xa1\xce\x67\xef\x98\x5a\x36\x2e\x8f\xee\xc5\x07\xaf\x42\xbd\xcf\xc4\x84\xad\x4a\xf8\xfd\xea\xfa\x2e\x44\x6b\x24\xd8\xda\xb3\x68\x2b\xa2\x7b\x70\x98\xe0\x91\xe7\x44\x1b\x89\x0d\x6f\x21\xbd\xf4\x57\xa1\x2c\xf4\x60\xef\xd8\xd0\x9d\x22\x80\xca\x59\x9c\xe8\x2c\xe5\x7b\x08\xf2\x4a\xc4\xe9\xfb\x00\xb1\x4b\x70\x31\x5b\xc1\x21\x7f\xf1\xf0\x91\x36\xa3\x32\xf3\xef\x8d\xed\x4b\x9e\xaf\x92\x22\xe7\xf9\x9e\xf9\xce\x6c\xee\x07\x4c\x8b\x1d\x97\x45\x12\x2d\xe4\x4e\x70\x19\xa2\xf2\x28\xc8\x6d\x3a\x39\x56\x82\xf8\x82\xd7\x6b\x11\x15\x9e\x70\x10\x8c\x77\xd7\x53\x87\xd6\xe0\xb8\xb6\xbb\x95\xd7\xdb\xf4\x9f\x12\x89\xe9\xed\xc9\x0e\x30\x9f\x34\x87\xe8\x68\x3c\x32\x78\x03\x52\x71\x74\xe4\xda\xcb\x20\xfc\xcb\xce\x29\xb6\x12\xc5\xa3\x80\x7c\x7a\x4a\x00\x6c\xb3\xf1\x4f\x96\x0b\x38\x4d\xfd\xb7\x5d\x37\x39\x40\x82\xe1\x02\x0b\xc1\x64\x8e\xf8\x47\xd6\x18\x7c\x5e\x50\x4a\x22\x78\x7b\x5e\x90\xdf\xea\x05\x1c\xd3\xe6\xf6\x98\x3f\x88\x78\x21\xab\xb4\x4a\x64\x33\xfa\x05\xc7\xbc\x10\xd6\xd3\xec\x36\xb6\x8f\x07\xf9\xf2\x2f\x81\x4a\xc2\x93\x48\xba\xa4\xbb\x1e\x61\x2e\x6c\xf4\x73\xde\xaa\xac\x26\x60\x68\xdd\x0f\x80\x64\x09\x6d\x85\x6e\x48\x17\xaf\x82\xa7\x70\x93\xd2\x91\xc6\x20\xa3\x9c\x03\xc0\x92\x5f\xb2\xe1\xe9\x6c\x2b\x63\x21\x6d\x36\xf5\xba\x4c\x91\x25\xb4\x4b\x2a\x8c\x38\xa4\x6c\xe6\xc7\xd7\xcb\x00\x72\x7e\x35\x16\x68\x8b\x39\xd8\x43\x00\x46\xc6\xbd\xce\xce\x7a\x21\x35\x0a\x52\x5b\x59\x21\x70\x3c\x6f\x44\x01\xa7\x79\x5c\xa6\x98\x1c\x0c\x1e\x73\xe0\xa3\xe2\x69\xca\x92\x42\x2f\xa4\xa3\xcf\x42\x32\x74\xd8\x61\xad\x4b\xdd\x2a\xd2\x4a\xa7\x6b\x4b\xda\xfd\x60\x87\x25\x51\x52\x34\x20\xdc\xfb\x50\x8a\x23\xcb\x04\xc7\x5c\x36\x1c\xb6\x85\x0c\xef\x5c\xf5\x41\xa0\xc4\x2f\xd0\x28\x7f\x8a\x1c\xac\x1e\x44\x3e\x08\xbb\x8f\x1e\x92\x29\x9b\x61\xeb\xcc\x85\xcb\xaa\x6c\x62\x6d\x29\x7f\x9e\x90\x96\xe6\x56\x53\x68\xeb\x23\xf7\xf7\x56\x90\x73\x8e\xca\x94\xe7\x29\x70\xd2\xaf\xcb\x94\x25\xeb\x40\x30\x14\xc6\x00\xc9\x93\xcc\x70\x45\x0a\xce\x6a\xeb\x25\xd7\x7c\x27\x82\xbc\x6d\x72\xef\xa4\x01\x86\x02\x19\xa1\x31\x38\x6f\xca\x7a\x39\x65\x6f\xea\x0a\xf3\xb0\x26\x02\xd2\xc5\x44\xe3\xf6\xe7\xea\x1b\xa4\x1c\xa2\x52\x7d\xb2\x36\x57\xca\x17\xc1\xaa\xeb\x18\x41\x20\x6f\x1f\x07\xd0\xb0\xd4\xfd\xfd\xa8\xe1\xd6\x94\x63\xf3\x6a\x0d\xb6\xe1\x16\x44\x47\x05\xed\xa9\x30\xb2\x92\x21\x61\xe5\x11\x15\x75\x84\xa0\x2d\x95\xdd\xf5\xe8\x93\xc2\x38\x8e\xac\x6a\xa0\xf6\x33\xbe\xa2\xc1\xcc\x09\xe1\x38\x43\x7a\x76\xc3\x8b\xb1\xd8\x1c\x97\x8c\x33\xbe\xa2\xad\x38\xa8\x21\xd5\x84\xdd\x63\x64\x3d\xbd\x04\xff\xf8\x8a\x3a\xe9\x67\xaf\x07\xe0\x35\xf1\x2b\x39\x94\x96\xe9\xd0\xb5\x40\x2f\x24\x1d\x76\xe3\xd3\x3f\x67\x7e\xce\x81\xe0\x11\x33\xd5\x9f\xb2\x6b\x29\x10\x39\xa7\xd6\xc1\xa1\x42\x15\x20\x65\x24\x20\x9b\x97\x81\x04\x75\x9a\xc8\x7b\x4b\x2d\x61\x96\xdc\x84\x71\x5f\x3a\xec\x7a\x38\x6d\x70\x17\xe9\xb0\x25\xdb\xa4\x19\x4e\x30\x2f\x87\x25\x68\xb6\xdf\xf9\x03\x00\xea\xf8\x1d\xa0\xad\x1d\xc3\x87\xa5\x17\x49\xee\x6e\x71\x15\x8d\xf1\x10\x35\x5a\x24\xc5\xfe\x50\xff\x7e\xd8\x56\x51\x88\x23\x84\x8c\x3e\x5e\xbd\xb9\x7c\x3b\xbf\xaa\xaa\x0f\xfd\xf9\xe3\xe5\xc7\xea\x5f\x6e\x3e\x5e\x5d\xcd\xaf\xfe\x10\xfe\xe9\xf6\xe3\xc5\xc5\xe5\xe5\x9b\xea\x73\x6f\x67\xf3\x77\xb5\xe7\xcc\x9f\xaa\x0f\xcd\x5e\x5f\xdf\xd4\xf4\x8e\xac\x58\x51\xf0\xa7\xbb\xf9\xfb\xcb\x37\xcb\xeb\x8f\x15\xc9\xa4\x37\xff\x76\x35\x7b\x3f\xbf\x58\xb6\xd4\xe7\xe6\xf2\xe2\xfa\xe7\xcb\x9b\x03\x8a\x47\xbe\xbd\xad\x5d\xfa\x14\xf0\xb1\xa3\xf5\xaf\x66\x6c\x9d\x27\x42\xc6\xe9\x1e\xb1\xf7\xf6\x66\x5b\x03\xd3\x86\x67\x6f\xb2\x13\xaa\x3c\x05\x42\x7f\xb7\x45\x85\x7a\x60\xc1\xc0\xd2\x28\x65\x96\xeb\xfb\x4e\x8e\xc4\x22\x6f\x46\x05\x7a\x33\x85\x8a\x7c\xef\x72\xd1\xfa\xaa\xe3\x19\x94\xe8\x23\x2c\x13\x79\x5f\x5d\xc0\x32\xca\xcb\xac\x48\x56\xdd\x49\x11\x03\x99\x85\xc6\xdf\xbd\x91\xef\xaf\x9d\x1c\xe5\xaa\x7d\x63\xac\xe4\x06\x9c\x02\x3c\x86\x12\x8e\x95\x75\x73\x6f\x5b\xb0\x66\x56\xae\xd2\x24\x62\x49\x5c\xf7\xa7\x60\x0a\x1b\xba\x8c\xeb\xb4\xa0\x99\xc8\xc1\x54\x35\x37\x80\x2c\x17\x67\xbc\x2c\xb6\x56\x71\xde\x65\x32\x22\x4d\xa7\x88\x72\x81\xb1\x00\xa1\xc1\x49\x8b\x7a\x5e\xc1\x97\xa0\x32\x94\xc1\x1d\x03\x59\xcc\x34\xa0\x68\xef\x88\x11\xe0\x9b\x58\xfa\x08\x27\x29\x3e\xdf\xdb\x35\x54\xe3\x44\xd7\xc5\x9c\xe1\x84\xc7\x1f\xad\x2a\x98\x69\xb7\xd9\xa9\x9d\x2a\x16\x0e\xb2\xcd\xdd\x68\x6f\xc6\xa1\x39\x16\x4e\x94\x6a\x32\x03\x95\x4e\x3f\x5d\xe4\x02\x0e\x11\x82\x02\x58\xff\x05\x40\x57\x28\xd7\x03\x52\x3c\xcc\x55\x6d\x25\xb6\x3c\x5d\xa3\xc5\x61\x86\xc6\xaf\xab\xe6\x14\xbd\x53\xf7\x42\xde\xe0\x80\x7d\x95\xed\x50\xe2\xcd\xc7\xe7\xf4\x3b\x8f\x90\x77\x61\x9a\x3a\xda\x59\x65\x73\xdd\xc0\x98\x2a\xf0\x9e\x10\xfc\x8c\x29\x1d\x9e\xb1\xd7\xa6\xc9\xad\xd7\xc9\xaf\xa6\xc0\x85\x14\xad\x9c\xa5\x80\x17\xb2\xec\x4a\x6e\x5f\x06\x6c\x14\x52\xd4\xdc\x0b\x09\x7a\x62\x28\x37\x7c\x70\xce\x8e\xf3\x9f\x37\xc7\xa2\xc7\xa1\x0f\x3e\xbf\xa4\x22\xb3\x16\x46\x79\x6c\x3f\x15\x98\x63\x33\x65\x6f\x88\x78\xc3\xfc\xe5\xe2\xdd\xfc\xf2\xea\x6e\x79\x71\x73\xf9\xe6\xf2\xea\x6e\x3e\x7b\x77\x3b\x74\xf9\x3d\x45\x5e\x54\x6d\xf5\xd5\xd3\x83\xdc\x0e\x71\x4e\x2b\xcf\xa7\xe7\xba\x46\xf9\x65\x07\x43\x72\xb8\xf6\x49\x9c\x2d\xe3\x44\x47\xe6\xf8\xdb\x2f\x85\x8c\x81\xec\xf9\xa8\xa9\xda\x5e\x54\xbd\x15\xee\x09\xe6\x9e\xb0\x3b\x08\x9e\x76\x0f\x76\x46\xbb\xdf\x01\x75\x07\x6e\xc8\x5c\x98\xc5\x1f\x9b\xfb\x81\x3b\x6d\xa6\x87\x15\x3e\x4c\x71\xa7\xb5\xad\x5a\x44\xbd\x4d\x58\xdf\x44\xeb\x92\x9b\xfd\xd1\x3e\x06\x90\xc3\x8e\x5e\x21\x06\xbe\x90\x71\x3a\x09\xd4\x52\x59\xa2\x17\x72\xc7\x65\xcc\x0b\x95\xef\x3b\x9a\x38\x6c\xf3\x0c\x97\x4d\x75\x0b\x0d\x8f\x6c\x29\x44\x6c\x47\x01\x1f\xe5\xb2\x3e\x95\x90\x97\xfa\xee\xfa\x4f\x97\x57\xb7\xcb\xcb\xab\x9f\x97\x1f\x6e\x2e\xdf\xce\xff\xe2\x90\x90\x19\xd7\x6d\xea\x88\x59\x2e\xcc\xee\x62\x69\x3e\x5a\xf7\x17\x94\x2c\xb4\xe5\x90\x4c\x55\xb2\x5e\x48\xbb\xb3\xe4\xbe\xf8\x6d\xae\xca\xcd\xb6\xbd\xa0\x7a\x2d\x3f\xcc\xee\x7e\x3a\xaa\x9a\x40\xc2\x84\xba\x66\xb8\xda\x9a\x88\xd0\x64\x4d\xfb\x1e\xc2\x48\x6b\xd5\x03\x2a\x31\x78\xb4\x2d\xca\xd0\xb1\xa3\x1d\x75\x7b\x69\x6e\x5a\xbd\xc6\x7f\xcb\xe3\x5d\x13\xe8\x2e\xd8\x37\x2b\xc7\x08\x20\x94\x51\x1e\xb3\x51\xda\xab\x96\xbf\x55\x4e\xb0\x1f\xce\x52\xb1\xd9\x88\x18\xa7\x57\xbd\x60\xf2\xc1\xd1\x16\x18\xf9\x73\xbd\xad\x17\x49\xc0\xee\x84\x83\xd9\xe1\xbd\x86\x6f\xe0\x1f\xdc\x2b\xed\x7b\xc5\x85\x15\xc9\x8e\x94\xd4\x05\x97\x1d\x81\xe4\x87\x26\x42\x73\xd0\x56\x74\x9d\x33\x97\xfc\x44\x0e\x13\x1b\x32\xf0\xeb\xa0\x0b\xf0\x72\x3a\x2e\xd4\xd5\xe3\x46\x64\x29\x8f\x84\xcb\x61\x40\x06\x3c\xb8\xd7\x1f\x13\xc0\x23\x99\x40\x49\xfe\x96\x40\x3e\x30\xd0\x14\x6f\x99\x02\xe0\xb9\xbd\xb1\xfb\xf1\xf3\xbb\x56\x7a\x2f\x6e\xc4\x7b\x05\x8e\x66\xd4\x69\x22\xe8\x3b\xfa\xa2\x40\xfc\xac\x13\x96\x3c\x6a\x3a\xd4\xbe\xfc\x33\x0d\x3c\xde\x99\xab\x8e\x6e\x6e\x99\xe5\xdc\xf4\x70\xa6\x63\x9f\xbf\xb0\x28\xf2\x5e\x32\xca\xa7\x08\x47\x7c\xc8\xd5\x2e\xd1\x62\x56\x14\x79\xb2\x2a\x43\x35\xbe\x91\x80\xb9\xca\xe5\xc4\x37\x38\xcb\x55\x5c\x46\x96\x12\x08\x5a\xeb\x61\x3f\xe4\xe5\xb3\x56\x47\xcc\xce\xcc\xec\xa3\x9b\x9b\x88\xcf\x00\xd0\xbf\x90\x5d\x31\x36\xbb\x31\x76\xf8\xfe\x3e\xd8\xa3\xfc\x94\x29\xd9\x32\x29\xba\x3b\xd3\xce\x81\x61\x89\xb5\xcc\x3e\x0e\x16\x70\x07\x6a\x8a\xa6\xcb\x8a\x63\x00\xbd\x6a\xa3\x74\x31\x80\xb8\xa3\x66\x1c\xb8\x6b\x18\x36\xa6\x9a\x31\x83\x76\xc3\x96\x6b\x34\xe7\x8b\x68\x5b\xad\x38\xb4\xa6\xca\x9a\x57\xaf\xae\x33\x8f\x4f\x73\x9b\x0c\x0a\xa3\x4d\xd0\xd1\x90\x90\x63\xbb\xa2\x80\xe6\xe4\x1c\xc7\x79\xbb\x43\x8b\xd1\xdd\xe8\xf0\x30\x80\x7d\x34\xe5\xa5\x8c\xb6\x2c\x4b\x39\x26\x93\x6f\xb9\xc6\x29\x6d\xb1\x24\x7c\x95\xa4\x49\x01\x2c\x3d\x18\xe2\xac\xf5\xb0\xb9\xe6\xf1\xfc\xde\x12\xe3\x72\x4f\xc9\xd4\x37\xe9\x4f\xc4\xec\xba\x56\x7d\x51\xd4\xae\x5f\xb2\xe1\x36\x34\x6c\x5a\x12\x62\xd7\x0f\x87\xd9\x88\x61\x5a\xfa\xb6\x8c\x1b\x59\x2a\xf1\x43\xfd\xf5\x4a\x7f\xb7\x58\x2f\xe3\x11\x2b\xc4\xf8\x3e\xe2\xf4\xa9\xf3\xc1\xb7\xae\xac\x75\xaa\x78\x87\x26\xb1\x2d\x1b\xe9\xdd\xbb\xca\x8e\x55\xb9\xea\x22\x14\xc6\x5a\xf5\x97\xde\x17\x0c\xb1\xeb\xf6\xa9\x9c\xa5\xe1\x06\xc8\x0b\x51\x24\xe3\xfc\x3d\x41\xa3\x79\x21\xce\xe0\xf5\xf6\xc2\x29\xc3\x70\x70\x9b\x1b\x13\xcd\x8b\x8c\x38\xa3\x0d\xb0\x84\x6d\xb3\xab\x76\x3a\x9f\x82\x09\x3f\x71\xbc\x12\x79\x60\x2a\x1d\xd6\x2d\xf8\xfd\x0f\x2d\xdd\xd2\x68\xf4\x9f\x4b\x6e\xf6\xc3\xeb\xf5\x2d\x72\xe5\x9c\xd2\xe8\x22\x69\x2e\xab\xf6\xed\xa7\xfe\xd5\xbb\x6a\x78\x2d\x9c\xf8\x83\x33\x91\xdb\x5a\x73\x6b\xde\x1e\xbe\x0b\xcd\x2b\x6e\xb4\x2c\x4f\x14\x70\xc6\xa8\x35\x32\x30\x76\xd3\x4d\xb6\x7e\xf7\x84\x9e\xfc\x5c\x8a\x52\x98\x09\xb4\x2a\xe3\x4d\xd3\xcb\x3d\xc2\x52\xf6\x4d\xda\xaa\x47\xb6\x2b\xa3\x2d\xb3\x85\xb3\x58\xa4\x7c\x5f\x69\x1a\x18\x89\x85\x4a\x81\xc0\xf9\x48\x36\xd9\xa8\xd4\x85\xda\x01\xc0\xd8\x97\x9b\x97\x12\x56\x39\xe3\x76\x75\xb5\xed\xef\x15\x76\xb9\x23\x43\x9b\xb7\x1f\x2e\x2f\xe6\x6f\xe7\xb5\xb8\xe2\xec\xf6\x4f\xe1\xbf\x7f\xb9\xbe\xf9\xd3\xdb\x77\xd7\xbf\x84\x7f\x7b\x37\xfb\x78\x75\xf1\xd3\xf2\xc3\xbb\xd9\x55\x25\xfa\x38\xbb\x9b\xdd\x5e\xde\x1d\x08\x30\x36\xbf\xda\x3d\x10\x3c\x20\xbf\xb3\x90\x67\xcb\x02\x6e\xfd\x0c\xf4\xd5\x57\x6c\x66\xa9\x00\x2b\x64\x95\x36\x48\x0c\xa8\x12\xd4\xc4\xa6\x58\xf2\x1b\x5e\xf0\x0b\x5e\xf0\x54\x6d\xa6\x6c\xc6\x08\x10\x8e\x40\x7f\x6d\x2c\x24\xe2\x49\x33\xa3\x83\x45\x18\x33\x29\xf2\x77\x78\x2f\x73\xa8\xd6\xc4\x50\x98\x8a\x90\x10\xdf\x66\xb5\x2d\xe4\xe5\x83\x90\x45\x09\x6c\xdd\x3c\x4d\x19\x7d\xd6\x3e\x10\x64\xec\xdb\x5a\xea\x64\x97\xa4\x3c\xf7\x8a\x74\xd7\x54\x16\xdc\x52\x6c\x5d\x1d\x41\x53\x33\x1d\xdc\x5e\xe4\x3e\xce\x19\xd4\xfb\xe2\xdd\x1c\xec\xbe\xa8\xb0\x72\x2b\xf6\xe3\x0b\x89\x0c\x78\xf4\xc5\x1d\x87\xe4\x93\x42\x91\x67\x15\x3f\x4f\x0f\x77\x4f\x44\x7d\xca\x22\xb6\x31\x88\xe7\xba\x51\xba\x4a\xda\xff\xb8\x94\x45\xbe\x1f\x6c\xcc\xdd\x41\xb6\xb5\x06\x83\x9c\xb0\x6c\x55\x95\x3a\x74\x7c\x31\x5b\xfa\x15\x58\x78\x16\x68\x49\x71\x19\x17\x7e\x41\x5c\x4b\xc7\xa5\x23\x35\x27\xef\xb7\xda\x0f\x21\x21\x0e\xf4\xc2\x4a\x95\x32\xd6\x84\xba\xdb\x25\xf2\x7c\xc7\x7f\x7d\x69\x5b\x8a\x04\x13\x4e\x2b\x02\xc8\xc3\x44\x6a\xae\x5f\x7b\xb3\xc9\xf5\x77\xd7\x42\xf6\xf4\xd7\x61\x13\xd9\xee\xac\x70\xd7\xf3\x17\x73\xc4\x0f\x3e\x88\x7d\xdb\xf8\x35\xf4\x7e\x10\xa3\x48\x0b\x1e\x0a\xc9\x72\x61\x1e\x74\xe0\xc4\x14\x31\xa7\xee\xdf\x90\x84\x50\xd1\x24\x6c\xdf\xbb\xc3\x78\xff\x49\xcb\xa6\x15\x69\xf0\x0c\x82\x4d\xf4\x25\x33\x66\x88\x3b\xb0\x2e\x6f\x4a\xba\xa0\x80\xaa\x19\xac\xff\x54\x2b\xb6\x86\x0c\x24\xd2\x1c\xcf\x05\x84\x38\x60\x28\x2c\xc3\x38\x50\x4c\x35\xc0\x0c\x76\x0a\xa4\x42\x83\xe3\x5f\x9a\x3b\xa6\xf8\x5c\x52\xec\xf6\xfb\xdf\x8d\x3b\x67\x8b\x7c\xcf\xac\x9a\x45\x98\x01\x45\x09\x80\x74\xe6\x42\xbd\x4a\x99\xb4\xf1\xce\xdd\x94\xd2\x1c\xc5\x4f\x01\x7b\x19\x1e\xd7\xac\x7d\x94\xfe\x79\x30\x49\xc8\xba\xe4\x73\x7c\xfe\xd9\x68\x44\x7f\xae\xb1\x87\xd2\xe7\x00\x92\x4e\xa5\x87\x07\xda\x8a\x47\xf7\x8f\x3c\x8f\xd1\x6f\x0b\x38\x94\x29\xfb\x49\x3d\x8a\x07\x91\x4f\x58\x24\xf2\x82\x13\x75\x97\x86\x40\x3c\x2c\x28\x2a\x67\x21\x21\x43\x03\x79\xd0\x24\xc8\xb5\x17\xc9\x66\x6b\x2e\xd1\x01\x8c\x42\xe5\x66\x3b\x2a\x90\xb5\x31\x13\x11\x91\x25\x75\x74\xc0\x3a\xe5\x0f\x4d\x2e\xb2\x63\x58\x1e\xd8\xdc\xa5\x99\xda\x38\xa5\x55\x6d\xe8\x03\xbe\x50\x87\xd1\xa6\x89\xf4\x36\x13\xb6\x51\x29\x97\x9b\xe9\x74\xca\x44\x11\x4d\x5f\x8e\x9a\xe8\x54\x60\x18\xf9\x74\xf0\xea\x54\x29\x2d\xd2\xbd\x23\xf8\x71\x09\x30\x80\xb8\xfc\xb5\x10\x52\x27\xe8\xe7\x69\x99\xfe\xb7\xf5\xa8\xc0\x97\x0d\xa2\xb4\x5f\xcf\x47\xa7\x57\x76\x94\x03\x22\x50\x23\x4a\xc2\xe7\xdb\x6f\x5e\x47\xa5\x0b\xb7\x97\x25\x95\x1c\x9b\x03\xfb\xb3\xea\x92\x34\x3f\x8a\x77\xaf\xb5\x24\x22\x29\x39\x2a\x6f\xb0\xbd\xcf\x1a\xa9\x9c\x27\x64\x71\xf6\x24\x64\x8e\xcc\xc5\x1c\xe2\x08\xb8\xad\x0f\xf7\xe8\x65\x71\x58\x97\xa2\xb5\x41\x23\x73\x5d\x7d\x52\xfa\x18\xd3\x09\xd3\xe5\xd2\x3d\xdc\xb8\x5c\xe6\x2b\xb8\xd3\xe3\x20\x1c\x50\x89\x76\x40\x0e\x96\x0f\x97\x38\xf2\xa8\x20\x3a\xa2\x0b\x95\xf3\x8d\x60\x3b\x11\x27\xe5\xae\x75\xb3\x71\xd5\x3d\x05\xf7\xa7\xd2\x72\xd7\x4d\xe3\x77\xaa\x01\xed\x2b\x89\xff\x75\x01\x9f\x1b\x6c\x40\x7b\xf1\x7e\x2b\x0f\x44\xf5\x45\xdf\x3f\xf5\xb5\x39\x29\xf3\x44\x03\xe1\xe4\x31\x29\x8f\xae\x18\x2c\x1a\x22\xa7\xfb\x0c\x7d\xce\x95\xd1\x3d\xb3\x21\x2d\x7a\x45\xe3\xa8\x42\xb8\xb5\xfb\x50\xa8\xa3\x09\x47\x8f\x11\x88\xcf\x1c\x15\xe1\x06\xb3\x31\xa0\x81\x27\xb8\x13\x14\x48\x98\x8c\x42\xb1\xb5\x4d\xa2\xbb\x17\x01\x2d\x59\x0c\x04\xf1\x8f\xc8\x71\xf3\xa7\x1f\xb5\x45\x6f\x10\xc0\xc6\x5b\x2c\x85\xff\x08\x06\x44\x1e\xbe\xb7\xb8\x2a\x6c\x21\x16\x01\xe4\x61\x31\x97\x45\x6b\x01\x1e\x76\x08\x65\xe1\x2b\x3f\xf3\x32\x6d\x7f\x9c\xca\x87\x47\x51\x6c\x6a\xf6\xcb\x2d\xc3\xae\x26\x2a\xf1\xbc\xaf\xa2\x41\x21\x87\x91\x5d\xd0\x5d\xcb\x23\x2c\xc1\xca\x38\x60\xa7\x5b\x2e\x79\xd3\xed\xa2\x88\xb6\xde\xf2\xa8\xaa\x46\x93\x92\x20\xb5\x73\xe7\xc9\xd1\x11\x34\x1b\xa2\x0f\x93\x8d\x54\xa1\xae\x87\x92\x02\x22\x53\x66\x03\x52\x61\xb1\x2c\x29\x0e\x43\xbc\x46\x32\x86\x1d\x9a\x6a\x85\x42\xe8\x0e\xb5\xb3\x12\x60\x84\x2b\x45\x82\x3c\x43\x16\x1f\x8b\x77\x22\x12\xa6\xab\x93\x66\x57\x99\x1b\x16\xb2\xfa\xa9\x46\x27\x59\x0c\x56\x92\x0b\xe4\xba\xd5\xc6\x7a\x2b\x92\x07\xb3\x50\x9b\xd3\xda\x4d\x50\xd8\x01\x9a\x73\x6f\x21\xb1\xda\x01\x61\xee\xbd\xd8\xeb\x50\x05\x8f\x66\x14\xeb\x9a\x90\x89\x69\x0f\x8d\xd7\xe1\xa1\x80\x8e\x5b\x06\xaa\xfe\xc3\xce\x32\xfc\xe8\x7b\xf3\x72\x0f\xb8\xb3\x51\xb8\x99\x83\x3e\x4b\xd1\xfb\x14\x69\x9b\xf0\xfd\x4c\x63\xe8\xf1\x5b\x80\xce\x0b\xf1\x77\x61\xca\x09\x5c\x7c\xcd\xfd\x76\x21\x89\x53\x3b\x38\xe4\xcc\x86\xd3\x1c\x36\x4a\x9d\x46\x26\xdf\x7d\x85\xf6\x05\x68\x0f\x2d\x05\x64\xf5\x93\x36\xd8\x6a\x45\x54\x17\x12\x3e\x8d\xc9\xa5\xd6\x87\xd7\xfa\xc1\x23\x41\x81\x34\xb8\x9d\x40\xc0\x20\x83\x0b\x9f\x24\xe6\x3f\x94\x53\xc4\xdb\x4f\x24\x4c\xf7\xcd\x64\x2b\x06\xcf\x22\xf0\x6e\x2f\x2f\x6e\x2e\xef\xbe\x18\x50\xd0\xa2\xf4\x46\x23\x05\x6d\x3d\xdf\x5c\xbe\x9d\x7d\x7c\x77\xb7\x7c\x33\xbf\x79\x0e\xa8\x20\xfd\x74\x04\x56\xf0\x96\xa8\xfa\x2f\x94\x2c\xc4\xaf\x27\x9d\xc9\x79\x29\x97\x7c\x44\xce\x8a\x13\xeb\xe8\x33\x77\xb0\xd0\xa6\xd4\x80\xd3\x01\x20\xde\x49\x3c\xd1\x9c\xb2\xc0\xda\x3b\x0d\xd7\x49\x9a\x42\x0a\xaf\x73\xaf\x53\x7a\x98\xe9\x54\xd8\x7f\x2c\xd5\x26\xed\xa9\x0b\xb9\xaa\x28\x41\x80\xcb\x6f\x6b\x2e\xc1\x98\xbc\x9b\x99\x0e\xc8\x13\x48\x8d\xec\x53\x23\xd8\x24\x52\xf8\x6a\xa0\xf4\x71\x29\x59\x27\x85\x34\x0d\xe2\x73\x42\xa2\xc8\xf0\x1a\x6a\x6b\xda\x19\x57\x99\x9f\xd6\xfc\xb4\x3f\xba\x16\xe2\x22\x4e\x24\x1a\xa6\x95\xd5\x7c\xdb\x3e\x75\xcf\xfd\x12\x80\x7e\x37\x23\xc9\x21\x06\x01\xea\xc2\x7e\x20\x69\x20\x50\xa5\xc8\x07\x27\xee\x13\x84\x0e\xa9\x75\xad\x9f\xcd\x56\x68\xfa\x3a\x81\x48\x05\x27\x56\x92\x28\x2d\x75\x21\x72\x72\x9b\xcc\x7e\xb9\x5d\xc8\xd7\xe6\xf8\x7a\x49\xa7\x10\x29\xd9\xe0\x27\x10\xb8\xa2\x2a\xdf\xb7\x16\x4a\xb8\x83\x7d\x87\x3e\xea\x9d\xe0\x52\xa3\xf2\x7b\x9a\x8a\xdc\xcf\x0c\xac\x8f\x10\x31\xa9\xff\x01\x0d\xab\x7f\x9f\xc4\xbf\x15\xac\x5a\x53\x5f\xfa\x95\xe4\xaf\xeb\xf3\xa9\x2b\x43\x1c\xa0\xc2\xcf\x39\x73\x5a\x32\x56\x86\xce\x22\x42\x59\xb7\x4e\xa2\x6a\xfe\xc8\xa0\xb9\x74\x87\xc5\xfd\x36\x95\x9e\x70\x2a\x0d\x38\xd7\xc3\x53\x82\x6d\x95\xd9\x40\x9d\xcc\x8b\x0f\x33\x3b\x86\x8a\x14\x40\x5f\xa6\x1b\x5b\x4f\x9d\x9a\xd4\xe1\x29\xd8\x0f\x28\xea\x34\x68\xed\xac\x85\x0a\xc7\x6b\x6a\xd9\xd8\x4e\xaf\x8a\xe2\xf3\x50\xce\xcd\x2c\xc8\x50\xaa\xc2\x92\x47\x38\x5c\x1f\x81\x14\xcd\x03\x8e\xb5\xa4\xb7\x8e\xc4\x04\x62\xad\x94\xe5\x89\x4a\x64\x77\x21\x18\xb2\x92\x4e\x8b\xb5\x08\x13\xf1\x6d\xf2\xbd\x23\xef\x18\x33\xf9\x8e\xd7\xba\xac\xce\x39\x47\x04\x79\x14\xd8\xe1\xea\xfa\xea\x32\x84\x2a\xcc\xaf\xee\x2e\xff\x70\x79\x53\x49\xc4\x7e\x77\x3d\xab\x24\x53\xdf\xde\xdd\xd4\x72\xa8\x5f\x5f\x5f\xbf\xbb\x6c\x60\x1e\x2e\xef\xe6\xef\x2b\x85\xbf\xf9\x78\x33\xbb\x9b\x5f\x57\x9e\x7b\x3d\xbf\x9a\xdd\xfc\x5b\xf8\x97\xcb\x9b\x9b\xeb\x9b\xda\xf7\x3e\x5e\xf4\xa3\x27\x2a\xcd\x68\x77\xff\xf8\xe0\x6c\xc0\x89\xd9\xba\x8c\xab\x5a\xa0\x27\xac\xe2\x81\xc8\xb3\x43\xd3\xd1\xe6\x59\xc7\x21\x55\x3e\x2e\x0c\x53\xd5\x51\xb3\xee\xe9\xc5\x4b\x2b\x5d\x97\xf1\xd3\xb6\x3d\x73\xaa\x2d\x9f\x02\x09\xd8\x6b\x00\xba\xaf\xd4\x1c\xb7\xba\x80\x64\x34\xec\xda\x0c\x22\x58\x1b\xde\x29\xdd\x23\xe3\x67\xaf\xa9\xfd\xc6\xa1\x7a\x7a\x0e\xa6\x03\x54\x36\x4f\x45\x63\xd1\x57\xe9\xe0\x63\x36\x4b\x3c\x89\xad\xa1\x60\x7f\x0c\x0e\x6e\x68\x86\x99\x39\xc1\x74\xec\x52\x99\x6c\xcf\x37\xe9\xa7\x4d\x1b\x5b\x7f\xfa\x48\xb3\xee\x35\x8e\x8d\x11\xf5\x06\xae\xa3\x31\xf5\xbe\xe3\xfa\x7e\x6c\xbd\xe9\x23\xcd\x7a\x83\xd9\x77\x54\xbd\xc1\xe1\x5d\xb4\xf3\x9f\x8c\xd8\xc4\xc2\x62\xaa\xd5\x73\xc9\xd9\xee\x91\x40\xcc\x75\x58\x1d\xcd\x02\x78\xde\xeb\x65\xc6\x87\x07\x32\xa0\x36\x6e\xb9\xf2\x1a\x1d\xf8\x2d\xfc\x0a\x2d\x5c\xe5\x82\xdf\xc7\xea\x91\xc6\xa3\x8e\x0c\x65\x83\x76\xf3\x6a\x07\x99\x3d\xdc\x1e\x11\x20\x01\x6f\x3e\x89\x28\x35\x5f\x3c\xc0\xe4\x12\x22\xb4\x46\x1b\x2c\x50\x21\xad\x33\xc8\x00\x67\x8f\xf4\xa3\xb3\x90\x68\xcd\xb7\x29\x99\x9a\x51\x35\x35\x22\xce\x07\x68\xaa\xb3\xa1\x31\xb8\xae\x83\x81\xa5\x04\x8e\x32\x07\x30\xdd\x2a\x87\x3b\x13\x74\x48\x22\xc1\x99\x9c\x9b\x0b\x4f\x2e\xa2\x44\x8b\x40\xcd\xa9\xf5\xc4\xfe\x7c\x9a\xf6\x43\xc1\x8b\x56\xb7\xeb\x60\x7f\x38\x8f\x8a\x92\xa7\xec\x73\x29\xf2\x3d\x51\xe7\xa1\xaf\x12\xff\x12\x71\x89\x99\x22\x85\xd8\x65\x90\x8e\x1d\xa6\x38\x2c\xe4\x2f\x00\x94\xc0\x21\x78\xa1\xd9\x1f\x00\xf2\x60\x1f\xa6\x43\x78\xc7\x0b\x38\x8b\xff\x8c\xdf\x70\xbf\x4d\x17\xb2\xa2\x8e\x12\xbc\x55\x11\x4a\x99\x2e\xa4\x95\x27\x88\x55\xa4\xa7\x70\xe3\x9b\xaa\x7c\x73\x4e\xc2\xbe\x66\xb2\xab\xfb\x95\x52\xf7\xe7\x42\x9e\x83\x4f\xaa\x38\xe7\x65\xa1\xce\x01\x2e\x85\xe3\xaf\xcf\xad\xfe\xa7\x15\x50\xd5\xe7\xdb\xe4\x41\xc0\xff\x9b\x6e\x8b\x5d\xfa\x8f\x3a\xdb\xfe\x7a\xb6\x49\xf3\x33\xf3\xee\x59\xf8\xee\x99\x7d\xf7\xcc\xbe\x7b\x66\x5e\xc3\xff\x97\xed\x31\xbc\x23\x7e\xe5\xe6\x2c\x9b\x2c\x64\x22\xb5\xc8\x0b\xb0\x7e\x1e\xf3\xa4\xf0\x32\x34\x7b\xf6\xe2\xbf\xff\x9b\x4d\x73\xfe\x88\xa9\x8c\x6f\x78\xc1\x3f\xa0\x7f\xf1\x7f\xfe\xe7\x05\x04\x54\x31\xa9\x27\xe3\xf9\xe7\x52\x14\x0b\xa9\x85\x59\x84\xec\xff\x2c\x24\x44\x60\x77\xfb\x65\x81\x7e\x57\xf4\x41\xc6\x9a\xfd\x2b\x96\x39\x47\x1a\xc9\x58\x9b\x92\x3a\xd2\x09\x12\x9e\xb6\x48\x46\x77\xb8\xe8\x3f\xa7\x6f\xe8\xf9\x11\xcb\xfa\x73\x5a\x5d\xd5\x56\x08\x45\x7f\x4e\xe1\x00\x4d\x15\xb7\x60\x2d\xe6\x26\x2f\xdc\x93\xa9\x72\x6d\x6b\xa4\x01\x0d\x78\xd6\x30\x7d\xfb\x5a\xb9\x45\x2a\x6b\xeb\xb9\x6f\x6c\x23\x10\x2b\xf0\x71\x08\x88\x9e\x27\x66\x85\xdc\xa2\x27\x14\x2c\x37\x6c\x39\xd8\xa4\x14\x3a\x77\xe5\xa1\xe3\x42\xff\xfe\xd5\xf9\xf9\x84\x6d\x34\xfc\xcf\xea\x33\xfc\x0f\xa0\x87\x9e\x8a\x8d\xb5\xd1\x99\x0e\x08\xd7\x1c\xe5\xc3\x23\xf1\x14\x28\xba\x2f\x41\x00\x5e\x9b\xa6\xaf\x4b\x19\xa7\xc2\xa7\x40\x56\x42\x22\xa9\xb2\x92\xf5\xe8\x18\xab\x4b\xad\xc0\x18\xaf\x44\xc4\xcd\xc6\xd7\xf8\x36\x82\x4b\xd5\xba\x10\x12\xbd\x61\xb9\x57\x62\xe3\xe8\xb9\x02\xb3\x18\xa0\x90\xbc\x20\xc8\xb9\x80\x3f\xc2\x47\x80\x51\x7b\x52\xff\x89\xed\x55\x49\xe4\xd0\x40\x79\x1a\x8b\x28\x05\x06\x7e\x4b\xfb\xc2\x72\x51\x94\xb9\x64\x9c\x65\x5c\xc6\x5c\xc3\x0c\x5c\xe7\x10\xed\xcc\x19\x6f\x56\x74\x82\x70\x5c\x55\x16\x40\x66\x84\xc8\x82\xb0\x27\x90\xbd\x3b\xa8\xf3\x24\xa8\x04\x9e\x09\x40\x22\xdc\x78\x71\xba\x90\x56\x2b\x8c\xb0\x70\xe8\x29\x8b\x54\xb6\x27\xaa\x9a\x7a\xa7\x27\xd6\x73\x46\xdd\x3d\xf1\x78\x93\xfa\xb3\x13\x96\x54\x43\x6b\x40\x14\x5e\x04\x6a\xc7\x56\x2f\xfa\x3b\x21\x23\x15\x8b\x5c\xbf\x34\xcb\x30\x71\xf7\x0e\xb4\x1f\x12\xed\x07\x03\x76\x29\x73\xb8\x91\xb7\xd0\x14\xef\x14\x75\x4c\xef\x54\xa8\xa5\xdb\xec\x9c\xc3\x4b\xe5\x5b\x47\xc1\xb4\xd5\x97\xfe\xf3\x8b\x22\x62\x42\x5c\xa7\xbd\x73\x1e\xef\x82\xc0\x25\x1b\xee\xb8\x58\x28\xda\x38\x64\x9c\x58\x69\xd9\xa4\x00\xf5\xba\x5c\xe8\x62\x21\xe9\x04\x9e\xb0\xb5\xe0\xc6\xce\x9b\xb0\x48\x3f\xe0\x66\x8c\xc7\x7d\xf1\xa8\x3c\x06\xc7\xea\x92\x00\x18\xb6\x52\xb8\x77\x12\xe3\x63\x80\x28\xe0\x51\x81\x00\x83\x4e\x15\x72\x6b\xaa\x40\x67\xb5\x6e\x88\x47\xf4\x83\x95\xb9\xa8\x4b\x4a\x85\x2a\x2b\xd0\x13\x7b\x0c\x14\xb3\x7a\x3d\xf0\x07\xb3\xf1\x60\xeb\x10\x06\x12\x6c\x8e\x60\x71\x13\x96\x16\xd7\x99\x8f\xe1\x86\x5c\xe3\xe0\x9b\xe9\x5a\x54\x3d\x1d\x01\x15\x38\xce\x6f\x61\x5e\x3d\xe8\xb0\xd2\x22\xb7\x1a\x1c\xd8\x56\x64\x06\xdc\x26\x79\x7c\x96\xf1\xbc\xd8\xdb\xe9\x9b\x26\x2b\xa0\xee\x4f\x93\x7b\xc1\x66\x79\xae\x1e\x9f\xba\x17\x3a\xb7\x96\xae\x1b\xf6\x29\x48\xf6\xb1\xb7\xfc\x56\x5e\xd0\xba\xbb\xe3\x38\x0e\xd2\x2e\xc7\x47\xeb\x77\x72\x51\xe4\xfb\xa5\x99\x88\xbb\xac\x73\xa7\x18\x94\x34\x31\xdc\xc8\x1d\x47\x6f\x5a\x73\x61\x74\xd2\x9b\x56\x46\xf5\xdb\xa1\x37\x6d\x61\x2e\x6d\xd2\x9b\xce\xaf\xe6\x77\xf3\xd9\xbb\xf9\xff\xab\x95\xf8\xcb\x6c\x7e\x37\xbf\xfa\xc3\xf2\xed\xf5\xcd\xf2\xe6\xf2\xf6\xfa\xe3\xcd\xc5\x65\x3f\x5f\x51\xb3\xf6\xde\x04\x3f\x63\xe1\x77\x5e\xb1\xbb\x00\xa8\x81\xc9\x06\x64\x7f\x93\x76\x25\xcc\x2a\xb3\x98\x13\xb9\x99\xc0\x42\x7d\xc5\x2e\xf3\x7c\xbe\xe3\x1b\xf1\xa1\x4c\x53\x80\x53\x61\x66\xcf\x45\x2e\xe0\xe2\x39\x61\x1f\x54\x3c\x0f\xde\x83\x74\xc4\xd6\x66\xc0\xf7\x79\x1c\xe7\x42\x6b\xfc\xfc\x84\xbe\x1f\x80\x87\x5c\xaa\x23\x81\xe7\xf8\x03\x4f\x52\x73\x7f\x7b\xc5\x5e\xf3\xe8\x5e\xad\xd7\x98\x3e\x33\x71\x89\x53\xec\x73\xa9\x0a\xce\xc4\xaf\x11\x70\x74\xb5\xcf\x93\x77\x6a\xf3\x15\xa0\xca\x03\xc2\x53\x1d\x97\x14\xd0\x28\x5b\xb6\x1f\xe7\xed\x1b\x01\xb5\xf2\x3d\xbe\xfa\x16\xdf\x6c\x77\x50\x16\xe9\x13\xa4\xc7\xbf\x53\x9b\x76\xc5\x18\xb0\xae\x49\xe6\x86\x02\x09\x11\x91\x6d\xa8\x0d\xd3\x89\xbc\x5f\xc8\x5f\xb6\x42\x32\x55\xe6\xf8\x27\xb8\xe6\x1b\x33\x33\x2d\xf5\x56\x80\x84\xec\x84\x3d\x0a\xb6\xe3\x7b\x34\x9b\xe1\x4e\xe0\x64\x2e\x60\xca\xc0\x29\x62\xde\x4e\x13\x69\x76\x8b\x2c\xb1\x79\x09\xf5\xa1\x7f\x8a\x1b\x97\x65\xa8\xe3\xa7\x13\xc8\xf6\x9d\xa7\x15\x7c\x1e\xb8\xca\x3c\x6e\xd2\x02\x84\x68\xe7\x06\x15\x4d\xa5\xee\xcb\xcc\x73\x59\xbe\xb0\xc1\x49\xe8\xee\x07\x95\xc4\x2c\x2e\xb3\x34\x89\xdc\xbe\xfb\xa8\xf2\x4e\xc2\x5e\x4c\xa0\x19\x7e\xea\xd4\xd3\xc2\xfa\x1a\xd6\x92\x9d\x13\x20\xe9\x7a\xa8\x7b\x9f\x99\xbc\x98\x25\x32\x4a\x4b\xd0\x07\x2b\xb5\xc8\xcf\x8a\x3c\xd9\x6c\xc0\x00\xb7\xb9\x7e\xdf\x3e\xbb\xb1\x67\x4f\x3c\x3d\xad\x2d\x4c\x3a\x4f\xd5\x26\x89\x78\x1a\x82\x9b\x3d\x2a\xc2\xd1\xa7\xda\x65\x4f\xea\xa9\x90\x07\x61\x2b\xd4\xc9\x80\x94\xe5\x02\x18\x7c\x97\xb0\x95\x2f\x69\xbb\x3b\xa5\xde\x6b\x66\x2e\xe8\x58\xaf\x90\xdc\xd4\x86\x17\xec\x09\xe7\xbf\x6d\x25\xb4\xc0\xc4\x44\x79\x6d\xa6\x1e\xa5\xc8\xc1\x82\x05\xd8\x87\x69\xa9\x54\x60\x9b\x38\x59\x2d\x87\x4f\xb6\xb2\x72\x6b\x07\xc4\xc6\xcc\xd9\x4d\xf2\x20\xe4\x97\x67\xa3\x0e\x3e\x10\xf1\x68\x2b\x96\xd6\x2e\x7f\xea\x2d\xcb\x1d\x00\x23\x37\x2b\xab\x6f\x11\x6e\xa5\x2e\xbc\x09\x57\x27\xac\x71\x73\xef\xc2\x40\x62\x4f\x46\x96\xa9\xc4\x32\x16\xd1\xfd\x17\xdf\x9a\x3d\xc8\xca\x56\x84\x71\xf6\x46\x44\xf7\xec\xe3\xcd\x1c\xb3\x81\x93\x82\x99\xad\x40\x6f\xbd\x5e\x4f\xe7\xdd\xad\xe0\x9b\x67\x60\x74\x1a\x2a\x38\xe4\x39\xe6\x9d\xcc\x9a\xa9\x10\x01\xa2\x20\x5f\xd2\x6c\x92\x94\x4b\x03\x40\x30\x5e\x58\x19\x1a\x70\xc4\x33\xbd\x03\xd5\x99\xb2\x08\xa4\xda\x52\xbe\x12\x69\x07\xe3\x62\xa6\xe2\xa5\x8d\x93\x9c\x0a\xe6\x69\x94\x65\xfd\x18\x14\x75\xb4\x79\x0c\xdc\x58\xac\x77\xf4\x20\xbb\xff\x51\x07\xf4\x1a\x2a\x24\x7e\x86\x7b\x3d\xd7\x90\xde\xbd\x4e\x36\x36\xda\x96\xac\x49\x1b\x07\x13\xfa\x41\x05\xde\xec\x97\xa6\xa4\x0f\x2a\x26\x98\x9e\x23\x31\x33\x56\x90\x20\xef\x89\xc7\x55\x84\x55\x70\x4a\xf9\x1a\x7c\x03\xba\x10\x3c\x66\x6a\x4d\xde\xc4\x2c\x4b\x13\xa0\xf4\x8d\x91\x3d\x1c\xd8\x33\x74\x15\x1d\x1f\x96\x66\x2b\x1b\x90\x7c\x7c\xb0\x40\xbc\xde\x78\xa3\x0f\x72\x99\x76\x55\x9d\xdc\x75\x9b\xea\x54\x15\x38\x97\x8f\x74\xec\x15\xba\xdf\x9b\xb6\x49\xd5\x0a\x3a\xaa\x1b\x14\xd7\xb3\x41\x9b\xdd\x29\x4f\xe2\x31\xc7\xbb\xed\x93\x6b\xf7\x6a\x5f\x05\xaf\xad\xa7\xc3\x7d\xc9\x0e\x33\x23\xc2\xf5\x30\x82\x5f\x4b\x63\x3f\x74\xd7\x86\x00\xa1\x76\x11\x42\x67\x8d\x17\x24\x37\x00\xab\xc2\x6d\xc7\x1d\xd7\xea\x6a\x5b\x4e\x1a\xe8\x26\x31\xca\x81\xbe\xf4\x5c\x2a\xfd\x83\x7c\x02\xbb\x05\xae\x5c\x47\x71\x31\x86\x33\xda\x0e\x1d\x62\x7c\x4d\x7f\xfa\x41\xac\x24\x5f\x0c\x1a\xd1\x7a\xbf\xdb\x55\x7c\x4a\x97\x3f\xc7\x8a\x2a\x0b\xe5\x5d\xfe\xd0\x9e\x39\x90\x86\x86\x69\x5d\xb0\x6d\xcc\xe3\x0e\xb8\x80\xb5\xc1\xec\xd2\x1c\x01\x42\x1d\x05\x83\xcd\x72\x61\x83\x47\x7b\x51\xb8\xe4\xfe\xd4\xaa\x82\x41\x6c\xc4\xb5\xba\xca\x6e\x62\x09\x0c\x1c\x23\x15\x44\x32\xc8\xde\x8b\xd4\x2e\x53\x12\xb0\x29\x98\xaa\xb4\x90\x54\xb8\xd5\x76\x76\xe1\x95\x4a\xbe\xdb\x84\xbc\x5a\x98\x3d\x21\xb4\x4a\x1f\x28\x8e\x16\x48\x10\x80\x2a\x9c\xa9\xe0\x85\xb9\x20\x98\xeb\x30\x04\x78\x69\x7b\x07\x38\x78\x4d\xe0\x38\x17\x9b\x44\x17\x22\x4c\x11\x0c\xdf\x7f\x32\x2d\xca\xca\x0d\xba\xaf\xeb\x3b\xb5\x28\x0f\x99\xc2\x66\xd5\x8e\xa8\xcf\x3e\x13\xf1\xdc\xbd\xd7\x3f\x19\x6a\x59\xdc\x7e\x93\xa8\x9c\x02\x38\x07\xf0\x0a\xa0\x91\xef\x49\x3b\xf1\x00\x37\x48\xc4\xc4\xc3\x3d\xaa\xcd\x0c\xd1\xa6\xe4\x39\x97\x85\x10\x7a\x21\x29\xfa\x88\xbc\x65\x21\x35\x47\x0d\x0d\xe7\x0c\xdc\x48\xe9\x02\x69\x80\xe0\x95\x35\x4f\xd2\x32\xef\xbc\x73\xe2\xac\x3c\x8a\x7b\xa0\xaf\x97\x2e\xa0\x58\xd6\x36\x68\x2e\x8b\x35\x58\x45\x8e\x3a\xa3\x1e\x3b\xac\x26\x79\x76\x34\xc1\x6e\xb9\xc3\xc7\xdb\x39\x1c\x3b\x12\x5b\x7f\xd4\xcb\x4c\x8d\xd8\xf1\xfe\xf4\xa3\xfe\xa0\x3a\x52\x82\xf5\xe7\x86\x63\xac\x27\x86\xfe\xb9\x4b\x4e\x81\xeb\x7b\x08\x3f\x1d\xba\x8f\x0f\xa2\x64\x3c\x18\xa4\xea\xdc\xbb\x60\xd6\x6e\xb9\x8c\x53\x73\x4f\xe5\x45\xed\x04\xf2\x60\x5f\x63\x17\x17\x76\x73\xec\xce\xec\x82\x44\x89\x65\xd4\xc8\xb2\x3b\xd4\x4f\xb5\xf4\xbc\x5e\x40\x5d\xed\x2b\xd5\xa4\xb9\xb6\x64\x0d\x7f\xb2\x93\x88\xa9\x5b\xb0\xdd\x53\x70\x9d\x6c\xbe\x81\x4b\xd6\xfb\xe6\x4e\x19\xd1\x52\xa4\xf3\xcb\x21\xbf\x4f\x5c\x8c\x90\x64\x63\x36\xb3\x90\x9c\x78\x21\x49\xe3\x18\x23\xaf\x10\x72\x43\x2e\x2a\xcd\xbe\x77\x99\x97\xdf\xff\x93\x65\x22\xda\xb3\x35\xf4\x35\xd0\x7d\xa9\x28\x2a\x73\x08\x8b\x92\xeb\x86\x09\x3c\x9b\xf4\x28\x92\x0d\x38\x91\x1d\x98\x05\xcd\xa7\x36\xeb\xc1\xf9\xea\x2a\x8d\xba\x03\x17\x0d\xaa\x35\xbb\xb3\x90\x44\x78\x72\x5d\x30\x5d\x88\xac\x75\x57\xaa\x18\x5d\x55\x41\xf2\x13\xcc\x2e\x2f\x87\x3e\xd0\xd6\x1d\xb1\x47\xcf\x82\xeb\xf4\x1f\x6f\xaf\xaf\x58\xc6\xf7\x80\x0b\x2b\x14\x29\xc9\x03\x19\x63\x7d\xfd\x1e\x1a\x81\x6a\xe3\xab\x8b\x0d\xfb\xd4\x02\x4c\xdb\x7d\xb7\xf4\xc5\xa6\x0d\x05\x73\x86\xa6\xa4\x59\xca\xb9\x4a\xcf\xb2\x94\xcb\x00\xfa\xab\xa7\xac\xf6\xf9\x30\xd6\xeb\xa2\x3e\x84\xa6\x81\x0a\x80\x3b\x85\xe6\x42\x5e\xb6\x82\x43\xab\x1a\xeb\x27\x85\x77\x3b\xf7\x88\x5e\xd0\xdb\x7b\x94\x36\xe0\x91\x59\x26\xc8\x2c\x60\x43\xd6\x0e\xf5\xc0\x35\x00\x12\x47\x0c\x54\xbf\x20\xfc\x42\x5a\xbd\x5f\xf5\xa8\x59\x8c\xdc\x0b\x65\xa2\xb7\xe0\x9f\xc4\x80\x00\x80\x83\x68\x7f\x41\xe4\x42\xce\xa5\x36\x03\x0a\x3e\x4d\xf1\x20\xc8\xb1\x51\x09\xc6\xcd\xdf\xbc\x73\xf1\x7d\x1c\x24\x92\x64\xeb\xe8\xfa\xc0\x30\x3b\xe5\x02\xd3\xaa\x50\x7e\x98\xd8\xff\x3d\xcf\xfa\xb2\xc6\x4e\x2e\xf1\xd0\x28\x39\xe6\x99\xba\xd5\x09\x5a\xad\xa0\xd2\x54\x49\x1d\x0b\x7b\xef\xa3\x3c\x71\xfb\x69\x25\x7f\x3e\x2c\x2a\x30\xf8\x12\x36\x2c\x13\x70\xc4\xde\x13\x90\xc0\x39\x6c\x8d\xb3\x97\xcd\x2a\x07\x0d\x1c\x60\xaf\x42\x4f\xda\x94\xdd\x0a\xc1\x3e\x41\x4f\x99\x8f\x7d\x22\x8d\x35\x80\x0b\x16\x3c\x69\x95\xc0\x81\xa7\xe7\x72\xad\x4e\xdb\x0c\xf2\x4d\x03\x8e\x76\x52\xaf\xb4\xd7\xf3\x54\xc0\x1b\xa4\x32\xca\xe7\xcd\xbf\x6f\x6d\xd7\x01\x78\xdb\x07\x7f\x27\xa7\xac\x3c\x5b\x53\x73\x3e\xc3\x10\x1f\xc3\xf0\x54\x9b\x24\xa6\x95\x13\x64\x2d\xbe\x97\xea\x51\xa2\x2d\x40\x5f\x62\xdf\x99\xf5\x07\x07\x18\x3a\x50\xd1\x2c\x28\x71\x37\x7c\x09\x34\xca\x33\xf7\x6f\x76\x8b\xb1\x22\xac\x33\x88\xa3\x68\x30\x7e\x48\xd6\x04\x76\xf3\xef\x66\x13\xf6\x7a\xc2\x2e\x26\x6c\x3a\x9d\xbe\x9c\xa0\x72\x33\xd5\x08\x5f\x41\xe4\x58\xc1\x37\xa6\x6c\x92\x8b\x58\x07\x1f\x00\x01\x24\x73\x58\x59\xb6\x30\xee\x9f\x0a\x3c\x0f\xb6\x09\x98\xc3\x48\x09\x17\x14\x57\x8f\xb6\x2a\xf1\x95\x02\x88\xa6\x88\x54\x6e\x41\x9e\xba\x50\xb9\x05\xac\x3d\xf0\x9c\x27\x12\x52\xbb\x79\x13\xae\x4b\x5f\x0e\xc8\x9d\xc5\xaf\x7c\x07\xed\x4f\xa4\xe3\xb7\x34\xdd\x74\xe7\xea\x5f\xec\x33\x72\x48\x3f\xe6\x49\x51\x98\xd3\x59\x2f\xe4\x2d\x7b\xf5\xaf\x6c\x96\x65\xa9\x60\x33\xf6\x57\xf6\x9a\x4b\x2e\x39\x7b\xcd\xfe\xca\x2e\xb8\x2c\x78\xaa\xca\x4c\xb0\x0b\xf6\x57\xd3\x6d\xa6\xbc\x2b\x65\x8e\xc3\xfd\x84\x71\x26\xcb\x14\x4f\xfd\xef\x2c\x18\xec\xa5\x6b\x17\xf7\xa3\xb3\x12\xc5\xa3\x10\x92\x69\xb5\xa3\xa3\xf0\x2f\x2e\x26\xa1\x13\xb9\x49\x45\x41\xf3\xa1\x0a\xdb\xc3\x0f\x9c\x41\x4b\x5f\x2d\xa4\xf3\xe5\xfd\xc5\xd4\xf8\x2f\xec\xaf\xec\xaa\x4c\x53\x53\x25\xb3\xd1\x98\x89\xf4\x8a\xd9\x34\x0a\x21\xa7\x8f\xc9\x7d\x92\x89\x38\xe1\x90\x48\x61\xfe\x75\x7e\x07\xa3\xbd\x2c\x3d\x67\x5e\xb8\xa6\x9d\xe0\xcc\x29\x5b\xcf\xb3\x24\x65\x3b\x39\x24\x3b\xf8\x3d\x37\xbf\xea\xab\xe3\x2d\x22\xcf\x14\x4a\xeb\x81\x0c\x56\x14\x0b\x0a\x65\x97\x8e\xda\x02\x6a\x87\xad\x2d\xab\xe5\x28\x08\x0f\xf5\x53\x37\x59\xd0\x10\x7b\xf2\x3b\xe4\x00\xed\xa2\xa1\x5b\x6e\x43\x79\xa5\x92\xe6\x0e\xb6\xa4\xa7\xfa\x19\x14\x15\x72\x8a\x2b\x3f\x57\x45\xd4\x2a\x5d\xac\x92\x41\x6a\x73\xb5\xca\x7e\x24\xdf\x05\x26\xa8\x99\x65\x9a\xa4\xe7\x66\xa9\x9e\x5f\x29\x69\xae\xad\x3a\xd9\x20\x3d\x11\xc0\x88\x50\xa6\xcd\x1a\x05\x77\x55\x93\x35\x58\x02\x60\x1f\x98\x2a\x21\xb4\xad\x30\xbb\x80\x19\x82\x74\xbf\x90\xe6\x0d\x3a\x91\x00\xe6\x9e\x38\x16\x5b\xfc\x9a\xd5\xb5\xa7\x6f\xd1\x86\x1c\x14\xde\x32\xc1\xfa\x72\x68\x4f\x98\x70\x94\xb2\x75\x82\x57\xfc\x2a\x60\x70\xa3\xd2\x2c\xbd\x07\xc6\x3d\x57\x22\x55\x72\x63\x66\x45\xd7\x26\xa0\x76\x3c\x39\x05\x58\x12\x56\x01\x0b\xeb\xac\x81\x39\x2c\xe9\x11\x1a\x12\x73\x4e\x26\xb1\xbf\xdf\xeb\x72\x65\xec\x08\xe7\x91\x75\xa7\x21\x35\xae\x2b\xa1\xf8\xb4\xf8\xf2\x47\x2d\x72\xa0\x59\x46\x84\x83\xf3\xf6\xe3\xc1\xe9\xc9\x36\xb0\x45\xc3\x16\x55\x2f\x30\xb6\xdd\x15\x42\xd1\x84\x46\x6a\xf5\x80\xf9\xf8\x35\x31\xb2\x43\x90\xb3\x6f\x67\xf3\x77\xb5\xe7\x9a\xc8\xd9\x16\x78\xed\xdd\xfc\xfd\xe5\x9b\xe5\xf5\xc7\xbb\xc6\x73\xa6\x34\xfa\xd3\x58\xa5\x7f\xdb\x7b\x4f\x01\x1f\xfc\x8c\x72\x2f\x4b\xb5\xb6\x99\x94\xc3\xcf\xf4\x86\xe0\xce\x30\x94\x4a\x48\xb2\x1d\x0a\xd3\x34\x27\x4e\x67\x3e\xb8\x5c\x52\x44\x62\x58\x65\xeb\x1d\x76\x2d\xdf\xe2\xeb\x1f\x54\x9a\x44\xfd\xa0\x37\x7b\x5c\x6d\xd5\x63\x0b\x8a\x68\x25\x00\x05\x4a\xfe\x1f\xaa\x14\x5a\xe8\x85\x88\x0a\x1f\x71\x6b\x36\xee\x7f\x35\xd0\xe6\xf0\x1d\x1c\x3d\xca\xae\xdb\x40\x80\xd3\xc5\xf0\xe0\x6c\x05\x82\x4d\xe0\x95\x47\x5f\x2b\xe4\xd2\x41\x6c\x3b\xe2\xe4\x82\xae\xf4\x3c\x6c\xd0\x8f\x5b\x95\x9a\xbb\x98\x8c\x89\xac\x74\x21\x33\x91\x47\x0a\x00\x2a\x98\x07\xaf\x58\xb4\x4d\xd2\xd8\x8b\xb7\x7c\x07\x88\x5e\xc0\xdd\xbd\x24\x59\x3e\xe1\x62\xcc\xb6\xf8\x9e\x53\xd7\x4e\x3b\xab\x57\x7e\x9a\x07\xea\xe9\x20\x7a\x7d\xd3\xfe\x17\x82\x92\x61\x57\x10\xbd\x50\x2d\x5a\x68\x3a\xbd\x52\x9f\x51\x1e\x5e\x50\x14\x5f\x5b\xf1\x4f\x7b\x71\x2a\x6a\xe3\x4a\xd3\xac\xde\x95\x40\x3a\x8b\x28\x2a\x04\x90\x68\x01\xd5\xd9\x09\x8e\xb6\x98\xa7\x80\xa4\x41\x5d\x48\x1f\x1f\x7d\xa1\x43\xbb\xac\x75\x9c\x91\x53\xd5\x82\x00\x27\xec\x45\xa5\xa1\x2f\x80\x94\x54\x2a\xf8\x1e\xc5\xb0\x2a\x5d\x03\xd3\x75\xc2\x92\x62\x21\x13\x8d\x33\x33\x17\xa9\x78\x30\xb5\x0b\x9d\xc5\x84\x75\xb1\x77\x67\xdb\x6c\xc0\x91\x73\x9b\x7e\xec\x64\xee\x61\x11\xe6\x21\xb9\x25\x07\xc7\x74\x2c\xb4\xb1\x1b\x41\x96\x43\xfc\x6a\x16\x40\x02\xb1\x10\x84\x7f\xc4\x42\xda\xfa\x01\x2a\x04\xb5\x6c\x17\x72\xbe\x86\x1c\x50\xc8\x3c\x8d\x63\xbc\x85\x5a\xa1\x06\xc7\x34\x96\x90\x73\x58\xd1\x9d\xdc\x0e\x04\xa9\x4a\xe2\x4a\x12\x0f\x22\xdf\x17\xe0\xd4\x85\x7e\x95\x82\x17\x5b\x96\x14\x13\xa0\x88\xb3\x3b\xe5\x42\xf2\x98\x94\xca\xa9\x38\xd3\x35\x30\xef\x7b\xc6\x99\x7e\x5f\xa9\x87\x3e\xc3\xf6\x54\xd4\x17\xae\xea\x2c\xe5\x72\x89\x27\xc8\x57\xc0\x7d\x05\x82\x9f\x5d\xa1\xce\x72\xb5\x74\xb4\x36\x4f\x52\xcf\x40\x13\x3a\x94\xe1\x35\x76\xac\xfd\xd0\x04\x27\x83\xa7\xb5\xb6\xd7\x13\xe7\xa7\x21\x74\x41\xce\x6c\x04\x76\xf8\x2e\xe0\x21\x61\xbc\x86\x44\xb0\xb3\xf5\x10\x26\xcc\xce\x80\x6f\x15\x9f\x34\x64\xe4\x6b\x67\x48\x7d\xd8\xc7\x43\x63\x1a\x16\xe2\x51\xf0\x98\x03\xd5\x7a\x5e\x88\x4c\xa7\x1f\xa5\x09\x95\xb1\xad\x0d\xc2\x7d\x98\x3c\x21\xd0\x0f\xe7\xdc\x3c\xed\x82\xae\xe1\x3d\x4c\xb5\x60\x2b\x9f\xd2\x47\x0d\xfb\xd4\x50\x4f\x89\xcf\xbd\x86\x7a\x4d\xd9\x5c\x32\x6b\xee\x4d\xd8\x0b\x9c\x58\xfa\x05\xb9\x20\x49\x15\x98\x62\xe7\x31\xad\x1e\xca\x56\xad\x43\x31\x30\x67\xc0\x2f\x37\x8c\x04\xf5\x52\x1b\x3e\x6b\xbf\xbc\x4e\x20\x67\xe1\x98\xb4\x74\x8c\x22\xae\xb0\x00\x3a\x24\xf1\xda\xbd\x47\xa3\x5d\x79\x6f\xb6\x6f\xb0\x8d\x77\xb1\xd7\xf6\x45\xd3\x45\x59\x49\xe7\xa9\xfd\x9d\xa9\x7c\x21\x6d\x69\xe4\x92\xd4\xa8\xa5\x54\x2f\x2a\x80\x50\x93\xcd\x1f\xcc\x54\x00\x31\x58\xf9\x2c\x50\x65\xf3\xfc\xab\xf5\x5d\x00\x40\x11\x2b\xe1\xf5\xcc\xa7\x6c\xe6\xbf\x66\x0c\x0f\x33\xc1\x77\x78\xcc\xd7\x39\x1a\xd3\xd4\x74\x4a\x52\x58\x4a\xc8\x20\xbd\x41\x97\x40\x6c\xba\x2e\xcd\x66\x14\xb0\xbf\x2e\xa4\xe9\x3c\xb6\x4e\x00\xf7\x4b\xfd\xb2\x90\xef\x95\xb6\xd9\xf4\xda\xf7\x87\xc5\x90\x52\xb7\xbd\x70\x2a\x62\xf4\x87\x37\x70\x68\x93\xcf\xbf\x26\xf1\x0f\x79\x2d\x44\x89\xb1\x57\x65\xee\x1b\x15\x71\xb9\x90\xff\x69\xba\x07\x95\xac\x9d\x0c\xbc\x5a\xe3\x12\x86\x11\x84\x60\xc9\x27\x2c\xf4\xbb\x7f\x7a\xf9\xe9\x25\xe2\xd0\x4b\x0d\xc2\x8d\x93\xea\x01\xe2\x88\xc0\xcb\x34\x85\x48\xb4\x6d\x81\x23\xa3\xf0\x9f\xe0\x7d\xb0\x1c\xba\xd4\x2d\x65\xd5\xc4\x18\xb2\xd0\xfb\x66\xb0\x77\x3e\xcf\x58\xc4\x8b\x68\x7b\x66\x6d\x39\xda\xc6\xec\xe9\x47\xc3\x87\x0a\x6e\xc6\xd2\x6a\xe7\xc2\x36\x17\xce\x7c\xe7\xd8\xf9\x2a\xf3\xc5\x34\x01\x80\x35\x77\x75\x61\x18\x47\x1e\x8a\x93\xd3\x0b\xb1\x7b\x3b\xcf\x3d\x6e\x65\xd9\xfc\x8d\x93\xbc\xe4\x92\xef\x44\xcc\x5e\x40\xc6\xd4\x0b\x3b\xf8\x0b\x99\xad\xa6\xe9\x7e\x5d\x10\xc5\x93\xe9\x94\x29\x08\x18\x1d\x38\xe5\x96\x71\xf3\x9a\x74\xa0\xb3\x3b\x2f\x5a\xed\xb6\x8e\xeb\x1b\xf7\xa5\xe1\x06\x0b\xfa\xb8\x5c\xef\xdc\x56\x21\x42\x55\x26\x75\xae\xef\x27\x6c\x95\x73\x09\xda\x13\x71\x68\x54\xf9\xd5\x09\x97\x67\xe4\x4f\xb2\x29\x14\x92\xa7\x7b\xc0\x8e\x4f\x16\x12\xc9\xa6\x80\x95\x78\x1f\xa5\x49\xc4\x36\x39\xcf\xb6\x35\x3b\x48\x3c\x08\x59\x80\x84\xe9\x8d\xe0\xfa\xb4\x68\x7d\x5e\x2f\x81\x0d\x8e\xa7\xcc\x24\xdc\x3e\xb8\xac\xd1\x83\x42\xf5\x3a\x8e\x16\x80\x6b\x89\x78\x39\x8e\x1a\xe4\x20\x81\x65\x85\x16\x8d\x38\x7a\x20\x02\x69\x1a\xc7\xec\x57\x0f\x85\xbf\xb1\x5f\x89\xb5\xc2\x82\xff\x4f\x0d\xd9\x3b\x16\x8c\x93\xb8\x0c\xe7\x55\x2b\x92\x7b\x7a\x0f\xef\xb9\xc6\x04\x20\xf2\x54\x58\xb0\xb0\xdb\x38\x26\x24\x31\x07\x3c\x67\xec\xcf\xe5\x4a\xa5\x96\x28\x6e\xfe\x86\xa9\x1c\x34\x1a\x0a\x45\x7f\x4a\xe2\x2e\xeb\x20\x91\xb1\xf8\xf5\x24\xb6\x86\xfe\x83\xde\x9a\xcd\xe6\x33\x81\x14\x40\xbd\xb1\xb0\x3b\xe5\xc2\x1c\xc2\x85\xbd\x19\x37\x9e\xd2\x75\xe4\xe2\x2c\x2d\xb6\x00\x27\x44\x20\xbb\xef\xd4\x1d\xdf\xb3\x68\xcb\xe5\x26\x70\x4d\x00\xba\x4b\x64\x2a\x47\x2d\xc3\x07\xa0\x45\x53\xb9\xcd\x86\xa5\x1c\x4f\x42\xd3\xbb\x40\x02\x82\x58\x95\x4d\xe4\xe4\x9b\x4d\x2e\x36\x40\x50\xb0\x90\x95\x2c\x75\xa0\x84\xb3\x32\x0a\xf8\x9d\xbe\x24\xdf\xa7\x61\xca\xe8\xba\x0d\x16\xf9\xde\xa5\x48\x92\x10\xa8\x5f\xcf\xf5\x6e\x9d\xb0\x44\x4c\x27\xec\x07\x0f\xdc\x15\x91\x92\x2e\xc7\xb2\x23\xc1\xae\xe6\xf2\x67\x07\xae\x0e\x4d\x4a\x8d\xf6\xba\xc3\x6f\x0d\x39\xd1\xd6\x49\xd3\x9b\xa4\x5a\xf0\xa2\x1c\x71\x06\x91\x64\xf4\x85\x79\xf9\x16\xdf\xed\xc5\xb6\xf3\xcc\x1c\x1b\x96\xce\xc8\x3c\x6f\x4e\x4e\xf3\x6d\x4f\x77\xdc\xd6\xd7\x07\x1d\xc8\xa9\xea\x76\x20\x3f\x85\xa9\x6e\x39\x2b\x0e\xfb\x90\xd3\x0e\x1e\x86\x9e\x36\x8d\x75\x11\x5b\x90\x2f\xc1\xf7\x75\xfd\x1a\xdb\xb2\x03\x64\xb9\x8a\xcb\x48\xc4\x66\xe5\xc2\x7d\x08\x11\x31\x8e\x0e\xa2\xb2\x49\xb6\x1d\xb4\x15\x4e\x1b\x38\x75\xbf\x94\xcf\x61\x10\x8d\xb0\xeb\xfe\x8f\x1d\xfe\x06\x6b\xf1\xb5\x75\x7a\xb8\x3e\xb1\x9f\xf2\x91\xe7\x94\xfb\x7c\x95\xfc\x57\xe5\xc9\x26\x91\xbc\x50\x39\xfb\xce\x25\x7d\xbe\x74\x8a\x41\xdd\x16\xc2\xc8\x6d\xa2\xd2\x45\xb8\x4d\x7c\x51\xc3\xa3\x6d\x92\x9a\xa7\x74\xc1\x77\x59\x48\xa7\xe9\xf4\x98\xa9\x67\x52\xec\x04\x67\x9b\x80\xef\x34\xd1\x3e\xb7\x6d\x21\x29\xe2\x80\xe3\xa6\xf2\x90\x0f\xba\xf3\x6c\xce\xca\x62\x79\x24\x45\x0c\xbe\x3c\xce\xf1\x44\x30\x84\xf7\x3c\xeb\x27\xdd\xe0\xe4\x72\xc0\xe4\x1e\x27\x52\x6d\x2d\x95\xea\xfc\xec\x57\x5c\x18\x49\x02\x5a\x0f\x9d\xdf\xbc\xb3\x81\x22\x7f\x1f\xac\x5c\xb0\x60\x20\x90\x7d\x50\x83\x55\x81\x57\x7b\xb7\xad\x99\x53\xdc\x32\x75\x5c\xa4\xaa\x8c\x19\x6d\x6a\x14\x86\xcf\xa7\x78\x3a\x02\x1d\xe8\x74\xda\xc5\x8d\x36\x52\x09\xd6\xed\x3f\xf0\x5e\xfb\x0a\x84\xdf\x3a\x76\xe0\xde\xa5\x4f\x3d\xfb\x6c\x43\x4f\x3d\x0d\x63\xef\xb6\xe3\x51\x63\xef\xbc\xe0\xc0\x4d\x36\xce\x41\x0a\xf7\xd1\x24\x4e\x61\xbd\x85\x01\x84\x16\xf6\xd4\x4a\x60\x56\xdf\x9f\xfc\x39\x9b\xc1\xdc\xff\xa9\x8c\xe7\x42\x16\x4b\xf8\xe2\xb8\x8f\xc1\x47\x3e\xc0\xeb\x15\x83\x69\x90\x23\xf8\xdf\xef\x14\xfa\xf7\x2d\x11\xc9\x7f\xb0\x5b\xf2\x69\x99\xfd\x2a\x01\x10\xa9\xbe\x67\xdf\x25\x80\x39\x0a\x62\xa1\x6e\xe0\x3a\x86\x8b\x1a\x74\x44\xef\x05\x0d\xaa\x6c\xed\x83\x1a\xe4\x6b\x0f\xa1\x6a\x28\x85\xdc\x7b\x94\x39\x6b\xb6\x5a\xfb\xb7\x80\x9c\xfc\xaa\xf2\x6f\x20\x92\x34\xe3\x97\xb2\xff\x12\xb9\xf2\xe9\x20\xe8\xac\x0a\x0b\xee\xb5\xd7\x8f\xd7\x55\x45\x7b\x1c\x15\x3d\x43\x49\x3b\xf8\x0b\x71\xbd\xa0\x47\x61\xb5\xb7\xd7\x91\x2e\x9a\x7a\x11\x2d\x3b\xf4\x0b\x06\x55\x25\xb8\x78\x86\x7a\x04\x49\xed\x30\xb3\x0b\xf4\x1c\xfc\x15\xc4\xa6\xb8\xe3\x19\xe1\xfb\x08\x4a\x5c\x0f\xde\x4c\xa1\x11\xff\xfe\x97\xff\x98\x76\x29\x66\x43\xd5\xc7\xc2\xa5\x5c\xe5\xdf\xe6\x89\x90\x31\x04\x63\x79\xdc\x94\xd6\x91\x15\xef\x7c\x65\x7b\x36\xd3\xf0\x49\xb2\x26\xdb\x8f\x5a\xbd\xc4\x49\xf4\x05\x22\xfa\x7e\x93\x75\xcb\xb7\x12\xef\xeb\x32\x25\xf4\x32\xde\x4b\xbe\x6b\x6a\x8c\x3f\x6b\x1d\xf7\x89\x48\x63\xa8\x22\x7d\xfd\x50\x54\x2a\x16\xd1\xfd\x58\x9b\xe0\x68\x62\x70\x11\xdd\xb3\x9f\xee\xde\xbf\x43\x1d\xc8\x44\x2f\xe4\x15\x2f\x92\x07\xf1\x31\x4f\x5d\x38\x80\x98\x5e\xf2\xd4\xae\x91\x2a\x51\x6d\x40\x8a\x62\x59\x6d\xad\xe1\x10\xf2\x88\xef\xf6\x67\xab\x32\xba\x17\xc5\x79\xce\x65\xac\x76\xd8\x8c\x73\x5d\xae\xd7\xc9\xaf\xd3\x82\xe7\x1d\xa4\xe2\xe8\x47\xf8\x8a\x76\xae\x97\x8a\x29\xbc\xcd\x8b\xa6\xee\x23\x64\x7d\x92\x00\x71\xc5\xb8\x85\x2b\x70\xce\x77\x02\x58\xe1\x58\x95\x90\x1f\x4a\xc1\x44\x4a\xd0\xad\xd3\x9a\x10\xf4\x8a\x54\x71\x3f\x05\xc6\xfd\xa7\xa0\x56\x55\x65\x66\x5b\x29\xaf\x05\xb7\xe3\xf7\x78\x3f\xdc\xe4\x42\xeb\x09\xd3\x0a\x6a\xbc\x90\x16\x8b\x6e\xf3\xa5\x00\xf7\x02\xbc\x92\xe9\x9e\x45\x2a\x4b\x40\x3a\xcf\xb5\x6b\xab\x1e\xc1\x4f\x1f\xa6\x0d\x82\xda\x69\x29\x8b\x24\x65\x7c\x5d\x90\x13\x1f\x48\xb4\xad\x68\x8e\x9e\x2e\x24\x84\x62\x23\x68\x3e\x40\x24\x5c\xf8\xc5\x35\x42\xb3\x35\x8f\x92\x34\x29\x88\xda\x07\x92\x8c\xb8\x69\xaf\x39\x0f\x4c\x5f\xe6\x7c\xcf\x53\x7f\xb1\xe2\x69\xe9\x33\x25\xcf\xb4\xa8\x53\xc7\x75\x3b\x3e\xfb\x4e\xdd\x13\x2e\xbc\xa7\x1c\x3e\xcd\x2b\xad\x53\x72\xf5\xe7\x78\x12\x5b\xfc\x6d\xc5\xd4\xf5\x8c\xbe\xee\xf8\x81\x98\x44\xc7\xa5\x7a\x6a\xf5\x77\x9a\x5f\x18\xd1\x7b\xed\x46\xd8\x17\x72\x17\x74\x71\x0b\x0f\xa9\xbe\xf5\x76\x7f\x50\x2a\x3d\xd5\xe3\xcd\x53\xbb\xa1\x2e\x41\x92\xf2\x94\xeb\x1a\x4e\x00\xe7\x38\x9a\xbf\x71\x31\x6d\x47\xd6\x5b\x15\xb2\x21\xb8\x15\x55\x01\x36\x0a\xa8\x44\x0f\x12\x5b\x67\x2d\xa0\x86\x91\x88\x72\x28\x03\xd1\x50\xd6\x74\x6e\xba\xe0\x03\x8e\x00\xee\xeb\x08\x84\x86\xb5\x1a\x8e\x72\x86\xa1\x80\x64\xed\x53\xce\x31\x16\x12\x9f\xba\x7e\x0c\xbe\x6d\xfb\x13\x65\xab\xcd\xf9\x44\x56\xf2\x42\x06\x16\x31\xb2\x15\x59\xc8\xbe\xeb\xb5\x36\x7f\x59\x65\x1a\x9e\xec\x2f\x3b\x85\xdd\xba\x37\xa0\xf2\x26\xd4\xa9\x02\xac\x45\xa4\x76\xab\x44\xda\x14\x70\x72\x22\x83\x29\x3f\xb3\xe4\x81\xce\xe1\x6f\x4d\x72\x54\x2f\xa8\xf5\xbd\x33\x23\x42\x1e\xc6\x70\xcb\x3a\x74\xdd\x0d\xef\x4f\x4f\x4b\xc4\xdd\x11\xc9\xab\xb7\x20\xd1\x8c\xa7\x8f\x7c\xaf\x41\xcb\x55\x98\x5d\x71\x8d\x8e\xd3\x6a\xfd\x27\xc1\xf1\x6e\x89\x29\x49\x18\xbd\x24\x89\x67\x6a\x4b\x82\xbc\x18\x22\xb5\xaa\xb5\x9e\x6f\xe8\x85\x6e\xef\x9c\xaf\x13\x0b\xc9\x7b\x63\x21\x18\xe4\xfd\xdb\x08\x7f\xf4\x38\x59\x4f\xf4\xf5\x06\xc7\x24\x5a\x64\x04\xc3\x81\xc4\x28\x17\x02\x9e\xb0\x1d\x4f\x24\x2d\x03\x54\x06\x8b\xc5\xaa\xdc\x6c\x3a\x5d\x90\xdf\x7e\x2c\xa3\xba\x4e\xfe\xee\x7d\xcd\xbd\x8c\x59\x4f\xe1\x8d\x9d\xdb\x2f\xa1\x7b\xd8\xdc\xab\xbe\x8c\x03\xf6\x2b\x7a\xbb\x5b\x43\x4e\x8d\x49\xf4\x34\xde\xee\xf9\x10\x6f\xb7\xc5\x4e\x41\x0a\x1b\x5d\x57\x2d\xbe\xe5\x37\x37\xf8\x97\x71\x83\x0f\x9a\x14\x48\x9b\xb2\x4c\xaa\x06\x7a\x4f\x0d\x8f\x64\x5f\x73\x34\x9d\x50\x2b\x52\x59\xd7\x42\xc6\x9a\xad\x78\xf4\x0c\x74\x6c\x70\x3a\x9e\xee\x6f\x3b\x00\x2e\xb9\x55\x3b\xc1\xe0\x53\x1a\x35\x25\x18\x65\x09\x4e\x00\x0d\x6a\x1a\xe8\x11\x19\x84\xf7\x80\xe3\x14\x91\x21\xb1\x37\xaa\xbf\x93\xe2\x91\x99\xd3\x6a\x12\xc2\xe3\x82\xe1\x01\xb1\xa1\x97\xc6\x3a\xac\x60\xe9\x1d\x25\x42\x2e\x36\x3c\x8f\x21\x83\x83\x96\x64\xca\xa3\x7b\xf3\xdf\x50\x3f\xfa\x22\x41\xf8\x2c\xef\x39\xc2\x4a\x7d\x69\x89\x8c\x72\x20\xbb\x22\xb4\xa0\xaf\x1f\xbe\xae\x19\x8f\x72\xa5\xd1\x29\xe3\x34\x3a\x21\x83\x18\x0c\xd8\x87\x24\x2e\x79\x8a\x5f\xec\xf4\x64\x8f\x85\x87\xd5\x01\x3d\x81\x9c\x4e\x13\x2d\x46\xc3\x81\x1c\x40\xd0\x8d\xd3\x85\x7c\xe3\x02\x12\xaf\xd8\x47\x2d\x08\xc5\xa5\x2d\x21\x71\x6f\x4d\x9f\xcd\x7c\x68\x60\xee\x3a\x6d\x88\x9e\x0e\xb0\x20\xe6\xa0\x23\x74\x77\x4f\x1c\x20\xf5\x3b\x65\x50\x46\x93\x93\xce\x03\x4d\x5f\xdf\x2d\x78\x4f\xc8\x05\x8f\xf7\x21\xf5\x59\x22\x19\x44\xc1\x18\x8f\x77\x89\x34\x8b\xc0\xea\xc6\xb9\x93\xc6\x52\x48\x23\xa4\x17\xe4\x55\xd2\xb4\xb6\x09\x6a\x26\x85\x31\x2e\x79\x9e\xa4\x7b\xb8\x4f\x64\xb9\x38\x0b\xbe\x13\x8c\x0f\x65\x14\x01\x19\x36\xd1\x74\x94\x5a\xac\xcb\x14\x6f\x1d\x70\x2f\x77\x0d\xa0\x1d\xe9\xe3\x7c\x62\x0c\x8e\x82\x44\x0d\x82\x0f\xa3\x54\xd8\x53\x64\x67\x34\xa2\x81\xe3\x22\x5a\x9e\x9a\x2f\x07\x10\xf9\x56\x3d\xda\x54\xb2\x47\xee\xb1\xc2\x5d\xa7\xeb\x93\x45\x31\xfa\xed\x50\x7b\x03\xb4\xfb\x14\x76\x7e\x5c\x09\x5d\xd1\x6f\x22\x76\x7b\x53\x22\xa1\x39\xa4\xb6\xe9\x3d\xc3\xa5\xc6\x8c\x34\x33\x96\x70\x7e\x59\x47\x47\xd5\x31\xcc\x5c\xeb\x12\xad\x24\x5b\x94\xbf\xfb\xdd\xef\x05\xfb\x1d\xa4\xe8\xd1\x7d\x04\xe3\x4f\x40\xce\x87\xa5\xc3\x96\xed\x3e\x20\x90\xb9\xaf\x31\x22\xac\x0d\x02\x6a\xf3\xe1\x01\x44\xc9\xa3\x2d\xd3\xe5\x0a\x11\x82\x9c\x42\x18\x5c\x3a\xee\xdb\x77\x0a\xc0\x7e\x78\xb2\xdb\xda\xff\x2f\x71\xd8\x23\xff\xfc\x42\x66\x0a\xe9\x99\x01\x5a\xb9\x12\x6c\xc7\xf3\x7b\x90\x13\x24\xcd\x78\xc6\x0b\xf6\x5d\x22\xa6\x55\xf7\xfd\xcb\x4a\x7d\x28\x60\x82\xb4\xab\x2c\x2f\xa5\xb4\xfa\x28\xcc\x18\xa6\xde\x97\x3e\x59\xc8\x55\x19\xde\x3d\x2b\xce\x78\x3f\xb5\xc0\x21\x0f\x9b\xad\x02\x2e\x0e\xaa\x14\xd7\x81\x96\x3d\x1b\xe0\x95\x5f\xc8\x67\x72\xcb\x77\x39\xfc\x3e\x90\x0d\x66\x9d\x79\x41\x3e\x00\x34\x37\x94\xf0\x84\xe1\xc0\x69\x0f\x46\xce\x07\xd0\xf1\x9c\xb0\x9f\x92\x07\x31\x61\xb7\x19\xcf\xef\x27\xec\x0d\x86\xd7\xfe\xa8\x56\x6d\x3e\xbc\x06\x61\xc3\xc9\x7e\xbc\xe3\xdc\x58\x7d\x44\x26\xed\xd6\xff\x2f\x4d\xa5\xff\xae\xd8\xf2\xdf\x26\xe2\xad\x83\x4b\xe3\xef\xdd\x13\x71\x20\x0c\xfc\x1b\x38\xec\xef\xf2\x56\xdc\x4f\xa3\xf1\x0f\xe1\xff\xda\xfd\xcb\x5a\x5c\x60\x7b\xd2\x2e\xd7\x8a\xfa\xfa\xb6\x12\x87\x93\xb8\x7e\x28\x37\xf3\x87\x87\x2d\x05\x4a\xcf\x8e\x5d\xea\xf8\x08\x50\x3b\xbd\x6a\xfb\xeb\x22\x55\xba\xcc\xfb\x17\xff\x4d\xb5\xd6\xf6\xeb\x2d\x54\x9a\x30\xd9\x76\x2b\x01\xac\x00\x43\xe1\x1d\xf8\xd8\xf2\x3f\xd5\x6a\x09\x58\xa6\xd3\x56\x78\x5b\x71\x56\x9c\xc7\x45\xc4\xa8\xaa\xfe\x84\xbc\xcd\x04\x30\x3a\x79\x53\xd4\x07\x04\x6a\x33\xcc\xb9\x46\x16\xd2\x12\x5c\x63\x46\x6a\x9e\x0b\x60\xe2\xcd\x05\x68\x4e\xb1\x8c\xe7\x0e\x50\x60\x2d\xa2\xe0\xe6\xe3\x41\x27\x61\x16\x19\x24\x83\xd2\x7d\x6b\x25\x84\x74\xbd\x3d\xc6\x94\x30\xd6\x41\xbd\xf7\x09\x4d\xf6\x28\x58\x84\x89\x0a\x1d\xfa\x78\x8d\xf7\x82\xbb\x20\x98\xdc\x1b\x51\x04\xbb\x79\xcd\xb4\xa8\x2c\xcd\x4a\x84\xea\x9b\x42\xd4\xb7\xc6\xa0\x6b\xe4\x57\x15\x07\xca\xa0\x98\xde\x53\xf8\xcb\x3f\xf0\x62\x8b\x17\xda\x9d\x2a\x04\xee\x99\xc8\xc2\x83\xf3\x05\xbd\xce\xab\x54\xad\x40\xec\xc9\xfc\xd2\x75\x37\x8c\x68\x69\x0f\xea\xba\xe6\x80\x0d\xd9\x19\xcc\x6e\x02\x99\xac\xb9\xd0\x40\x68\xd2\x8c\x52\x0d\xc5\xff\x8e\xbb\x74\x37\xab\x6b\x36\xfd\x37\x8d\xcb\x76\x93\x01\xdf\x2c\x6b\x00\x83\x5e\x1e\x91\xa1\x72\x19\x66\x83\x1a\xe3\x80\xc8\x80\x29\x0c\x8c\x7c\xa0\xb5\xf6\x5a\x4d\xe1\x85\x9c\xe1\x2f\xc1\x21\xc0\xbd\xd2\x8b\xc3\x5b\x92\x7c\xa4\x5b\x7f\x98\x1e\xca\x66\x21\xc2\x8f\x3c\x04\x13\xef\xcb\x84\xcb\xc0\x04\xb2\x06\x65\x91\xe4\x82\x49\x40\x21\x2c\xa4\x2e\x57\x67\x9e\xf8\xc3\xdc\xe2\x1e\x80\xac\x46\x8b\x8c\xc3\x55\x06\xf8\x80\xce\x5a\x8e\x61\xf4\x4c\x7a\xc5\x06\x4b\x90\xc7\x53\xda\xfc\x21\x17\x11\x33\xcf\x5d\xdb\x5d\x39\xe6\xb2\x06\xb7\x68\x9b\xf5\x8c\x87\x5d\xdf\x7e\x01\x9a\x32\x90\xe1\x78\x83\x28\x8a\xaf\x7d\x80\x87\xd1\xd0\xa1\x47\x37\xc4\xd3\x16\xf2\xff\xda\xb3\xa1\x1b\xb4\x3b\x62\xa6\x9b\x9e\x31\x47\x54\x27\x98\xb8\x52\x37\x7b\x85\x0c\x8c\xc0\xee\x4a\x35\xa6\x7c\x5b\xa9\xdc\xe2\x5a\x42\x05\x05\x45\xe9\xa8\xf0\xeb\x43\xa2\x03\x3a\x6d\xf8\xda\xad\x10\xec\x55\x2e\xd6\xaf\x3e\xe5\x62\xbd\xb4\x23\x3d\x85\x06\x4d\x4d\x8b\x9a\xa4\xda\x03\x27\x87\xce\x94\x6c\x27\x17\x3c\x40\xfe\x59\x6b\x12\x96\x13\xb4\x29\x59\x33\x2f\xb4\x67\xda\x03\x0c\x0b\x22\xae\xb3\x7d\x37\x6a\xf6\xc5\x8f\xb9\x2e\x24\xd8\x00\xa8\x55\x87\x40\xdd\xdf\xff\xf1\x56\xe9\xb3\x21\xc7\xdb\x5d\x15\x32\x63\x37\x7b\x2e\xdd\x81\xd7\x0d\xad\xfe\xb2\xe8\x6f\x18\x40\x9d\xf1\x47\x49\x3c\x31\xa3\x5c\x4f\xc3\x8e\xb5\x76\xa9\x7c\x73\xac\x35\x30\x70\x7e\x95\x49\xeb\xe9\x4b\x9c\x9a\xdb\x24\x10\x42\xe6\x69\x1a\x6a\x16\xf8\x48\xdb\x42\xfa\xbc\x4f\x63\xb5\xa6\xa9\x75\xe1\x55\xec\x0d\x62\x05\x8a\x21\xe1\x56\x4c\x2c\xa9\x09\xd1\x01\x52\x3c\xec\x6c\xc5\x41\x65\xd3\x29\xf9\x1c\x5a\xcd\x4f\x75\x89\xfc\xc6\xf2\x8e\x0f\x44\x9e\xf1\xb3\xcb\x7b\xb1\x1f\x5d\xd7\xf6\x48\x47\x40\xd9\x00\x8b\xd9\xee\xb2\x11\xcf\x73\x8b\xa2\xa7\xaf\x32\x73\x57\x5a\xf3\xa8\xe2\xe6\xec\xa8\xe7\x56\x44\xf7\x99\x4a\xe4\xe8\xbd\xa8\x42\x21\x01\x93\xbd\x60\xbe\x34\x77\x3b\x1c\x74\x38\x56\xec\x49\x6c\x88\x06\x78\x85\x85\x86\x7a\xb2\x33\xce\x9c\x8a\x69\xf7\xb4\x7b\x6a\xff\x85\xf0\x67\xc3\x33\xf8\x62\x5b\xe2\x43\xb5\x53\x85\xb7\x38\x76\x2a\x4c\x9b\xbc\x91\x5d\x35\xb0\xb3\x39\xab\x50\x04\xb6\x76\x29\xb8\x20\x7f\xf3\x0c\xfd\xe6\x19\xfa\x1b\xf7\x0c\x7d\x49\xb7\x10\x60\x63\x9e\xd3\x27\xd4\x13\x20\x3f\x61\x39\xba\xaf\x9e\x2a\xe9\x8d\xd6\xf1\x24\x90\x9e\x0d\x32\x09\x9b\x40\x7f\x4b\x34\x51\x80\x70\x77\x74\x2f\x64\x67\x8c\xde\xd2\x03\x75\xea\x13\x3f\x2d\x82\xa5\x8d\xdd\x28\x78\xbb\x1f\xca\xe2\xa1\x4e\x44\xca\xdb\x46\xb8\x61\xd6\x09\xd8\x9e\xa6\xe1\x67\x00\x1a\x53\xb9\x23\x8e\xd6\x94\xe5\x86\xc1\x48\xa4\x21\x42\xb0\x54\x8d\x6a\x79\x28\x26\xce\x7e\x78\x99\x29\x95\xb6\x42\xe3\x9e\xb4\x03\x1b\x89\x32\x43\x3b\x6f\x8e\xc6\xa8\x0e\x01\x63\xb6\x17\x7d\xd2\x85\x4f\xd1\xc0\x7c\x0c\xd0\x9a\x80\xd9\x14\x97\x90\xab\xe8\xbb\x63\xea\x33\x9c\xb8\x73\xb8\x10\x46\x6c\x25\x22\x0e\x3a\x8b\x16\xbc\x17\x71\x97\x7d\x12\x92\x0e\x35\xd2\x41\x74\xf3\x3b\x1d\x51\x4b\x28\x77\x99\xb4\x09\x4b\x8c\x5d\x5c\x35\x0b\xc1\x42\xcb\xb1\xe6\x16\x49\x62\x69\x0d\x0f\xc9\x6a\x5a\x0e\xe7\x65\x94\x72\x3d\xd0\xb0\x6e\xdd\x77\xe6\x54\xd0\x05\x94\x33\x7c\x23\xfd\x09\xd2\x71\x76\x03\x91\x3b\x0b\x39\x73\xb2\x92\x1e\xfb\xe5\x90\x7b\x18\x2e\x45\xcc\x62\x63\x68\x90\x2b\xd1\xdf\x5c\x26\x4c\x97\xd1\x16\xd8\x20\xab\xfb\x54\xb8\x6f\x35\x57\xec\x64\x21\xcd\x85\x08\x5c\x2d\x3b\x0e\x79\xe7\x8f\xc6\x58\xd5\xc9\x7f\x09\x07\xcf\x22\x72\xac\x10\x91\x85\x17\x27\x25\x5b\xd1\x6b\x96\x98\x13\x01\x16\x1e\x53\x52\x66\x31\x2f\xc4\x74\xe1\xd1\x36\x09\x7a\x3a\x2d\xca\x83\x4c\x66\x1d\x36\x2c\xc4\x31\xd6\x76\xda\x34\x59\x8b\x68\x1f\x35\x74\x76\xfa\x69\x18\x7e\xbb\xb6\x7d\x5b\xd7\x36\x64\xb1\xc5\x9c\xc1\x31\x5d\x4b\x55\xbd\xf1\xaf\x9f\xd6\xb9\x82\x05\x35\xd1\x23\xfa\xf9\x0b\x5e\x3b\x5b\x6c\xe0\x71\xf6\xfc\xe0\x7b\x50\xff\x71\xe6\x2f\xb6\xfe\xb0\x0e\x28\x06\x1a\x66\x61\x18\x5c\x2c\xc2\xa9\x63\x0c\xda\xc1\x61\xfd\x6e\x16\x97\x6f\x0a\x9c\x34\xe4\xe2\x6a\x2c\x6e\x07\x57\xba\xb2\x96\xb6\x14\x78\xde\xf5\x58\xdc\x01\x6b\x3a\x2f\x5e\x68\xd7\xeb\xd5\x1d\xd0\x62\xff\xdf\x25\xba\xf8\xb9\xa6\xc9\x79\x9c\xa8\xe7\xb3\x99\xa6\xb6\xaa\x58\xcd\xa1\x16\xd5\x4d\xd5\xe6\x51\x6b\x3b\xe7\xe0\xf2\x64\x55\xd8\x4c\xbd\xc7\xdc\x83\x3e\xb9\xfe\xfa\x84\x47\xd3\x63\xce\xb3\x4c\xe4\xf6\x20\x6f\xd8\x5a\x20\x69\x06\x5f\x01\x4d\xc2\xad\x40\x61\xe4\xda\x2d\xd7\x6c\x25\xb5\xa2\xe1\x31\xe8\xba\x69\xfb\xc8\x5d\x95\x69\xda\x39\x72\x87\x95\x92\xae\x3e\xbe\x7b\xb7\xfc\x79\xf6\xee\xe3\xa5\x6d\x7e\xab\xf2\x50\xf0\x58\x67\x9f\xb8\x9a\x50\x9f\x78\x6d\x43\xf3\x59\x61\xc5\x99\x95\x6f\x35\x3a\xb9\xca\x34\xad\xaa\x52\x2d\xe4\x27\x2a\x07\x60\xda\xa8\xb8\x69\xfa\x8d\xf5\x76\x5c\xf5\xfb\xf0\xd8\x27\x53\xf8\x27\x7c\xf7\x8c\xf9\x46\xbc\x02\xed\x44\xd2\x64\x6b\xef\x57\xca\x86\x39\x61\x39\x20\x18\xb8\x6b\x39\x3c\xb5\xee\xde\x71\xcb\xe3\xa3\x04\xc6\x6f\x11\x5b\xb9\xbc\x27\x59\x1d\xd8\x77\x9f\xaa\x71\x6a\xb7\x97\xc7\x78\xa5\x81\x72\x27\xa8\x96\x06\x1a\xd0\x5e\x50\x6c\x21\xd1\x07\x6a\xea\x54\xa8\xee\x3a\xb1\x39\x99\xb7\x29\x97\x9b\x92\x6f\x8c\x75\x6b\x3f\xbe\x90\xbb\x64\xb3\x45\x9e\x8d\x32\xf3\xf8\x64\xce\x24\xd0\xb1\xd4\xa6\x50\x0d\x9f\x9c\xc8\x85\xa4\x36\xc9\x8d\x2f\x1e\xb1\xb2\x7f\xbc\x75\xcd\x21\x50\x3a\x16\x44\x82\x6f\x72\x21\x71\x70\x91\xff\xc3\x46\x42\xe0\xc6\xc2\x8b\xfa\xd4\xe5\x10\xbb\x44\x51\x74\xb3\xa7\x6f\x20\x26\xb3\x90\x2e\x45\x17\x3d\x47\xd4\x86\x40\x18\x04\xab\x74\x78\x3f\xb1\x83\x61\xd7\x04\xd5\xad\x7d\xd6\x9f\x7c\x06\x98\x05\xb7\x1c\xa1\xee\xdc\xdc\xc6\x06\x7a\x0b\x79\xb0\x71\x74\xf1\x36\x40\x5e\x76\x7b\x6d\x6c\xbb\xf0\x99\x4e\x68\xab\x2a\x57\xe9\x88\x2a\xe1\xf3\xbd\x95\xc2\x2d\xb9\xbf\x52\x03\xae\xc3\x37\xb5\xa5\x65\xa6\x69\xdf\x67\x57\x4a\x75\x8c\xcb\x13\x06\x14\x2b\x95\xa2\x17\x0e\x75\x46\x19\x15\xc7\xcc\x97\x01\xc9\x8a\xf5\x2e\xb2\xbb\x4f\x5f\x85\xd2\x44\x1f\x55\x1d\x6f\x3f\x0d\xae\x91\xb3\x10\xe8\xb0\x1b\xb5\xc3\xd2\x39\x57\xd9\x60\x3b\xb6\x49\x8a\x27\x59\x99\xe4\x04\xb7\x17\xb3\x78\x50\xc3\xd8\xcc\xff\x89\x9b\x44\x13\x3f\x72\x13\xa8\x64\x54\xe6\xda\x6c\x97\xb4\xdf\xd1\xae\xad\x72\xc6\x17\xd2\xa6\xaa\xd9\xed\x78\x66\xc1\xb9\xb9\xfb\x2b\x26\x80\x66\xc8\x57\x0f\x16\x6b\xc1\x94\x14\x76\x37\x5c\x48\xab\xad\x3d\x61\x7c\xa5\xad\x64\x35\x97\x7b\xa7\x23\x9d\x38\x91\x40\x2e\x19\xa0\x9e\x0f\xef\x79\x35\x33\xa0\x72\xce\xff\x83\xf9\xbf\xff\xf9\x87\xff\x1f\x00\x00\xff\xff\xf4\xf7\x82\x4b\xd5\xac\x04\x00") func adminSwaggerJsonBytes() ([]byte, error) { return bindataRead( @@ -93,7 +93,7 @@ func adminSwaggerJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "admin.swagger.json", size: 306218, mode: os.FileMode(420), modTime: time.Unix(1562572800, 0)} + info := bindataFileInfo{name: "admin.swagger.json", size: 306389, mode: os.FileMode(420), modTime: time.Unix(1562572800, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -157,13 +157,11 @@ var _bindata = map[string]func() (*asset, error){ // directory embedded in the file by go-bindata. // For example if you run go-bindata on data/... and data contains the // following hierarchy: -// -// data/ -// foo.txt -// img/ -// a.png -// b.png -// +// data/ +// foo.txt +// img/ +// a.png +// b.png // then AssetDir("data") would return []string{"foo.txt", "img"} // AssetDir("data/img") would return []string{"a.png", "b.png"} // AssetDir("foo.txt") and AssetDir("notexist") would return an error diff --git a/flyteidl/gen/pb-go/flyteidl/service/signal.pb.go b/flyteidl/gen/pb-go/flyteidl/service/signal.pb.go index 5a38bf8ab88..02d6a8c7bed 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/signal.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/service/signal.pb.go @@ -6,14 +6,13 @@ package service import ( context "context" fmt "fmt" - math "math" - admin "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin" proto "github.com/golang/protobuf/proto" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. diff --git a/flyteidl/gen/pb-java/flyteidl/admin/ExecutionOuterClass.java b/flyteidl/gen/pb-java/flyteidl/admin/ExecutionOuterClass.java index a911efd93e3..062d1fb1b5a 100644 --- a/flyteidl/gen/pb-java/flyteidl/admin/ExecutionOuterClass.java +++ b/flyteidl/gen/pb-java/flyteidl/admin/ExecutionOuterClass.java @@ -24734,6 +24734,41 @@ public interface ExecutionUpdateRequestOrBuilder extends * .flyteidl.admin.ExecutionState state = 2; */ flyteidl.admin.ExecutionOuterClass.ExecutionState getState(); + + /** + *
+     * Tag of the execution to update
+     * 
+ * + * repeated string tags = 3; + */ + java.util.List + getTagsList(); + /** + *
+     * Tag of the execution to update
+     * 
+ * + * repeated string tags = 3; + */ + int getTagsCount(); + /** + *
+     * Tag of the execution to update
+     * 
+ * + * repeated string tags = 3; + */ + java.lang.String getTags(int index); + /** + *
+     * Tag of the execution to update
+     * 
+ * + * repeated string tags = 3; + */ + com.google.protobuf.ByteString + getTagsBytes(int index); } /** * Protobuf type {@code flyteidl.admin.ExecutionUpdateRequest} @@ -24749,6 +24784,7 @@ private ExecutionUpdateRequest(com.google.protobuf.GeneratedMessageV3.Builder } private ExecutionUpdateRequest() { state_ = 0; + tags_ = com.google.protobuf.LazyStringArrayList.EMPTY; } @java.lang.Override @@ -24794,6 +24830,15 @@ private ExecutionUpdateRequest( state_ = rawValue; break; } + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000004) != 0)) { + tags_ = new com.google.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000004; + } + tags_.add(s); + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -24809,6 +24854,9 @@ private ExecutionUpdateRequest( throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000004) != 0)) { + tags_ = tags_.getUnmodifiableView(); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } @@ -24826,6 +24874,7 @@ private ExecutionUpdateRequest( flyteidl.admin.ExecutionOuterClass.ExecutionUpdateRequest.class, flyteidl.admin.ExecutionOuterClass.ExecutionUpdateRequest.Builder.class); } + private int bitField0_; public static final int ID_FIELD_NUMBER = 1; private flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier id_; /** @@ -24884,6 +24933,51 @@ public flyteidl.admin.ExecutionOuterClass.ExecutionState getState() { return result == null ? flyteidl.admin.ExecutionOuterClass.ExecutionState.UNRECOGNIZED : result; } + public static final int TAGS_FIELD_NUMBER = 3; + private com.google.protobuf.LazyStringList tags_; + /** + *
+     * Tag of the execution to update
+     * 
+ * + * repeated string tags = 3; + */ + public com.google.protobuf.ProtocolStringList + getTagsList() { + return tags_; + } + /** + *
+     * Tag of the execution to update
+     * 
+ * + * repeated string tags = 3; + */ + public int getTagsCount() { + return tags_.size(); + } + /** + *
+     * Tag of the execution to update
+     * 
+ * + * repeated string tags = 3; + */ + public java.lang.String getTags(int index) { + return tags_.get(index); + } + /** + *
+     * Tag of the execution to update
+     * 
+ * + * repeated string tags = 3; + */ + public com.google.protobuf.ByteString + getTagsBytes(int index) { + return tags_.getByteString(index); + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -24904,6 +24998,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (state_ != flyteidl.admin.ExecutionOuterClass.ExecutionState.EXECUTION_ACTIVE.getNumber()) { output.writeEnum(2, state_); } + for (int i = 0; i < tags_.size(); i++) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, tags_.getRaw(i)); + } unknownFields.writeTo(output); } @@ -24921,6 +25018,14 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeEnumSize(2, state_); } + { + int dataSize = 0; + for (int i = 0; i < tags_.size(); i++) { + dataSize += computeStringSizeNoTag(tags_.getRaw(i)); + } + size += dataSize; + size += 1 * getTagsList().size(); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -24942,6 +25047,8 @@ public boolean equals(final java.lang.Object obj) { .equals(other.getId())) return false; } if (state_ != other.state_) return false; + if (!getTagsList() + .equals(other.getTagsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -24959,6 +25066,10 @@ public int hashCode() { } hash = (37 * hash) + STATE_FIELD_NUMBER; hash = (53 * hash) + state_; + if (getTagsCount() > 0) { + hash = (37 * hash) + TAGS_FIELD_NUMBER; + hash = (53 * hash) + getTagsList().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -25100,6 +25211,8 @@ public Builder clear() { } state_ = 0; + tags_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000004); return this; } @@ -25126,12 +25239,20 @@ public flyteidl.admin.ExecutionOuterClass.ExecutionUpdateRequest build() { @java.lang.Override public flyteidl.admin.ExecutionOuterClass.ExecutionUpdateRequest buildPartial() { flyteidl.admin.ExecutionOuterClass.ExecutionUpdateRequest result = new flyteidl.admin.ExecutionOuterClass.ExecutionUpdateRequest(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; if (idBuilder_ == null) { result.id_ = id_; } else { result.id_ = idBuilder_.build(); } result.state_ = state_; + if (((bitField0_ & 0x00000004) != 0)) { + tags_ = tags_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.tags_ = tags_; + result.bitField0_ = to_bitField0_; onBuilt(); return result; } @@ -25186,6 +25307,16 @@ public Builder mergeFrom(flyteidl.admin.ExecutionOuterClass.ExecutionUpdateReque if (other.state_ != 0) { setStateValue(other.getStateValue()); } + if (!other.tags_.isEmpty()) { + if (tags_.isEmpty()) { + tags_ = other.tags_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureTagsIsMutable(); + tags_.addAll(other.tags_); + } + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -25214,6 +25345,7 @@ public Builder mergeFrom( } return this; } + private int bitField0_; private flyteidl.core.IdentifierOuterClass.WorkflowExecutionIdentifier id_; private com.google.protobuf.SingleFieldBuilderV3< @@ -25432,6 +25564,136 @@ public Builder clearState() { onChanged(); return this; } + + private com.google.protobuf.LazyStringList tags_ = com.google.protobuf.LazyStringArrayList.EMPTY; + private void ensureTagsIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + tags_ = new com.google.protobuf.LazyStringArrayList(tags_); + bitField0_ |= 0x00000004; + } + } + /** + *
+       * Tag of the execution to update
+       * 
+ * + * repeated string tags = 3; + */ + public com.google.protobuf.ProtocolStringList + getTagsList() { + return tags_.getUnmodifiableView(); + } + /** + *
+       * Tag of the execution to update
+       * 
+ * + * repeated string tags = 3; + */ + public int getTagsCount() { + return tags_.size(); + } + /** + *
+       * Tag of the execution to update
+       * 
+ * + * repeated string tags = 3; + */ + public java.lang.String getTags(int index) { + return tags_.get(index); + } + /** + *
+       * Tag of the execution to update
+       * 
+ * + * repeated string tags = 3; + */ + public com.google.protobuf.ByteString + getTagsBytes(int index) { + return tags_.getByteString(index); + } + /** + *
+       * Tag of the execution to update
+       * 
+ * + * repeated string tags = 3; + */ + public Builder setTags( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureTagsIsMutable(); + tags_.set(index, value); + onChanged(); + return this; + } + /** + *
+       * Tag of the execution to update
+       * 
+ * + * repeated string tags = 3; + */ + public Builder addTags( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureTagsIsMutable(); + tags_.add(value); + onChanged(); + return this; + } + /** + *
+       * Tag of the execution to update
+       * 
+ * + * repeated string tags = 3; + */ + public Builder addAllTags( + java.lang.Iterable values) { + ensureTagsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, tags_); + onChanged(); + return this; + } + /** + *
+       * Tag of the execution to update
+       * 
+ * + * repeated string tags = 3; + */ + public Builder clearTags() { + tags_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + *
+       * Tag of the execution to update
+       * 
+ * + * repeated string tags = 3; + */ + public Builder addTagsBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureTagsIsMutable(); + tags_.add(value); + onChanged(); + return this; + } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { @@ -28534,22 +28796,22 @@ public flyteidl.admin.ExecutionOuterClass.WorkflowExecutionGetMetricsResponse ge "yteidl.admin.UrlBlobB\002\030\001\022.\n\013full_inputs\030" + "\003 \001(\0132\031.flyteidl.core.LiteralMap\022/\n\014full" + "_outputs\030\004 \001(\0132\031.flyteidl.core.LiteralMa" + - "p\"\177\n\026ExecutionUpdateRequest\0226\n\002id\030\001 \001(\0132" + - "*.flyteidl.core.WorkflowExecutionIdentif" + - "ier\022-\n\005state\030\002 \001(\0162\036.flyteidl.admin.Exec" + - "utionState\"\220\001\n\033ExecutionStateChangeDetai" + - "ls\022-\n\005state\030\001 \001(\0162\036.flyteidl.admin.Execu" + - "tionState\022/\n\013occurred_at\030\002 \001(\0132\032.google." + - "protobuf.Timestamp\022\021\n\tprincipal\030\003 \001(\t\"\031\n" + - "\027ExecutionUpdateResponse\"k\n\"WorkflowExec" + - "utionGetMetricsRequest\0226\n\002id\030\001 \001(\0132*.fly" + - "teidl.core.WorkflowExecutionIdentifier\022\r" + - "\n\005depth\030\002 \001(\005\"H\n#WorkflowExecutionGetMet" + - "ricsResponse\022!\n\004span\030\001 \001(\0132\023.flyteidl.co" + - "re.Span*>\n\016ExecutionState\022\024\n\020EXECUTION_A" + - "CTIVE\020\000\022\026\n\022EXECUTION_ARCHIVED\020\001B=Z;githu" + - "b.com/flyteorg/flyte/flyteidl/gen/pb-go/" + - "flyteidl/adminb\006proto3" + "p\"\215\001\n\026ExecutionUpdateRequest\0226\n\002id\030\001 \001(\013" + + "2*.flyteidl.core.WorkflowExecutionIdenti" + + "fier\022-\n\005state\030\002 \001(\0162\036.flyteidl.admin.Exe" + + "cutionState\022\014\n\004tags\030\003 \003(\t\"\220\001\n\033ExecutionS" + + "tateChangeDetails\022-\n\005state\030\001 \001(\0162\036.flyte" + + "idl.admin.ExecutionState\022/\n\013occurred_at\030" + + "\002 \001(\0132\032.google.protobuf.Timestamp\022\021\n\tpri" + + "ncipal\030\003 \001(\t\"\031\n\027ExecutionUpdateResponse\"" + + "k\n\"WorkflowExecutionGetMetricsRequest\0226\n" + + "\002id\030\001 \001(\0132*.flyteidl.core.WorkflowExecut" + + "ionIdentifier\022\r\n\005depth\030\002 \001(\005\"H\n#Workflow" + + "ExecutionGetMetricsResponse\022!\n\004span\030\001 \001(" + + "\0132\023.flyteidl.core.Span*>\n\016ExecutionState" + + "\022\024\n\020EXECUTION_ACTIVE\020\000\022\026\n\022EXECUTION_ARCH" + + "IVED\020\001B=Z;github.com/flyteorg/flyte/flyt" + + "eidl/gen/pb-go/flyteidl/adminb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -28686,7 +28948,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( internal_static_flyteidl_admin_ExecutionUpdateRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_ExecutionUpdateRequest_descriptor, - new java.lang.String[] { "Id", "State", }); + new java.lang.String[] { "Id", "State", "Tags", }); internal_static_flyteidl_admin_ExecutionStateChangeDetails_descriptor = getDescriptor().getMessageTypes().get(19); internal_static_flyteidl_admin_ExecutionStateChangeDetails_fieldAccessorTable = new diff --git a/flyteidl/gen/pb-js/flyteidl.d.ts b/flyteidl/gen/pb-js/flyteidl.d.ts index a7fde2b80b1..98b3917b2be 100644 --- a/flyteidl/gen/pb-js/flyteidl.d.ts +++ b/flyteidl/gen/pb-js/flyteidl.d.ts @@ -11819,6 +11819,9 @@ export namespace flyteidl { /** ExecutionUpdateRequest state */ state?: (flyteidl.admin.ExecutionState|null); + + /** ExecutionUpdateRequest tags */ + tags?: (string[]|null); } /** Represents an ExecutionUpdateRequest. */ @@ -11836,6 +11839,9 @@ export namespace flyteidl { /** ExecutionUpdateRequest state. */ public state: flyteidl.admin.ExecutionState; + /** ExecutionUpdateRequest tags. */ + public tags: string[]; + /** * Creates a new ExecutionUpdateRequest instance using the specified properties. * @param [properties] Properties to set diff --git a/flyteidl/gen/pb-js/flyteidl.js b/flyteidl/gen/pb-js/flyteidl.js index 2477e38c8ea..915aeda5f85 100644 --- a/flyteidl/gen/pb-js/flyteidl.js +++ b/flyteidl/gen/pb-js/flyteidl.js @@ -28532,6 +28532,7 @@ * @interface IExecutionUpdateRequest * @property {flyteidl.core.IWorkflowExecutionIdentifier|null} [id] ExecutionUpdateRequest id * @property {flyteidl.admin.ExecutionState|null} [state] ExecutionUpdateRequest state + * @property {Array.|null} [tags] ExecutionUpdateRequest tags */ /** @@ -28543,6 +28544,7 @@ * @param {flyteidl.admin.IExecutionUpdateRequest=} [properties] Properties to set */ function ExecutionUpdateRequest(properties) { + this.tags = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -28565,6 +28567,14 @@ */ ExecutionUpdateRequest.prototype.state = 0; + /** + * ExecutionUpdateRequest tags. + * @member {Array.} tags + * @memberof flyteidl.admin.ExecutionUpdateRequest + * @instance + */ + ExecutionUpdateRequest.prototype.tags = $util.emptyArray; + /** * Creates a new ExecutionUpdateRequest instance using the specified properties. * @function create @@ -28593,6 +28603,9 @@ $root.flyteidl.core.WorkflowExecutionIdentifier.encode(message.id, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.state != null && message.hasOwnProperty("state")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.state); + if (message.tags != null && message.tags.length) + for (var i = 0; i < message.tags.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.tags[i]); return writer; }; @@ -28620,6 +28633,11 @@ case 2: message.state = reader.int32(); break; + case 3: + if (!(message.tags && message.tags.length)) + message.tags = []; + message.tags.push(reader.string()); + break; default: reader.skipType(tag & 7); break; @@ -28652,6 +28670,13 @@ case 1: break; } + if (message.tags != null && message.hasOwnProperty("tags")) { + if (!Array.isArray(message.tags)) + return "tags: array expected"; + for (var i = 0; i < message.tags.length; ++i) + if (!$util.isString(message.tags[i])) + return "tags: string[] expected"; + } return null; }; diff --git a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py index 373d09440e2..7579babaad7 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py @@ -23,7 +23,7 @@ from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x66lyteidl/admin/execution.proto\x12\x0e\x66lyteidl.admin\x1a\'flyteidl/admin/cluster_assignment.proto\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1b\x66lyteidl/core/metrics.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xc4\x01\n\x16\x45xecutionCreateRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x31\n\x04spec\x18\x04 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12\x31\n\x06inputs\x18\x05 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x06inputs\"\x99\x01\n\x18\x45xecutionRelaunchRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\'\n\x0foverwrite_cache\x18\x04 \x01(\x08R\x0eoverwriteCacheJ\x04\x08\x02\x10\x03\"\xa8\x01\n\x17\x45xecutionRecoverRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\"U\n\x17\x45xecutionCreateResponse\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"Y\n\x1bWorkflowExecutionGetRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\xb6\x01\n\tExecution\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x31\n\x04spec\x18\x02 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12:\n\x07\x63losure\x18\x03 \x01(\x0b\x32 .flyteidl.admin.ExecutionClosureR\x07\x63losure\"`\n\rExecutionList\x12\x39\n\nexecutions\x18\x01 \x03(\x0b\x32\x19.flyteidl.admin.ExecutionR\nexecutions\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"e\n\x0eLiteralMapBlob\x12\x37\n\x06values\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\x06values\x12\x12\n\x03uri\x18\x02 \x01(\tH\x00R\x03uriB\x06\n\x04\x64\x61ta\"C\n\rAbortMetadata\x12\x14\n\x05\x63\x61use\x18\x01 \x01(\tR\x05\x63\x61use\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\"\x98\x07\n\x10\x45xecutionClosure\x12>\n\x07outputs\x18\x01 \x01(\x0b\x32\x1e.flyteidl.admin.LiteralMapBlobB\x02\x18\x01H\x00R\x07outputs\x12\x35\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12%\n\x0b\x61\x62ort_cause\x18\n \x01(\tB\x02\x18\x01H\x00R\nabortCause\x12\x46\n\x0e\x61\x62ort_metadata\x18\x0c \x01(\x0b\x32\x1d.flyteidl.admin.AbortMetadataH\x00R\rabortMetadata\x12@\n\x0boutput_data\x18\r \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\noutputData\x12\x46\n\x0f\x63omputed_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0e\x63omputedInputs\x12<\n\x05phase\x18\x04 \x01(\x0e\x32&.flyteidl.core.WorkflowExecution.PhaseR\x05phase\x12\x39\n\nstarted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x35\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x42\n\rnotifications\x18\t \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\x12:\n\x0bworkflow_id\x18\x0b \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nworkflowId\x12]\n\x14state_change_details\x18\x0e \x01(\x0b\x32+.flyteidl.admin.ExecutionStateChangeDetailsR\x12stateChangeDetailsB\x0f\n\routput_result\"[\n\x0eSystemMetadata\x12+\n\x11\x65xecution_cluster\x18\x01 \x01(\tR\x10\x65xecutionCluster\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\"\xba\x04\n\x11\x45xecutionMetadata\x12\x43\n\x04mode\x18\x01 \x01(\x0e\x32/.flyteidl.admin.ExecutionMetadata.ExecutionModeR\x04mode\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\x12\x18\n\x07nesting\x18\x03 \x01(\rR\x07nesting\x12=\n\x0cscheduled_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0bscheduledAt\x12Z\n\x15parent_node_execution\x18\x05 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x13parentNodeExecution\x12[\n\x13reference_execution\x18\x10 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x12referenceExecution\x12G\n\x0fsystem_metadata\x18\x11 \x01(\x0b\x32\x1e.flyteidl.admin.SystemMetadataR\x0esystemMetadata\"g\n\rExecutionMode\x12\n\n\x06MANUAL\x10\x00\x12\r\n\tSCHEDULED\x10\x01\x12\n\n\x06SYSTEM\x10\x02\x12\x0c\n\x08RELAUNCH\x10\x03\x12\x12\n\x0e\x43HILD_WORKFLOW\x10\x04\x12\r\n\tRECOVERED\x10\x05\"V\n\x10NotificationList\x12\x42\n\rnotifications\x18\x01 \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\"\x90\x08\n\rExecutionSpec\x12:\n\x0blaunch_plan\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nlaunchPlan\x12\x35\n\x06inputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x06inputs\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\x12H\n\rnotifications\x18\x05 \x01(\x0b\x32 .flyteidl.admin.NotificationListH\x00R\rnotifications\x12!\n\x0b\x64isable_all\x18\x06 \x01(\x08H\x00R\ndisableAll\x12.\n\x06labels\x18\x07 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12=\n\x0b\x61nnotations\x18\x08 \x01(\x0b\x32\x1b.flyteidl.admin.AnnotationsR\x0b\x61nnotations\x12I\n\x10security_context\x18\n \x01(\x0b\x32\x1e.flyteidl.core.SecurityContextR\x0fsecurityContext\x12\x39\n\tauth_role\x18\x10 \x01(\x0b\x32\x18.flyteidl.admin.AuthRoleB\x02\x18\x01R\x08\x61uthRole\x12M\n\x12quality_of_service\x18\x11 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfServiceR\x10qualityOfService\x12\'\n\x0fmax_parallelism\x18\x12 \x01(\x05R\x0emaxParallelism\x12X\n\x16raw_output_data_config\x18\x13 \x01(\x0b\x32#.flyteidl.admin.RawOutputDataConfigR\x13rawOutputDataConfig\x12P\n\x12\x63luster_assignment\x18\x14 \x01(\x0b\x32!.flyteidl.admin.ClusterAssignmentR\x11\x63lusterAssignment\x12@\n\rinterruptible\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\rinterruptible\x12\'\n\x0foverwrite_cache\x18\x16 \x01(\x08R\x0eoverwriteCache\x12(\n\x04\x65nvs\x18\x17 \x01(\x0b\x32\x14.flyteidl.admin.EnvsR\x04\x65nvs\x12\x12\n\x04tags\x18\x18 \x03(\tR\x04tagsB\x18\n\x16notification_overridesJ\x04\x08\x04\x10\x05\"m\n\x19\x45xecutionTerminateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x63\x61use\x18\x02 \x01(\tR\x05\x63\x61use\"\x1c\n\x1a\x45xecutionTerminateResponse\"]\n\x1fWorkflowExecutionGetDataRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\x88\x02\n WorkflowExecutionGetDataResponse\x12\x35\n\x07outputs\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x07outputs\x12\x33\n\x06inputs\x18\x02 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x06inputs\x12:\n\x0b\x66ull_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\nfullInputs\x12<\n\x0c\x66ull_outputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x0b\x66ullOutputs\"\x8a\x01\n\x16\x45xecutionUpdateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x34\n\x05state\x18\x02 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\"\xae\x01\n\x1b\x45xecutionStateChangeDetails\x12\x34\n\x05state\x18\x01 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\x12;\n\x0boccurred_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1c\n\tprincipal\x18\x03 \x01(\tR\tprincipal\"\x19\n\x17\x45xecutionUpdateResponse\"v\n\"WorkflowExecutionGetMetricsRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x64\x65pth\x18\x02 \x01(\x05R\x05\x64\x65pth\"N\n#WorkflowExecutionGetMetricsResponse\x12\'\n\x04span\x18\x01 \x01(\x0b\x32\x13.flyteidl.core.SpanR\x04span*>\n\x0e\x45xecutionState\x12\x14\n\x10\x45XECUTION_ACTIVE\x10\x00\x12\x16\n\x12\x45XECUTION_ARCHIVED\x10\x01\x42\xba\x01\n\x12\x63om.flyteidl.adminB\x0e\x45xecutionProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x66lyteidl/admin/execution.proto\x12\x0e\x66lyteidl.admin\x1a\'flyteidl/admin/cluster_assignment.proto\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1b\x66lyteidl/core/metrics.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xc4\x01\n\x16\x45xecutionCreateRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x31\n\x04spec\x18\x04 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12\x31\n\x06inputs\x18\x05 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x06inputs\"\x99\x01\n\x18\x45xecutionRelaunchRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\'\n\x0foverwrite_cache\x18\x04 \x01(\x08R\x0eoverwriteCacheJ\x04\x08\x02\x10\x03\"\xa8\x01\n\x17\x45xecutionRecoverRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\"U\n\x17\x45xecutionCreateResponse\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"Y\n\x1bWorkflowExecutionGetRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\xb6\x01\n\tExecution\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x31\n\x04spec\x18\x02 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12:\n\x07\x63losure\x18\x03 \x01(\x0b\x32 .flyteidl.admin.ExecutionClosureR\x07\x63losure\"`\n\rExecutionList\x12\x39\n\nexecutions\x18\x01 \x03(\x0b\x32\x19.flyteidl.admin.ExecutionR\nexecutions\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"e\n\x0eLiteralMapBlob\x12\x37\n\x06values\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\x06values\x12\x12\n\x03uri\x18\x02 \x01(\tH\x00R\x03uriB\x06\n\x04\x64\x61ta\"C\n\rAbortMetadata\x12\x14\n\x05\x63\x61use\x18\x01 \x01(\tR\x05\x63\x61use\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\"\x98\x07\n\x10\x45xecutionClosure\x12>\n\x07outputs\x18\x01 \x01(\x0b\x32\x1e.flyteidl.admin.LiteralMapBlobB\x02\x18\x01H\x00R\x07outputs\x12\x35\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12%\n\x0b\x61\x62ort_cause\x18\n \x01(\tB\x02\x18\x01H\x00R\nabortCause\x12\x46\n\x0e\x61\x62ort_metadata\x18\x0c \x01(\x0b\x32\x1d.flyteidl.admin.AbortMetadataH\x00R\rabortMetadata\x12@\n\x0boutput_data\x18\r \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\noutputData\x12\x46\n\x0f\x63omputed_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0e\x63omputedInputs\x12<\n\x05phase\x18\x04 \x01(\x0e\x32&.flyteidl.core.WorkflowExecution.PhaseR\x05phase\x12\x39\n\nstarted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x35\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x42\n\rnotifications\x18\t \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\x12:\n\x0bworkflow_id\x18\x0b \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nworkflowId\x12]\n\x14state_change_details\x18\x0e \x01(\x0b\x32+.flyteidl.admin.ExecutionStateChangeDetailsR\x12stateChangeDetailsB\x0f\n\routput_result\"[\n\x0eSystemMetadata\x12+\n\x11\x65xecution_cluster\x18\x01 \x01(\tR\x10\x65xecutionCluster\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\"\xba\x04\n\x11\x45xecutionMetadata\x12\x43\n\x04mode\x18\x01 \x01(\x0e\x32/.flyteidl.admin.ExecutionMetadata.ExecutionModeR\x04mode\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\x12\x18\n\x07nesting\x18\x03 \x01(\rR\x07nesting\x12=\n\x0cscheduled_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0bscheduledAt\x12Z\n\x15parent_node_execution\x18\x05 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x13parentNodeExecution\x12[\n\x13reference_execution\x18\x10 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x12referenceExecution\x12G\n\x0fsystem_metadata\x18\x11 \x01(\x0b\x32\x1e.flyteidl.admin.SystemMetadataR\x0esystemMetadata\"g\n\rExecutionMode\x12\n\n\x06MANUAL\x10\x00\x12\r\n\tSCHEDULED\x10\x01\x12\n\n\x06SYSTEM\x10\x02\x12\x0c\n\x08RELAUNCH\x10\x03\x12\x12\n\x0e\x43HILD_WORKFLOW\x10\x04\x12\r\n\tRECOVERED\x10\x05\"V\n\x10NotificationList\x12\x42\n\rnotifications\x18\x01 \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\"\x90\x08\n\rExecutionSpec\x12:\n\x0blaunch_plan\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nlaunchPlan\x12\x35\n\x06inputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x06inputs\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\x12H\n\rnotifications\x18\x05 \x01(\x0b\x32 .flyteidl.admin.NotificationListH\x00R\rnotifications\x12!\n\x0b\x64isable_all\x18\x06 \x01(\x08H\x00R\ndisableAll\x12.\n\x06labels\x18\x07 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12=\n\x0b\x61nnotations\x18\x08 \x01(\x0b\x32\x1b.flyteidl.admin.AnnotationsR\x0b\x61nnotations\x12I\n\x10security_context\x18\n \x01(\x0b\x32\x1e.flyteidl.core.SecurityContextR\x0fsecurityContext\x12\x39\n\tauth_role\x18\x10 \x01(\x0b\x32\x18.flyteidl.admin.AuthRoleB\x02\x18\x01R\x08\x61uthRole\x12M\n\x12quality_of_service\x18\x11 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfServiceR\x10qualityOfService\x12\'\n\x0fmax_parallelism\x18\x12 \x01(\x05R\x0emaxParallelism\x12X\n\x16raw_output_data_config\x18\x13 \x01(\x0b\x32#.flyteidl.admin.RawOutputDataConfigR\x13rawOutputDataConfig\x12P\n\x12\x63luster_assignment\x18\x14 \x01(\x0b\x32!.flyteidl.admin.ClusterAssignmentR\x11\x63lusterAssignment\x12@\n\rinterruptible\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\rinterruptible\x12\'\n\x0foverwrite_cache\x18\x16 \x01(\x08R\x0eoverwriteCache\x12(\n\x04\x65nvs\x18\x17 \x01(\x0b\x32\x14.flyteidl.admin.EnvsR\x04\x65nvs\x12\x12\n\x04tags\x18\x18 \x03(\tR\x04tagsB\x18\n\x16notification_overridesJ\x04\x08\x04\x10\x05\"m\n\x19\x45xecutionTerminateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x63\x61use\x18\x02 \x01(\tR\x05\x63\x61use\"\x1c\n\x1a\x45xecutionTerminateResponse\"]\n\x1fWorkflowExecutionGetDataRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\x88\x02\n WorkflowExecutionGetDataResponse\x12\x35\n\x07outputs\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x07outputs\x12\x33\n\x06inputs\x18\x02 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x06inputs\x12:\n\x0b\x66ull_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\nfullInputs\x12<\n\x0c\x66ull_outputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x0b\x66ullOutputs\"\x9e\x01\n\x16\x45xecutionUpdateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x34\n\x05state\x18\x02 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\x12\x12\n\x04tags\x18\x03 \x03(\tR\x04tags\"\xae\x01\n\x1b\x45xecutionStateChangeDetails\x12\x34\n\x05state\x18\x01 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\x12;\n\x0boccurred_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1c\n\tprincipal\x18\x03 \x01(\tR\tprincipal\"\x19\n\x17\x45xecutionUpdateResponse\"v\n\"WorkflowExecutionGetMetricsRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x64\x65pth\x18\x02 \x01(\x05R\x05\x64\x65pth\"N\n#WorkflowExecutionGetMetricsResponse\x12\'\n\x04span\x18\x01 \x01(\x0b\x32\x13.flyteidl.core.SpanR\x04span*>\n\x0e\x45xecutionState\x12\x14\n\x10\x45XECUTION_ACTIVE\x10\x00\x12\x16\n\x12\x45XECUTION_ARCHIVED\x10\x01\x42\xba\x01\n\x12\x63om.flyteidl.adminB\x0e\x45xecutionProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -50,8 +50,8 @@ _WORKFLOWEXECUTIONGETDATARESPONSE.fields_by_name['outputs']._serialized_options = b'\030\001' _WORKFLOWEXECUTIONGETDATARESPONSE.fields_by_name['inputs']._options = None _WORKFLOWEXECUTIONGETDATARESPONSE.fields_by_name['inputs']._serialized_options = b'\030\001' - _globals['_EXECUTIONSTATE']._serialized_start=5296 - _globals['_EXECUTIONSTATE']._serialized_end=5358 + _globals['_EXECUTIONSTATE']._serialized_start=5316 + _globals['_EXECUTIONSTATE']._serialized_end=5378 _globals['_EXECUTIONCREATEREQUEST']._serialized_start=370 _globals['_EXECUTIONCREATEREQUEST']._serialized_end=566 _globals['_EXECUTIONRELAUNCHREQUEST']._serialized_start=569 @@ -91,13 +91,13 @@ _globals['_WORKFLOWEXECUTIONGETDATARESPONSE']._serialized_start=4485 _globals['_WORKFLOWEXECUTIONGETDATARESPONSE']._serialized_end=4749 _globals['_EXECUTIONUPDATEREQUEST']._serialized_start=4752 - _globals['_EXECUTIONUPDATEREQUEST']._serialized_end=4890 - _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_start=4893 - _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_end=5067 - _globals['_EXECUTIONUPDATERESPONSE']._serialized_start=5069 - _globals['_EXECUTIONUPDATERESPONSE']._serialized_end=5094 - _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_start=5096 - _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_end=5214 - _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_start=5216 - _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_end=5294 + _globals['_EXECUTIONUPDATEREQUEST']._serialized_end=4910 + _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_start=4913 + _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_end=5087 + _globals['_EXECUTIONUPDATERESPONSE']._serialized_start=5089 + _globals['_EXECUTIONUPDATERESPONSE']._serialized_end=5114 + _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_start=5116 + _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_end=5234 + _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_start=5236 + _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_end=5314 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi index f29b3b747e7..81e4d7a82bf 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi @@ -250,12 +250,14 @@ class WorkflowExecutionGetDataResponse(_message.Message): def __init__(self, outputs: _Optional[_Union[_common_pb2.UrlBlob, _Mapping]] = ..., inputs: _Optional[_Union[_common_pb2.UrlBlob, _Mapping]] = ..., full_inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., full_outputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ...) -> None: ... class ExecutionUpdateRequest(_message.Message): - __slots__ = ["id", "state"] + __slots__ = ["id", "state", "tags"] ID_FIELD_NUMBER: _ClassVar[int] STATE_FIELD_NUMBER: _ClassVar[int] + TAGS_FIELD_NUMBER: _ClassVar[int] id: _identifier_pb2.WorkflowExecutionIdentifier state: ExecutionState - def __init__(self, id: _Optional[_Union[_identifier_pb2.WorkflowExecutionIdentifier, _Mapping]] = ..., state: _Optional[_Union[ExecutionState, str]] = ...) -> None: ... + tags: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, id: _Optional[_Union[_identifier_pb2.WorkflowExecutionIdentifier, _Mapping]] = ..., state: _Optional[_Union[ExecutionState, str]] = ..., tags: _Optional[_Iterable[str]] = ...) -> None: ... class ExecutionStateChangeDetails(_message.Message): __slots__ = ["state", "occurred_at", "principal"] diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_execution_update_request.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_execution_update_request.py index 5bbddc57b0e..c3c7c2a90c3 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_execution_update_request.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_execution_update_request.py @@ -35,25 +35,30 @@ class AdminExecutionUpdateRequest(object): """ swagger_types = { 'id': 'CoreWorkflowExecutionIdentifier', - 'state': 'AdminExecutionState' + 'state': 'AdminExecutionState', + 'tags': 'list[str]' } attribute_map = { 'id': 'id', - 'state': 'state' + 'state': 'state', + 'tags': 'tags' } - def __init__(self, id=None, state=None): # noqa: E501 + def __init__(self, id=None, state=None, tags=None): # noqa: E501 """AdminExecutionUpdateRequest - a model defined in Swagger""" # noqa: E501 self._id = None self._state = None + self._tags = None self.discriminator = None if id is not None: self.id = id if state is not None: self.state = state + if tags is not None: + self.tags = tags @property def id(self): @@ -97,6 +102,27 @@ def state(self, state): self._state = state + @property + def tags(self): + """Gets the tags of this AdminExecutionUpdateRequest. # noqa: E501 + + + :return: The tags of this AdminExecutionUpdateRequest. # noqa: E501 + :rtype: list[str] + """ + return self._tags + + @tags.setter + def tags(self, tags): + """Sets the tags of this AdminExecutionUpdateRequest. + + + :param tags: The tags of this AdminExecutionUpdateRequest. # noqa: E501 + :type: list[str] + """ + + self._tags = tags + def to_dict(self): """Returns the model properties as a dict""" result = {} diff --git a/flyteidl/gen/pb_rust/flyteidl.admin.rs b/flyteidl/gen/pb_rust/flyteidl.admin.rs index b73776a730b..e0c5b07bc9c 100644 --- a/flyteidl/gen/pb_rust/flyteidl.admin.rs +++ b/flyteidl/gen/pb_rust/flyteidl.admin.rs @@ -1218,6 +1218,9 @@ pub struct ExecutionUpdateRequest { /// State to set as the new value active/archive #[prost(enumeration="ExecutionState", tag="2")] pub state: i32, + /// Tag of the execution to update + #[prost(string, repeated, tag="3")] + pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] diff --git a/flyteidl/protos/flyteidl/admin/execution.proto b/flyteidl/protos/flyteidl/admin/execution.proto index ee33969a0c7..cc20c57b74e 100644 --- a/flyteidl/protos/flyteidl/admin/execution.proto +++ b/flyteidl/protos/flyteidl/admin/execution.proto @@ -376,6 +376,9 @@ message ExecutionUpdateRequest { // State to set as the new value active/archive ExecutionState state = 2; + + // Tag of the execution to update + repeated string tags = 3; } message ExecutionStateChangeDetails {