From eb99fc353c372e04a525776ecf93f3967ef9ddcf Mon Sep 17 00:00:00 2001 From: "Md. Anisur Rahman" <54911684+anisurrahman75@users.noreply.github.com> Date: Tue, 17 Dec 2024 17:12:17 +0600 Subject: [PATCH] Add support for providing multiple dump args (#802) /cherry-pick Signed-off-by: Anisur Rahman --- go.mod | 36 +- go.sum | 64 +- pkg/backup.go | 6 +- pkg/utils.go | 60 +- .../Masterminds/semver/v3/CHANGELOG.md | 28 + .../github.com/Masterminds/semver/v3/Makefile | 3 +- .../Masterminds/semver/v3/README.md | 28 +- .../Masterminds/semver/v3/version.go | 64 +- vendor/github.com/ghodss/yaml/.gitignore | 20 + vendor/github.com/ghodss/yaml/.travis.yml | 7 + vendor/github.com/ghodss/yaml/LICENSE | 50 + vendor/github.com/ghodss/yaml/README.md | 121 + vendor/github.com/ghodss/yaml/fields.go | 501 ++++ vendor/github.com/ghodss/yaml/yaml.go | 277 ++ .../gorilla/websocket/.editorconfig | 20 + .../github.com/gorilla/websocket/.gitignore | 1 + .../gorilla/websocket/.golangci.yml | 3 + vendor/github.com/gorilla/websocket/LICENSE | 27 + vendor/github.com/gorilla/websocket/Makefile | 34 + vendor/github.com/gorilla/websocket/README.md | 36 + vendor/github.com/gorilla/websocket/client.go | 444 +++ .../gorilla/websocket/compression.go | 153 + vendor/github.com/gorilla/websocket/conn.go | 1267 +++++++++ vendor/github.com/gorilla/websocket/doc.go | 227 ++ vendor/github.com/gorilla/websocket/join.go | 42 + vendor/github.com/gorilla/websocket/json.go | 60 + vendor/github.com/gorilla/websocket/mask.go | 59 + .../github.com/gorilla/websocket/mask_safe.go | 16 + .../github.com/gorilla/websocket/prepared.go | 102 + vendor/github.com/gorilla/websocket/proxy.go | 86 + vendor/github.com/gorilla/websocket/server.go | 389 +++ .../gorilla/websocket/tls_handshake.go | 18 + vendor/github.com/gorilla/websocket/util.go | 298 ++ vendor/github.com/rancher/norman/LICENSE | 177 ++ .../rancher/norman/clientbase/common.go | 407 +++ .../rancher/norman/clientbase/ops.go | 377 +++ .../rancher/norman/httperror/error.go | 129 + .../rancher/norman/types/condition.go | 121 + .../rancher/norman/types/convert/convert.go | 280 ++ .../rancher/norman/types/convert/ref.go | 11 + .../rancher/norman/types/convert/transform.go | 45 + .../norman/types/convert/value_set_string.go | 18 + .../norman/types/definition/definition.go | 45 + .../rancher/norman/types/encoder.go | 32 + vendor/github.com/rancher/norman/types/id.go | 24 + .../github.com/rancher/norman/types/mapper.go | 178 ++ .../rancher/norman/types/reflection.go | 510 ++++ .../rancher/norman/types/schema_funcs.go | 73 + .../rancher/norman/types/schemas.go | 407 +++ .../rancher/norman/types/server_types.go | 238 ++ .../rancher/norman/types/slice/contains.go | 22 + .../github.com/rancher/norman/types/types.go | 171 ++ .../rancher/norman/types/values/values.go | 111 + .../rancher/rancher/pkg/client/LICENSE | 178 ++ .../v3/zz_generated_aci_network_provider.go | 238 ++ .../management/v3/zz_generated_action.go | 12 + .../zz_generated_active_directory_config.go | 86 + ...d_active_directory_test_and_apply_input.go | 16 + .../management/v3/zz_generated_adfs_config.go | 52 + .../v3/zz_generated_aes_configuration.go | 10 + .../management/v3/zz_generated_affinity.go | 14 + ...enerated_agent_deployment_customization.go | 14 + .../zz_generated_aks_cluster_config_spec.go | 76 + .../v3/zz_generated_aks_node_pool.go | 42 + .../management/v3/zz_generated_aks_status.go | 14 + .../v3/zz_generated_alidns_provider_config.go | 14 + .../management/v3/zz_generated_answer.go | 16 + .../v3/zz_generated_app_condition.go | 20 + .../v3/zz_generated_attached_volume.go | 10 + .../management/v3/zz_generated_audit_log.go | 12 + .../v3/zz_generated_audit_log_config.go | 20 + .../management/v3/zz_generated_auth_config.go | 128 + .../v3/zz_generated_auth_config_conditions.go | 20 + .../v3/zz_generated_auth_config_status.go | 10 + .../v3/zz_generated_auth_webhook_config.go | 12 + .../v3/zz_generated_authn_config.go | 14 + .../v3/zz_generated_authz_config.go | 12 + .../v3/zz_generated_aws_cloud_provider.go | 12 + ...d_aws_elastic_block_store_volume_source.go | 16 + .../v3/zz_generated_azure_adconfig.go | 54 + ...zz_generated_azure_adconfig_apply_input.go | 12 + ...zz_generated_azure_adconfig_test_output.go | 10 + .../v3/zz_generated_azure_cloud_provider.go | 74 + .../zz_generated_azure_disk_volume_source.go | 20 + .../zz_generated_azure_file_volume_source.go | 14 + .../v3/zz_generated_backup_config.go | 20 + .../v3/zz_generated_bastion_host.go | 26 + ..._generated_block_storage_openstack_opts.go | 14 + .../zz_generated_calico_network_provider.go | 10 + .../v3/zz_generated_canal_network_provider.go | 10 + .../v3/zz_generated_capabilities.go | 18 + .../management/v3/zz_generated_catalog.go | 164 ++ .../v3/zz_generated_catalog_condition.go | 20 + .../v3/zz_generated_catalog_refresh.go | 10 + .../v3/zz_generated_catalog_secrets.go | 10 + .../v3/zz_generated_catalog_spec.go | 24 + .../v3/zz_generated_catalog_status.go | 18 + .../v3/zz_generated_catalog_template.go | 166 ++ .../zz_generated_catalog_template_version.go | 158 ++ .../v3/zz_generated_ceph_fsvolume_source.go | 20 + .../v3/zz_generated_cert_expiration.go | 10 + .../v3/zz_generated_change_password_input.go | 12 + .../v3/zz_generated_cinder_volume_source.go | 16 + .../management/v3/zz_generated_client.go | 124 + .../v3/zz_generated_cloud_credential.go | 122 + .../v3/zz_generated_cloud_credential_spec.go | 14 + .../v3/zz_generated_cloud_provider.go | 24 + ...zz_generated_cloudflare_provider_config.go | 16 + .../management/v3/zz_generated_cluster.go | 318 +++ .../v3/zz_generated_cluster_catalog.go | 168 ++ .../zz_generated_cluster_component_status.go | 12 + .../v3/zz_generated_cluster_condition.go | 20 + ...zz_generated_cluster_registration_token.go | 144 + ...nerated_cluster_registration_token_spec.go | 10 + ...rated_cluster_registration_token_status.go | 24 + ...generated_cluster_role_template_binding.go | 132 + .../v3/zz_generated_cluster_secrets.go | 40 + .../v3/zz_generated_cluster_spec.go | 72 + .../v3/zz_generated_cluster_spec_base.go | 36 + .../v3/zz_generated_cluster_status.go | 86 + .../v3/zz_generated_cluster_template.go | 124 + ...rated_cluster_template_questions_output.go | 10 + .../zz_generated_cluster_template_revision.go | 186 ++ ...ted_cluster_template_revision_condition.go | 20 + ...enerated_cluster_template_revision_spec.go | 18 + ...erated_cluster_template_revision_status.go | 40 + .../v3/zz_generated_cluster_template_spec.go | 16 + ...nerated_cluster_trust_bundle_projection.go | 18 + .../zz_generated_cluster_upgrade_strategy.go | 16 + .../management/v3/zz_generated_cmek_config.go | 12 + .../v3/zz_generated_component_condition.go | 16 + .../v3/zz_generated_compose_condition.go | 20 + .../v3/zz_generated_compose_config.go | 128 + .../v3/zz_generated_compose_spec.go | 10 + .../v3/zz_generated_compose_status.go | 10 + .../management/v3/zz_generated_condition.go | 20 + .../zz_generated_config_map_key_selector.go | 14 + ...generated_config_map_node_config_source.go | 18 + .../v3/zz_generated_config_map_projection.go | 14 + .../zz_generated_config_map_volume_source.go | 16 + .../v3/zz_generated_container_image.go | 12 + .../zz_generated_container_resource_limit.go | 16 + .../management/v3/zz_generated_cpu_info.go | 10 + .../v3/zz_generated_csi_volume_source.go | 18 + .../v3/zz_generated_custom_config.go | 24 + .../v3/zz_generated_daemon_endpoint.go | 10 + ...zz_generated_daemon_set_update_strategy.go | 12 + .../v3/zz_generated_deployment_strategy.go | 12 + .../v3/zz_generated_disk_vsphere_opts.go | 10 + .../management/v3/zz_generated_dns_config.go | 28 + .../management/v3/zz_generated_docker_info.go | 48 + .../v3/zz_generated_downward_apiprojection.go | 10 + .../zz_generated_downward_apivolume_file.go | 16 + .../zz_generated_downward_apivolume_source.go | 12 + .../management/v3/zz_generated_duration.go | 8 + .../v3/zz_generated_dynamic_schema.go | 152 + .../v3/zz_generated_dynamic_schema_spec.go | 34 + .../v3/zz_generated_dynamic_schema_status.go | 10 + .../v3/zz_generated_ecr_credential_plugin.go | 14 + .../zz_generated_eks_cluster_config_spec.go | 42 + .../management/v3/zz_generated_eks_status.go | 24 + .../zz_generated_empty_dir_volume_source.go | 12 + .../zz_generated_encryption_configuration.go | 14 + .../management/v3/zz_generated_env_var.go | 14 + .../v3/zz_generated_env_var_source.go | 16 + .../zz_generated_ephemeral_volume_source.go | 10 + .../management/v3/zz_generated_etcd_backup.go | 136 + .../v3/zz_generated_etcd_backup_condition.go | 20 + .../v3/zz_generated_etcd_backup_spec.go | 16 + .../v3/zz_generated_etcd_backup_status.go | 14 + .../v3/zz_generated_etcd_service.go | 48 + .../v3/zz_generated_event_rate_limit.go | 12 + .../v3/zz_generated_export_output.go | 10 + .../management/v3/zz_generated_extra_env.go | 14 + .../v3/zz_generated_extra_volume.go | 68 + .../v3/zz_generated_extra_volume_mount.go | 22 + .../v3/zz_generated_fc_volume_source.go | 18 + .../management/v3/zz_generated_feature.go | 128 + .../v3/zz_generated_feature_spec.go | 10 + .../v3/zz_generated_feature_status.go | 16 + .../management/v3/zz_generated_field.go | 40 + .../management/v3/zz_generated_file.go | 12 + .../management/v3/zz_generated_filter.go | 10 + .../zz_generated_flannel_network_provider.go | 10 + .../v3/zz_generated_fleet_workspace.go | 120 + ...zz_generated_fleet_workspace_permission.go | 12 + .../v3/zz_generated_fleet_workspace_status.go | 8 + .../v3/zz_generated_flex_volume_source.go | 18 + .../v3/zz_generated_flocker_volume_source.go | 12 + .../v3/zz_generated_free_ipa_config.go | 84 + ...generated_free_ipa_test_and_apply_input.go | 14 + ...rated_gce_persistent_disk_volume_source.go | 16 + ...z_generated_generate_kube_config_output.go | 10 + .../zz_generated_generic_oidcapply_input.go | 14 + .../v3/zz_generated_generic_oidcconfig.go | 62 + .../zz_generated_generic_oidctest_output.go | 10 + .../v3/zz_generated_git_repo_volume_source.go | 14 + .../v3/zz_generated_github_config.go | 46 + .../zz_generated_github_config_apply_input.go | 14 + .../zz_generated_github_config_test_output.go | 10 + .../v3/zz_generated_gke_autopilot_config.go | 10 + .../v3/zz_generated_gke_cidr_block.go | 12 + .../v3/zz_generated_gke_cluster_addons.go | 14 + .../zz_generated_gke_cluster_config_spec.go | 58 + ...d_gke_master_authorized_networks_config.go | 12 + .../v3/zz_generated_gke_node_config.go | 32 + .../zz_generated_gke_node_pool_autoscaling.go | 14 + .../v3/zz_generated_gke_node_pool_config.go | 22 + .../zz_generated_gke_node_pool_management.go | 12 + .../v3/zz_generated_gke_node_taint_config.go | 14 + ...zz_generated_gke_private_cluster_config.go | 14 + .../management/v3/zz_generated_gke_status.go | 12 + .../zz_generated_gkeip_allocation_policy.go | 24 + .../v3/zz_generated_global_aws_opts.go | 28 + .../management/v3/zz_generated_global_dns.go | 152 + .../v3/zz_generated_global_dns_provider.go | 128 + .../zz_generated_global_dns_provider_spec.go | 18 + .../v3/zz_generated_global_dns_spec.go | 20 + .../v3/zz_generated_global_dns_status.go | 12 + .../v3/zz_generated_global_openstack_opts.go | 30 + .../management/v3/zz_generated_global_role.go | 134 + .../v3/zz_generated_global_role_binding.go | 124 + .../v3/zz_generated_global_role_status.go | 16 + .../v3/zz_generated_global_vsphere_opts.go | 32 + .../zz_generated_glusterfs_volume_source.go | 14 + .../v3/zz_generated_google_oauth_config.go | 46 + ...nerated_google_oauth_config_apply_input.go | 14 + ...nerated_google_oauth_config_test_output.go | 10 + .../management/v3/zz_generated_group.go | 118 + .../v3/zz_generated_group_member.go | 122 + .../zz_generated_harvester_cloud_provider.go | 10 + .../v3/zz_generated_health_check.go | 10 + .../zz_generated_host_path_volume_source.go | 12 + .../v3/zz_generated_identity_configuration.go | 8 + .../zz_generated_import_cluster_yaml_input.go | 16 + .../v3/zz_generated_import_yaml_output.go | 10 + .../v3/zz_generated_imported_config.go | 10 + .../management/v3/zz_generated_info.go | 26 + .../v3/zz_generated_ingress_capabilities.go | 12 + .../v3/zz_generated_ingress_config.go | 42 + .../v3/zz_generated_internal_node_spec.go | 18 + .../v3/zz_generated_internal_node_status.go | 30 + .../v3/zz_generated_iscsi_volume_source.go | 30 + .../management/v3/zz_generated_k3s_config.go | 12 + .../management/v3/zz_generated_key.go | 12 + .../v3/zz_generated_key_cloak_config.go | 52 + .../v3/zz_generated_key_cloak_oidcconfig.go | 62 + .../management/v3/zz_generated_key_to_path.go | 14 + .../v3/zz_generated_kms_configuration.go | 18 + .../v3/zz_generated_kontainer_driver.go | 163 ++ .../v3/zz_generated_kontainer_driver_spec.go | 20 + .../zz_generated_kontainer_driver_status.go | 16 + .../v3/zz_generated_kube_apiservice.go | 42 + .../zz_generated_kube_controller_service.go | 30 + .../v3/zz_generated_kubelet_service.go | 36 + .../v3/zz_generated_kubeproxy_service.go | 26 + .../v3/zz_generated_kubernetes_info.go | 12 + ...z_generated_kubernetes_services_options.go | 20 + .../v3/zz_generated_label_selector.go | 12 + ...zz_generated_label_selector_requirement.go | 14 + .../v3/zz_generated_launch_template.go | 14 + .../management/v3/zz_generated_ldap_config.go | 180 ++ .../management/v3/zz_generated_ldap_fields.go | 60 + .../zz_generated_linear_autoscaler_params.go | 18 + ...zz_generated_load_balancer_capabilities.go | 16 + ..._generated_load_balancer_openstack_opts.go | 30 + ...z_generated_local_cluster_auth_endpoint.go | 14 + .../v3/zz_generated_local_config.go | 34 + .../v3/zz_generated_local_object_reference.go | 10 + .../v3/zz_generated_management_secret.go | 126 + .../management/v3/zz_generated_map_delta.go | 12 + .../management/v3/zz_generated_member.go | 14 + .../management/v3/zz_generated_memory_info.go | 10 + .../zz_generated_metadata_openstack_opts.go | 12 + .../v3/zz_generated_metadata_update.go | 12 + .../v3/zz_generated_monitoring_config.go | 22 + .../v3/zz_generated_multi_cluster_app.go | 165 ++ ...zz_generated_multi_cluster_app_revision.go | 122 + ...erated_multi_cluster_app_rollback_input.go | 10 + .../v3/zz_generated_multi_cluster_app_spec.go | 26 + .../zz_generated_multi_cluster_app_status.go | 14 + .../zz_generated_namespace_resource_quota.go | 10 + .../v3/zz_generated_network_config.go | 30 + .../v3/zz_generated_network_vshpere_opts.go | 10 + .../v3/zz_generated_nfs_volume_source.go | 14 + .../management/v3/zz_generated_node.go | 231 ++ .../v3/zz_generated_node_address.go | 12 + .../v3/zz_generated_node_affinity.go | 12 + .../v3/zz_generated_node_condition.go | 20 + .../v3/zz_generated_node_config_source.go | 10 + .../v3/zz_generated_node_config_status.go | 16 + .../v3/zz_generated_node_daemon_endpoints.go | 10 + .../v3/zz_generated_node_drain_input.go | 18 + .../management/v3/zz_generated_node_driver.go | 160 ++ .../v3/zz_generated_node_driver_spec.go | 28 + .../v3/zz_generated_node_driver_status.go | 16 + .../management/v3/zz_generated_node_group.go | 48 + .../management/v3/zz_generated_node_info.go | 16 + .../management/v3/zz_generated_node_plan.go | 14 + .../management/v3/zz_generated_node_pool.go | 156 + .../v3/zz_generated_node_pool_spec.go | 34 + .../v3/zz_generated_node_pool_status.go | 10 + .../v3/zz_generated_node_runtime_handler.go | 12 + ...generated_node_runtime_handler_features.go | 10 + .../v3/zz_generated_node_selector.go | 10 + .../zz_generated_node_selector_requirement.go | 14 + .../v3/zz_generated_node_selector_term.go | 12 + .../management/v3/zz_generated_node_spec.go | 50 + .../management/v3/zz_generated_node_status.go | 48 + .../v3/zz_generated_node_system_info.go | 28 + .../v3/zz_generated_node_template.go | 160 ++ .../zz_generated_node_template_condition.go | 18 + .../v3/zz_generated_node_template_spec.go | 44 + .../v3/zz_generated_node_template_status.go | 10 + .../v3/zz_generated_node_upgrade_strategy.go | 16 + .../management/v3/zz_generated_nodelocal.go | 16 + .../v3/zz_generated_object_field_selector.go | 12 + .../management/v3/zz_generated_object_meta.go | 28 + .../v3/zz_generated_oidc_apply_input.go | 14 + .../management/v3/zz_generated_oidc_config.go | 62 + .../v3/zz_generated_oidc_test_output.go | 10 + .../management/v3/zz_generated_okta_config.go | 54 + .../v3/zz_generated_open_ldap_config.go | 86 + ...enerated_open_ldap_test_and_apply_input.go | 14 + .../zz_generated_openstack_cloud_provider.go | 18 + .../management/v3/zz_generated_os_info.go | 14 + .../v3/zz_generated_owner_reference.go | 20 + ..._generated_persistent_volume_claim_spec.go | 26 + ...erated_persistent_volume_claim_template.go | 12 + ...d_persistent_volume_claim_volume_source.go | 12 + ...ed_photon_persistent_disk_volume_source.go | 12 + .../management/v3/zz_generated_ping_config.go | 52 + .../v3/zz_generated_pod_affinity.go | 12 + .../v3/zz_generated_pod_affinity_term.go | 20 + .../v3/zz_generated_pod_anti_affinity.go | 12 + ...curity_admission_configuration_template.go | 122 + ...mission_configuration_template_defaults.go | 20 + ...ssion_configuration_template_exemptions.go | 14 + ...y_admission_configuration_template_spec.go | 12 + .../management/v3/zz_generated_policy_rule.go | 18 + .../management/v3/zz_generated_port_check.go | 14 + .../v3/zz_generated_portworx_volume_source.go | 14 + .../management/v3/zz_generated_preference.go | 122 + .../zz_generated_preferred_scheduling_term.go | 12 + .../management/v3/zz_generated_principal.go | 142 + .../v3/zz_generated_private_registry.go | 18 + .../management/v3/zz_generated_process.go | 40 + .../management/v3/zz_generated_project.go | 145 + .../v3/zz_generated_project_catalog.go | 168 ++ .../v3/zz_generated_project_condition.go | 20 + .../v3/zz_generated_project_network_policy.go | 132 + ...z_generated_project_network_policy_spec.go | 12 + ...generated_project_network_policy_status.go | 8 + .../v3/zz_generated_project_resource_quota.go | 12 + ...generated_project_role_template_binding.go | 134 + .../v3/zz_generated_project_spec.go | 20 + .../v3/zz_generated_project_status.go | 10 + .../zz_generated_projected_volume_source.go | 12 + .../v3/zz_generated_provider_configuration.go | 18 + .../v3/zz_generated_public_endpoint.go | 28 + .../management/v3/zz_generated_question.go | 44 + .../v3/zz_generated_quobyte_volume_source.go | 20 + ...erated_rancher_kubernetes_engine_config.go | 62 + .../zz_generated_rancher_user_notification.go | 122 + .../v3/zz_generated_rbd_volume_source.go | 24 + .../v3/zz_generated_resource_claim.go | 10 + .../v3/zz_generated_resource_configuration.go | 12 + .../zz_generated_resource_field_selector.go | 14 + .../v3/zz_generated_resource_quota_limit.go | 34 + .../v3/zz_generated_resource_requirements.go | 14 + .../v3/zz_generated_restore_config.go | 12 + ...enerated_restore_from_etcd_backup_input.go | 12 + .../management/v3/zz_generated_rke2config.go | 12 + .../management/v3/zz_generated_rke_addon.go | 120 + .../v3/zz_generated_rke_config_node.go | 38 + .../v3/zz_generated_rke_config_node_plan.go | 22 + .../v3/zz_generated_rke_config_services.go | 20 + .../v3/zz_generated_rke_k8s_service_option.go | 120 + .../v3/zz_generated_rke_k8s_system_image.go | 120 + .../v3/zz_generated_rke_system_images.go | 90 + .../management/v3/zz_generated_rke_taint.go | 16 + .../v3/zz_generated_role_template.go | 142 + .../v3/zz_generated_rolling_update.go | 12 + .../zz_generated_rolling_update_daemon_set.go | 16 + .../zz_generated_rolling_update_deployment.go | 16 + .../zz_generated_rotate_certificate_input.go | 12 + .../zz_generated_rotate_certificate_output.go | 10 + .../v3/zz_generated_rotate_certificates.go | 12 + ..._generated_rotate_encryption_key_output.go | 10 + .../v3/zz_generated_route53provider_config.go | 22 + .../v3/zz_generated_route_openstack_opts.go | 10 + .../v3/zz_generated_s3backup_config.go | 22 + .../v3/zz_generated_s3credential_config.go | 24 + .../v3/zz_generated_saml_config_test_input.go | 10 + .../zz_generated_saml_config_test_output.go | 10 + .../management/v3/zz_generated_saml_token.go | 124 + .../v3/zz_generated_save_as_template_input.go | 12 + .../zz_generated_save_as_template_output.go | 12 + .../v3/zz_generated_scale_iovolume_source.go | 28 + .../v3/zz_generated_scheduler_service.go | 26 + .../zz_generated_search_principals_input.go | 12 + .../v3/zz_generated_secret_key_selector.go | 14 + .../v3/zz_generated_secret_projection.go | 14 + .../v3/zz_generated_secret_volume_source.go | 16 + .../zz_generated_secretbox_configuration.go | 10 + .../zz_generated_secrets_encryption_config.go | 12 + ...erated_service_account_token_projection.go | 14 + .../v3/zz_generated_service_override.go | 20 + .../v3/zz_generated_set_password_input.go | 10 + .../management/v3/zz_generated_setting.go | 126 + .../v3/zz_generated_shibboleth_config.go | 54 + .../zz_generated_storage_osvolume_source.go | 18 + .../v3/zz_generated_sub_question.go | 40 + .../management/v3/zz_generated_taint.go | 16 + .../management/v3/zz_generated_target.go | 16 + .../management/v3/zz_generated_template.go | 166 ++ .../v3/zz_generated_template_content.go | 120 + .../v3/zz_generated_template_spec.go | 48 + .../v3/zz_generated_template_status.go | 10 + .../v3/zz_generated_template_version.go | 158 ++ .../v3/zz_generated_template_version_spec.go | 40 + .../zz_generated_template_version_status.go | 10 + .../management/v3/zz_generated_token.go | 155 + .../management/v3/zz_generated_toleration.go | 18 + ..._generated_typed_local_object_reference.go | 14 + .../v3/zz_generated_typed_object_reference.go | 16 + ...enerated_update_global_dnstargets_input.go | 10 + ..._update_multi_cluster_app_targets_input.go | 12 + .../v3/zz_generated_upgrade_strategy.go | 10 + .../management/v3/zz_generated_user.go | 169 ++ .../v3/zz_generated_user_attribute.go | 40 + .../v3/zz_generated_user_condition.go | 20 + .../management/v3/zz_generated_user_spec.go | 8 + .../management/v3/zz_generated_user_status.go | 10 + .../management/v3/zz_generated_values.go | 16 + .../v3/zz_generated_version_commits.go | 10 + .../v3/zz_generated_virtual_center_config.go | 18 + .../v3/zz_generated_volume_projection.go | 18 + ..._generated_volume_resource_requirements.go | 12 + .../v3/zz_generated_vsphere_cloud_provider.go | 18 + ...ated_vsphere_virtual_disk_volume_source.go | 16 + .../v3/zz_generated_weave_network_provider.go | 10 + ...zz_generated_weighted_pod_affinity_term.go | 12 + .../v3/zz_generated_workspace_vsphere_opts.go | 18 + vendor/github.com/rancher/wrangler/v3/LICENSE | 178 ++ .../rancher/wrangler/v3/pkg/name/name.go | 75 + vendor/github.com/sirupsen/logrus/.gitignore | 4 + .../github.com/sirupsen/logrus/.golangci.yml | 40 + vendor/github.com/sirupsen/logrus/.travis.yml | 15 + .../github.com/sirupsen/logrus/CHANGELOG.md | 259 ++ vendor/github.com/sirupsen/logrus/LICENSE | 21 + vendor/github.com/sirupsen/logrus/README.md | 515 ++++ vendor/github.com/sirupsen/logrus/alt_exit.go | 76 + .../github.com/sirupsen/logrus/appveyor.yml | 14 + .../github.com/sirupsen/logrus/buffer_pool.go | 43 + vendor/github.com/sirupsen/logrus/doc.go | 26 + vendor/github.com/sirupsen/logrus/entry.go | 442 +++ vendor/github.com/sirupsen/logrus/exported.go | 270 ++ .../github.com/sirupsen/logrus/formatter.go | 78 + vendor/github.com/sirupsen/logrus/hooks.go | 34 + .../sirupsen/logrus/json_formatter.go | 128 + vendor/github.com/sirupsen/logrus/logger.go | 417 +++ vendor/github.com/sirupsen/logrus/logrus.go | 186 ++ .../logrus/terminal_check_appengine.go | 11 + .../sirupsen/logrus/terminal_check_bsd.go | 13 + .../sirupsen/logrus/terminal_check_js.go | 7 + .../logrus/terminal_check_no_terminal.go | 11 + .../logrus/terminal_check_notappengine.go | 17 + .../sirupsen/logrus/terminal_check_solaris.go | 11 + .../sirupsen/logrus/terminal_check_unix.go | 13 + .../sirupsen/logrus/terminal_check_windows.go | 27 + .../sirupsen/logrus/text_formatter.go | 339 +++ vendor/github.com/sirupsen/logrus/writer.go | 102 + vendor/github.com/spf13/cobra/.golangci.yml | 21 +- vendor/github.com/spf13/cobra/active_help.go | 13 +- vendor/github.com/spf13/cobra/args.go | 4 +- .../spf13/cobra/bash_completions.go | 25 +- vendor/github.com/spf13/cobra/cobra.go | 2 - vendor/github.com/spf13/cobra/command.go | 51 +- vendor/github.com/spf13/cobra/completions.go | 62 +- vendor/github.com/spf13/cobra/flag_groups.go | 34 +- .../spf13/cobra/powershell_completions.go | 4 +- .../license-verifier/Makefile | 2 +- vendor/golang.org/x/net/LICENSE | 4 +- .../golang.org/x/net/internal/socks/client.go | 168 ++ .../golang.org/x/net/internal/socks/socks.go | 317 +++ vendor/golang.org/x/net/proxy/dial.go | 54 + vendor/golang.org/x/net/proxy/direct.go | 31 + vendor/golang.org/x/net/proxy/per_host.go | 151 + vendor/golang.org/x/net/proxy/proxy.go | 149 + vendor/golang.org/x/net/proxy/socks5.go | 42 + vendor/golang.org/x/oauth2/LICENSE | 4 +- vendor/golang.org/x/sys/LICENSE | 4 +- vendor/golang.org/x/sys/unix/mkerrors.sh | 2 + .../golang.org/x/sys/unix/syscall_darwin.go | 49 + vendor/golang.org/x/sys/unix/syscall_hurd.go | 1 + vendor/golang.org/x/sys/unix/syscall_linux.go | 1 + .../golang.org/x/sys/unix/syscall_openbsd.go | 1 + .../x/sys/unix/zerrors_darwin_amd64.go | 12 + .../x/sys/unix/zerrors_darwin_arm64.go | 12 + vendor/golang.org/x/sys/unix/zerrors_linux.go | 38 +- .../x/sys/unix/zerrors_linux_386.go | 2 + .../x/sys/unix/zerrors_linux_amd64.go | 2 + .../x/sys/unix/zerrors_linux_arm.go | 2 + .../x/sys/unix/zerrors_linux_arm64.go | 2 + .../x/sys/unix/zerrors_linux_loong64.go | 2 + .../x/sys/unix/zerrors_linux_mips.go | 2 + .../x/sys/unix/zerrors_linux_mips64.go | 2 + .../x/sys/unix/zerrors_linux_mips64le.go | 2 + .../x/sys/unix/zerrors_linux_mipsle.go | 2 + .../x/sys/unix/zerrors_linux_ppc.go | 2 + .../x/sys/unix/zerrors_linux_ppc64.go | 2 + .../x/sys/unix/zerrors_linux_ppc64le.go | 2 + .../x/sys/unix/zerrors_linux_riscv64.go | 2 + .../x/sys/unix/zerrors_linux_s390x.go | 2 + .../x/sys/unix/zerrors_linux_sparc64.go | 2 + .../x/sys/unix/zerrors_zos_s390x.go | 2 + .../x/sys/unix/zsyscall_darwin_amd64.go | 68 + .../x/sys/unix/zsyscall_darwin_amd64.s | 15 + .../x/sys/unix/zsyscall_darwin_arm64.go | 68 + .../x/sys/unix/zsyscall_darwin_arm64.s | 15 + .../golang.org/x/sys/unix/zsyscall_linux.go | 16 + .../x/sys/unix/zsyscall_openbsd_386.go | 24 + .../x/sys/unix/zsyscall_openbsd_386.s | 5 + .../x/sys/unix/zsyscall_openbsd_amd64.go | 24 + .../x/sys/unix/zsyscall_openbsd_amd64.s | 5 + .../x/sys/unix/zsyscall_openbsd_arm.go | 24 + .../x/sys/unix/zsyscall_openbsd_arm.s | 5 + .../x/sys/unix/zsyscall_openbsd_arm64.go | 24 + .../x/sys/unix/zsyscall_openbsd_arm64.s | 5 + .../x/sys/unix/zsyscall_openbsd_mips64.go | 24 + .../x/sys/unix/zsyscall_openbsd_mips64.s | 5 + .../x/sys/unix/zsyscall_openbsd_ppc64.go | 24 + .../x/sys/unix/zsyscall_openbsd_ppc64.s | 6 + .../x/sys/unix/zsyscall_openbsd_riscv64.go | 24 + .../x/sys/unix/zsyscall_openbsd_riscv64.s | 5 + .../x/sys/unix/zsysnum_linux_386.go | 1 + .../x/sys/unix/zsysnum_linux_amd64.go | 1 + .../x/sys/unix/zsysnum_linux_arm.go | 1 + .../x/sys/unix/zsysnum_linux_arm64.go | 1 + .../x/sys/unix/zsysnum_linux_loong64.go | 1 + .../x/sys/unix/zsysnum_linux_mips.go | 1 + .../x/sys/unix/zsysnum_linux_mips64.go | 1 + .../x/sys/unix/zsysnum_linux_mips64le.go | 1 + .../x/sys/unix/zsysnum_linux_mipsle.go | 1 + .../x/sys/unix/zsysnum_linux_ppc.go | 1 + .../x/sys/unix/zsysnum_linux_ppc64.go | 1 + .../x/sys/unix/zsysnum_linux_ppc64le.go | 1 + .../x/sys/unix/zsysnum_linux_riscv64.go | 1 + .../x/sys/unix/zsysnum_linux_s390x.go | 1 + .../x/sys/unix/zsysnum_linux_sparc64.go | 1 + .../x/sys/unix/ztypes_darwin_amd64.go | 13 + .../x/sys/unix/ztypes_darwin_arm64.go | 13 + .../x/sys/unix/ztypes_freebsd_386.go | 1 + .../x/sys/unix/ztypes_freebsd_amd64.go | 1 + .../x/sys/unix/ztypes_freebsd_arm.go | 1 + .../x/sys/unix/ztypes_freebsd_arm64.go | 1 + .../x/sys/unix/ztypes_freebsd_riscv64.go | 1 + vendor/golang.org/x/sys/unix/ztypes_linux.go | 12 +- .../x/sys/unix/ztypes_linux_riscv64.go | 33 + .../x/sys/windows/security_windows.go | 2 +- .../x/sys/windows/syscall_windows.go | 16 +- .../golang.org/x/sys/windows/types_windows.go | 72 +- .../x/sys/windows/zsyscall_windows.go | 87 +- vendor/golang.org/x/term/LICENSE | 4 +- vendor/golang.org/x/term/term_windows.go | 1 + vendor/golang.org/x/text/LICENSE | 4 +- vendor/golang.org/x/text/cases/cases.go | 162 ++ vendor/golang.org/x/text/cases/context.go | 376 +++ vendor/golang.org/x/text/cases/fold.go | 34 + vendor/golang.org/x/text/cases/icu.go | 61 + vendor/golang.org/x/text/cases/info.go | 82 + vendor/golang.org/x/text/cases/map.go | 816 ++++++ .../golang.org/x/text/cases/tables10.0.0.go | 2255 +++++++++++++++ .../golang.org/x/text/cases/tables11.0.0.go | 2316 +++++++++++++++ .../golang.org/x/text/cases/tables12.0.0.go | 2359 +++++++++++++++ .../golang.org/x/text/cases/tables13.0.0.go | 2399 ++++++++++++++++ .../golang.org/x/text/cases/tables15.0.0.go | 2527 +++++++++++++++++ vendor/golang.org/x/text/cases/tables9.0.0.go | 2215 +++++++++++++++ vendor/golang.org/x/text/cases/trieval.go | 217 ++ vendor/golang.org/x/text/internal/internal.go | 49 + vendor/golang.org/x/text/internal/match.go | 67 + .../kmodules.xyz/client-go/api/v1/cluster.go | 26 +- .../client-go/api/v1/zz_generated.deepcopy.go | 22 + vendor/kmodules.xyz/client-go/cluster/lib.go | 8 +- .../kmodules.xyz/client-go/cluster/rancher.go | 45 +- .../offshoot-api/api/v1/gateway_types.go | 78 + .../offshoot-api/api/v1/openapi_generated.go | 151 + .../kmodules.xyz/offshoot-api/api/v1/types.go | 19 - .../api/v1/zz_generated.deepcopy.go | 73 + vendor/modules.txt | 54 +- .../v1alpha1/openapi_generated.go | 268 +- .../apis/stash/v1alpha1/openapi_generated.go | 268 +- .../apis/stash/v1beta1/openapi_generated.go | 268 +- .../apis/ui/v1alpha1/openapi_generated.go | 268 +- .../apimachinery/pkg/restic/commands.go | 17 +- 596 files changed, 45294 insertions(+), 282 deletions(-) create mode 100644 vendor/github.com/ghodss/yaml/.gitignore create mode 100644 vendor/github.com/ghodss/yaml/.travis.yml create mode 100644 vendor/github.com/ghodss/yaml/LICENSE create mode 100644 vendor/github.com/ghodss/yaml/README.md create mode 100644 vendor/github.com/ghodss/yaml/fields.go create mode 100644 vendor/github.com/ghodss/yaml/yaml.go create mode 100644 vendor/github.com/gorilla/websocket/.editorconfig create mode 100644 vendor/github.com/gorilla/websocket/.gitignore create mode 100644 vendor/github.com/gorilla/websocket/.golangci.yml create mode 100644 vendor/github.com/gorilla/websocket/LICENSE create mode 100644 vendor/github.com/gorilla/websocket/Makefile create mode 100644 vendor/github.com/gorilla/websocket/README.md create mode 100644 vendor/github.com/gorilla/websocket/client.go create mode 100644 vendor/github.com/gorilla/websocket/compression.go create mode 100644 vendor/github.com/gorilla/websocket/conn.go create mode 100644 vendor/github.com/gorilla/websocket/doc.go create mode 100644 vendor/github.com/gorilla/websocket/join.go create mode 100644 vendor/github.com/gorilla/websocket/json.go create mode 100644 vendor/github.com/gorilla/websocket/mask.go create mode 100644 vendor/github.com/gorilla/websocket/mask_safe.go create mode 100644 vendor/github.com/gorilla/websocket/prepared.go create mode 100644 vendor/github.com/gorilla/websocket/proxy.go create mode 100644 vendor/github.com/gorilla/websocket/server.go create mode 100644 vendor/github.com/gorilla/websocket/tls_handshake.go create mode 100644 vendor/github.com/gorilla/websocket/util.go create mode 100644 vendor/github.com/rancher/norman/LICENSE create mode 100644 vendor/github.com/rancher/norman/clientbase/common.go create mode 100644 vendor/github.com/rancher/norman/clientbase/ops.go create mode 100644 vendor/github.com/rancher/norman/httperror/error.go create mode 100644 vendor/github.com/rancher/norman/types/condition.go create mode 100644 vendor/github.com/rancher/norman/types/convert/convert.go create mode 100644 vendor/github.com/rancher/norman/types/convert/ref.go create mode 100644 vendor/github.com/rancher/norman/types/convert/transform.go create mode 100644 vendor/github.com/rancher/norman/types/convert/value_set_string.go create mode 100644 vendor/github.com/rancher/norman/types/definition/definition.go create mode 100644 vendor/github.com/rancher/norman/types/encoder.go create mode 100644 vendor/github.com/rancher/norman/types/id.go create mode 100644 vendor/github.com/rancher/norman/types/mapper.go create mode 100644 vendor/github.com/rancher/norman/types/reflection.go create mode 100644 vendor/github.com/rancher/norman/types/schema_funcs.go create mode 100644 vendor/github.com/rancher/norman/types/schemas.go create mode 100644 vendor/github.com/rancher/norman/types/server_types.go create mode 100644 vendor/github.com/rancher/norman/types/slice/contains.go create mode 100644 vendor/github.com/rancher/norman/types/types.go create mode 100644 vendor/github.com/rancher/norman/types/values/values.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/LICENSE create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aci_network_provider.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_action.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_active_directory_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_active_directory_test_and_apply_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_adfs_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aes_configuration.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_affinity.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_agent_deployment_customization.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aks_cluster_config_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aks_node_pool.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aks_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_alidns_provider_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_answer.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_app_condition.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_attached_volume.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_audit_log.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_audit_log_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_auth_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_auth_config_conditions.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_auth_config_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_auth_webhook_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_authn_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_authz_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aws_cloud_provider.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aws_elastic_block_store_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_adconfig.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_adconfig_apply_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_adconfig_test_output.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_cloud_provider.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_disk_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_file_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_backup_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_bastion_host.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_block_storage_openstack_opts.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_calico_network_provider.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_canal_network_provider.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_capabilities.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_condition.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_refresh.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_secrets.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_template.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_template_version.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ceph_fsvolume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cert_expiration.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_change_password_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cinder_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_client.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cloud_credential.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cloud_credential_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cloud_provider.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cloudflare_provider_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_catalog.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_component_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_condition.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_registration_token.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_registration_token_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_registration_token_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_role_template_binding.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_secrets.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_spec_base.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_questions_output.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_revision.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_revision_condition.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_revision_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_revision_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_trust_bundle_projection.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_upgrade_strategy.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cmek_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_component_condition.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_compose_condition.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_compose_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_compose_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_compose_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_condition.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_config_map_key_selector.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_config_map_node_config_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_config_map_projection.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_config_map_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_container_image.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_container_resource_limit.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cpu_info.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_csi_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_custom_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_daemon_endpoint.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_daemon_set_update_strategy.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_deployment_strategy.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_disk_vsphere_opts.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_dns_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_docker_info.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_downward_apiprojection.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_downward_apivolume_file.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_downward_apivolume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_duration.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_dynamic_schema.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_dynamic_schema_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_dynamic_schema_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ecr_credential_plugin.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_eks_cluster_config_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_eks_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_empty_dir_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_encryption_configuration.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_env_var.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_env_var_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ephemeral_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_backup.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_backup_condition.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_backup_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_backup_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_service.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_event_rate_limit.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_export_output.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_extra_env.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_extra_volume.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_extra_volume_mount.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_fc_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_feature.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_feature_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_feature_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_field.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_file.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_filter.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_flannel_network_provider.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_fleet_workspace.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_fleet_workspace_permission.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_fleet_workspace_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_flex_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_flocker_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_free_ipa_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_free_ipa_test_and_apply_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gce_persistent_disk_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_generate_kube_config_output.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_generic_oidcapply_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_generic_oidcconfig.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_generic_oidctest_output.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_git_repo_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_github_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_github_config_apply_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_github_config_test_output.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_autopilot_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_cidr_block.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_cluster_addons.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_cluster_config_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_master_authorized_networks_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_pool_autoscaling.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_pool_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_pool_management.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_taint_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_private_cluster_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gkeip_allocation_policy.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_aws_opts.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns_provider.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns_provider_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_openstack_opts.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_role.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_role_binding.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_role_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_vsphere_opts.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_glusterfs_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_google_oauth_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_google_oauth_config_apply_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_google_oauth_config_test_output.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_group.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_group_member.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_harvester_cloud_provider.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_health_check.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_host_path_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_identity_configuration.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_import_cluster_yaml_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_import_yaml_output.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_imported_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_info.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ingress_capabilities.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ingress_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_internal_node_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_internal_node_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_iscsi_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_k3s_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_key.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_key_cloak_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_key_cloak_oidcconfig.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_key_to_path.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kms_configuration.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kontainer_driver.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kontainer_driver_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kontainer_driver_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kube_apiservice.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kube_controller_service.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kubelet_service.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kubeproxy_service.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kubernetes_info.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kubernetes_services_options.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_label_selector.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_label_selector_requirement.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_launch_template.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ldap_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ldap_fields.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_linear_autoscaler_params.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_load_balancer_capabilities.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_load_balancer_openstack_opts.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_local_cluster_auth_endpoint.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_local_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_local_object_reference.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_management_secret.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_map_delta.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_member.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_memory_info.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_metadata_openstack_opts.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_metadata_update.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_monitoring_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app_revision.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app_rollback_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_namespace_resource_quota.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_network_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_network_vshpere_opts.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_nfs_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_address.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_affinity.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_condition.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_config_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_config_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_daemon_endpoints.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_drain_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_driver.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_driver_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_driver_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_group.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_info.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_plan.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_pool.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_pool_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_pool_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_runtime_handler.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_runtime_handler_features.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_selector.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_selector_requirement.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_selector_term.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_system_info.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_template.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_template_condition.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_template_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_template_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_upgrade_strategy.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_nodelocal.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_object_field_selector.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_object_meta.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_oidc_apply_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_oidc_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_oidc_test_output.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_okta_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_open_ldap_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_open_ldap_test_and_apply_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_openstack_cloud_provider.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_os_info.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_owner_reference.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_persistent_volume_claim_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_persistent_volume_claim_template.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_persistent_volume_claim_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_photon_persistent_disk_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ping_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_affinity.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_affinity_term.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_anti_affinity.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_security_admission_configuration_template.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_security_admission_configuration_template_defaults.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_security_admission_configuration_template_exemptions.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_security_admission_configuration_template_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_policy_rule.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_port_check.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_portworx_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_preference.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_preferred_scheduling_term.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_principal.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_private_registry.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_process.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_catalog.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_condition.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_network_policy.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_network_policy_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_network_policy_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_resource_quota.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_role_template_binding.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_projected_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_provider_configuration.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_public_endpoint.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_question.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_quobyte_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rancher_kubernetes_engine_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rancher_user_notification.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rbd_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_claim.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_configuration.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_field_selector.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_quota_limit.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_requirements.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_restore_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_restore_from_etcd_backup_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke2config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_addon.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_config_node.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_config_node_plan.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_config_services.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_k8s_service_option.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_k8s_system_image.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_system_images.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_taint.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_role_template.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rolling_update.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rolling_update_daemon_set.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rolling_update_deployment.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rotate_certificate_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rotate_certificate_output.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rotate_certificates.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rotate_encryption_key_output.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_route53provider_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_route_openstack_opts.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_s3backup_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_s3credential_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_saml_config_test_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_saml_config_test_output.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_saml_token.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_save_as_template_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_save_as_template_output.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_scale_iovolume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_scheduler_service.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_search_principals_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secret_key_selector.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secret_projection.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secret_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secretbox_configuration.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secrets_encryption_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_service_account_token_projection.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_service_override.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_set_password_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_setting.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_shibboleth_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_storage_osvolume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_sub_question.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_taint.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_target.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_content.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_version.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_version_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_version_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_token.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_toleration.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_typed_local_object_reference.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_typed_object_reference.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_update_global_dnstargets_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_update_multi_cluster_app_targets_input.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_upgrade_strategy.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user_attribute.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user_condition.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user_spec.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user_status.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_values.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_version_commits.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_virtual_center_config.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_volume_projection.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_volume_resource_requirements.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_vsphere_cloud_provider.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_vsphere_virtual_disk_volume_source.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_weave_network_provider.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_weighted_pod_affinity_term.go create mode 100644 vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_workspace_vsphere_opts.go create mode 100644 vendor/github.com/rancher/wrangler/v3/LICENSE create mode 100644 vendor/github.com/rancher/wrangler/v3/pkg/name/name.go create mode 100644 vendor/github.com/sirupsen/logrus/.gitignore create mode 100644 vendor/github.com/sirupsen/logrus/.golangci.yml create mode 100644 vendor/github.com/sirupsen/logrus/.travis.yml create mode 100644 vendor/github.com/sirupsen/logrus/CHANGELOG.md create mode 100644 vendor/github.com/sirupsen/logrus/LICENSE create mode 100644 vendor/github.com/sirupsen/logrus/README.md create mode 100644 vendor/github.com/sirupsen/logrus/alt_exit.go create mode 100644 vendor/github.com/sirupsen/logrus/appveyor.yml create mode 100644 vendor/github.com/sirupsen/logrus/buffer_pool.go create mode 100644 vendor/github.com/sirupsen/logrus/doc.go create mode 100644 vendor/github.com/sirupsen/logrus/entry.go create mode 100644 vendor/github.com/sirupsen/logrus/exported.go create mode 100644 vendor/github.com/sirupsen/logrus/formatter.go create mode 100644 vendor/github.com/sirupsen/logrus/hooks.go create mode 100644 vendor/github.com/sirupsen/logrus/json_formatter.go create mode 100644 vendor/github.com/sirupsen/logrus/logger.go create mode 100644 vendor/github.com/sirupsen/logrus/logrus.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_appengine.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_bsd.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_js.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_no_terminal.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_solaris.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_unix.go create mode 100644 vendor/github.com/sirupsen/logrus/terminal_check_windows.go create mode 100644 vendor/github.com/sirupsen/logrus/text_formatter.go create mode 100644 vendor/github.com/sirupsen/logrus/writer.go create mode 100644 vendor/golang.org/x/net/internal/socks/client.go create mode 100644 vendor/golang.org/x/net/internal/socks/socks.go create mode 100644 vendor/golang.org/x/net/proxy/dial.go create mode 100644 vendor/golang.org/x/net/proxy/direct.go create mode 100644 vendor/golang.org/x/net/proxy/per_host.go create mode 100644 vendor/golang.org/x/net/proxy/proxy.go create mode 100644 vendor/golang.org/x/net/proxy/socks5.go create mode 100644 vendor/golang.org/x/text/cases/cases.go create mode 100644 vendor/golang.org/x/text/cases/context.go create mode 100644 vendor/golang.org/x/text/cases/fold.go create mode 100644 vendor/golang.org/x/text/cases/icu.go create mode 100644 vendor/golang.org/x/text/cases/info.go create mode 100644 vendor/golang.org/x/text/cases/map.go create mode 100644 vendor/golang.org/x/text/cases/tables10.0.0.go create mode 100644 vendor/golang.org/x/text/cases/tables11.0.0.go create mode 100644 vendor/golang.org/x/text/cases/tables12.0.0.go create mode 100644 vendor/golang.org/x/text/cases/tables13.0.0.go create mode 100644 vendor/golang.org/x/text/cases/tables15.0.0.go create mode 100644 vendor/golang.org/x/text/cases/tables9.0.0.go create mode 100644 vendor/golang.org/x/text/cases/trieval.go create mode 100644 vendor/golang.org/x/text/internal/internal.go create mode 100644 vendor/golang.org/x/text/internal/match.go create mode 100644 vendor/kmodules.xyz/offshoot-api/api/v1/gateway_types.go diff --git a/go.mod b/go.mod index 27b3878c6..e0f3d2e39 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.22.1 toolchain go1.23.0 require ( - github.com/spf13/cobra v1.8.0 + github.com/spf13/cobra v1.8.1 go.bytebuilders.dev/license-verifier/kubernetes v0.14.1 gomodules.xyz/flags v0.1.3 gomodules.xyz/go-sh v0.1.0 @@ -14,15 +14,20 @@ require ( k8s.io/apimachinery v0.30.2 k8s.io/client-go v0.30.2 k8s.io/klog/v2 v2.130.1 - kmodules.xyz/client-go v0.30.13 + kmodules.xyz/client-go v0.30.17 kmodules.xyz/custom-resources v0.30.0 - kmodules.xyz/offshoot-api v0.30.0 - stash.appscode.dev/apimachinery v0.35.0 + kmodules.xyz/offshoot-api v0.30.1 + stash.appscode.dev/apimachinery v0.36.1-0.20241121051155-50822965c5af ) require ( filippo.io/edwards25519 v1.1.0 // indirect - github.com/Masterminds/semver/v3 v3.2.1 // indirect + github.com/Masterminds/semver/v3 v3.3.0 // indirect + github.com/klauspost/cpuid/v2 v2.0.9 // indirect + github.com/zeebo/xxh3 v1.0.2 // indirect +) + +require ( github.com/PuerkitoBio/purell v1.2.1 // indirect github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2 // indirect github.com/beorn7/perks v1.0.1 // indirect @@ -34,6 +39,7 @@ require ( github.com/evanphx/json-patch/v5 v5.9.0 // indirect github.com/fatih/structs v1.1.0 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/ghodss/yaml v1.0.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-openapi/jsonpointer v0.21.0 // indirect github.com/go-openapi/jsonreference v0.21.0 // indirect @@ -47,11 +53,11 @@ require ( github.com/google/go-containerregistry v0.19.1 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/uuid v1.6.0 // indirect + github.com/gorilla/websocket v1.5.1 // indirect github.com/imdario/mergo v0.3.16 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/cpuid/v2 v2.0.9 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect @@ -64,20 +70,24 @@ require ( github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/common v0.46.0 // indirect github.com/prometheus/procfs v0.15.0 // indirect + github.com/rancher/norman v0.0.0-20240708202514-a0127673d1b9 // indirect + github.com/rancher/rancher/pkg/client v0.0.0-20240710123941-93e332156bbe // indirect + github.com/rancher/wrangler/v3 v3.0.0 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/sergi/go-diff v1.2.0 // indirect + github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/yudai/gojsondiff v1.0.0 // indirect github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 // indirect - github.com/zeebo/xxh3 v1.0.2 // indirect go.bytebuilders.dev/license-proxyserver v0.0.11 // indirect - go.bytebuilders.dev/license-verifier v0.14.1 // indirect + go.bytebuilders.dev/license-verifier v0.14.2 // indirect + go.uber.org/zap v1.27.0 // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect - golang.org/x/net v0.27.0 // indirect - golang.org/x/oauth2 v0.21.0 // indirect - golang.org/x/sys v0.22.0 // indirect - golang.org/x/term v0.22.0 // indirect - golang.org/x/text v0.16.0 // indirect + golang.org/x/net v0.29.0 // indirect + golang.org/x/oauth2 v0.22.0 // indirect + golang.org/x/sys v0.25.0 // indirect + golang.org/x/term v0.24.0 // indirect + golang.org/x/text v0.18.0 // indirect golang.org/x/time v0.5.0 // indirect gomodules.xyz/clock v0.0.0-20200817085942-06523dba733f // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect diff --git a/go.sum b/go.sum index 8700529ec..91e5b61fe 100644 --- a/go.sum +++ b/go.sum @@ -15,8 +15,8 @@ filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0= -github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= +github.com/Masterminds/semver/v3 v3.3.0 h1:B8LGeaivUe71a5qox1ICM/JLl0NqZSW5CHyL+hmvYS0= +github.com/Masterminds/semver/v3 v3.3.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/PuerkitoBio/purell v1.2.1 h1:QsZ4TjvwiMpat6gBCBxEQI0rcS9ehtkKtSpiUnd9N28= github.com/PuerkitoBio/purell v1.2.1/go.mod h1:ZwHcC/82TOaovDi//J/804umJFFmbOHPngi8iYYv/Eo= @@ -46,7 +46,7 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7 github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -65,6 +65,7 @@ github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= +github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= @@ -130,6 +131,8 @@ github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= +github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= @@ -253,6 +256,12 @@ github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7z github.com/prometheus/procfs v0.15.0 h1:A82kmvXJq2jTu5YUhSGNlYoxh85zLnKgPz4bMZgI5Ek= github.com/prometheus/procfs v0.15.0/go.mod h1:Y0RJ/Y5g5wJpkTisOtqwDSo4HwhGmLB4VQSw2sQJLHk= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/rancher/norman v0.0.0-20240708202514-a0127673d1b9 h1:AlRMRs5mHJcdiK83KKJyFVeybPMZ7dOUzC0l3k9aUa8= +github.com/rancher/norman v0.0.0-20240708202514-a0127673d1b9/go.mod h1:dyjfXBsNiroPWOdUZe7diUOUSLf6HQ/r2kEpwH/8zas= +github.com/rancher/rancher/pkg/client v0.0.0-20240710123941-93e332156bbe h1:ZD+h5ylTFvzjMDb/DS0R+q3FuoGSB6IFgd8bqRIrnZY= +github.com/rancher/rancher/pkg/client v0.0.0-20240710123941-93e332156bbe/go.mod h1:A+DTKG05BZs1mOoCIB6UpiKo7j0dC6kSz3mgYju9Q20= +github.com/rancher/wrangler/v3 v3.0.0 h1:IHHCA+vrghJDPxjtLk4fmeSCFhNe9fFzLFj3m2B0YpA= +github.com/rancher/wrangler/v3 v3.0.0/go.mod h1:Dfckuuq7MJk2JWVBDywRlZXMxEyPxHy4XqGrPEzu5Eg= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= @@ -265,6 +274,8 @@ github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= @@ -273,8 +284,8 @@ github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM= -github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= -github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= +github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= +github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= @@ -285,6 +296,7 @@ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= @@ -304,8 +316,8 @@ github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= go.bytebuilders.dev/license-proxyserver v0.0.11 h1:6GRprMFK3V2liKubajGOO0cUhTWjmwj6VvMzfiRs+iQ= go.bytebuilders.dev/license-proxyserver v0.0.11/go.mod h1:IBioC86i4anWR1SF9lHR3qgUiNcihpyEijHLVSavsnk= -go.bytebuilders.dev/license-verifier v0.14.1 h1:Pk0a4NKgRjMt6eBZATHwLmPUuTQL00kQB3AQoxhCsUE= -go.bytebuilders.dev/license-verifier v0.14.1/go.mod h1:GB9XTSQUcllJ4AVq29TdJI6yRjoI86HGz0XMqq9nLwY= +go.bytebuilders.dev/license-verifier v0.14.2 h1:syPjdKV9YC9ERpm4vofpHf7coZtntqbSXweN0XFQJBQ= +go.bytebuilders.dev/license-verifier v0.14.2/go.mod h1:bNNaVbry3TZbu54pf57LkhjsFX94T6O62w0roiy1yiE= go.bytebuilders.dev/license-verifier/kubernetes v0.14.1 h1:bKCtI8dLYXN2oe0xkS7tu68Knepj16SOdyLUq2jHYfc= go.bytebuilders.dev/license-verifier/kubernetes v0.14.1/go.mod h1:4fNWvcXF+2QOUD8xJTBscrIdVrduemPLHWZfBjG4/K8= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= @@ -318,8 +330,8 @@ go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= -go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= +go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= +go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -365,13 +377,13 @@ golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= +golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= -golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= +golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -393,16 +405,17 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= -golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= -golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= +golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM= +golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= +golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= @@ -497,6 +510,7 @@ gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= @@ -523,14 +537,14 @@ k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0 h1:jgGTlFYnhF1PM1Ax/lAlxUPE+KfCI k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= kmodules.xyz/apiversion v0.2.0 h1:vAQYqZFm4xu4pbB1cAdHbFEPES6EQkcR4wc06xdTOWk= kmodules.xyz/apiversion v0.2.0/go.mod h1:oPX8g8LvlPdPX3Yc5YvCzJHQnw3YF/X4/jdW0b1am80= -kmodules.xyz/client-go v0.30.13 h1:Tpvg7ZlSNlzjB0NZT9hUe9JrO7FN4PjUUF1hNUXSku0= -kmodules.xyz/client-go v0.30.13/go.mod h1:XL3PDQIXG4s3xNRL2SSxIvi8b2WyMGpn26dFnOBz0j4= +kmodules.xyz/client-go v0.30.17 h1:Ec22XIkAsN8Fwd001P0EzRTsfeibIFkzkZ6oYjLe5LQ= +kmodules.xyz/client-go v0.30.17/go.mod h1:CAu+JlA8RVGtj6LQHu0Q1w2mnFUajuti49c7T1AvGdM= kmodules.xyz/custom-resources v0.30.0 h1:vR3CbseHMLwR4GvtcJJuRuwIV8voKqFqNii27rMcm1o= kmodules.xyz/custom-resources v0.30.0/go.mod h1:ZsTuI2mLG2s3byre7bHmpxJ9w0HDqAkRTL1+izGFI24= kmodules.xyz/objectstore-api v0.29.1 h1:uUsjf8KU0w4LYowSEOnl0AbHT3hsHIu1wNLHqGe1o6s= kmodules.xyz/objectstore-api v0.29.1/go.mod h1:xG+5awH1SXYKxwN/+k1FEQvzixd5tgNqEN/1LEiB2FE= -kmodules.xyz/offshoot-api v0.30.0 h1:dq9F93pu4Q8rL9oTcCk+vGGy8vpS7RNt0GSwx7Bvhec= -kmodules.xyz/offshoot-api v0.30.0/go.mod h1:o9VoA3ImZMDBp3lpLb8+kc2d/KBxioRwCpaKDfLIyDw= +kmodules.xyz/offshoot-api v0.30.1 h1:TrulAYO+oBsXe9sZZGTmNWIuI8qD2izMpgcTSPvgAmI= +kmodules.xyz/offshoot-api v0.30.1/go.mod h1:T3mpjR6fui0QzOcmQvIuANytW48fe9ytmy/1cgx6D4g= kmodules.xyz/prober v0.29.0 h1:Ex7m4F9rH7uWNNJlLgP63ROOM+nUATJkC2L5OQ7nwMg= kmodules.xyz/prober v0.29.0/go.mod h1:UtK+HKyI1lFLEKX+HFLyOCVju6TO93zv3kwGpzqmKOo= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= @@ -540,5 +554,5 @@ sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+s sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= -stash.appscode.dev/apimachinery v0.35.0 h1:Z+2v4vqEUi7yJeg5yCg4Kh2YDq8HtgQf/9jYYst6uW0= -stash.appscode.dev/apimachinery v0.35.0/go.mod h1:YigRBV5veSSAzN23ibQcpkChvq8HPdiU0kq8uvw/5Fo= +stash.appscode.dev/apimachinery v0.36.1-0.20241121051155-50822965c5af h1:Eq8e+DapSZ/jfOFqXfs2fpxvOBWvkBCgRlmnLpElG6k= +stash.appscode.dev/apimachinery v0.36.1-0.20241121051155-50822965c5af/go.mod h1:2iRF0Gd9r6spFyny6eA98I8SRV7SfsXeyIgzh7Clwo4= diff --git a/pkg/backup.go b/pkg/backup.go index 1b86f0f08..8c7a8b0bc 100644 --- a/pkg/backup.go +++ b/pkg/backup.go @@ -116,6 +116,7 @@ func NewCmdBackup() *cobra.Command { } cmd.Flags().StringVar(&opt.myArgs, "mysql-args", opt.myArgs, "Additional arguments") + cmd.Flags().StringVar(&opt.multiDumpArgs, "multi-dump-args", opt.multiDumpArgs, "Arguments for the multiple dump commands") cmd.Flags().Int32Var(&opt.waitTimeout, "wait-timeout", opt.waitTimeout, "Time limit to wait for the database to be ready") cmd.Flags().StringVar(&masterURL, "master", masterURL, "The address of the Kubernetes API server (overrides any value in kubeconfig)") @@ -222,10 +223,7 @@ func (opt *mysqlOptions) backupMySQL(targetRef api_v1beta1.TargetRef) (*restic.B } session.setUserArgs(opt.myArgs) - if strings.Contains(opt.myArgs, "--all-databases") { - session.cmd.Args = append(session.cmd.Args, "--ignore-table=mysql.user") - } - + session.setMultiDumpArgs(opt.multiDumpArgs) // add backup command in the pipeline opt.backupOptions.StdinPipeCommands = append(opt.backupOptions.StdinPipeCommands, *session.cmd) resticWrapper, err := restic.NewResticWrapperFromShell(opt.setupOptions, session.sh) diff --git a/pkg/utils.go b/pkg/utils.go index 96ad1f396..495d4c7e1 100644 --- a/pkg/utils.go +++ b/pkg/utils.go @@ -39,12 +39,14 @@ import ( ) const ( - MySqlUser = "username" - MySqlPassword = "password" - MySqlDumpFile = "dumpfile.sql" - MySqlDumpCMD = "mysqldump" - MySqlRestoreCMD = "mysql" - EnvMySqlPassword = "MYSQL_PWD" + MySqlUser = "username" + MySqlPassword = "password" + MySqlDumpFile = "dumpfile.sql" + MySqlDumpCMD = "mysqldump" + BashCMD = "/bin/bash" + MySqlRestoreCMD = "mysql" + EnvMySqlPassword = "MYSQL_PWD" + multiDumpSeparator = "$args=" ) type mysqlOptions struct { @@ -57,6 +59,7 @@ type mysqlOptions struct { appBindingName string appBindingNamespace string myArgs string + multiDumpArgs string waitTimeout int32 outputDir string storageSecret kmapi.ObjectReference @@ -121,6 +124,51 @@ func (session *sessionWrapper) setUserArgs(args string) { } } +func (session *sessionWrapper) setMultiDumpArgs(args string) { + if args == "" { + return + } + + commonArgs := session.buildCommonArgsString() + dumpArgs := extractMultiDumpArgs(args) + if dumpArgs == nil { + return + } + + // First Bash Command + session.cmd.Args = append([]interface{}{session.cmd.Name}, + append(session.cmd.Args, dumpArgs[0])...) + session.cmd.Name = BashCMD + for idx := 1; idx < len(dumpArgs); idx++ { + session.cmd.Args = append(session.cmd.Args, + fmt.Sprintf("&& %s %s %s", MySqlDumpCMD, commonArgs, dumpArgs[idx])) + } +} + +func (session *sessionWrapper) buildCommonArgsString() string { + var builder strings.Builder + for _, arg := range session.cmd.Args { + builder.WriteString(fmt.Sprintf(" %v", arg)) + } + return strings.TrimSpace(builder.String()) +} + +func extractMultiDumpArgs(input string) []string { + parts := strings.Split(input, multiDumpSeparator) + if len(parts) <= 1 { + return nil + } + + result := make([]string, 0, len(parts)-1) + for _, part := range parts[1:] { + if trimmed := strings.TrimSpace(part); trimmed != "" { + result = append(result, trimmed) + } + } + + return result +} + func (session *sessionWrapper) setTLSParameters(appBinding *appcatalog.AppBinding, scratchDir string) error { // if ssl enabled, add ca.crt in the arguments if appBinding.Spec.ClientConfig.CABundle != nil { diff --git a/vendor/github.com/Masterminds/semver/v3/CHANGELOG.md b/vendor/github.com/Masterminds/semver/v3/CHANGELOG.md index f12626423..f95a504fe 100644 --- a/vendor/github.com/Masterminds/semver/v3/CHANGELOG.md +++ b/vendor/github.com/Masterminds/semver/v3/CHANGELOG.md @@ -1,5 +1,33 @@ # Changelog +## 3.3.0 (2024-08-27) + +### Added + +- #238: Add LessThanEqual and GreaterThanEqual functions (thanks @grosser) +- #213: nil version equality checking (thanks @KnutZuidema) + +### Changed + +- #241: Simplify StrictNewVersion parsing (thanks @grosser) +- Testing support up through Go 1.23 +- Minimum version set to 1.21 as this is what's tested now +- Fuzz testing now supports caching + +## 3.2.1 (2023-04-10) + +### Changed + +- #198: Improved testing around pre-release names +- #200: Improved code scanning with addition of CodeQL +- #201: Testing now includes Go 1.20. Go 1.17 has been dropped +- #202: Migrated Fuzz testing to Go built-in Fuzzing. CI runs daily +- #203: Docs updated for security details + +### Fixed + +- #199: Fixed issue with range transformations + ## 3.2.0 (2022-11-28) ### Added diff --git a/vendor/github.com/Masterminds/semver/v3/Makefile b/vendor/github.com/Masterminds/semver/v3/Makefile index 0e7b5c713..9ca87a2c7 100644 --- a/vendor/github.com/Masterminds/semver/v3/Makefile +++ b/vendor/github.com/Masterminds/semver/v3/Makefile @@ -19,6 +19,7 @@ test-cover: .PHONY: fuzz fuzz: @echo "==> Running Fuzz Tests" + go env GOCACHE go test -fuzz=FuzzNewVersion -fuzztime=15s . go test -fuzz=FuzzStrictNewVersion -fuzztime=15s . go test -fuzz=FuzzNewConstraint -fuzztime=15s . @@ -27,4 +28,4 @@ $(GOLANGCI_LINT): # Install golangci-lint. The configuration for it is in the .golangci.yml # file in the root of the repository echo ${GOPATH} - curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(GOPATH)/bin v1.17.1 + curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(GOPATH)/bin v1.56.2 diff --git a/vendor/github.com/Masterminds/semver/v3/README.md b/vendor/github.com/Masterminds/semver/v3/README.md index eab8cac3b..ed5693608 100644 --- a/vendor/github.com/Masterminds/semver/v3/README.md +++ b/vendor/github.com/Masterminds/semver/v3/README.md @@ -13,12 +13,9 @@ Active](https://masterminds.github.io/stability/active.svg)](https://masterminds [![GoDoc](https://img.shields.io/static/v1?label=godoc&message=reference&color=blue)](https://pkg.go.dev/github.com/Masterminds/semver/v3) [![Go Report Card](https://goreportcard.com/badge/github.com/Masterminds/semver)](https://goreportcard.com/report/github.com/Masterminds/semver) -If you are looking for a command line tool for version comparisons please see -[vert](https://github.com/Masterminds/vert) which uses this library. - ## Package Versions -Note, import `github.com/github.com/Masterminds/semver/v3` to use the latest version. +Note, import `github.com/Masterminds/semver/v3` to use the latest version. There are three major versions fo the `semver` package. @@ -80,12 +77,12 @@ There are two methods for comparing versions. One uses comparison methods on differences to notes between these two methods of comparison. 1. When two versions are compared using functions such as `Compare`, `LessThan`, - and others it will follow the specification and always include prereleases + and others it will follow the specification and always include pre-releases within the comparison. It will provide an answer that is valid with the comparison section of the spec at https://semver.org/#spec-item-11 2. When constraint checking is used for checks or validation it will follow a different set of rules that are common for ranges with tools like npm/js - and Rust/Cargo. This includes considering prereleases to be invalid if the + and Rust/Cargo. This includes considering pre-releases to be invalid if the ranges does not include one. If you want to have it include pre-releases a simple solution is to include `-0` in your range. 3. Constraint ranges can have some complex rules including the shorthand use of @@ -113,7 +110,7 @@ v, err := semver.NewVersion("1.3") if err != nil { // Handle version not being parsable. } -// Check if the version meets the constraints. The a variable will be true. +// Check if the version meets the constraints. The variable a will be true. a := c.Check(v) ``` @@ -137,20 +134,20 @@ The basic comparisons are: ### Working With Prerelease Versions Pre-releases, for those not familiar with them, are used for software releases -prior to stable or generally available releases. Examples of prereleases include -development, alpha, beta, and release candidate releases. A prerelease may be +prior to stable or generally available releases. Examples of pre-releases include +development, alpha, beta, and release candidate releases. A pre-release may be a version such as `1.2.3-beta.1` while the stable release would be `1.2.3`. In the -order of precedence, prereleases come before their associated releases. In this +order of precedence, pre-releases come before their associated releases. In this example `1.2.3-beta.1 < 1.2.3`. -According to the Semantic Version specification prereleases may not be +According to the Semantic Version specification, pre-releases may not be API compliant with their release counterpart. It says, > A pre-release version indicates that the version is unstable and might not satisfy the intended compatibility requirements as denoted by its associated normal version. -SemVer comparisons using constraints without a prerelease comparator will skip -prerelease versions. For example, `>=1.2.3` will skip prereleases when looking -at a list of releases while `>=1.2.3-0` will evaluate and find prereleases. +SemVer's comparisons using constraints without a pre-release comparator will skip +pre-release versions. For example, `>=1.2.3` will skip pre-releases when looking +at a list of releases while `>=1.2.3-0` will evaluate and find pre-releases. The reason for the `0` as a pre-release version in the example comparison is because pre-releases can only contain ASCII alphanumerics and hyphens (along with @@ -171,6 +168,9 @@ These look like: * `1.2 - 1.4.5` which is equivalent to `>= 1.2 <= 1.4.5` * `2.3.4 - 4.5` which is equivalent to `>= 2.3.4 <= 4.5` +Note that `1.2-1.4.5` without whitespace is parsed completely differently; it's +parsed as a single constraint `1.2.0` with _prerelease_ `1.4.5`. + ### Wildcards In Comparisons The `x`, `X`, and `*` characters can be used as a wildcard character. This works diff --git a/vendor/github.com/Masterminds/semver/v3/version.go b/vendor/github.com/Masterminds/semver/v3/version.go index 7c4bed334..ff499fb66 100644 --- a/vendor/github.com/Masterminds/semver/v3/version.go +++ b/vendor/github.com/Masterminds/semver/v3/version.go @@ -83,22 +83,23 @@ func StrictNewVersion(v string) (*Version, error) { original: v, } - // check for prerelease or build metadata - var extra []string - if strings.ContainsAny(parts[2], "-+") { - // Start with the build metadata first as it needs to be on the right - extra = strings.SplitN(parts[2], "+", 2) - if len(extra) > 1 { - // build metadata found - sv.metadata = extra[1] - parts[2] = extra[0] + // Extract build metadata + if strings.Contains(parts[2], "+") { + extra := strings.SplitN(parts[2], "+", 2) + sv.metadata = extra[1] + parts[2] = extra[0] + if err := validateMetadata(sv.metadata); err != nil { + return nil, err } + } - extra = strings.SplitN(parts[2], "-", 2) - if len(extra) > 1 { - // prerelease found - sv.pre = extra[1] - parts[2] = extra[0] + // Extract build prerelease + if strings.Contains(parts[2], "-") { + extra := strings.SplitN(parts[2], "-", 2) + sv.pre = extra[1] + parts[2] = extra[0] + if err := validatePrerelease(sv.pre); err != nil { + return nil, err } } @@ -114,7 +115,7 @@ func StrictNewVersion(v string) (*Version, error) { } } - // Extract the major, minor, and patch elements onto the returned Version + // Extract major, minor, and patch var err error sv.major, err = strconv.ParseUint(parts[0], 10, 64) if err != nil { @@ -131,23 +132,6 @@ func StrictNewVersion(v string) (*Version, error) { return nil, err } - // No prerelease or build metadata found so returning now as a fastpath. - if sv.pre == "" && sv.metadata == "" { - return sv, nil - } - - if sv.pre != "" { - if err = validatePrerelease(sv.pre); err != nil { - return nil, err - } - } - - if sv.metadata != "" { - if err = validateMetadata(sv.metadata); err != nil { - return nil, err - } - } - return sv, nil } @@ -381,15 +365,31 @@ func (v *Version) LessThan(o *Version) bool { return v.Compare(o) < 0 } +// LessThanEqual tests if one version is less or equal than another one. +func (v *Version) LessThanEqual(o *Version) bool { + return v.Compare(o) <= 0 +} + // GreaterThan tests if one version is greater than another one. func (v *Version) GreaterThan(o *Version) bool { return v.Compare(o) > 0 } +// GreaterThanEqual tests if one version is greater or equal than another one. +func (v *Version) GreaterThanEqual(o *Version) bool { + return v.Compare(o) >= 0 +} + // Equal tests if two versions are equal to each other. // Note, versions can be equal with different metadata since metadata // is not considered part of the comparable version. func (v *Version) Equal(o *Version) bool { + if v == o { + return true + } + if v == nil || o == nil { + return false + } return v.Compare(o) == 0 } diff --git a/vendor/github.com/ghodss/yaml/.gitignore b/vendor/github.com/ghodss/yaml/.gitignore new file mode 100644 index 000000000..e256a31e0 --- /dev/null +++ b/vendor/github.com/ghodss/yaml/.gitignore @@ -0,0 +1,20 @@ +# OSX leaves these everywhere on SMB shares +._* + +# Eclipse files +.classpath +.project +.settings/** + +# Emacs save files +*~ + +# Vim-related files +[._]*.s[a-w][a-z] +[._]s[a-w][a-z] +*.un~ +Session.vim +.netrwhist + +# Go test binaries +*.test diff --git a/vendor/github.com/ghodss/yaml/.travis.yml b/vendor/github.com/ghodss/yaml/.travis.yml new file mode 100644 index 000000000..0e9d6edc0 --- /dev/null +++ b/vendor/github.com/ghodss/yaml/.travis.yml @@ -0,0 +1,7 @@ +language: go +go: + - 1.3 + - 1.4 +script: + - go test + - go build diff --git a/vendor/github.com/ghodss/yaml/LICENSE b/vendor/github.com/ghodss/yaml/LICENSE new file mode 100644 index 000000000..7805d36de --- /dev/null +++ b/vendor/github.com/ghodss/yaml/LICENSE @@ -0,0 +1,50 @@ +The MIT License (MIT) + +Copyright (c) 2014 Sam Ghods + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +Copyright (c) 2012 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/ghodss/yaml/README.md b/vendor/github.com/ghodss/yaml/README.md new file mode 100644 index 000000000..0200f75b4 --- /dev/null +++ b/vendor/github.com/ghodss/yaml/README.md @@ -0,0 +1,121 @@ +# YAML marshaling and unmarshaling support for Go + +[![Build Status](https://travis-ci.org/ghodss/yaml.svg)](https://travis-ci.org/ghodss/yaml) + +## Introduction + +A wrapper around [go-yaml](https://github.com/go-yaml/yaml) designed to enable a better way of handling YAML when marshaling to and from structs. + +In short, this library first converts YAML to JSON using go-yaml and then uses `json.Marshal` and `json.Unmarshal` to convert to or from the struct. This means that it effectively reuses the JSON struct tags as well as the custom JSON methods `MarshalJSON` and `UnmarshalJSON` unlike go-yaml. For a detailed overview of the rationale behind this method, [see this blog post](http://ghodss.com/2014/the-right-way-to-handle-yaml-in-golang/). + +## Compatibility + +This package uses [go-yaml](https://github.com/go-yaml/yaml) and therefore supports [everything go-yaml supports](https://github.com/go-yaml/yaml#compatibility). + +## Caveats + +**Caveat #1:** When using `yaml.Marshal` and `yaml.Unmarshal`, binary data should NOT be preceded with the `!!binary` YAML tag. If you do, go-yaml will convert the binary data from base64 to native binary data, which is not compatible with JSON. You can still use binary in your YAML files though - just store them without the `!!binary` tag and decode the base64 in your code (e.g. in the custom JSON methods `MarshalJSON` and `UnmarshalJSON`). This also has the benefit that your YAML and your JSON binary data will be decoded exactly the same way. As an example: + +``` +BAD: + exampleKey: !!binary gIGC + +GOOD: + exampleKey: gIGC +... and decode the base64 data in your code. +``` + +**Caveat #2:** When using `YAMLToJSON` directly, maps with keys that are maps will result in an error since this is not supported by JSON. This error will occur in `Unmarshal` as well since you can't unmarshal map keys anyways since struct fields can't be keys. + +## Installation and usage + +To install, run: + +``` +$ go get github.com/ghodss/yaml +``` + +And import using: + +``` +import "github.com/ghodss/yaml" +``` + +Usage is very similar to the JSON library: + +```go +package main + +import ( + "fmt" + + "github.com/ghodss/yaml" +) + +type Person struct { + Name string `json:"name"` // Affects YAML field names too. + Age int `json:"age"` +} + +func main() { + // Marshal a Person struct to YAML. + p := Person{"John", 30} + y, err := yaml.Marshal(p) + if err != nil { + fmt.Printf("err: %v\n", err) + return + } + fmt.Println(string(y)) + /* Output: + age: 30 + name: John + */ + + // Unmarshal the YAML back into a Person struct. + var p2 Person + err = yaml.Unmarshal(y, &p2) + if err != nil { + fmt.Printf("err: %v\n", err) + return + } + fmt.Println(p2) + /* Output: + {John 30} + */ +} +``` + +`yaml.YAMLToJSON` and `yaml.JSONToYAML` methods are also available: + +```go +package main + +import ( + "fmt" + + "github.com/ghodss/yaml" +) + +func main() { + j := []byte(`{"name": "John", "age": 30}`) + y, err := yaml.JSONToYAML(j) + if err != nil { + fmt.Printf("err: %v\n", err) + return + } + fmt.Println(string(y)) + /* Output: + name: John + age: 30 + */ + j2, err := yaml.YAMLToJSON(y) + if err != nil { + fmt.Printf("err: %v\n", err) + return + } + fmt.Println(string(j2)) + /* Output: + {"age":30,"name":"John"} + */ +} +``` diff --git a/vendor/github.com/ghodss/yaml/fields.go b/vendor/github.com/ghodss/yaml/fields.go new file mode 100644 index 000000000..586007402 --- /dev/null +++ b/vendor/github.com/ghodss/yaml/fields.go @@ -0,0 +1,501 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. +package yaml + +import ( + "bytes" + "encoding" + "encoding/json" + "reflect" + "sort" + "strings" + "sync" + "unicode" + "unicode/utf8" +) + +// indirect walks down v allocating pointers as needed, +// until it gets to a non-pointer. +// if it encounters an Unmarshaler, indirect stops and returns that. +// if decodingNull is true, indirect stops at the last pointer so it can be set to nil. +func indirect(v reflect.Value, decodingNull bool) (json.Unmarshaler, encoding.TextUnmarshaler, reflect.Value) { + // If v is a named type and is addressable, + // start with its address, so that if the type has pointer methods, + // we find them. + if v.Kind() != reflect.Ptr && v.Type().Name() != "" && v.CanAddr() { + v = v.Addr() + } + for { + // Load value from interface, but only if the result will be + // usefully addressable. + if v.Kind() == reflect.Interface && !v.IsNil() { + e := v.Elem() + if e.Kind() == reflect.Ptr && !e.IsNil() && (!decodingNull || e.Elem().Kind() == reflect.Ptr) { + v = e + continue + } + } + + if v.Kind() != reflect.Ptr { + break + } + + if v.Elem().Kind() != reflect.Ptr && decodingNull && v.CanSet() { + break + } + if v.IsNil() { + if v.CanSet() { + v.Set(reflect.New(v.Type().Elem())) + } else { + v = reflect.New(v.Type().Elem()) + } + } + if v.Type().NumMethod() > 0 { + if u, ok := v.Interface().(json.Unmarshaler); ok { + return u, nil, reflect.Value{} + } + if u, ok := v.Interface().(encoding.TextUnmarshaler); ok { + return nil, u, reflect.Value{} + } + } + v = v.Elem() + } + return nil, nil, v +} + +// A field represents a single field found in a struct. +type field struct { + name string + nameBytes []byte // []byte(name) + equalFold func(s, t []byte) bool // bytes.EqualFold or equivalent + + tag bool + index []int + typ reflect.Type + omitEmpty bool + quoted bool +} + +func fillField(f field) field { + f.nameBytes = []byte(f.name) + f.equalFold = foldFunc(f.nameBytes) + return f +} + +// byName sorts field by name, breaking ties with depth, +// then breaking ties with "name came from json tag", then +// breaking ties with index sequence. +type byName []field + +func (x byName) Len() int { return len(x) } + +func (x byName) Swap(i, j int) { x[i], x[j] = x[j], x[i] } + +func (x byName) Less(i, j int) bool { + if x[i].name != x[j].name { + return x[i].name < x[j].name + } + if len(x[i].index) != len(x[j].index) { + return len(x[i].index) < len(x[j].index) + } + if x[i].tag != x[j].tag { + return x[i].tag + } + return byIndex(x).Less(i, j) +} + +// byIndex sorts field by index sequence. +type byIndex []field + +func (x byIndex) Len() int { return len(x) } + +func (x byIndex) Swap(i, j int) { x[i], x[j] = x[j], x[i] } + +func (x byIndex) Less(i, j int) bool { + for k, xik := range x[i].index { + if k >= len(x[j].index) { + return false + } + if xik != x[j].index[k] { + return xik < x[j].index[k] + } + } + return len(x[i].index) < len(x[j].index) +} + +// typeFields returns a list of fields that JSON should recognize for the given type. +// The algorithm is breadth-first search over the set of structs to include - the top struct +// and then any reachable anonymous structs. +func typeFields(t reflect.Type) []field { + // Anonymous fields to explore at the current level and the next. + current := []field{} + next := []field{{typ: t}} + + // Count of queued names for current level and the next. + count := map[reflect.Type]int{} + nextCount := map[reflect.Type]int{} + + // Types already visited at an earlier level. + visited := map[reflect.Type]bool{} + + // Fields found. + var fields []field + + for len(next) > 0 { + current, next = next, current[:0] + count, nextCount = nextCount, map[reflect.Type]int{} + + for _, f := range current { + if visited[f.typ] { + continue + } + visited[f.typ] = true + + // Scan f.typ for fields to include. + for i := 0; i < f.typ.NumField(); i++ { + sf := f.typ.Field(i) + if sf.PkgPath != "" { // unexported + continue + } + tag := sf.Tag.Get("json") + if tag == "-" { + continue + } + name, opts := parseTag(tag) + if !isValidTag(name) { + name = "" + } + index := make([]int, len(f.index)+1) + copy(index, f.index) + index[len(f.index)] = i + + ft := sf.Type + if ft.Name() == "" && ft.Kind() == reflect.Ptr { + // Follow pointer. + ft = ft.Elem() + } + + // Record found field and index sequence. + if name != "" || !sf.Anonymous || ft.Kind() != reflect.Struct { + tagged := name != "" + if name == "" { + name = sf.Name + } + fields = append(fields, fillField(field{ + name: name, + tag: tagged, + index: index, + typ: ft, + omitEmpty: opts.Contains("omitempty"), + quoted: opts.Contains("string"), + })) + if count[f.typ] > 1 { + // If there were multiple instances, add a second, + // so that the annihilation code will see a duplicate. + // It only cares about the distinction between 1 or 2, + // so don't bother generating any more copies. + fields = append(fields, fields[len(fields)-1]) + } + continue + } + + // Record new anonymous struct to explore in next round. + nextCount[ft]++ + if nextCount[ft] == 1 { + next = append(next, fillField(field{name: ft.Name(), index: index, typ: ft})) + } + } + } + } + + sort.Sort(byName(fields)) + + // Delete all fields that are hidden by the Go rules for embedded fields, + // except that fields with JSON tags are promoted. + + // The fields are sorted in primary order of name, secondary order + // of field index length. Loop over names; for each name, delete + // hidden fields by choosing the one dominant field that survives. + out := fields[:0] + for advance, i := 0, 0; i < len(fields); i += advance { + // One iteration per name. + // Find the sequence of fields with the name of this first field. + fi := fields[i] + name := fi.name + for advance = 1; i+advance < len(fields); advance++ { + fj := fields[i+advance] + if fj.name != name { + break + } + } + if advance == 1 { // Only one field with this name + out = append(out, fi) + continue + } + dominant, ok := dominantField(fields[i : i+advance]) + if ok { + out = append(out, dominant) + } + } + + fields = out + sort.Sort(byIndex(fields)) + + return fields +} + +// dominantField looks through the fields, all of which are known to +// have the same name, to find the single field that dominates the +// others using Go's embedding rules, modified by the presence of +// JSON tags. If there are multiple top-level fields, the boolean +// will be false: This condition is an error in Go and we skip all +// the fields. +func dominantField(fields []field) (field, bool) { + // The fields are sorted in increasing index-length order. The winner + // must therefore be one with the shortest index length. Drop all + // longer entries, which is easy: just truncate the slice. + length := len(fields[0].index) + tagged := -1 // Index of first tagged field. + for i, f := range fields { + if len(f.index) > length { + fields = fields[:i] + break + } + if f.tag { + if tagged >= 0 { + // Multiple tagged fields at the same level: conflict. + // Return no field. + return field{}, false + } + tagged = i + } + } + if tagged >= 0 { + return fields[tagged], true + } + // All remaining fields have the same length. If there's more than one, + // we have a conflict (two fields named "X" at the same level) and we + // return no field. + if len(fields) > 1 { + return field{}, false + } + return fields[0], true +} + +var fieldCache struct { + sync.RWMutex + m map[reflect.Type][]field +} + +// cachedTypeFields is like typeFields but uses a cache to avoid repeated work. +func cachedTypeFields(t reflect.Type) []field { + fieldCache.RLock() + f := fieldCache.m[t] + fieldCache.RUnlock() + if f != nil { + return f + } + + // Compute fields without lock. + // Might duplicate effort but won't hold other computations back. + f = typeFields(t) + if f == nil { + f = []field{} + } + + fieldCache.Lock() + if fieldCache.m == nil { + fieldCache.m = map[reflect.Type][]field{} + } + fieldCache.m[t] = f + fieldCache.Unlock() + return f +} + +func isValidTag(s string) bool { + if s == "" { + return false + } + for _, c := range s { + switch { + case strings.ContainsRune("!#$%&()*+-./:<=>?@[]^_{|}~ ", c): + // Backslash and quote chars are reserved, but + // otherwise any punctuation chars are allowed + // in a tag name. + default: + if !unicode.IsLetter(c) && !unicode.IsDigit(c) { + return false + } + } + } + return true +} + +const ( + caseMask = ^byte(0x20) // Mask to ignore case in ASCII. + kelvin = '\u212a' + smallLongEss = '\u017f' +) + +// foldFunc returns one of four different case folding equivalence +// functions, from most general (and slow) to fastest: +// +// 1) bytes.EqualFold, if the key s contains any non-ASCII UTF-8 +// 2) equalFoldRight, if s contains special folding ASCII ('k', 'K', 's', 'S') +// 3) asciiEqualFold, no special, but includes non-letters (including _) +// 4) simpleLetterEqualFold, no specials, no non-letters. +// +// The letters S and K are special because they map to 3 runes, not just 2: +// * S maps to s and to U+017F 'ſ' Latin small letter long s +// * k maps to K and to U+212A 'K' Kelvin sign +// See http://play.golang.org/p/tTxjOc0OGo +// +// The returned function is specialized for matching against s and +// should only be given s. It's not curried for performance reasons. +func foldFunc(s []byte) func(s, t []byte) bool { + nonLetter := false + special := false // special letter + for _, b := range s { + if b >= utf8.RuneSelf { + return bytes.EqualFold + } + upper := b & caseMask + if upper < 'A' || upper > 'Z' { + nonLetter = true + } else if upper == 'K' || upper == 'S' { + // See above for why these letters are special. + special = true + } + } + if special { + return equalFoldRight + } + if nonLetter { + return asciiEqualFold + } + return simpleLetterEqualFold +} + +// equalFoldRight is a specialization of bytes.EqualFold when s is +// known to be all ASCII (including punctuation), but contains an 's', +// 'S', 'k', or 'K', requiring a Unicode fold on the bytes in t. +// See comments on foldFunc. +func equalFoldRight(s, t []byte) bool { + for _, sb := range s { + if len(t) == 0 { + return false + } + tb := t[0] + if tb < utf8.RuneSelf { + if sb != tb { + sbUpper := sb & caseMask + if 'A' <= sbUpper && sbUpper <= 'Z' { + if sbUpper != tb&caseMask { + return false + } + } else { + return false + } + } + t = t[1:] + continue + } + // sb is ASCII and t is not. t must be either kelvin + // sign or long s; sb must be s, S, k, or K. + tr, size := utf8.DecodeRune(t) + switch sb { + case 's', 'S': + if tr != smallLongEss { + return false + } + case 'k', 'K': + if tr != kelvin { + return false + } + default: + return false + } + t = t[size:] + + } + if len(t) > 0 { + return false + } + return true +} + +// asciiEqualFold is a specialization of bytes.EqualFold for use when +// s is all ASCII (but may contain non-letters) and contains no +// special-folding letters. +// See comments on foldFunc. +func asciiEqualFold(s, t []byte) bool { + if len(s) != len(t) { + return false + } + for i, sb := range s { + tb := t[i] + if sb == tb { + continue + } + if ('a' <= sb && sb <= 'z') || ('A' <= sb && sb <= 'Z') { + if sb&caseMask != tb&caseMask { + return false + } + } else { + return false + } + } + return true +} + +// simpleLetterEqualFold is a specialization of bytes.EqualFold for +// use when s is all ASCII letters (no underscores, etc) and also +// doesn't contain 'k', 'K', 's', or 'S'. +// See comments on foldFunc. +func simpleLetterEqualFold(s, t []byte) bool { + if len(s) != len(t) { + return false + } + for i, b := range s { + if b&caseMask != t[i]&caseMask { + return false + } + } + return true +} + +// tagOptions is the string following a comma in a struct field's "json" +// tag, or the empty string. It does not include the leading comma. +type tagOptions string + +// parseTag splits a struct field's json tag into its name and +// comma-separated options. +func parseTag(tag string) (string, tagOptions) { + if idx := strings.Index(tag, ","); idx != -1 { + return tag[:idx], tagOptions(tag[idx+1:]) + } + return tag, tagOptions("") +} + +// Contains reports whether a comma-separated list of options +// contains a particular substr flag. substr must be surrounded by a +// string boundary or commas. +func (o tagOptions) Contains(optionName string) bool { + if len(o) == 0 { + return false + } + s := string(o) + for s != "" { + var next string + i := strings.Index(s, ",") + if i >= 0 { + s, next = s[:i], s[i+1:] + } + if s == optionName { + return true + } + s = next + } + return false +} diff --git a/vendor/github.com/ghodss/yaml/yaml.go b/vendor/github.com/ghodss/yaml/yaml.go new file mode 100644 index 000000000..4fb4054a8 --- /dev/null +++ b/vendor/github.com/ghodss/yaml/yaml.go @@ -0,0 +1,277 @@ +package yaml + +import ( + "bytes" + "encoding/json" + "fmt" + "reflect" + "strconv" + + "gopkg.in/yaml.v2" +) + +// Marshals the object into JSON then converts JSON to YAML and returns the +// YAML. +func Marshal(o interface{}) ([]byte, error) { + j, err := json.Marshal(o) + if err != nil { + return nil, fmt.Errorf("error marshaling into JSON: %v", err) + } + + y, err := JSONToYAML(j) + if err != nil { + return nil, fmt.Errorf("error converting JSON to YAML: %v", err) + } + + return y, nil +} + +// Converts YAML to JSON then uses JSON to unmarshal into an object. +func Unmarshal(y []byte, o interface{}) error { + vo := reflect.ValueOf(o) + j, err := yamlToJSON(y, &vo) + if err != nil { + return fmt.Errorf("error converting YAML to JSON: %v", err) + } + + err = json.Unmarshal(j, o) + if err != nil { + return fmt.Errorf("error unmarshaling JSON: %v", err) + } + + return nil +} + +// Convert JSON to YAML. +func JSONToYAML(j []byte) ([]byte, error) { + // Convert the JSON to an object. + var jsonObj interface{} + // We are using yaml.Unmarshal here (instead of json.Unmarshal) because the + // Go JSON library doesn't try to pick the right number type (int, float, + // etc.) when unmarshalling to interface{}, it just picks float64 + // universally. go-yaml does go through the effort of picking the right + // number type, so we can preserve number type throughout this process. + err := yaml.Unmarshal(j, &jsonObj) + if err != nil { + return nil, err + } + + // Marshal this object into YAML. + return yaml.Marshal(jsonObj) +} + +// Convert YAML to JSON. Since JSON is a subset of YAML, passing JSON through +// this method should be a no-op. +// +// Things YAML can do that are not supported by JSON: +// * In YAML you can have binary and null keys in your maps. These are invalid +// in JSON. (int and float keys are converted to strings.) +// * Binary data in YAML with the !!binary tag is not supported. If you want to +// use binary data with this library, encode the data as base64 as usual but do +// not use the !!binary tag in your YAML. This will ensure the original base64 +// encoded data makes it all the way through to the JSON. +func YAMLToJSON(y []byte) ([]byte, error) { + return yamlToJSON(y, nil) +} + +func yamlToJSON(y []byte, jsonTarget *reflect.Value) ([]byte, error) { + // Convert the YAML to an object. + var yamlObj interface{} + err := yaml.Unmarshal(y, &yamlObj) + if err != nil { + return nil, err + } + + // YAML objects are not completely compatible with JSON objects (e.g. you + // can have non-string keys in YAML). So, convert the YAML-compatible object + // to a JSON-compatible object, failing with an error if irrecoverable + // incompatibilties happen along the way. + jsonObj, err := convertToJSONableObject(yamlObj, jsonTarget) + if err != nil { + return nil, err + } + + // Convert this object to JSON and return the data. + return json.Marshal(jsonObj) +} + +func convertToJSONableObject(yamlObj interface{}, jsonTarget *reflect.Value) (interface{}, error) { + var err error + + // Resolve jsonTarget to a concrete value (i.e. not a pointer or an + // interface). We pass decodingNull as false because we're not actually + // decoding into the value, we're just checking if the ultimate target is a + // string. + if jsonTarget != nil { + ju, tu, pv := indirect(*jsonTarget, false) + // We have a JSON or Text Umarshaler at this level, so we can't be trying + // to decode into a string. + if ju != nil || tu != nil { + jsonTarget = nil + } else { + jsonTarget = &pv + } + } + + // If yamlObj is a number or a boolean, check if jsonTarget is a string - + // if so, coerce. Else return normal. + // If yamlObj is a map or array, find the field that each key is + // unmarshaling to, and when you recurse pass the reflect.Value for that + // field back into this function. + switch typedYAMLObj := yamlObj.(type) { + case map[interface{}]interface{}: + // JSON does not support arbitrary keys in a map, so we must convert + // these keys to strings. + // + // From my reading of go-yaml v2 (specifically the resolve function), + // keys can only have the types string, int, int64, float64, binary + // (unsupported), or null (unsupported). + strMap := make(map[string]interface{}) + for k, v := range typedYAMLObj { + // Resolve the key to a string first. + var keyString string + switch typedKey := k.(type) { + case string: + keyString = typedKey + case int: + keyString = strconv.Itoa(typedKey) + case int64: + // go-yaml will only return an int64 as a key if the system + // architecture is 32-bit and the key's value is between 32-bit + // and 64-bit. Otherwise the key type will simply be int. + keyString = strconv.FormatInt(typedKey, 10) + case float64: + // Stolen from go-yaml to use the same conversion to string as + // the go-yaml library uses to convert float to string when + // Marshaling. + s := strconv.FormatFloat(typedKey, 'g', -1, 32) + switch s { + case "+Inf": + s = ".inf" + case "-Inf": + s = "-.inf" + case "NaN": + s = ".nan" + } + keyString = s + case bool: + if typedKey { + keyString = "true" + } else { + keyString = "false" + } + default: + return nil, fmt.Errorf("Unsupported map key of type: %s, key: %+#v, value: %+#v", + reflect.TypeOf(k), k, v) + } + + // jsonTarget should be a struct or a map. If it's a struct, find + // the field it's going to map to and pass its reflect.Value. If + // it's a map, find the element type of the map and pass the + // reflect.Value created from that type. If it's neither, just pass + // nil - JSON conversion will error for us if it's a real issue. + if jsonTarget != nil { + t := *jsonTarget + if t.Kind() == reflect.Struct { + keyBytes := []byte(keyString) + // Find the field that the JSON library would use. + var f *field + fields := cachedTypeFields(t.Type()) + for i := range fields { + ff := &fields[i] + if bytes.Equal(ff.nameBytes, keyBytes) { + f = ff + break + } + // Do case-insensitive comparison. + if f == nil && ff.equalFold(ff.nameBytes, keyBytes) { + f = ff + } + } + if f != nil { + // Find the reflect.Value of the most preferential + // struct field. + jtf := t.Field(f.index[0]) + strMap[keyString], err = convertToJSONableObject(v, &jtf) + if err != nil { + return nil, err + } + continue + } + } else if t.Kind() == reflect.Map { + // Create a zero value of the map's element type to use as + // the JSON target. + jtv := reflect.Zero(t.Type().Elem()) + strMap[keyString], err = convertToJSONableObject(v, &jtv) + if err != nil { + return nil, err + } + continue + } + } + strMap[keyString], err = convertToJSONableObject(v, nil) + if err != nil { + return nil, err + } + } + return strMap, nil + case []interface{}: + // We need to recurse into arrays in case there are any + // map[interface{}]interface{}'s inside and to convert any + // numbers to strings. + + // If jsonTarget is a slice (which it really should be), find the + // thing it's going to map to. If it's not a slice, just pass nil + // - JSON conversion will error for us if it's a real issue. + var jsonSliceElemValue *reflect.Value + if jsonTarget != nil { + t := *jsonTarget + if t.Kind() == reflect.Slice { + // By default slices point to nil, but we need a reflect.Value + // pointing to a value of the slice type, so we create one here. + ev := reflect.Indirect(reflect.New(t.Type().Elem())) + jsonSliceElemValue = &ev + } + } + + // Make and use a new array. + arr := make([]interface{}, len(typedYAMLObj)) + for i, v := range typedYAMLObj { + arr[i], err = convertToJSONableObject(v, jsonSliceElemValue) + if err != nil { + return nil, err + } + } + return arr, nil + default: + // If the target type is a string and the YAML type is a number, + // convert the YAML type to a string. + if jsonTarget != nil && (*jsonTarget).Kind() == reflect.String { + // Based on my reading of go-yaml, it may return int, int64, + // float64, or uint64. + var s string + switch typedVal := typedYAMLObj.(type) { + case int: + s = strconv.FormatInt(int64(typedVal), 10) + case int64: + s = strconv.FormatInt(typedVal, 10) + case float64: + s = strconv.FormatFloat(typedVal, 'g', -1, 32) + case uint64: + s = strconv.FormatUint(typedVal, 10) + case bool: + if typedVal { + s = "true" + } else { + s = "false" + } + } + if len(s) > 0 { + yamlObj = interface{}(s) + } + } + return yamlObj, nil + } + + return nil, nil +} diff --git a/vendor/github.com/gorilla/websocket/.editorconfig b/vendor/github.com/gorilla/websocket/.editorconfig new file mode 100644 index 000000000..2940ec92a --- /dev/null +++ b/vendor/github.com/gorilla/websocket/.editorconfig @@ -0,0 +1,20 @@ +; https://editorconfig.org/ + +root = true + +[*] +insert_final_newline = true +charset = utf-8 +trim_trailing_whitespace = true +indent_style = space +indent_size = 2 + +[{Makefile,go.mod,go.sum,*.go,.gitmodules}] +indent_style = tab +indent_size = 4 + +[*.md] +indent_size = 4 +trim_trailing_whitespace = false + +eclint_indent_style = unset diff --git a/vendor/github.com/gorilla/websocket/.gitignore b/vendor/github.com/gorilla/websocket/.gitignore new file mode 100644 index 000000000..84039fec6 --- /dev/null +++ b/vendor/github.com/gorilla/websocket/.gitignore @@ -0,0 +1 @@ +coverage.coverprofile diff --git a/vendor/github.com/gorilla/websocket/.golangci.yml b/vendor/github.com/gorilla/websocket/.golangci.yml new file mode 100644 index 000000000..34882139e --- /dev/null +++ b/vendor/github.com/gorilla/websocket/.golangci.yml @@ -0,0 +1,3 @@ +run: + skip-dirs: + - examples/*.go diff --git a/vendor/github.com/gorilla/websocket/LICENSE b/vendor/github.com/gorilla/websocket/LICENSE new file mode 100644 index 000000000..bb9d80bc9 --- /dev/null +++ b/vendor/github.com/gorilla/websocket/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2023 The Gorilla Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/gorilla/websocket/Makefile b/vendor/github.com/gorilla/websocket/Makefile new file mode 100644 index 000000000..603a63f50 --- /dev/null +++ b/vendor/github.com/gorilla/websocket/Makefile @@ -0,0 +1,34 @@ +GO_LINT=$(shell which golangci-lint 2> /dev/null || echo '') +GO_LINT_URI=github.com/golangci/golangci-lint/cmd/golangci-lint@latest + +GO_SEC=$(shell which gosec 2> /dev/null || echo '') +GO_SEC_URI=github.com/securego/gosec/v2/cmd/gosec@latest + +GO_VULNCHECK=$(shell which govulncheck 2> /dev/null || echo '') +GO_VULNCHECK_URI=golang.org/x/vuln/cmd/govulncheck@latest + +.PHONY: golangci-lint +golangci-lint: + $(if $(GO_LINT), ,go install $(GO_LINT_URI)) + @echo "##### Running golangci-lint" + golangci-lint run -v + +.PHONY: gosec +gosec: + $(if $(GO_SEC), ,go install $(GO_SEC_URI)) + @echo "##### Running gosec" + gosec -exclude-dir examples ./... + +.PHONY: govulncheck +govulncheck: + $(if $(GO_VULNCHECK), ,go install $(GO_VULNCHECK_URI)) + @echo "##### Running govulncheck" + govulncheck ./... + +.PHONY: verify +verify: golangci-lint gosec govulncheck + +.PHONY: test +test: + @echo "##### Running tests" + go test -race -cover -coverprofile=coverage.coverprofile -covermode=atomic -v ./... diff --git a/vendor/github.com/gorilla/websocket/README.md b/vendor/github.com/gorilla/websocket/README.md new file mode 100644 index 000000000..1fd5e9c4e --- /dev/null +++ b/vendor/github.com/gorilla/websocket/README.md @@ -0,0 +1,36 @@ +# gorilla/websocket + +![testing](https://github.com/gorilla/websocket/actions/workflows/test.yml/badge.svg) +[![codecov](https://codecov.io/github/gorilla/websocket/branch/main/graph/badge.svg)](https://codecov.io/github/gorilla/websocket) +[![godoc](https://godoc.org/github.com/gorilla/websocket?status.svg)](https://godoc.org/github.com/gorilla/websocket) +[![sourcegraph](https://sourcegraph.com/github.com/gorilla/websocket/-/badge.svg)](https://sourcegraph.com/github.com/gorilla/websocket?badge) + +Gorilla WebSocket is a [Go](http://golang.org/) implementation of the [WebSocket](http://www.rfc-editor.org/rfc/rfc6455.txt) protocol. + +![Gorilla Logo](https://github.com/gorilla/.github/assets/53367916/d92caabf-98e0-473e-bfbf-ab554ba435e5) + + +### Documentation + +* [API Reference](https://pkg.go.dev/github.com/gorilla/websocket?tab=doc) +* [Chat example](https://github.com/gorilla/websocket/tree/master/examples/chat) +* [Command example](https://github.com/gorilla/websocket/tree/master/examples/command) +* [Client and server example](https://github.com/gorilla/websocket/tree/master/examples/echo) +* [File watch example](https://github.com/gorilla/websocket/tree/master/examples/filewatch) +* [Write buffer pool example](https://github.com/gorilla/websocket/tree/master/examples/bufferpool) + +### Status + +The Gorilla WebSocket package provides a complete and tested implementation of +the [WebSocket](http://www.rfc-editor.org/rfc/rfc6455.txt) protocol. The +package API is stable. + +### Installation + + go get github.com/gorilla/websocket + +### Protocol Compliance + +The Gorilla WebSocket package passes the server tests in the [Autobahn Test +Suite](https://github.com/crossbario/autobahn-testsuite) using the application in the [examples/autobahn +subdirectory](https://github.com/gorilla/websocket/tree/master/examples/autobahn). diff --git a/vendor/github.com/gorilla/websocket/client.go b/vendor/github.com/gorilla/websocket/client.go new file mode 100644 index 000000000..815b0ca5c --- /dev/null +++ b/vendor/github.com/gorilla/websocket/client.go @@ -0,0 +1,444 @@ +// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package websocket + +import ( + "bytes" + "context" + "crypto/tls" + "errors" + "fmt" + "io" + "log" + + "net" + "net/http" + "net/http/httptrace" + "net/url" + "strings" + "time" + + "golang.org/x/net/proxy" +) + +// ErrBadHandshake is returned when the server response to opening handshake is +// invalid. +var ErrBadHandshake = errors.New("websocket: bad handshake") + +var errInvalidCompression = errors.New("websocket: invalid compression negotiation") + +// NewClient creates a new client connection using the given net connection. +// The URL u specifies the host and request URI. Use requestHeader to specify +// the origin (Origin), subprotocols (Sec-WebSocket-Protocol) and cookies +// (Cookie). Use the response.Header to get the selected subprotocol +// (Sec-WebSocket-Protocol) and cookies (Set-Cookie). +// +// If the WebSocket handshake fails, ErrBadHandshake is returned along with a +// non-nil *http.Response so that callers can handle redirects, authentication, +// etc. +// +// Deprecated: Use Dialer instead. +func NewClient(netConn net.Conn, u *url.URL, requestHeader http.Header, readBufSize, writeBufSize int) (c *Conn, response *http.Response, err error) { + d := Dialer{ + ReadBufferSize: readBufSize, + WriteBufferSize: writeBufSize, + NetDial: func(net, addr string) (net.Conn, error) { + return netConn, nil + }, + } + return d.Dial(u.String(), requestHeader) +} + +// A Dialer contains options for connecting to WebSocket server. +// +// It is safe to call Dialer's methods concurrently. +type Dialer struct { + // NetDial specifies the dial function for creating TCP connections. If + // NetDial is nil, net.Dial is used. + NetDial func(network, addr string) (net.Conn, error) + + // NetDialContext specifies the dial function for creating TCP connections. If + // NetDialContext is nil, NetDial is used. + NetDialContext func(ctx context.Context, network, addr string) (net.Conn, error) + + // NetDialTLSContext specifies the dial function for creating TLS/TCP connections. If + // NetDialTLSContext is nil, NetDialContext is used. + // If NetDialTLSContext is set, Dial assumes the TLS handshake is done there and + // TLSClientConfig is ignored. + NetDialTLSContext func(ctx context.Context, network, addr string) (net.Conn, error) + + // Proxy specifies a function to return a proxy for a given + // Request. If the function returns a non-nil error, the + // request is aborted with the provided error. + // If Proxy is nil or returns a nil *URL, no proxy is used. + Proxy func(*http.Request) (*url.URL, error) + + // TLSClientConfig specifies the TLS configuration to use with tls.Client. + // If nil, the default configuration is used. + // If either NetDialTLS or NetDialTLSContext are set, Dial assumes the TLS handshake + // is done there and TLSClientConfig is ignored. + TLSClientConfig *tls.Config + + // HandshakeTimeout specifies the duration for the handshake to complete. + HandshakeTimeout time.Duration + + // ReadBufferSize and WriteBufferSize specify I/O buffer sizes in bytes. If a buffer + // size is zero, then a useful default size is used. The I/O buffer sizes + // do not limit the size of the messages that can be sent or received. + ReadBufferSize, WriteBufferSize int + + // WriteBufferPool is a pool of buffers for write operations. If the value + // is not set, then write buffers are allocated to the connection for the + // lifetime of the connection. + // + // A pool is most useful when the application has a modest volume of writes + // across a large number of connections. + // + // Applications should use a single pool for each unique value of + // WriteBufferSize. + WriteBufferPool BufferPool + + // Subprotocols specifies the client's requested subprotocols. + Subprotocols []string + + // EnableCompression specifies if the client should attempt to negotiate + // per message compression (RFC 7692). Setting this value to true does not + // guarantee that compression will be supported. Currently only "no context + // takeover" modes are supported. + EnableCompression bool + + // Jar specifies the cookie jar. + // If Jar is nil, cookies are not sent in requests and ignored + // in responses. + Jar http.CookieJar +} + +// Dial creates a new client connection by calling DialContext with a background context. +func (d *Dialer) Dial(urlStr string, requestHeader http.Header) (*Conn, *http.Response, error) { + return d.DialContext(context.Background(), urlStr, requestHeader) +} + +var errMalformedURL = errors.New("malformed ws or wss URL") + +func hostPortNoPort(u *url.URL) (hostPort, hostNoPort string) { + hostPort = u.Host + hostNoPort = u.Host + if i := strings.LastIndex(u.Host, ":"); i > strings.LastIndex(u.Host, "]") { + hostNoPort = hostNoPort[:i] + } else { + switch u.Scheme { + case "wss": + hostPort += ":443" + case "https": + hostPort += ":443" + default: + hostPort += ":80" + } + } + return hostPort, hostNoPort +} + +// DefaultDialer is a dialer with all fields set to the default values. +var DefaultDialer = &Dialer{ + Proxy: http.ProxyFromEnvironment, + HandshakeTimeout: 45 * time.Second, +} + +// nilDialer is dialer to use when receiver is nil. +var nilDialer = *DefaultDialer + +// DialContext creates a new client connection. Use requestHeader to specify the +// origin (Origin), subprotocols (Sec-WebSocket-Protocol) and cookies (Cookie). +// Use the response.Header to get the selected subprotocol +// (Sec-WebSocket-Protocol) and cookies (Set-Cookie). +// +// The context will be used in the request and in the Dialer. +// +// If the WebSocket handshake fails, ErrBadHandshake is returned along with a +// non-nil *http.Response so that callers can handle redirects, authentication, +// etcetera. The response body may not contain the entire response and does not +// need to be closed by the application. +func (d *Dialer) DialContext(ctx context.Context, urlStr string, requestHeader http.Header) (*Conn, *http.Response, error) { + if d == nil { + d = &nilDialer + } + + challengeKey, err := generateChallengeKey() + if err != nil { + return nil, nil, err + } + + u, err := url.Parse(urlStr) + if err != nil { + return nil, nil, err + } + + switch u.Scheme { + case "ws": + u.Scheme = "http" + case "wss": + u.Scheme = "https" + default: + return nil, nil, errMalformedURL + } + + if u.User != nil { + // User name and password are not allowed in websocket URIs. + return nil, nil, errMalformedURL + } + + req := &http.Request{ + Method: http.MethodGet, + URL: u, + Proto: "HTTP/1.1", + ProtoMajor: 1, + ProtoMinor: 1, + Header: make(http.Header), + Host: u.Host, + } + req = req.WithContext(ctx) + + // Set the cookies present in the cookie jar of the dialer + if d.Jar != nil { + for _, cookie := range d.Jar.Cookies(u) { + req.AddCookie(cookie) + } + } + + // Set the request headers using the capitalization for names and values in + // RFC examples. Although the capitalization shouldn't matter, there are + // servers that depend on it. The Header.Set method is not used because the + // method canonicalizes the header names. + req.Header["Upgrade"] = []string{"websocket"} + req.Header["Connection"] = []string{"Upgrade"} + req.Header["Sec-WebSocket-Key"] = []string{challengeKey} + req.Header["Sec-WebSocket-Version"] = []string{"13"} + if len(d.Subprotocols) > 0 { + req.Header["Sec-WebSocket-Protocol"] = []string{strings.Join(d.Subprotocols, ", ")} + } + for k, vs := range requestHeader { + switch { + case k == "Host": + if len(vs) > 0 { + req.Host = vs[0] + } + case k == "Upgrade" || + k == "Connection" || + k == "Sec-Websocket-Key" || + k == "Sec-Websocket-Version" || + //#nosec G101 (CWE-798): Potential HTTP request smuggling via parameter pollution + k == "Sec-Websocket-Extensions" || + (k == "Sec-Websocket-Protocol" && len(d.Subprotocols) > 0): + return nil, nil, errors.New("websocket: duplicate header not allowed: " + k) + case k == "Sec-Websocket-Protocol": + req.Header["Sec-WebSocket-Protocol"] = vs + default: + req.Header[k] = vs + } + } + + if d.EnableCompression { + req.Header["Sec-WebSocket-Extensions"] = []string{"permessage-deflate; server_no_context_takeover; client_no_context_takeover"} + } + + if d.HandshakeTimeout != 0 { + var cancel func() + ctx, cancel = context.WithTimeout(ctx, d.HandshakeTimeout) + defer cancel() + } + + // Get network dial function. + var netDial func(network, add string) (net.Conn, error) + + switch u.Scheme { + case "http": + if d.NetDialContext != nil { + netDial = func(network, addr string) (net.Conn, error) { + return d.NetDialContext(ctx, network, addr) + } + } else if d.NetDial != nil { + netDial = d.NetDial + } + case "https": + if d.NetDialTLSContext != nil { + netDial = func(network, addr string) (net.Conn, error) { + return d.NetDialTLSContext(ctx, network, addr) + } + } else if d.NetDialContext != nil { + netDial = func(network, addr string) (net.Conn, error) { + return d.NetDialContext(ctx, network, addr) + } + } else if d.NetDial != nil { + netDial = d.NetDial + } + default: + return nil, nil, errMalformedURL + } + + if netDial == nil { + netDialer := &net.Dialer{} + netDial = func(network, addr string) (net.Conn, error) { + return netDialer.DialContext(ctx, network, addr) + } + } + + // If needed, wrap the dial function to set the connection deadline. + if deadline, ok := ctx.Deadline(); ok { + forwardDial := netDial + netDial = func(network, addr string) (net.Conn, error) { + c, err := forwardDial(network, addr) + if err != nil { + return nil, err + } + err = c.SetDeadline(deadline) + if err != nil { + if err := c.Close(); err != nil { + log.Printf("websocket: failed to close network connection: %v", err) + } + return nil, err + } + return c, nil + } + } + + // If needed, wrap the dial function to connect through a proxy. + if d.Proxy != nil { + proxyURL, err := d.Proxy(req) + if err != nil { + return nil, nil, err + } + if proxyURL != nil { + dialer, err := proxy.FromURL(proxyURL, netDialerFunc(netDial)) + if err != nil { + return nil, nil, err + } + netDial = dialer.Dial + } + } + + hostPort, hostNoPort := hostPortNoPort(u) + trace := httptrace.ContextClientTrace(ctx) + if trace != nil && trace.GetConn != nil { + trace.GetConn(hostPort) + } + + netConn, err := netDial("tcp", hostPort) + if err != nil { + return nil, nil, err + } + if trace != nil && trace.GotConn != nil { + trace.GotConn(httptrace.GotConnInfo{ + Conn: netConn, + }) + } + + defer func() { + if netConn != nil { + if err := netConn.Close(); err != nil { + log.Printf("websocket: failed to close network connection: %v", err) + } + } + }() + + if u.Scheme == "https" && d.NetDialTLSContext == nil { + // If NetDialTLSContext is set, assume that the TLS handshake has already been done + + cfg := cloneTLSConfig(d.TLSClientConfig) + if cfg.ServerName == "" { + cfg.ServerName = hostNoPort + } + tlsConn := tls.Client(netConn, cfg) + netConn = tlsConn + + if trace != nil && trace.TLSHandshakeStart != nil { + trace.TLSHandshakeStart() + } + err := doHandshake(ctx, tlsConn, cfg) + if trace != nil && trace.TLSHandshakeDone != nil { + trace.TLSHandshakeDone(tlsConn.ConnectionState(), err) + } + + if err != nil { + return nil, nil, err + } + } + + conn := newConn(netConn, false, d.ReadBufferSize, d.WriteBufferSize, d.WriteBufferPool, nil, nil) + + if err := req.Write(netConn); err != nil { + return nil, nil, err + } + + if trace != nil && trace.GotFirstResponseByte != nil { + if peek, err := conn.br.Peek(1); err == nil && len(peek) == 1 { + trace.GotFirstResponseByte() + } + } + + resp, err := http.ReadResponse(conn.br, req) + if err != nil { + if d.TLSClientConfig != nil { + for _, proto := range d.TLSClientConfig.NextProtos { + if proto != "http/1.1" { + return nil, nil, fmt.Errorf( + "websocket: protocol %q was given but is not supported;"+ + "sharing tls.Config with net/http Transport can cause this error: %w", + proto, err, + ) + } + } + } + return nil, nil, err + } + + if d.Jar != nil { + if rc := resp.Cookies(); len(rc) > 0 { + d.Jar.SetCookies(u, rc) + } + } + + if resp.StatusCode != 101 || + !tokenListContainsValue(resp.Header, "Upgrade", "websocket") || + !tokenListContainsValue(resp.Header, "Connection", "upgrade") || + resp.Header.Get("Sec-Websocket-Accept") != computeAcceptKey(challengeKey) { + // Before closing the network connection on return from this + // function, slurp up some of the response to aid application + // debugging. + buf := make([]byte, 1024) + n, _ := io.ReadFull(resp.Body, buf) + resp.Body = io.NopCloser(bytes.NewReader(buf[:n])) + return nil, resp, ErrBadHandshake + } + + for _, ext := range parseExtensions(resp.Header) { + if ext[""] != "permessage-deflate" { + continue + } + _, snct := ext["server_no_context_takeover"] + _, cnct := ext["client_no_context_takeover"] + if !snct || !cnct { + return nil, resp, errInvalidCompression + } + conn.newCompressionWriter = compressNoContextTakeover + conn.newDecompressionReader = decompressNoContextTakeover + break + } + + resp.Body = io.NopCloser(bytes.NewReader([]byte{})) + conn.subprotocol = resp.Header.Get("Sec-Websocket-Protocol") + + if err := netConn.SetDeadline(time.Time{}); err != nil { + return nil, nil, err + } + netConn = nil // to avoid close in defer. + return conn, resp, nil +} + +func cloneTLSConfig(cfg *tls.Config) *tls.Config { + if cfg == nil { + return &tls.Config{MinVersion: tls.VersionTLS12} + } + return cfg.Clone() +} diff --git a/vendor/github.com/gorilla/websocket/compression.go b/vendor/github.com/gorilla/websocket/compression.go new file mode 100644 index 000000000..9fed0ef52 --- /dev/null +++ b/vendor/github.com/gorilla/websocket/compression.go @@ -0,0 +1,153 @@ +// Copyright 2017 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package websocket + +import ( + "compress/flate" + "errors" + "io" + "log" + "strings" + "sync" +) + +const ( + minCompressionLevel = -2 // flate.HuffmanOnly not defined in Go < 1.6 + maxCompressionLevel = flate.BestCompression + defaultCompressionLevel = 1 +) + +var ( + flateWriterPools [maxCompressionLevel - minCompressionLevel + 1]sync.Pool + flateReaderPool = sync.Pool{New: func() interface{} { + return flate.NewReader(nil) + }} +) + +func decompressNoContextTakeover(r io.Reader) io.ReadCloser { + const tail = + // Add four bytes as specified in RFC + "\x00\x00\xff\xff" + + // Add final block to squelch unexpected EOF error from flate reader. + "\x01\x00\x00\xff\xff" + + fr, _ := flateReaderPool.Get().(io.ReadCloser) + if err := fr.(flate.Resetter).Reset(io.MultiReader(r, strings.NewReader(tail)), nil); err != nil { + panic(err) + } + return &flateReadWrapper{fr} +} + +func isValidCompressionLevel(level int) bool { + return minCompressionLevel <= level && level <= maxCompressionLevel +} + +func compressNoContextTakeover(w io.WriteCloser, level int) io.WriteCloser { + p := &flateWriterPools[level-minCompressionLevel] + tw := &truncWriter{w: w} + fw, _ := p.Get().(*flate.Writer) + if fw == nil { + fw, _ = flate.NewWriter(tw, level) + } else { + fw.Reset(tw) + } + return &flateWriteWrapper{fw: fw, tw: tw, p: p} +} + +// truncWriter is an io.Writer that writes all but the last four bytes of the +// stream to another io.Writer. +type truncWriter struct { + w io.WriteCloser + n int + p [4]byte +} + +func (w *truncWriter) Write(p []byte) (int, error) { + n := 0 + + // fill buffer first for simplicity. + if w.n < len(w.p) { + n = copy(w.p[w.n:], p) + p = p[n:] + w.n += n + if len(p) == 0 { + return n, nil + } + } + + m := len(p) + if m > len(w.p) { + m = len(w.p) + } + + if nn, err := w.w.Write(w.p[:m]); err != nil { + return n + nn, err + } + + copy(w.p[:], w.p[m:]) + copy(w.p[len(w.p)-m:], p[len(p)-m:]) + nn, err := w.w.Write(p[:len(p)-m]) + return n + nn, err +} + +type flateWriteWrapper struct { + fw *flate.Writer + tw *truncWriter + p *sync.Pool +} + +func (w *flateWriteWrapper) Write(p []byte) (int, error) { + if w.fw == nil { + return 0, errWriteClosed + } + return w.fw.Write(p) +} + +func (w *flateWriteWrapper) Close() error { + if w.fw == nil { + return errWriteClosed + } + err1 := w.fw.Flush() + w.p.Put(w.fw) + w.fw = nil + if w.tw.p != [4]byte{0, 0, 0xff, 0xff} { + return errors.New("websocket: internal error, unexpected bytes at end of flate stream") + } + err2 := w.tw.w.Close() + if err1 != nil { + return err1 + } + return err2 +} + +type flateReadWrapper struct { + fr io.ReadCloser +} + +func (r *flateReadWrapper) Read(p []byte) (int, error) { + if r.fr == nil { + return 0, io.ErrClosedPipe + } + n, err := r.fr.Read(p) + if err == io.EOF { + // Preemptively place the reader back in the pool. This helps with + // scenarios where the application does not call NextReader() soon after + // this final read. + if err := r.Close(); err != nil { + log.Printf("websocket: flateReadWrapper.Close() returned error: %v", err) + } + } + return n, err +} + +func (r *flateReadWrapper) Close() error { + if r.fr == nil { + return io.ErrClosedPipe + } + err := r.fr.Close() + flateReaderPool.Put(r.fr) + r.fr = nil + return err +} diff --git a/vendor/github.com/gorilla/websocket/conn.go b/vendor/github.com/gorilla/websocket/conn.go new file mode 100644 index 000000000..221e6cf79 --- /dev/null +++ b/vendor/github.com/gorilla/websocket/conn.go @@ -0,0 +1,1267 @@ +// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package websocket + +import ( + "bufio" + "crypto/rand" + "encoding/binary" + "errors" + "io" + "log" + "net" + "strconv" + "strings" + "sync" + "time" + "unicode/utf8" +) + +const ( + // Frame header byte 0 bits from Section 5.2 of RFC 6455 + finalBit = 1 << 7 + rsv1Bit = 1 << 6 + rsv2Bit = 1 << 5 + rsv3Bit = 1 << 4 + + // Frame header byte 1 bits from Section 5.2 of RFC 6455 + maskBit = 1 << 7 + + maxFrameHeaderSize = 2 + 8 + 4 // Fixed header + length + mask + maxControlFramePayloadSize = 125 + + writeWait = time.Second + + defaultReadBufferSize = 4096 + defaultWriteBufferSize = 4096 + + continuationFrame = 0 + noFrame = -1 +) + +// Close codes defined in RFC 6455, section 11.7. +const ( + CloseNormalClosure = 1000 + CloseGoingAway = 1001 + CloseProtocolError = 1002 + CloseUnsupportedData = 1003 + CloseNoStatusReceived = 1005 + CloseAbnormalClosure = 1006 + CloseInvalidFramePayloadData = 1007 + ClosePolicyViolation = 1008 + CloseMessageTooBig = 1009 + CloseMandatoryExtension = 1010 + CloseInternalServerErr = 1011 + CloseServiceRestart = 1012 + CloseTryAgainLater = 1013 + CloseTLSHandshake = 1015 +) + +// The message types are defined in RFC 6455, section 11.8. +const ( + // TextMessage denotes a text data message. The text message payload is + // interpreted as UTF-8 encoded text data. + TextMessage = 1 + + // BinaryMessage denotes a binary data message. + BinaryMessage = 2 + + // CloseMessage denotes a close control message. The optional message + // payload contains a numeric code and text. Use the FormatCloseMessage + // function to format a close message payload. + CloseMessage = 8 + + // PingMessage denotes a ping control message. The optional message payload + // is UTF-8 encoded text. + PingMessage = 9 + + // PongMessage denotes a pong control message. The optional message payload + // is UTF-8 encoded text. + PongMessage = 10 +) + +// ErrCloseSent is returned when the application writes a message to the +// connection after sending a close message. +var ErrCloseSent = errors.New("websocket: close sent") + +// ErrReadLimit is returned when reading a message that is larger than the +// read limit set for the connection. +var ErrReadLimit = errors.New("websocket: read limit exceeded") + +// netError satisfies the net Error interface. +type netError struct { + msg string + temporary bool + timeout bool +} + +func (e *netError) Error() string { return e.msg } +func (e *netError) Temporary() bool { return e.temporary } +func (e *netError) Timeout() bool { return e.timeout } + +// CloseError represents a close message. +type CloseError struct { + // Code is defined in RFC 6455, section 11.7. + Code int + + // Text is the optional text payload. + Text string +} + +func (e *CloseError) Error() string { + s := []byte("websocket: close ") + s = strconv.AppendInt(s, int64(e.Code), 10) + switch e.Code { + case CloseNormalClosure: + s = append(s, " (normal)"...) + case CloseGoingAway: + s = append(s, " (going away)"...) + case CloseProtocolError: + s = append(s, " (protocol error)"...) + case CloseUnsupportedData: + s = append(s, " (unsupported data)"...) + case CloseNoStatusReceived: + s = append(s, " (no status)"...) + case CloseAbnormalClosure: + s = append(s, " (abnormal closure)"...) + case CloseInvalidFramePayloadData: + s = append(s, " (invalid payload data)"...) + case ClosePolicyViolation: + s = append(s, " (policy violation)"...) + case CloseMessageTooBig: + s = append(s, " (message too big)"...) + case CloseMandatoryExtension: + s = append(s, " (mandatory extension missing)"...) + case CloseInternalServerErr: + s = append(s, " (internal server error)"...) + case CloseTLSHandshake: + s = append(s, " (TLS handshake error)"...) + } + if e.Text != "" { + s = append(s, ": "...) + s = append(s, e.Text...) + } + return string(s) +} + +// IsCloseError returns boolean indicating whether the error is a *CloseError +// with one of the specified codes. +func IsCloseError(err error, codes ...int) bool { + if e, ok := err.(*CloseError); ok { + for _, code := range codes { + if e.Code == code { + return true + } + } + } + return false +} + +// IsUnexpectedCloseError returns boolean indicating whether the error is a +// *CloseError with a code not in the list of expected codes. +func IsUnexpectedCloseError(err error, expectedCodes ...int) bool { + if e, ok := err.(*CloseError); ok { + for _, code := range expectedCodes { + if e.Code == code { + return false + } + } + return true + } + return false +} + +var ( + errWriteTimeout = &netError{msg: "websocket: write timeout", timeout: true, temporary: true} + errUnexpectedEOF = &CloseError{Code: CloseAbnormalClosure, Text: io.ErrUnexpectedEOF.Error()} + errBadWriteOpCode = errors.New("websocket: bad write message type") + errWriteClosed = errors.New("websocket: write closed") + errInvalidControlFrame = errors.New("websocket: invalid control frame") +) + +// maskRand is an io.Reader for generating mask bytes. The reader is initialized +// to crypto/rand Reader. Tests swap the reader to a math/rand reader for +// reproducible results. +var maskRand = rand.Reader + +// newMaskKey returns a new 32 bit value for masking client frames. +func newMaskKey() [4]byte { + var k [4]byte + _, _ = io.ReadFull(maskRand, k[:]) + return k +} + +func hideTempErr(err error) error { + if e, ok := err.(net.Error); ok { + err = &netError{msg: e.Error(), timeout: e.Timeout()} + } + return err +} + +func isControl(frameType int) bool { + return frameType == CloseMessage || frameType == PingMessage || frameType == PongMessage +} + +func isData(frameType int) bool { + return frameType == TextMessage || frameType == BinaryMessage +} + +var validReceivedCloseCodes = map[int]bool{ + // see http://www.iana.org/assignments/websocket/websocket.xhtml#close-code-number + + CloseNormalClosure: true, + CloseGoingAway: true, + CloseProtocolError: true, + CloseUnsupportedData: true, + CloseNoStatusReceived: false, + CloseAbnormalClosure: false, + CloseInvalidFramePayloadData: true, + ClosePolicyViolation: true, + CloseMessageTooBig: true, + CloseMandatoryExtension: true, + CloseInternalServerErr: true, + CloseServiceRestart: true, + CloseTryAgainLater: true, + CloseTLSHandshake: false, +} + +func isValidReceivedCloseCode(code int) bool { + return validReceivedCloseCodes[code] || (code >= 3000 && code <= 4999) +} + +// BufferPool represents a pool of buffers. The *sync.Pool type satisfies this +// interface. The type of the value stored in a pool is not specified. +type BufferPool interface { + // Get gets a value from the pool or returns nil if the pool is empty. + Get() interface{} + // Put adds a value to the pool. + Put(interface{}) +} + +// writePoolData is the type added to the write buffer pool. This wrapper is +// used to prevent applications from peeking at and depending on the values +// added to the pool. +type writePoolData struct{ buf []byte } + +// The Conn type represents a WebSocket connection. +type Conn struct { + conn net.Conn + isServer bool + subprotocol string + + // Write fields + mu chan struct{} // used as mutex to protect write to conn + writeBuf []byte // frame is constructed in this buffer. + writePool BufferPool + writeBufSize int + writeDeadline time.Time + writer io.WriteCloser // the current writer returned to the application + isWriting bool // for best-effort concurrent write detection + + writeErrMu sync.Mutex + writeErr error + + enableWriteCompression bool + compressionLevel int + newCompressionWriter func(io.WriteCloser, int) io.WriteCloser + + // Read fields + reader io.ReadCloser // the current reader returned to the application + readErr error + br *bufio.Reader + // bytes remaining in current frame. + // set setReadRemaining to safely update this value and prevent overflow + readRemaining int64 + readFinal bool // true the current message has more frames. + readLength int64 // Message size. + readLimit int64 // Maximum message size. + readMaskPos int + readMaskKey [4]byte + handlePong func(string) error + handlePing func(string) error + handleClose func(int, string) error + readErrCount int + messageReader *messageReader // the current low-level reader + + readDecompress bool // whether last read frame had RSV1 set + newDecompressionReader func(io.Reader) io.ReadCloser +} + +func newConn(conn net.Conn, isServer bool, readBufferSize, writeBufferSize int, writeBufferPool BufferPool, br *bufio.Reader, writeBuf []byte) *Conn { + + if br == nil { + if readBufferSize == 0 { + readBufferSize = defaultReadBufferSize + } else if readBufferSize < maxControlFramePayloadSize { + // must be large enough for control frame + readBufferSize = maxControlFramePayloadSize + } + br = bufio.NewReaderSize(conn, readBufferSize) + } + + if writeBufferSize <= 0 { + writeBufferSize = defaultWriteBufferSize + } + writeBufferSize += maxFrameHeaderSize + + if writeBuf == nil && writeBufferPool == nil { + writeBuf = make([]byte, writeBufferSize) + } + + mu := make(chan struct{}, 1) + mu <- struct{}{} + c := &Conn{ + isServer: isServer, + br: br, + conn: conn, + mu: mu, + readFinal: true, + writeBuf: writeBuf, + writePool: writeBufferPool, + writeBufSize: writeBufferSize, + enableWriteCompression: true, + compressionLevel: defaultCompressionLevel, + } + c.SetCloseHandler(nil) + c.SetPingHandler(nil) + c.SetPongHandler(nil) + return c +} + +// setReadRemaining tracks the number of bytes remaining on the connection. If n +// overflows, an ErrReadLimit is returned. +func (c *Conn) setReadRemaining(n int64) error { + if n < 0 { + return ErrReadLimit + } + + c.readRemaining = n + return nil +} + +// Subprotocol returns the negotiated protocol for the connection. +func (c *Conn) Subprotocol() string { + return c.subprotocol +} + +// Close closes the underlying network connection without sending or waiting +// for a close message. +func (c *Conn) Close() error { + return c.conn.Close() +} + +// LocalAddr returns the local network address. +func (c *Conn) LocalAddr() net.Addr { + return c.conn.LocalAddr() +} + +// RemoteAddr returns the remote network address. +func (c *Conn) RemoteAddr() net.Addr { + return c.conn.RemoteAddr() +} + +// Write methods + +func (c *Conn) writeFatal(err error) error { + err = hideTempErr(err) + c.writeErrMu.Lock() + if c.writeErr == nil { + c.writeErr = err + } + c.writeErrMu.Unlock() + return err +} + +func (c *Conn) read(n int) ([]byte, error) { + p, err := c.br.Peek(n) + if err == io.EOF { + err = errUnexpectedEOF + } + if _, err := c.br.Discard(len(p)); err != nil { + return p, err + } + return p, err +} + +func (c *Conn) write(frameType int, deadline time.Time, buf0, buf1 []byte) error { + <-c.mu + defer func() { c.mu <- struct{}{} }() + + c.writeErrMu.Lock() + err := c.writeErr + c.writeErrMu.Unlock() + if err != nil { + return err + } + + if err := c.conn.SetWriteDeadline(deadline); err != nil { + return c.writeFatal(err) + } + if len(buf1) == 0 { + _, err = c.conn.Write(buf0) + } else { + err = c.writeBufs(buf0, buf1) + } + if err != nil { + return c.writeFatal(err) + } + if frameType == CloseMessage { + _ = c.writeFatal(ErrCloseSent) + } + return nil +} + +func (c *Conn) writeBufs(bufs ...[]byte) error { + b := net.Buffers(bufs) + _, err := b.WriteTo(c.conn) + return err +} + +// WriteControl writes a control message with the given deadline. The allowed +// message types are CloseMessage, PingMessage and PongMessage. +func (c *Conn) WriteControl(messageType int, data []byte, deadline time.Time) error { + if !isControl(messageType) { + return errBadWriteOpCode + } + if len(data) > maxControlFramePayloadSize { + return errInvalidControlFrame + } + + b0 := byte(messageType) | finalBit + b1 := byte(len(data)) + if !c.isServer { + b1 |= maskBit + } + + buf := make([]byte, 0, maxFrameHeaderSize+maxControlFramePayloadSize) + buf = append(buf, b0, b1) + + if c.isServer { + buf = append(buf, data...) + } else { + key := newMaskKey() + buf = append(buf, key[:]...) + buf = append(buf, data...) + maskBytes(key, 0, buf[6:]) + } + + d := 1000 * time.Hour + if !deadline.IsZero() { + d = time.Until(deadline) + if d < 0 { + return errWriteTimeout + } + } + + timer := time.NewTimer(d) + select { + case <-c.mu: + timer.Stop() + case <-timer.C: + return errWriteTimeout + } + defer func() { c.mu <- struct{}{} }() + + c.writeErrMu.Lock() + err := c.writeErr + c.writeErrMu.Unlock() + if err != nil { + return err + } + + if err := c.conn.SetWriteDeadline(deadline); err != nil { + return c.writeFatal(err) + } + _, err = c.conn.Write(buf) + if err != nil { + return c.writeFatal(err) + } + if messageType == CloseMessage { + _ = c.writeFatal(ErrCloseSent) + } + return err +} + +// beginMessage prepares a connection and message writer for a new message. +func (c *Conn) beginMessage(mw *messageWriter, messageType int) error { + // Close previous writer if not already closed by the application. It's + // probably better to return an error in this situation, but we cannot + // change this without breaking existing applications. + if c.writer != nil { + if err := c.writer.Close(); err != nil { + log.Printf("websocket: discarding writer close error: %v", err) + } + c.writer = nil + } + + if !isControl(messageType) && !isData(messageType) { + return errBadWriteOpCode + } + + c.writeErrMu.Lock() + err := c.writeErr + c.writeErrMu.Unlock() + if err != nil { + return err + } + + mw.c = c + mw.frameType = messageType + mw.pos = maxFrameHeaderSize + + if c.writeBuf == nil { + wpd, ok := c.writePool.Get().(writePoolData) + if ok { + c.writeBuf = wpd.buf + } else { + c.writeBuf = make([]byte, c.writeBufSize) + } + } + return nil +} + +// NextWriter returns a writer for the next message to send. The writer's Close +// method flushes the complete message to the network. +// +// There can be at most one open writer on a connection. NextWriter closes the +// previous writer if the application has not already done so. +// +// All message types (TextMessage, BinaryMessage, CloseMessage, PingMessage and +// PongMessage) are supported. +func (c *Conn) NextWriter(messageType int) (io.WriteCloser, error) { + var mw messageWriter + if err := c.beginMessage(&mw, messageType); err != nil { + return nil, err + } + c.writer = &mw + if c.newCompressionWriter != nil && c.enableWriteCompression && isData(messageType) { + w := c.newCompressionWriter(c.writer, c.compressionLevel) + mw.compress = true + c.writer = w + } + return c.writer, nil +} + +type messageWriter struct { + c *Conn + compress bool // whether next call to flushFrame should set RSV1 + pos int // end of data in writeBuf. + frameType int // type of the current frame. + err error +} + +func (w *messageWriter) endMessage(err error) error { + if w.err != nil { + return err + } + c := w.c + w.err = err + c.writer = nil + if c.writePool != nil { + c.writePool.Put(writePoolData{buf: c.writeBuf}) + c.writeBuf = nil + } + return err +} + +// flushFrame writes buffered data and extra as a frame to the network. The +// final argument indicates that this is the last frame in the message. +func (w *messageWriter) flushFrame(final bool, extra []byte) error { + c := w.c + length := w.pos - maxFrameHeaderSize + len(extra) + + // Check for invalid control frames. + if isControl(w.frameType) && + (!final || length > maxControlFramePayloadSize) { + return w.endMessage(errInvalidControlFrame) + } + + b0 := byte(w.frameType) + if final { + b0 |= finalBit + } + if w.compress { + b0 |= rsv1Bit + } + w.compress = false + + b1 := byte(0) + if !c.isServer { + b1 |= maskBit + } + + // Assume that the frame starts at beginning of c.writeBuf. + framePos := 0 + if c.isServer { + // Adjust up if mask not included in the header. + framePos = 4 + } + + switch { + case length >= 65536: + c.writeBuf[framePos] = b0 + c.writeBuf[framePos+1] = b1 | 127 + binary.BigEndian.PutUint64(c.writeBuf[framePos+2:], uint64(length)) + case length > 125: + framePos += 6 + c.writeBuf[framePos] = b0 + c.writeBuf[framePos+1] = b1 | 126 + binary.BigEndian.PutUint16(c.writeBuf[framePos+2:], uint16(length)) + default: + framePos += 8 + c.writeBuf[framePos] = b0 + c.writeBuf[framePos+1] = b1 | byte(length) + } + + if !c.isServer { + key := newMaskKey() + copy(c.writeBuf[maxFrameHeaderSize-4:], key[:]) + maskBytes(key, 0, c.writeBuf[maxFrameHeaderSize:w.pos]) + if len(extra) > 0 { + return w.endMessage(c.writeFatal(errors.New("websocket: internal error, extra used in client mode"))) + } + } + + // Write the buffers to the connection with best-effort detection of + // concurrent writes. See the concurrency section in the package + // documentation for more info. + + if c.isWriting { + panic("concurrent write to websocket connection") + } + c.isWriting = true + + err := c.write(w.frameType, c.writeDeadline, c.writeBuf[framePos:w.pos], extra) + + if !c.isWriting { + panic("concurrent write to websocket connection") + } + c.isWriting = false + + if err != nil { + return w.endMessage(err) + } + + if final { + _ = w.endMessage(errWriteClosed) + return nil + } + + // Setup for next frame. + w.pos = maxFrameHeaderSize + w.frameType = continuationFrame + return nil +} + +func (w *messageWriter) ncopy(max int) (int, error) { + n := len(w.c.writeBuf) - w.pos + if n <= 0 { + if err := w.flushFrame(false, nil); err != nil { + return 0, err + } + n = len(w.c.writeBuf) - w.pos + } + if n > max { + n = max + } + return n, nil +} + +func (w *messageWriter) Write(p []byte) (int, error) { + if w.err != nil { + return 0, w.err + } + + if len(p) > 2*len(w.c.writeBuf) && w.c.isServer { + // Don't buffer large messages. + err := w.flushFrame(false, p) + if err != nil { + return 0, err + } + return len(p), nil + } + + nn := len(p) + for len(p) > 0 { + n, err := w.ncopy(len(p)) + if err != nil { + return 0, err + } + copy(w.c.writeBuf[w.pos:], p[:n]) + w.pos += n + p = p[n:] + } + return nn, nil +} + +func (w *messageWriter) WriteString(p string) (int, error) { + if w.err != nil { + return 0, w.err + } + + nn := len(p) + for len(p) > 0 { + n, err := w.ncopy(len(p)) + if err != nil { + return 0, err + } + copy(w.c.writeBuf[w.pos:], p[:n]) + w.pos += n + p = p[n:] + } + return nn, nil +} + +func (w *messageWriter) ReadFrom(r io.Reader) (nn int64, err error) { + if w.err != nil { + return 0, w.err + } + for { + if w.pos == len(w.c.writeBuf) { + err = w.flushFrame(false, nil) + if err != nil { + break + } + } + var n int + n, err = r.Read(w.c.writeBuf[w.pos:]) + w.pos += n + nn += int64(n) + if err != nil { + if err == io.EOF { + err = nil + } + break + } + } + return nn, err +} + +func (w *messageWriter) Close() error { + if w.err != nil { + return w.err + } + return w.flushFrame(true, nil) +} + +// WritePreparedMessage writes prepared message into connection. +func (c *Conn) WritePreparedMessage(pm *PreparedMessage) error { + frameType, frameData, err := pm.frame(prepareKey{ + isServer: c.isServer, + compress: c.newCompressionWriter != nil && c.enableWriteCompression && isData(pm.messageType), + compressionLevel: c.compressionLevel, + }) + if err != nil { + return err + } + if c.isWriting { + panic("concurrent write to websocket connection") + } + c.isWriting = true + err = c.write(frameType, c.writeDeadline, frameData, nil) + if !c.isWriting { + panic("concurrent write to websocket connection") + } + c.isWriting = false + return err +} + +// WriteMessage is a helper method for getting a writer using NextWriter, +// writing the message and closing the writer. +func (c *Conn) WriteMessage(messageType int, data []byte) error { + + if c.isServer && (c.newCompressionWriter == nil || !c.enableWriteCompression) { + // Fast path with no allocations and single frame. + + var mw messageWriter + if err := c.beginMessage(&mw, messageType); err != nil { + return err + } + n := copy(c.writeBuf[mw.pos:], data) + mw.pos += n + data = data[n:] + return mw.flushFrame(true, data) + } + + w, err := c.NextWriter(messageType) + if err != nil { + return err + } + if _, err = w.Write(data); err != nil { + return err + } + return w.Close() +} + +// SetWriteDeadline sets the write deadline on the underlying network +// connection. After a write has timed out, the websocket state is corrupt and +// all future writes will return an error. A zero value for t means writes will +// not time out. +func (c *Conn) SetWriteDeadline(t time.Time) error { + c.writeDeadline = t + return nil +} + +// Read methods + +func (c *Conn) advanceFrame() (int, error) { + // 1. Skip remainder of previous frame. + + if c.readRemaining > 0 { + if _, err := io.CopyN(io.Discard, c.br, c.readRemaining); err != nil { + return noFrame, err + } + } + + // 2. Read and parse first two bytes of frame header. + // To aid debugging, collect and report all errors in the first two bytes + // of the header. + + var errors []string + + p, err := c.read(2) + if err != nil { + return noFrame, err + } + + frameType := int(p[0] & 0xf) + final := p[0]&finalBit != 0 + rsv1 := p[0]&rsv1Bit != 0 + rsv2 := p[0]&rsv2Bit != 0 + rsv3 := p[0]&rsv3Bit != 0 + mask := p[1]&maskBit != 0 + if err := c.setReadRemaining(int64(p[1] & 0x7f)); err != nil { + return noFrame, err + } + + c.readDecompress = false + if rsv1 { + if c.newDecompressionReader != nil { + c.readDecompress = true + } else { + errors = append(errors, "RSV1 set") + } + } + + if rsv2 { + errors = append(errors, "RSV2 set") + } + + if rsv3 { + errors = append(errors, "RSV3 set") + } + + switch frameType { + case CloseMessage, PingMessage, PongMessage: + if c.readRemaining > maxControlFramePayloadSize { + errors = append(errors, "len > 125 for control") + } + if !final { + errors = append(errors, "FIN not set on control") + } + case TextMessage, BinaryMessage: + if !c.readFinal { + errors = append(errors, "data before FIN") + } + c.readFinal = final + case continuationFrame: + if c.readFinal { + errors = append(errors, "continuation after FIN") + } + c.readFinal = final + default: + errors = append(errors, "bad opcode "+strconv.Itoa(frameType)) + } + + if mask != c.isServer { + errors = append(errors, "bad MASK") + } + + if len(errors) > 0 { + return noFrame, c.handleProtocolError(strings.Join(errors, ", ")) + } + + // 3. Read and parse frame length as per + // https://tools.ietf.org/html/rfc6455#section-5.2 + // + // The length of the "Payload data", in bytes: if 0-125, that is the payload + // length. + // - If 126, the following 2 bytes interpreted as a 16-bit unsigned + // integer are the payload length. + // - If 127, the following 8 bytes interpreted as + // a 64-bit unsigned integer (the most significant bit MUST be 0) are the + // payload length. Multibyte length quantities are expressed in network byte + // order. + + switch c.readRemaining { + case 126: + p, err := c.read(2) + if err != nil { + return noFrame, err + } + + if err := c.setReadRemaining(int64(binary.BigEndian.Uint16(p))); err != nil { + return noFrame, err + } + case 127: + p, err := c.read(8) + if err != nil { + return noFrame, err + } + + if err := c.setReadRemaining(int64(binary.BigEndian.Uint64(p))); err != nil { + return noFrame, err + } + } + + // 4. Handle frame masking. + + if mask { + c.readMaskPos = 0 + p, err := c.read(len(c.readMaskKey)) + if err != nil { + return noFrame, err + } + copy(c.readMaskKey[:], p) + } + + // 5. For text and binary messages, enforce read limit and return. + + if frameType == continuationFrame || frameType == TextMessage || frameType == BinaryMessage { + + c.readLength += c.readRemaining + // Don't allow readLength to overflow in the presence of a large readRemaining + // counter. + if c.readLength < 0 { + return noFrame, ErrReadLimit + } + + if c.readLimit > 0 && c.readLength > c.readLimit { + if err := c.WriteControl(CloseMessage, FormatCloseMessage(CloseMessageTooBig, ""), time.Now().Add(writeWait)); err != nil { + return noFrame, err + } + return noFrame, ErrReadLimit + } + + return frameType, nil + } + + // 6. Read control frame payload. + + var payload []byte + if c.readRemaining > 0 { + payload, err = c.read(int(c.readRemaining)) + if err := c.setReadRemaining(0); err != nil { + return noFrame, err + } + if err != nil { + return noFrame, err + } + if c.isServer { + maskBytes(c.readMaskKey, 0, payload) + } + } + + // 7. Process control frame payload. + + switch frameType { + case PongMessage: + if err := c.handlePong(string(payload)); err != nil { + return noFrame, err + } + case PingMessage: + if err := c.handlePing(string(payload)); err != nil { + return noFrame, err + } + case CloseMessage: + closeCode := CloseNoStatusReceived + closeText := "" + if len(payload) >= 2 { + closeCode = int(binary.BigEndian.Uint16(payload)) + if !isValidReceivedCloseCode(closeCode) { + return noFrame, c.handleProtocolError("bad close code " + strconv.Itoa(closeCode)) + } + closeText = string(payload[2:]) + if !utf8.ValidString(closeText) { + return noFrame, c.handleProtocolError("invalid utf8 payload in close frame") + } + } + if err := c.handleClose(closeCode, closeText); err != nil { + return noFrame, err + } + return noFrame, &CloseError{Code: closeCode, Text: closeText} + } + + return frameType, nil +} + +func (c *Conn) handleProtocolError(message string) error { + data := FormatCloseMessage(CloseProtocolError, message) + if len(data) > maxControlFramePayloadSize { + data = data[:maxControlFramePayloadSize] + } + if err := c.WriteControl(CloseMessage, data, time.Now().Add(writeWait)); err != nil { + return err + } + return errors.New("websocket: " + message) +} + +// NextReader returns the next data message received from the peer. The +// returned messageType is either TextMessage or BinaryMessage. +// +// There can be at most one open reader on a connection. NextReader discards +// the previous message if the application has not already consumed it. +// +// Applications must break out of the application's read loop when this method +// returns a non-nil error value. Errors returned from this method are +// permanent. Once this method returns a non-nil error, all subsequent calls to +// this method return the same error. +func (c *Conn) NextReader() (messageType int, r io.Reader, err error) { + // Close previous reader, only relevant for decompression. + if c.reader != nil { + if err := c.reader.Close(); err != nil { + log.Printf("websocket: discarding reader close error: %v", err) + } + c.reader = nil + } + + c.messageReader = nil + c.readLength = 0 + + for c.readErr == nil { + frameType, err := c.advanceFrame() + if err != nil { + c.readErr = hideTempErr(err) + break + } + + if frameType == TextMessage || frameType == BinaryMessage { + c.messageReader = &messageReader{c} + c.reader = c.messageReader + if c.readDecompress { + c.reader = c.newDecompressionReader(c.reader) + } + return frameType, c.reader, nil + } + } + + // Applications that do handle the error returned from this method spin in + // tight loop on connection failure. To help application developers detect + // this error, panic on repeated reads to the failed connection. + c.readErrCount++ + if c.readErrCount >= 1000 { + panic("repeated read on failed websocket connection") + } + + return noFrame, nil, c.readErr +} + +type messageReader struct{ c *Conn } + +func (r *messageReader) Read(b []byte) (int, error) { + c := r.c + if c.messageReader != r { + return 0, io.EOF + } + + for c.readErr == nil { + + if c.readRemaining > 0 { + if int64(len(b)) > c.readRemaining { + b = b[:c.readRemaining] + } + n, err := c.br.Read(b) + c.readErr = hideTempErr(err) + if c.isServer { + c.readMaskPos = maskBytes(c.readMaskKey, c.readMaskPos, b[:n]) + } + rem := c.readRemaining + rem -= int64(n) + if err := c.setReadRemaining(rem); err != nil { + return 0, err + } + if c.readRemaining > 0 && c.readErr == io.EOF { + c.readErr = errUnexpectedEOF + } + return n, c.readErr + } + + if c.readFinal { + c.messageReader = nil + return 0, io.EOF + } + + frameType, err := c.advanceFrame() + switch { + case err != nil: + c.readErr = hideTempErr(err) + case frameType == TextMessage || frameType == BinaryMessage: + c.readErr = errors.New("websocket: internal error, unexpected text or binary in Reader") + } + } + + err := c.readErr + if err == io.EOF && c.messageReader == r { + err = errUnexpectedEOF + } + return 0, err +} + +func (r *messageReader) Close() error { + return nil +} + +// ReadMessage is a helper method for getting a reader using NextReader and +// reading from that reader to a buffer. +func (c *Conn) ReadMessage() (messageType int, p []byte, err error) { + var r io.Reader + messageType, r, err = c.NextReader() + if err != nil { + return messageType, nil, err + } + p, err = io.ReadAll(r) + return messageType, p, err +} + +// SetReadDeadline sets the read deadline on the underlying network connection. +// After a read has timed out, the websocket connection state is corrupt and +// all future reads will return an error. A zero value for t means reads will +// not time out. +func (c *Conn) SetReadDeadline(t time.Time) error { + return c.conn.SetReadDeadline(t) +} + +// SetReadLimit sets the maximum size in bytes for a message read from the peer. If a +// message exceeds the limit, the connection sends a close message to the peer +// and returns ErrReadLimit to the application. +func (c *Conn) SetReadLimit(limit int64) { + c.readLimit = limit +} + +// CloseHandler returns the current close handler +func (c *Conn) CloseHandler() func(code int, text string) error { + return c.handleClose +} + +// SetCloseHandler sets the handler for close messages received from the peer. +// The code argument to h is the received close code or CloseNoStatusReceived +// if the close message is empty. The default close handler sends a close +// message back to the peer. +// +// The handler function is called from the NextReader, ReadMessage and message +// reader Read methods. The application must read the connection to process +// close messages as described in the section on Control Messages above. +// +// The connection read methods return a CloseError when a close message is +// received. Most applications should handle close messages as part of their +// normal error handling. Applications should only set a close handler when the +// application must perform some action before sending a close message back to +// the peer. +func (c *Conn) SetCloseHandler(h func(code int, text string) error) { + if h == nil { + h = func(code int, text string) error { + message := FormatCloseMessage(code, "") + if err := c.WriteControl(CloseMessage, message, time.Now().Add(writeWait)); err != nil { + return err + } + return nil + } + } + c.handleClose = h +} + +// PingHandler returns the current ping handler +func (c *Conn) PingHandler() func(appData string) error { + return c.handlePing +} + +// SetPingHandler sets the handler for ping messages received from the peer. +// The appData argument to h is the PING message application data. The default +// ping handler sends a pong to the peer. +// +// The handler function is called from the NextReader, ReadMessage and message +// reader Read methods. The application must read the connection to process +// ping messages as described in the section on Control Messages above. +func (c *Conn) SetPingHandler(h func(appData string) error) { + if h == nil { + h = func(message string) error { + err := c.WriteControl(PongMessage, []byte(message), time.Now().Add(writeWait)) + if err == ErrCloseSent { + return nil + } else if _, ok := err.(net.Error); ok { + return nil + } + return err + } + } + c.handlePing = h +} + +// PongHandler returns the current pong handler +func (c *Conn) PongHandler() func(appData string) error { + return c.handlePong +} + +// SetPongHandler sets the handler for pong messages received from the peer. +// The appData argument to h is the PONG message application data. The default +// pong handler does nothing. +// +// The handler function is called from the NextReader, ReadMessage and message +// reader Read methods. The application must read the connection to process +// pong messages as described in the section on Control Messages above. +func (c *Conn) SetPongHandler(h func(appData string) error) { + if h == nil { + h = func(string) error { return nil } + } + c.handlePong = h +} + +// NetConn returns the underlying connection that is wrapped by c. +// Note that writing to or reading from this connection directly will corrupt the +// WebSocket connection. +func (c *Conn) NetConn() net.Conn { + return c.conn +} + +// UnderlyingConn returns the internal net.Conn. This can be used to further +// modifications to connection specific flags. +// Deprecated: Use the NetConn method. +func (c *Conn) UnderlyingConn() net.Conn { + return c.conn +} + +// EnableWriteCompression enables and disables write compression of +// subsequent text and binary messages. This function is a noop if +// compression was not negotiated with the peer. +func (c *Conn) EnableWriteCompression(enable bool) { + c.enableWriteCompression = enable +} + +// SetCompressionLevel sets the flate compression level for subsequent text and +// binary messages. This function is a noop if compression was not negotiated +// with the peer. See the compress/flate package for a description of +// compression levels. +func (c *Conn) SetCompressionLevel(level int) error { + if !isValidCompressionLevel(level) { + return errors.New("websocket: invalid compression level") + } + c.compressionLevel = level + return nil +} + +// FormatCloseMessage formats closeCode and text as a WebSocket close message. +// An empty message is returned for code CloseNoStatusReceived. +func FormatCloseMessage(closeCode int, text string) []byte { + if closeCode == CloseNoStatusReceived { + // Return empty message because it's illegal to send + // CloseNoStatusReceived. Return non-nil value in case application + // checks for nil. + return []byte{} + } + buf := make([]byte, 2+len(text)) + binary.BigEndian.PutUint16(buf, uint16(closeCode)) + copy(buf[2:], text) + return buf +} diff --git a/vendor/github.com/gorilla/websocket/doc.go b/vendor/github.com/gorilla/websocket/doc.go new file mode 100644 index 000000000..8db0cef95 --- /dev/null +++ b/vendor/github.com/gorilla/websocket/doc.go @@ -0,0 +1,227 @@ +// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package websocket implements the WebSocket protocol defined in RFC 6455. +// +// Overview +// +// The Conn type represents a WebSocket connection. A server application calls +// the Upgrader.Upgrade method from an HTTP request handler to get a *Conn: +// +// var upgrader = websocket.Upgrader{ +// ReadBufferSize: 1024, +// WriteBufferSize: 1024, +// } +// +// func handler(w http.ResponseWriter, r *http.Request) { +// conn, err := upgrader.Upgrade(w, r, nil) +// if err != nil { +// log.Println(err) +// return +// } +// ... Use conn to send and receive messages. +// } +// +// Call the connection's WriteMessage and ReadMessage methods to send and +// receive messages as a slice of bytes. This snippet of code shows how to echo +// messages using these methods: +// +// for { +// messageType, p, err := conn.ReadMessage() +// if err != nil { +// log.Println(err) +// return +// } +// if err := conn.WriteMessage(messageType, p); err != nil { +// log.Println(err) +// return +// } +// } +// +// In above snippet of code, p is a []byte and messageType is an int with value +// websocket.BinaryMessage or websocket.TextMessage. +// +// An application can also send and receive messages using the io.WriteCloser +// and io.Reader interfaces. To send a message, call the connection NextWriter +// method to get an io.WriteCloser, write the message to the writer and close +// the writer when done. To receive a message, call the connection NextReader +// method to get an io.Reader and read until io.EOF is returned. This snippet +// shows how to echo messages using the NextWriter and NextReader methods: +// +// for { +// messageType, r, err := conn.NextReader() +// if err != nil { +// return +// } +// w, err := conn.NextWriter(messageType) +// if err != nil { +// return err +// } +// if _, err := io.Copy(w, r); err != nil { +// return err +// } +// if err := w.Close(); err != nil { +// return err +// } +// } +// +// Data Messages +// +// The WebSocket protocol distinguishes between text and binary data messages. +// Text messages are interpreted as UTF-8 encoded text. The interpretation of +// binary messages is left to the application. +// +// This package uses the TextMessage and BinaryMessage integer constants to +// identify the two data message types. The ReadMessage and NextReader methods +// return the type of the received message. The messageType argument to the +// WriteMessage and NextWriter methods specifies the type of a sent message. +// +// It is the application's responsibility to ensure that text messages are +// valid UTF-8 encoded text. +// +// Control Messages +// +// The WebSocket protocol defines three types of control messages: close, ping +// and pong. Call the connection WriteControl, WriteMessage or NextWriter +// methods to send a control message to the peer. +// +// Connections handle received close messages by calling the handler function +// set with the SetCloseHandler method and by returning a *CloseError from the +// NextReader, ReadMessage or the message Read method. The default close +// handler sends a close message to the peer. +// +// Connections handle received ping messages by calling the handler function +// set with the SetPingHandler method. The default ping handler sends a pong +// message to the peer. +// +// Connections handle received pong messages by calling the handler function +// set with the SetPongHandler method. The default pong handler does nothing. +// If an application sends ping messages, then the application should set a +// pong handler to receive the corresponding pong. +// +// The control message handler functions are called from the NextReader, +// ReadMessage and message reader Read methods. The default close and ping +// handlers can block these methods for a short time when the handler writes to +// the connection. +// +// The application must read the connection to process close, ping and pong +// messages sent from the peer. If the application is not otherwise interested +// in messages from the peer, then the application should start a goroutine to +// read and discard messages from the peer. A simple example is: +// +// func readLoop(c *websocket.Conn) { +// for { +// if _, _, err := c.NextReader(); err != nil { +// c.Close() +// break +// } +// } +// } +// +// Concurrency +// +// Connections support one concurrent reader and one concurrent writer. +// +// Applications are responsible for ensuring that no more than one goroutine +// calls the write methods (NextWriter, SetWriteDeadline, WriteMessage, +// WriteJSON, EnableWriteCompression, SetCompressionLevel) concurrently and +// that no more than one goroutine calls the read methods (NextReader, +// SetReadDeadline, ReadMessage, ReadJSON, SetPongHandler, SetPingHandler) +// concurrently. +// +// The Close and WriteControl methods can be called concurrently with all other +// methods. +// +// Origin Considerations +// +// Web browsers allow Javascript applications to open a WebSocket connection to +// any host. It's up to the server to enforce an origin policy using the Origin +// request header sent by the browser. +// +// The Upgrader calls the function specified in the CheckOrigin field to check +// the origin. If the CheckOrigin function returns false, then the Upgrade +// method fails the WebSocket handshake with HTTP status 403. +// +// If the CheckOrigin field is nil, then the Upgrader uses a safe default: fail +// the handshake if the Origin request header is present and the Origin host is +// not equal to the Host request header. +// +// The deprecated package-level Upgrade function does not perform origin +// checking. The application is responsible for checking the Origin header +// before calling the Upgrade function. +// +// Buffers +// +// Connections buffer network input and output to reduce the number +// of system calls when reading or writing messages. +// +// Write buffers are also used for constructing WebSocket frames. See RFC 6455, +// Section 5 for a discussion of message framing. A WebSocket frame header is +// written to the network each time a write buffer is flushed to the network. +// Decreasing the size of the write buffer can increase the amount of framing +// overhead on the connection. +// +// The buffer sizes in bytes are specified by the ReadBufferSize and +// WriteBufferSize fields in the Dialer and Upgrader. The Dialer uses a default +// size of 4096 when a buffer size field is set to zero. The Upgrader reuses +// buffers created by the HTTP server when a buffer size field is set to zero. +// The HTTP server buffers have a size of 4096 at the time of this writing. +// +// The buffer sizes do not limit the size of a message that can be read or +// written by a connection. +// +// Buffers are held for the lifetime of the connection by default. If the +// Dialer or Upgrader WriteBufferPool field is set, then a connection holds the +// write buffer only when writing a message. +// +// Applications should tune the buffer sizes to balance memory use and +// performance. Increasing the buffer size uses more memory, but can reduce the +// number of system calls to read or write the network. In the case of writing, +// increasing the buffer size can reduce the number of frame headers written to +// the network. +// +// Some guidelines for setting buffer parameters are: +// +// Limit the buffer sizes to the maximum expected message size. Buffers larger +// than the largest message do not provide any benefit. +// +// Depending on the distribution of message sizes, setting the buffer size to +// a value less than the maximum expected message size can greatly reduce memory +// use with a small impact on performance. Here's an example: If 99% of the +// messages are smaller than 256 bytes and the maximum message size is 512 +// bytes, then a buffer size of 256 bytes will result in 1.01 more system calls +// than a buffer size of 512 bytes. The memory savings is 50%. +// +// A write buffer pool is useful when the application has a modest number +// writes over a large number of connections. when buffers are pooled, a larger +// buffer size has a reduced impact on total memory use and has the benefit of +// reducing system calls and frame overhead. +// +// Compression EXPERIMENTAL +// +// Per message compression extensions (RFC 7692) are experimentally supported +// by this package in a limited capacity. Setting the EnableCompression option +// to true in Dialer or Upgrader will attempt to negotiate per message deflate +// support. +// +// var upgrader = websocket.Upgrader{ +// EnableCompression: true, +// } +// +// If compression was successfully negotiated with the connection's peer, any +// message received in compressed form will be automatically decompressed. +// All Read methods will return uncompressed bytes. +// +// Per message compression of messages written to a connection can be enabled +// or disabled by calling the corresponding Conn method: +// +// conn.EnableWriteCompression(false) +// +// Currently this package does not support compression with "context takeover". +// This means that messages must be compressed and decompressed in isolation, +// without retaining sliding window or dictionary state across messages. For +// more details refer to RFC 7692. +// +// Use of compression is experimental and may result in decreased performance. +package websocket diff --git a/vendor/github.com/gorilla/websocket/join.go b/vendor/github.com/gorilla/websocket/join.go new file mode 100644 index 000000000..c64f8c829 --- /dev/null +++ b/vendor/github.com/gorilla/websocket/join.go @@ -0,0 +1,42 @@ +// Copyright 2019 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package websocket + +import ( + "io" + "strings" +) + +// JoinMessages concatenates received messages to create a single io.Reader. +// The string term is appended to each message. The returned reader does not +// support concurrent calls to the Read method. +func JoinMessages(c *Conn, term string) io.Reader { + return &joinReader{c: c, term: term} +} + +type joinReader struct { + c *Conn + term string + r io.Reader +} + +func (r *joinReader) Read(p []byte) (int, error) { + if r.r == nil { + var err error + _, r.r, err = r.c.NextReader() + if err != nil { + return 0, err + } + if r.term != "" { + r.r = io.MultiReader(r.r, strings.NewReader(r.term)) + } + } + n, err := r.r.Read(p) + if err == io.EOF { + err = nil + r.r = nil + } + return n, err +} diff --git a/vendor/github.com/gorilla/websocket/json.go b/vendor/github.com/gorilla/websocket/json.go new file mode 100644 index 000000000..dc2c1f641 --- /dev/null +++ b/vendor/github.com/gorilla/websocket/json.go @@ -0,0 +1,60 @@ +// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package websocket + +import ( + "encoding/json" + "io" +) + +// WriteJSON writes the JSON encoding of v as a message. +// +// Deprecated: Use c.WriteJSON instead. +func WriteJSON(c *Conn, v interface{}) error { + return c.WriteJSON(v) +} + +// WriteJSON writes the JSON encoding of v as a message. +// +// See the documentation for encoding/json Marshal for details about the +// conversion of Go values to JSON. +func (c *Conn) WriteJSON(v interface{}) error { + w, err := c.NextWriter(TextMessage) + if err != nil { + return err + } + err1 := json.NewEncoder(w).Encode(v) + err2 := w.Close() + if err1 != nil { + return err1 + } + return err2 +} + +// ReadJSON reads the next JSON-encoded message from the connection and stores +// it in the value pointed to by v. +// +// Deprecated: Use c.ReadJSON instead. +func ReadJSON(c *Conn, v interface{}) error { + return c.ReadJSON(v) +} + +// ReadJSON reads the next JSON-encoded message from the connection and stores +// it in the value pointed to by v. +// +// See the documentation for the encoding/json Unmarshal function for details +// about the conversion of JSON to a Go value. +func (c *Conn) ReadJSON(v interface{}) error { + _, r, err := c.NextReader() + if err != nil { + return err + } + err = json.NewDecoder(r).Decode(v) + if err == io.EOF { + // One value is expected in the message. + err = io.ErrUnexpectedEOF + } + return err +} diff --git a/vendor/github.com/gorilla/websocket/mask.go b/vendor/github.com/gorilla/websocket/mask.go new file mode 100644 index 000000000..67d0968be --- /dev/null +++ b/vendor/github.com/gorilla/websocket/mask.go @@ -0,0 +1,59 @@ +// Copyright 2016 The Gorilla WebSocket Authors. All rights reserved. Use of +// this source code is governed by a BSD-style license that can be found in the +// LICENSE file. + +//go:build !appengine +// +build !appengine + +package websocket + +import "unsafe" + +// #nosec G103 -- (CWE-242) Has been audited +const wordSize = int(unsafe.Sizeof(uintptr(0))) + +func maskBytes(key [4]byte, pos int, b []byte) int { + // Mask one byte at a time for small buffers. + if len(b) < 2*wordSize { + for i := range b { + b[i] ^= key[pos&3] + pos++ + } + return pos & 3 + } + + // Mask one byte at a time to word boundary. + //#nosec G103 -- (CWE-242) Has been audited + if n := int(uintptr(unsafe.Pointer(&b[0]))) % wordSize; n != 0 { + n = wordSize - n + for i := range b[:n] { + b[i] ^= key[pos&3] + pos++ + } + b = b[n:] + } + + // Create aligned word size key. + var k [wordSize]byte + for i := range k { + k[i] = key[(pos+i)&3] + } + //#nosec G103 -- (CWE-242) Has been audited + kw := *(*uintptr)(unsafe.Pointer(&k)) + + // Mask one word at a time. + n := (len(b) / wordSize) * wordSize + for i := 0; i < n; i += wordSize { + //#nosec G103 -- (CWE-242) Has been audited + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&b[0])) + uintptr(i))) ^= kw + } + + // Mask one byte at a time for remaining bytes. + b = b[n:] + for i := range b { + b[i] ^= key[pos&3] + pos++ + } + + return pos & 3 +} diff --git a/vendor/github.com/gorilla/websocket/mask_safe.go b/vendor/github.com/gorilla/websocket/mask_safe.go new file mode 100644 index 000000000..36250ca7c --- /dev/null +++ b/vendor/github.com/gorilla/websocket/mask_safe.go @@ -0,0 +1,16 @@ +// Copyright 2016 The Gorilla WebSocket Authors. All rights reserved. Use of +// this source code is governed by a BSD-style license that can be found in the +// LICENSE file. + +//go:build appengine +// +build appengine + +package websocket + +func maskBytes(key [4]byte, pos int, b []byte) int { + for i := range b { + b[i] ^= key[pos&3] + pos++ + } + return pos & 3 +} diff --git a/vendor/github.com/gorilla/websocket/prepared.go b/vendor/github.com/gorilla/websocket/prepared.go new file mode 100644 index 000000000..c854225e9 --- /dev/null +++ b/vendor/github.com/gorilla/websocket/prepared.go @@ -0,0 +1,102 @@ +// Copyright 2017 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package websocket + +import ( + "bytes" + "net" + "sync" + "time" +) + +// PreparedMessage caches on the wire representations of a message payload. +// Use PreparedMessage to efficiently send a message payload to multiple +// connections. PreparedMessage is especially useful when compression is used +// because the CPU and memory expensive compression operation can be executed +// once for a given set of compression options. +type PreparedMessage struct { + messageType int + data []byte + mu sync.Mutex + frames map[prepareKey]*preparedFrame +} + +// prepareKey defines a unique set of options to cache prepared frames in PreparedMessage. +type prepareKey struct { + isServer bool + compress bool + compressionLevel int +} + +// preparedFrame contains data in wire representation. +type preparedFrame struct { + once sync.Once + data []byte +} + +// NewPreparedMessage returns an initialized PreparedMessage. You can then send +// it to connection using WritePreparedMessage method. Valid wire +// representation will be calculated lazily only once for a set of current +// connection options. +func NewPreparedMessage(messageType int, data []byte) (*PreparedMessage, error) { + pm := &PreparedMessage{ + messageType: messageType, + frames: make(map[prepareKey]*preparedFrame), + data: data, + } + + // Prepare a plain server frame. + _, frameData, err := pm.frame(prepareKey{isServer: true, compress: false}) + if err != nil { + return nil, err + } + + // To protect against caller modifying the data argument, remember the data + // copied to the plain server frame. + pm.data = frameData[len(frameData)-len(data):] + return pm, nil +} + +func (pm *PreparedMessage) frame(key prepareKey) (int, []byte, error) { + pm.mu.Lock() + frame, ok := pm.frames[key] + if !ok { + frame = &preparedFrame{} + pm.frames[key] = frame + } + pm.mu.Unlock() + + var err error + frame.once.Do(func() { + // Prepare a frame using a 'fake' connection. + // TODO: Refactor code in conn.go to allow more direct construction of + // the frame. + mu := make(chan struct{}, 1) + mu <- struct{}{} + var nc prepareConn + c := &Conn{ + conn: &nc, + mu: mu, + isServer: key.isServer, + compressionLevel: key.compressionLevel, + enableWriteCompression: true, + writeBuf: make([]byte, defaultWriteBufferSize+maxFrameHeaderSize), + } + if key.compress { + c.newCompressionWriter = compressNoContextTakeover + } + err = c.WriteMessage(pm.messageType, pm.data) + frame.data = nc.buf.Bytes() + }) + return pm.messageType, frame.data, err +} + +type prepareConn struct { + buf bytes.Buffer + net.Conn +} + +func (pc *prepareConn) Write(p []byte) (int, error) { return pc.buf.Write(p) } +func (pc *prepareConn) SetWriteDeadline(t time.Time) error { return nil } diff --git a/vendor/github.com/gorilla/websocket/proxy.go b/vendor/github.com/gorilla/websocket/proxy.go new file mode 100644 index 000000000..80f55d1ea --- /dev/null +++ b/vendor/github.com/gorilla/websocket/proxy.go @@ -0,0 +1,86 @@ +// Copyright 2017 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package websocket + +import ( + "bufio" + "encoding/base64" + "errors" + "log" + "net" + "net/http" + "net/url" + "strings" + + "golang.org/x/net/proxy" +) + +type netDialerFunc func(network, addr string) (net.Conn, error) + +func (fn netDialerFunc) Dial(network, addr string) (net.Conn, error) { + return fn(network, addr) +} + +func init() { + proxy.RegisterDialerType("http", func(proxyURL *url.URL, forwardDialer proxy.Dialer) (proxy.Dialer, error) { + return &httpProxyDialer{proxyURL: proxyURL, forwardDial: forwardDialer.Dial}, nil + }) +} + +type httpProxyDialer struct { + proxyURL *url.URL + forwardDial func(network, addr string) (net.Conn, error) +} + +func (hpd *httpProxyDialer) Dial(network string, addr string) (net.Conn, error) { + hostPort, _ := hostPortNoPort(hpd.proxyURL) + conn, err := hpd.forwardDial(network, hostPort) + if err != nil { + return nil, err + } + + connectHeader := make(http.Header) + if user := hpd.proxyURL.User; user != nil { + proxyUser := user.Username() + if proxyPassword, passwordSet := user.Password(); passwordSet { + credential := base64.StdEncoding.EncodeToString([]byte(proxyUser + ":" + proxyPassword)) + connectHeader.Set("Proxy-Authorization", "Basic "+credential) + } + } + + connectReq := &http.Request{ + Method: http.MethodConnect, + URL: &url.URL{Opaque: addr}, + Host: addr, + Header: connectHeader, + } + + if err := connectReq.Write(conn); err != nil { + if err := conn.Close(); err != nil { + log.Printf("httpProxyDialer: failed to close connection: %v", err) + } + return nil, err + } + + // Read response. It's OK to use and discard buffered reader here becaue + // the remote server does not speak until spoken to. + br := bufio.NewReader(conn) + resp, err := http.ReadResponse(br, connectReq) + if err != nil { + if err := conn.Close(); err != nil { + log.Printf("httpProxyDialer: failed to close connection: %v", err) + } + return nil, err + } + + if resp.StatusCode != 200 { + if err := conn.Close(); err != nil { + log.Printf("httpProxyDialer: failed to close connection: %v", err) + } + f := strings.SplitN(resp.Status, " ", 2) + return nil, errors.New(f[1]) + } + return conn, nil +} diff --git a/vendor/github.com/gorilla/websocket/server.go b/vendor/github.com/gorilla/websocket/server.go new file mode 100644 index 000000000..1e720e1da --- /dev/null +++ b/vendor/github.com/gorilla/websocket/server.go @@ -0,0 +1,389 @@ +// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package websocket + +import ( + "bufio" + "errors" + "io" + "log" + "net/http" + "net/url" + "strings" + "time" +) + +// HandshakeError describes an error with the handshake from the peer. +type HandshakeError struct { + message string +} + +func (e HandshakeError) Error() string { return e.message } + +// Upgrader specifies parameters for upgrading an HTTP connection to a +// WebSocket connection. +// +// It is safe to call Upgrader's methods concurrently. +type Upgrader struct { + // HandshakeTimeout specifies the duration for the handshake to complete. + HandshakeTimeout time.Duration + + // ReadBufferSize and WriteBufferSize specify I/O buffer sizes in bytes. If a buffer + // size is zero, then buffers allocated by the HTTP server are used. The + // I/O buffer sizes do not limit the size of the messages that can be sent + // or received. + ReadBufferSize, WriteBufferSize int + + // WriteBufferPool is a pool of buffers for write operations. If the value + // is not set, then write buffers are allocated to the connection for the + // lifetime of the connection. + // + // A pool is most useful when the application has a modest volume of writes + // across a large number of connections. + // + // Applications should use a single pool for each unique value of + // WriteBufferSize. + WriteBufferPool BufferPool + + // Subprotocols specifies the server's supported protocols in order of + // preference. If this field is not nil, then the Upgrade method negotiates a + // subprotocol by selecting the first match in this list with a protocol + // requested by the client. If there's no match, then no protocol is + // negotiated (the Sec-Websocket-Protocol header is not included in the + // handshake response). + Subprotocols []string + + // Error specifies the function for generating HTTP error responses. If Error + // is nil, then http.Error is used to generate the HTTP response. + Error func(w http.ResponseWriter, r *http.Request, status int, reason error) + + // CheckOrigin returns true if the request Origin header is acceptable. If + // CheckOrigin is nil, then a safe default is used: return false if the + // Origin request header is present and the origin host is not equal to + // request Host header. + // + // A CheckOrigin function should carefully validate the request origin to + // prevent cross-site request forgery. + CheckOrigin func(r *http.Request) bool + + // EnableCompression specify if the server should attempt to negotiate per + // message compression (RFC 7692). Setting this value to true does not + // guarantee that compression will be supported. Currently only "no context + // takeover" modes are supported. + EnableCompression bool +} + +func (u *Upgrader) returnError(w http.ResponseWriter, r *http.Request, status int, reason string) (*Conn, error) { + err := HandshakeError{reason} + if u.Error != nil { + u.Error(w, r, status, err) + } else { + w.Header().Set("Sec-Websocket-Version", "13") + http.Error(w, http.StatusText(status), status) + } + return nil, err +} + +// checkSameOrigin returns true if the origin is not set or is equal to the request host. +func checkSameOrigin(r *http.Request) bool { + origin := r.Header["Origin"] + if len(origin) == 0 { + return true + } + u, err := url.Parse(origin[0]) + if err != nil { + return false + } + return equalASCIIFold(u.Host, r.Host) +} + +func (u *Upgrader) selectSubprotocol(r *http.Request, responseHeader http.Header) string { + if u.Subprotocols != nil { + clientProtocols := Subprotocols(r) + for _, serverProtocol := range u.Subprotocols { + for _, clientProtocol := range clientProtocols { + if clientProtocol == serverProtocol { + return clientProtocol + } + } + } + } else if responseHeader != nil { + return responseHeader.Get("Sec-Websocket-Protocol") + } + return "" +} + +// Upgrade upgrades the HTTP server connection to the WebSocket protocol. +// +// The responseHeader is included in the response to the client's upgrade +// request. Use the responseHeader to specify cookies (Set-Cookie). To specify +// subprotocols supported by the server, set Upgrader.Subprotocols directly. +// +// If the upgrade fails, then Upgrade replies to the client with an HTTP error +// response. +func (u *Upgrader) Upgrade(w http.ResponseWriter, r *http.Request, responseHeader http.Header) (*Conn, error) { + const badHandshake = "websocket: the client is not using the websocket protocol: " + + if !tokenListContainsValue(r.Header, "Connection", "upgrade") { + return u.returnError(w, r, http.StatusBadRequest, badHandshake+"'upgrade' token not found in 'Connection' header") + } + + if !tokenListContainsValue(r.Header, "Upgrade", "websocket") { + return u.returnError(w, r, http.StatusBadRequest, badHandshake+"'websocket' token not found in 'Upgrade' header") + } + + if r.Method != http.MethodGet { + return u.returnError(w, r, http.StatusMethodNotAllowed, badHandshake+"request method is not GET") + } + + if !tokenListContainsValue(r.Header, "Sec-Websocket-Version", "13") { + return u.returnError(w, r, http.StatusBadRequest, "websocket: unsupported version: 13 not found in 'Sec-Websocket-Version' header") + } + + if _, ok := responseHeader["Sec-Websocket-Extensions"]; ok { + return u.returnError(w, r, http.StatusInternalServerError, "websocket: application specific 'Sec-WebSocket-Extensions' headers are unsupported") + } + + checkOrigin := u.CheckOrigin + if checkOrigin == nil { + checkOrigin = checkSameOrigin + } + if !checkOrigin(r) { + return u.returnError(w, r, http.StatusForbidden, "websocket: request origin not allowed by Upgrader.CheckOrigin") + } + + challengeKey := r.Header.Get("Sec-Websocket-Key") + if !isValidChallengeKey(challengeKey) { + return u.returnError(w, r, http.StatusBadRequest, "websocket: not a websocket handshake: 'Sec-WebSocket-Key' header must be Base64 encoded value of 16-byte in length") + } + + subprotocol := u.selectSubprotocol(r, responseHeader) + + // Negotiate PMCE + var compress bool + if u.EnableCompression { + for _, ext := range parseExtensions(r.Header) { + if ext[""] != "permessage-deflate" { + continue + } + compress = true + break + } + } + + h, ok := w.(http.Hijacker) + if !ok { + return u.returnError(w, r, http.StatusInternalServerError, "websocket: response does not implement http.Hijacker") + } + var brw *bufio.ReadWriter + netConn, brw, err := h.Hijack() + if err != nil { + return u.returnError(w, r, http.StatusInternalServerError, err.Error()) + } + + if brw.Reader.Buffered() > 0 { + if err := netConn.Close(); err != nil { + log.Printf("websocket: failed to close network connection: %v", err) + } + return nil, errors.New("websocket: client sent data before handshake is complete") + } + + var br *bufio.Reader + if u.ReadBufferSize == 0 && bufioReaderSize(netConn, brw.Reader) > 256 { + // Reuse hijacked buffered reader as connection reader. + br = brw.Reader + } + + buf := bufioWriterBuffer(netConn, brw.Writer) + + var writeBuf []byte + if u.WriteBufferPool == nil && u.WriteBufferSize == 0 && len(buf) >= maxFrameHeaderSize+256 { + // Reuse hijacked write buffer as connection buffer. + writeBuf = buf + } + + c := newConn(netConn, true, u.ReadBufferSize, u.WriteBufferSize, u.WriteBufferPool, br, writeBuf) + c.subprotocol = subprotocol + + if compress { + c.newCompressionWriter = compressNoContextTakeover + c.newDecompressionReader = decompressNoContextTakeover + } + + // Use larger of hijacked buffer and connection write buffer for header. + p := buf + if len(c.writeBuf) > len(p) { + p = c.writeBuf + } + p = p[:0] + + p = append(p, "HTTP/1.1 101 Switching Protocols\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: "...) + p = append(p, computeAcceptKey(challengeKey)...) + p = append(p, "\r\n"...) + if c.subprotocol != "" { + p = append(p, "Sec-WebSocket-Protocol: "...) + p = append(p, c.subprotocol...) + p = append(p, "\r\n"...) + } + if compress { + p = append(p, "Sec-WebSocket-Extensions: permessage-deflate; server_no_context_takeover; client_no_context_takeover\r\n"...) + } + for k, vs := range responseHeader { + if k == "Sec-Websocket-Protocol" { + continue + } + for _, v := range vs { + p = append(p, k...) + p = append(p, ": "...) + for i := 0; i < len(v); i++ { + b := v[i] + if b <= 31 { + // prevent response splitting. + b = ' ' + } + p = append(p, b) + } + p = append(p, "\r\n"...) + } + } + p = append(p, "\r\n"...) + + // Clear deadlines set by HTTP server. + if err := netConn.SetDeadline(time.Time{}); err != nil { + if err := netConn.Close(); err != nil { + log.Printf("websocket: failed to close network connection: %v", err) + } + return nil, err + } + + if u.HandshakeTimeout > 0 { + if err := netConn.SetWriteDeadline(time.Now().Add(u.HandshakeTimeout)); err != nil { + if err := netConn.Close(); err != nil { + log.Printf("websocket: failed to close network connection: %v", err) + } + return nil, err + } + } + if _, err = netConn.Write(p); err != nil { + if err := netConn.Close(); err != nil { + log.Printf("websocket: failed to close network connection: %v", err) + } + return nil, err + } + if u.HandshakeTimeout > 0 { + if err := netConn.SetWriteDeadline(time.Time{}); err != nil { + if err := netConn.Close(); err != nil { + log.Printf("websocket: failed to close network connection: %v", err) + } + return nil, err + } + } + + return c, nil +} + +// Upgrade upgrades the HTTP server connection to the WebSocket protocol. +// +// Deprecated: Use websocket.Upgrader instead. +// +// Upgrade does not perform origin checking. The application is responsible for +// checking the Origin header before calling Upgrade. An example implementation +// of the same origin policy check is: +// +// if req.Header.Get("Origin") != "http://"+req.Host { +// http.Error(w, "Origin not allowed", http.StatusForbidden) +// return +// } +// +// If the endpoint supports subprotocols, then the application is responsible +// for negotiating the protocol used on the connection. Use the Subprotocols() +// function to get the subprotocols requested by the client. Use the +// Sec-Websocket-Protocol response header to specify the subprotocol selected +// by the application. +// +// The responseHeader is included in the response to the client's upgrade +// request. Use the responseHeader to specify cookies (Set-Cookie) and the +// negotiated subprotocol (Sec-Websocket-Protocol). +// +// The connection buffers IO to the underlying network connection. The +// readBufSize and writeBufSize parameters specify the size of the buffers to +// use. Messages can be larger than the buffers. +// +// If the request is not a valid WebSocket handshake, then Upgrade returns an +// error of type HandshakeError. Applications should handle this error by +// replying to the client with an HTTP error response. +func Upgrade(w http.ResponseWriter, r *http.Request, responseHeader http.Header, readBufSize, writeBufSize int) (*Conn, error) { + u := Upgrader{ReadBufferSize: readBufSize, WriteBufferSize: writeBufSize} + u.Error = func(w http.ResponseWriter, r *http.Request, status int, reason error) { + // don't return errors to maintain backwards compatibility + } + u.CheckOrigin = func(r *http.Request) bool { + // allow all connections by default + return true + } + return u.Upgrade(w, r, responseHeader) +} + +// Subprotocols returns the subprotocols requested by the client in the +// Sec-Websocket-Protocol header. +func Subprotocols(r *http.Request) []string { + h := strings.TrimSpace(r.Header.Get("Sec-Websocket-Protocol")) + if h == "" { + return nil + } + protocols := strings.Split(h, ",") + for i := range protocols { + protocols[i] = strings.TrimSpace(protocols[i]) + } + return protocols +} + +// IsWebSocketUpgrade returns true if the client requested upgrade to the +// WebSocket protocol. +func IsWebSocketUpgrade(r *http.Request) bool { + return tokenListContainsValue(r.Header, "Connection", "upgrade") && + tokenListContainsValue(r.Header, "Upgrade", "websocket") +} + +// bufioReaderSize size returns the size of a bufio.Reader. +func bufioReaderSize(originalReader io.Reader, br *bufio.Reader) int { + // This code assumes that peek on a reset reader returns + // bufio.Reader.buf[:0]. + // TODO: Use bufio.Reader.Size() after Go 1.10 + br.Reset(originalReader) + if p, err := br.Peek(0); err == nil { + return cap(p) + } + return 0 +} + +// writeHook is an io.Writer that records the last slice passed to it vio +// io.Writer.Write. +type writeHook struct { + p []byte +} + +func (wh *writeHook) Write(p []byte) (int, error) { + wh.p = p + return len(p), nil +} + +// bufioWriterBuffer grabs the buffer from a bufio.Writer. +func bufioWriterBuffer(originalWriter io.Writer, bw *bufio.Writer) []byte { + // This code assumes that bufio.Writer.buf[:1] is passed to the + // bufio.Writer's underlying writer. + var wh writeHook + bw.Reset(&wh) + if err := bw.WriteByte(0); err != nil { + panic(err) + } + if err := bw.Flush(); err != nil { + log.Printf("websocket: bufioWriterBuffer: Flush: %v", err) + } + + bw.Reset(originalWriter) + + return wh.p[:cap(wh.p)] +} diff --git a/vendor/github.com/gorilla/websocket/tls_handshake.go b/vendor/github.com/gorilla/websocket/tls_handshake.go new file mode 100644 index 000000000..7f3864534 --- /dev/null +++ b/vendor/github.com/gorilla/websocket/tls_handshake.go @@ -0,0 +1,18 @@ +package websocket + +import ( + "context" + "crypto/tls" +) + +func doHandshake(ctx context.Context, tlsConn *tls.Conn, cfg *tls.Config) error { + if err := tlsConn.HandshakeContext(ctx); err != nil { + return err + } + if !cfg.InsecureSkipVerify { + if err := tlsConn.VerifyHostname(cfg.ServerName); err != nil { + return err + } + } + return nil +} diff --git a/vendor/github.com/gorilla/websocket/util.go b/vendor/github.com/gorilla/websocket/util.go new file mode 100644 index 000000000..9b1a629bf --- /dev/null +++ b/vendor/github.com/gorilla/websocket/util.go @@ -0,0 +1,298 @@ +// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package websocket + +import ( + "crypto/rand" + "crypto/sha1" //#nosec G505 -- (CWE-327) https://datatracker.ietf.org/doc/html/rfc6455#page-54 + "encoding/base64" + "io" + "net/http" + "strings" + "unicode/utf8" +) + +var keyGUID = []byte("258EAFA5-E914-47DA-95CA-C5AB0DC85B11") + +func computeAcceptKey(challengeKey string) string { + h := sha1.New() //#nosec G401 -- (CWE-326) https://datatracker.ietf.org/doc/html/rfc6455#page-54 + h.Write([]byte(challengeKey)) + h.Write(keyGUID) + return base64.StdEncoding.EncodeToString(h.Sum(nil)) +} + +func generateChallengeKey() (string, error) { + p := make([]byte, 16) + if _, err := io.ReadFull(rand.Reader, p); err != nil { + return "", err + } + return base64.StdEncoding.EncodeToString(p), nil +} + +// Token octets per RFC 2616. +var isTokenOctet = [256]bool{ + '!': true, + '#': true, + '$': true, + '%': true, + '&': true, + '\'': true, + '*': true, + '+': true, + '-': true, + '.': true, + '0': true, + '1': true, + '2': true, + '3': true, + '4': true, + '5': true, + '6': true, + '7': true, + '8': true, + '9': true, + 'A': true, + 'B': true, + 'C': true, + 'D': true, + 'E': true, + 'F': true, + 'G': true, + 'H': true, + 'I': true, + 'J': true, + 'K': true, + 'L': true, + 'M': true, + 'N': true, + 'O': true, + 'P': true, + 'Q': true, + 'R': true, + 'S': true, + 'T': true, + 'U': true, + 'W': true, + 'V': true, + 'X': true, + 'Y': true, + 'Z': true, + '^': true, + '_': true, + '`': true, + 'a': true, + 'b': true, + 'c': true, + 'd': true, + 'e': true, + 'f': true, + 'g': true, + 'h': true, + 'i': true, + 'j': true, + 'k': true, + 'l': true, + 'm': true, + 'n': true, + 'o': true, + 'p': true, + 'q': true, + 'r': true, + 's': true, + 't': true, + 'u': true, + 'v': true, + 'w': true, + 'x': true, + 'y': true, + 'z': true, + '|': true, + '~': true, +} + +// skipSpace returns a slice of the string s with all leading RFC 2616 linear +// whitespace removed. +func skipSpace(s string) (rest string) { + i := 0 + for ; i < len(s); i++ { + if b := s[i]; b != ' ' && b != '\t' { + break + } + } + return s[i:] +} + +// nextToken returns the leading RFC 2616 token of s and the string following +// the token. +func nextToken(s string) (token, rest string) { + i := 0 + for ; i < len(s); i++ { + if !isTokenOctet[s[i]] { + break + } + } + return s[:i], s[i:] +} + +// nextTokenOrQuoted returns the leading token or quoted string per RFC 2616 +// and the string following the token or quoted string. +func nextTokenOrQuoted(s string) (value string, rest string) { + if !strings.HasPrefix(s, "\"") { + return nextToken(s) + } + s = s[1:] + for i := 0; i < len(s); i++ { + switch s[i] { + case '"': + return s[:i], s[i+1:] + case '\\': + p := make([]byte, len(s)-1) + j := copy(p, s[:i]) + escape := true + for i = i + 1; i < len(s); i++ { + b := s[i] + switch { + case escape: + escape = false + p[j] = b + j++ + case b == '\\': + escape = true + case b == '"': + return string(p[:j]), s[i+1:] + default: + p[j] = b + j++ + } + } + return "", "" + } + } + return "", "" +} + +// equalASCIIFold returns true if s is equal to t with ASCII case folding as +// defined in RFC 4790. +func equalASCIIFold(s, t string) bool { + for s != "" && t != "" { + sr, size := utf8.DecodeRuneInString(s) + s = s[size:] + tr, size := utf8.DecodeRuneInString(t) + t = t[size:] + if sr == tr { + continue + } + if 'A' <= sr && sr <= 'Z' { + sr = sr + 'a' - 'A' + } + if 'A' <= tr && tr <= 'Z' { + tr = tr + 'a' - 'A' + } + if sr != tr { + return false + } + } + return s == t +} + +// tokenListContainsValue returns true if the 1#token header with the given +// name contains a token equal to value with ASCII case folding. +func tokenListContainsValue(header http.Header, name string, value string) bool { +headers: + for _, s := range header[name] { + for { + var t string + t, s = nextToken(skipSpace(s)) + if t == "" { + continue headers + } + s = skipSpace(s) + if s != "" && s[0] != ',' { + continue headers + } + if equalASCIIFold(t, value) { + return true + } + if s == "" { + continue headers + } + s = s[1:] + } + } + return false +} + +// parseExtensions parses WebSocket extensions from a header. +func parseExtensions(header http.Header) []map[string]string { + // From RFC 6455: + // + // Sec-WebSocket-Extensions = extension-list + // extension-list = 1#extension + // extension = extension-token *( ";" extension-param ) + // extension-token = registered-token + // registered-token = token + // extension-param = token [ "=" (token | quoted-string) ] + // ;When using the quoted-string syntax variant, the value + // ;after quoted-string unescaping MUST conform to the + // ;'token' ABNF. + + var result []map[string]string +headers: + for _, s := range header["Sec-Websocket-Extensions"] { + for { + var t string + t, s = nextToken(skipSpace(s)) + if t == "" { + continue headers + } + ext := map[string]string{"": t} + for { + s = skipSpace(s) + if !strings.HasPrefix(s, ";") { + break + } + var k string + k, s = nextToken(skipSpace(s[1:])) + if k == "" { + continue headers + } + s = skipSpace(s) + var v string + if strings.HasPrefix(s, "=") { + v, s = nextTokenOrQuoted(skipSpace(s[1:])) + s = skipSpace(s) + } + if s != "" && s[0] != ',' && s[0] != ';' { + continue headers + } + ext[k] = v + } + if s != "" && s[0] != ',' { + continue headers + } + result = append(result, ext) + if s == "" { + continue headers + } + s = s[1:] + } + } + return result +} + +// isValidChallengeKey checks if the argument meets RFC6455 specification. +func isValidChallengeKey(s string) bool { + // From RFC6455: + // + // A |Sec-WebSocket-Key| header field with a base64-encoded (see + // Section 4 of [RFC4648]) value that, when decoded, is 16 bytes in + // length. + + if s == "" { + return false + } + decoded, err := base64.StdEncoding.DecodeString(s) + return err == nil && len(decoded) == 16 +} diff --git a/vendor/github.com/rancher/norman/LICENSE b/vendor/github.com/rancher/norman/LICENSE new file mode 100644 index 000000000..f433b1a53 --- /dev/null +++ b/vendor/github.com/rancher/norman/LICENSE @@ -0,0 +1,177 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS diff --git a/vendor/github.com/rancher/norman/clientbase/common.go b/vendor/github.com/rancher/norman/clientbase/common.go new file mode 100644 index 000000000..ee0a4c3f0 --- /dev/null +++ b/vendor/github.com/rancher/norman/clientbase/common.go @@ -0,0 +1,407 @@ +package clientbase + +import ( + "bytes" + "crypto/tls" + "crypto/x509" + "encoding/base64" + "encoding/json" + "fmt" + "io" + "net/http" + "net/url" + "os" + "time" + + "github.com/gorilla/websocket" + "github.com/pkg/errors" + "github.com/rancher/norman/types" +) + +const ( + SELF = "self" + COLLECTION = "collection" +) + +var ( + Debug = false +) + +type APIBaseClientInterface interface { + Websocket(url string, headers map[string][]string) (*websocket.Conn, *http.Response, error) + List(schemaType string, opts *types.ListOpts, respObject interface{}) error + Post(url string, createObj interface{}, respObject interface{}) error + GetLink(resource types.Resource, link string, respObject interface{}) error + Create(schemaType string, createObj interface{}, respObject interface{}) error + Update(schemaType string, existing *types.Resource, updates interface{}, respObject interface{}) error + Replace(schemaType string, existing *types.Resource, updates interface{}, respObject interface{}) error + ByID(schemaType string, id string, respObject interface{}) error + Delete(existing *types.Resource) error + Reload(existing *types.Resource, output interface{}) error + Action(schemaType string, action string, existing *types.Resource, inputObject, respObject interface{}) error +} + +type APIBaseClient struct { + Ops *APIOperations + Opts *ClientOpts + Types map[string]types.Schema +} + +type ClientOpts struct { + URL string + AccessKey string + SecretKey string + TokenKey string + Timeout time.Duration + HTTPClient *http.Client + WSDialer *websocket.Dialer + CACerts string + Insecure bool + ProxyURL string +} + +func (c *ClientOpts) getAuthHeader() string { + if c.TokenKey != "" { + return "Bearer " + c.TokenKey + } + if c.AccessKey != "" && c.SecretKey != "" { + s := c.AccessKey + ":" + c.SecretKey + return "Basic " + base64.StdEncoding.EncodeToString([]byte(s)) + } + return "" +} + +type APIError struct { + StatusCode int + URL string + Msg string + Status string + Body string +} + +func (e *APIError) Error() string { + return e.Msg +} + +func IsNotFound(err error) bool { + apiError, ok := err.(*APIError) + if !ok { + return false + } + + return apiError.StatusCode == http.StatusNotFound +} + +func NewAPIError(resp *http.Response, url string) *APIError { + contents, err := io.ReadAll(resp.Body) + var body string + if err != nil { + body = "Unreadable body." + } else { + body = string(contents) + } + + data := map[string]interface{}{} + if json.Unmarshal(contents, &data) == nil { + delete(data, "id") + delete(data, "links") + delete(data, "actions") + delete(data, "type") + delete(data, "status") + buf := &bytes.Buffer{} + for k, v := range data { + if v == nil { + continue + } + if buf.Len() > 0 { + buf.WriteString(", ") + } + fmt.Fprintf(buf, "%s=%v", k, v) + } + body = buf.String() + } + formattedMsg := fmt.Sprintf("Bad response statusCode [%d]. Status [%s]. Body: [%s] from [%s]", + resp.StatusCode, resp.Status, body, url) + return &APIError{ + URL: url, + Msg: formattedMsg, + StatusCode: resp.StatusCode, + Status: resp.Status, + Body: body, + } +} + +func contains(array []string, item string) bool { + for _, check := range array { + if check == item { + return true + } + } + + return false +} + +func appendFilters(urlString string, filters map[string]interface{}) (string, error) { + if len(filters) == 0 { + return urlString, nil + } + + u, err := url.Parse(urlString) + if err != nil { + return "", err + } + + q := u.Query() + for k, v := range filters { + if l, ok := v.([]string); ok { + for _, v := range l { + q.Add(k, v) + } + } else { + q.Add(k, fmt.Sprintf("%v", v)) + } + } + + u.RawQuery = q.Encode() + return u.String(), nil +} + +func NewAPIClient(opts *ClientOpts) (APIBaseClient, error) { + var err error + + result := APIBaseClient{ + Types: map[string]types.Schema{}, + } + + client := opts.HTTPClient + if client == nil { + client = &http.Client{} + } + + if opts.Timeout == 0 { + opts.Timeout = time.Minute + } + + client.Timeout = opts.Timeout + + var proxy func(*http.Request) (*url.URL, error) + if opts.ProxyURL != "" { + proxyURL, err := url.Parse(opts.ProxyURL) + if err != nil { + return result, fmt.Errorf("invalid proxy address %q: %w", opts.ProxyURL, err) + } + proxy = http.ProxyURL(proxyURL) + } else { + proxy = http.ProxyFromEnvironment + } + + if opts.CACerts != "" { + if Debug { + fmt.Println("Some CAcerts are provided.") + } + roots := x509.NewCertPool() + ok := roots.AppendCertsFromPEM([]byte(opts.CACerts)) + if !ok { + return result, err + } + tr := &http.Transport{ + TLSClientConfig: &tls.Config{ + RootCAs: roots, + }, + Proxy: proxy, + } + client.Transport = tr + } + + if opts.Insecure { + if Debug { + fmt.Println("Insecure TLS set.") + } + tr := &http.Transport{ + TLSClientConfig: &tls.Config{ + InsecureSkipVerify: opts.Insecure, + }, + Proxy: proxy, + } + client.Transport = tr + } + + if !(opts.Insecure) && (opts.CACerts == "") { + if Debug { + fmt.Println("Insecure TLS not set and no CAcerts is provided.") + } + tr := &http.Transport{ + Proxy: proxy, + } + client.Transport = tr + } + + req, err := http.NewRequest("GET", opts.URL, nil) + if err != nil { + return result, err + } + req.Header.Add("Authorization", opts.getAuthHeader()) + + resp, err := client.Do(req) + if err != nil { + return result, err + } + defer func(closer io.Closer) { + closer.Close() + }(resp.Body) + + if resp.StatusCode != 200 { + return result, NewAPIError(resp, opts.URL) + } + + schemasURLs := resp.Header.Get("X-API-Schemas") + if len(schemasURLs) == 0 { + return result, errors.New("Failed to find schema at [" + opts.URL + "]") + } + + if schemasURLs != opts.URL { + req, err = http.NewRequest("GET", schemasURLs, nil) + if err != nil { + return result, err + } + req.Header.Add("Authorization", opts.getAuthHeader()) + + if Debug { + fmt.Println("GET " + req.URL.String()) + } + + resp, err = client.Do(req) + if err != nil { + return result, err + } + defer func(closer io.Closer) { + closer.Close() + }(resp.Body) + + if resp.StatusCode != 200 { + return result, NewAPIError(resp, schemasURLs) + } + } + + var schemas types.SchemaCollection + bytes, err := io.ReadAll(resp.Body) + if err != nil { + return result, err + } + + if Debug { + fmt.Println("Response <= " + string(bytes)) + } + + err = json.Unmarshal(bytes, &schemas) + if err != nil { + return result, err + } + + for _, schema := range schemas.Data { + result.Types[schema.ID] = schema + } + + result.Opts = opts + result.Ops = &APIOperations{ + Opts: opts, + Client: client, + Dialer: &websocket.Dialer{HandshakeTimeout: 10 * time.Second}, + Types: result.Types, + } + + if result.Opts.WSDialer != nil { + result.Ops.Dialer = result.Opts.WSDialer + } + + ht, ok := client.Transport.(*http.Transport) + if ok { + result.Ops.Dialer.TLSClientConfig = ht.TLSClientConfig + } + + return result, nil +} + +func NewListOpts() *types.ListOpts { + return &types.ListOpts{ + Filters: map[string]interface{}{}, + } +} + +func (a *APIBaseClient) Websocket(url string, headers map[string][]string) (*websocket.Conn, *http.Response, error) { + httpHeaders := http.Header{} + for k, v := range httpHeaders { + httpHeaders[k] = v + } + + if a.Opts != nil { + httpHeaders.Add("Authorization", a.Opts.getAuthHeader()) + } + + if Debug { + fmt.Println("WS " + url) + } + + return a.Ops.Dialer.Dial(url, http.Header(httpHeaders)) +} + +func (a *APIBaseClient) List(schemaType string, opts *types.ListOpts, respObject interface{}) error { + return a.Ops.DoList(schemaType, opts, respObject) +} + +func (a *APIBaseClient) Post(url string, createObj interface{}, respObject interface{}) error { + return a.Ops.DoModify("POST", url, createObj, respObject) +} + +func (a *APIBaseClient) GetLink(resource types.Resource, link string, respObject interface{}) error { + url := resource.Links[link] + if url == "" { + return fmt.Errorf("failed to find link: %s", link) + } + + return a.Ops.DoGet(url, &types.ListOpts{}, respObject) +} + +func (a *APIBaseClient) Create(schemaType string, createObj interface{}, respObject interface{}) error { + return a.Ops.DoCreate(schemaType, createObj, respObject) +} + +func (a *APIBaseClient) Update(schemaType string, existing *types.Resource, updates interface{}, respObject interface{}) error { + return a.Ops.DoUpdate(schemaType, existing, updates, respObject) +} + +func (a *APIBaseClient) Replace(schemaType string, existing *types.Resource, updates interface{}, respObject interface{}) error { + return a.Ops.DoReplace(schemaType, existing, updates, respObject) +} + +func (a *APIBaseClient) ByID(schemaType string, id string, respObject interface{}) error { + return a.Ops.DoByID(schemaType, id, respObject) +} + +func (a *APIBaseClient) Delete(existing *types.Resource) error { + if existing == nil { + return nil + } + return a.Ops.DoResourceDelete(existing.Type, existing) +} + +func (a *APIBaseClient) Reload(existing *types.Resource, output interface{}) error { + selfURL, ok := existing.Links[SELF] + if !ok { + return fmt.Errorf("failed to find self URL of [%v]", existing) + } + + return a.Ops.DoGet(selfURL, NewListOpts(), output) +} + +func (a *APIBaseClient) Action(schemaType string, action string, + existing *types.Resource, inputObject, respObject interface{}) error { + return a.Ops.DoAction(schemaType, action, existing, inputObject, respObject) +} + +func init() { + Debug = os.Getenv("RANCHER_CLIENT_DEBUG") == "true" + if Debug { + fmt.Println("Rancher client debug on") + } +} diff --git a/vendor/github.com/rancher/norman/clientbase/ops.go b/vendor/github.com/rancher/norman/clientbase/ops.go new file mode 100644 index 000000000..f8d6e83c3 --- /dev/null +++ b/vendor/github.com/rancher/norman/clientbase/ops.go @@ -0,0 +1,377 @@ +package clientbase + +import ( + "bytes" + "encoding/json" + "fmt" + "io" + "net/http" + "net/url" + "regexp" + + "github.com/gorilla/websocket" + "github.com/pkg/errors" + "github.com/rancher/norman/types" +) + +type APIOperations struct { + Opts *ClientOpts + Types map[string]types.Schema + Client *http.Client + Dialer *websocket.Dialer +} + +func (a *APIOperations) SetupRequest(req *http.Request) { + req.Header.Add("Authorization", a.Opts.getAuthHeader()) +} + +func (a *APIOperations) DoDelete(url string) error { + req, err := http.NewRequest("DELETE", url, nil) + if err != nil { + return err + } + + a.SetupRequest(req) + + resp, err := a.Client.Do(req) + if err != nil { + return err + } + defer func() { + _, _ = io.Copy(io.Discard, resp.Body) + resp.Body.Close() + }() + + if resp.StatusCode >= 300 { + return NewAPIError(resp, url) + } + + return nil +} + +func (a *APIOperations) DoGet(url string, opts *types.ListOpts, respObject interface{}) error { + if opts == nil { + opts = NewListOpts() + } + url, err := appendFilters(url, opts.Filters) + if err != nil { + return err + } + + if Debug { + fmt.Println("GET " + url) + } + + req, err := http.NewRequest("GET", url, nil) + if err != nil { + return err + } + + a.SetupRequest(req) + + resp, err := a.Client.Do(req) + if err != nil { + return err + } + + defer resp.Body.Close() + + if resp.StatusCode != 200 { + return NewAPIError(resp, url) + } + + byteContent, err := io.ReadAll(resp.Body) + if err != nil { + return err + } + + if Debug { + fmt.Println("Response <= " + string(byteContent)) + } + + if err := json.Unmarshal(byteContent, respObject); err != nil { + return errors.Wrap(err, fmt.Sprintf("Failed to parse: %s", byteContent)) + } + + return nil +} + +func (a *APIOperations) DoList(schemaType string, opts *types.ListOpts, respObject interface{}) error { + schema, ok := a.Types[schemaType] + if !ok { + return errors.New("Unknown schema type [" + schemaType + "]") + } + + if !contains(schema.CollectionMethods, "GET") { + return errors.New("Resource type [" + schemaType + "] is not listable") + } + + collectionURL, ok := schema.Links["collection"] + if !ok { + return errors.New("Resource type [" + schemaType + "] does not have a collection URL") + } + + return a.DoGet(collectionURL, opts, respObject) +} + +func (a *APIOperations) DoNext(nextURL string, respObject interface{}) error { + return a.DoGet(nextURL, nil, respObject) +} + +func (a *APIOperations) DoModify(method string, url string, createObj interface{}, respObject interface{}) error { + if createObj == nil { + createObj = map[string]string{} + } + if respObject == nil { + respObject = &map[string]interface{}{} + } + bodyContent, err := json.Marshal(createObj) + if err != nil { + return err + } + + if Debug { + fmt.Println(method + " " + url) + fmt.Println("Request => " + string(bodyContent)) + } + + req, err := http.NewRequest(method, url, bytes.NewBuffer(bodyContent)) + if err != nil { + return err + } + + a.SetupRequest(req) + req.Header.Set("Content-Type", "application/json") + + resp, err := a.Client.Do(req) + if err != nil { + return err + } + + defer resp.Body.Close() + + if resp.StatusCode >= 300 { + return NewAPIError(resp, url) + } + + byteContent, err := io.ReadAll(resp.Body) + if err != nil { + return err + } + + if len(byteContent) > 0 { + if Debug { + fmt.Println("Response <= " + string(byteContent)) + } + return json.Unmarshal(byteContent, respObject) + } + + return nil +} + +func (a *APIOperations) DoCreate(schemaType string, createObj interface{}, respObject interface{}) error { + if createObj == nil { + createObj = map[string]string{} + } + if respObject == nil { + respObject = &map[string]interface{}{} + } + schema, ok := a.Types[schemaType] + if !ok { + return errors.New("Unknown schema type [" + schemaType + "]") + } + + if !contains(schema.CollectionMethods, "POST") { + return errors.New("Resource type [" + schemaType + "] is not creatable") + } + + var collectionURL string + collectionURL, ok = schema.Links[COLLECTION] + if !ok { + // return errors.New("Failed to find collection URL for [" + schemaType + "]") + // This is a hack to address https://github.com/rancher/cattle/issues/254 + re := regexp.MustCompile("schemas.*") + collectionURL = re.ReplaceAllString(schema.Links[SELF], schema.PluralName) + } + + return a.DoModify("POST", collectionURL, createObj, respObject) +} + +func (a *APIOperations) DoReplace(schemaType string, existing *types.Resource, updates interface{}, respObject interface{}) error { + return a.doUpdate(schemaType, true, existing, updates, respObject) +} + +func (a *APIOperations) DoUpdate(schemaType string, existing *types.Resource, updates interface{}, respObject interface{}) error { + return a.doUpdate(schemaType, false, existing, updates, respObject) +} + +func (a *APIOperations) doUpdate(schemaType string, replace bool, existing *types.Resource, updates interface{}, respObject interface{}) error { + if existing == nil { + return errors.New("Existing object is nil") + } + + selfURL, ok := existing.Links[SELF] + if !ok { + return fmt.Errorf("failed to find self URL of [%v]", existing) + } + + if replace { + u, err := url.Parse(selfURL) + if err != nil { + return fmt.Errorf("failed to parse url %s: %v", selfURL, err) + } + q := u.Query() + q.Set("_replace", "true") + u.RawQuery = q.Encode() + selfURL = u.String() + } + + if updates == nil { + updates = map[string]string{} + } + + if respObject == nil { + respObject = &map[string]interface{}{} + } + + schema, ok := a.Types[schemaType] + if !ok { + return errors.New("Unknown schema type [" + schemaType + "]") + } + + if !contains(schema.ResourceMethods, "PUT") { + return errors.New("Resource type [" + schemaType + "] is not updatable") + } + + return a.DoModify("PUT", selfURL, updates, respObject) +} + +func (a *APIOperations) DoByID(schemaType string, id string, respObject interface{}) error { + schema, ok := a.Types[schemaType] + if !ok { + return errors.New("Unknown schema type [" + schemaType + "]") + } + + if !contains(schema.ResourceMethods, "GET") { + return errors.New("Resource type [" + schemaType + "] can not be looked up by ID") + } + + collectionURL, ok := schema.Links[COLLECTION] + if !ok { + return errors.New("Failed to find collection URL for [" + schemaType + "]") + } + + return a.DoGet(collectionURL+"/"+id, nil, respObject) +} + +func (a *APIOperations) DoResourceDelete(schemaType string, existing *types.Resource) error { + schema, ok := a.Types[schemaType] + if !ok { + return errors.New("Unknown schema type [" + schemaType + "]") + } + + if !contains(schema.ResourceMethods, "DELETE") { + return errors.New("Resource type [" + schemaType + "] can not be deleted") + } + + selfURL, ok := existing.Links[SELF] + if !ok { + return fmt.Errorf("failed to find self URL of [%v]", existing) + } + + return a.DoDelete(selfURL) +} + +func (a *APIOperations) DoAction(schemaType string, action string, + existing *types.Resource, inputObject, respObject interface{}) error { + + if existing == nil { + return errors.New("Existing object is nil") + } + + actionURL, ok := existing.Actions[action] + if !ok { + return fmt.Errorf("action [%v] not available on [%v]", action, existing) + } + + return a.doAction(schemaType, action, actionURL, inputObject, respObject) +} + +func (a *APIOperations) DoCollectionAction(schemaType string, action string, + existing *types.Collection, inputObject, respObject interface{}) error { + + if existing == nil { + return errors.New("Existing object is nil") + } + + actionURL, ok := existing.Actions[action] + if !ok { + return fmt.Errorf("action [%v] not available on [%v]", action, existing) + } + + return a.doAction(schemaType, action, actionURL, inputObject, respObject) +} + +func (a *APIOperations) doAction( + schemaType string, + action string, + actionURL string, + inputObject interface{}, + respObject interface{}, +) error { + _, ok := a.Types[schemaType] + if !ok { + return errors.New("Unknown schema type [" + schemaType + "]") + } + + var input io.Reader + + if Debug { + fmt.Println("POST " + actionURL) + } + + if inputObject != nil { + bodyContent, err := json.Marshal(inputObject) + if err != nil { + return err + } + if Debug { + fmt.Println("Request => " + string(bodyContent)) + } + input = bytes.NewBuffer(bodyContent) + } + + req, err := http.NewRequest("POST", actionURL, input) + if err != nil { + return err + } + + a.SetupRequest(req) + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Content-Length", "0") + + resp, err := a.Client.Do(req) + if err != nil { + return err + } + + defer resp.Body.Close() + + if resp.StatusCode >= 300 { + return NewAPIError(resp, actionURL) + } + + byteContent, err := io.ReadAll(resp.Body) + if err != nil { + return err + } + + if Debug { + fmt.Println("Response <= " + string(byteContent)) + } + + if nil != respObject { + return json.Unmarshal(byteContent, respObject) + } + return nil +} diff --git a/vendor/github.com/rancher/norman/httperror/error.go b/vendor/github.com/rancher/norman/httperror/error.go new file mode 100644 index 000000000..8ac835b44 --- /dev/null +++ b/vendor/github.com/rancher/norman/httperror/error.go @@ -0,0 +1,129 @@ +package httperror + +import ( + "fmt" +) + +var ( + Unauthorized = ErrorCode{"Unauthorized", 401} + PermissionDenied = ErrorCode{"PermissionDenied", 403} + NotFound = ErrorCode{"NotFound", 404} + MethodNotAllowed = ErrorCode{"MethodNotAllow", 405} + Conflict = ErrorCode{"Conflict", 409} + + InvalidDateFormat = ErrorCode{"InvalidDateFormat", 422} + InvalidFormat = ErrorCode{"InvalidFormat", 422} + InvalidReference = ErrorCode{"InvalidReference", 422} + NotNullable = ErrorCode{"NotNullable", 422} + NotUnique = ErrorCode{"NotUnique", 422} + MinLimitExceeded = ErrorCode{"MinLimitExceeded", 422} + MaxLimitExceeded = ErrorCode{"MaxLimitExceeded", 422} + MinLengthExceeded = ErrorCode{"MinLengthExceeded", 422} + MaxLengthExceeded = ErrorCode{"MaxLengthExceeded", 422} + InvalidOption = ErrorCode{"InvalidOption", 422} + InvalidCharacters = ErrorCode{"InvalidCharacters", 422} + MissingRequired = ErrorCode{"MissingRequired", 422} + InvalidCSRFToken = ErrorCode{"InvalidCSRFToken", 422} + InvalidAction = ErrorCode{"InvalidAction", 422} + InvalidBodyContent = ErrorCode{"InvalidBodyContent", 422} + InvalidType = ErrorCode{"InvalidType", 422} + ActionNotAvailable = ErrorCode{"ActionNotAvailable", 404} + InvalidState = ErrorCode{"InvalidState", 422} + + ServerError = ErrorCode{"ServerError", 500} + ClusterUnavailable = ErrorCode{"ClusterUnavailable", 503} +) + +type ErrorCode struct { + Code string + Status int +} + +func (e ErrorCode) String() string { + return fmt.Sprintf("%s %d", e.Code, e.Status) +} + +type APIError struct { + Code ErrorCode + Message string + Cause error + FieldName string +} + +func NewAPIErrorLong(status int, code, message string) error { + return NewAPIError(ErrorCode{ + Code: code, + Status: status, + }, message) +} + +func NewAPIError(code ErrorCode, message string) error { + return &APIError{ + Code: code, + Message: message, + } +} + +func NewFieldAPIError(code ErrorCode, fieldName, message string) error { + return &APIError{ + Code: code, + Message: message, + FieldName: fieldName, + } +} + +// WrapFieldAPIError will cause the API framework to log the underlying err before returning the APIError as a response. +// err WILL NOT be in the API response +func WrapFieldAPIError(err error, code ErrorCode, fieldName, message string) error { + return &APIError{ + Cause: err, + Code: code, + Message: message, + FieldName: fieldName, + } +} + +// WrapAPIError will cause the API framework to log the underlying err before returning the APIError as a response. +// err WILL NOT be in the API response +func WrapAPIError(err error, code ErrorCode, message string) error { + return &APIError{ + Code: code, + Message: message, + Cause: err, + } +} + +func (a *APIError) Error() string { + if a.FieldName != "" { + return fmt.Sprintf("%s=%s: %s", a.FieldName, a.Code, a.Message) + } + return fmt.Sprintf("%s: %s", a.Code, a.Message) +} + +func IsAPIError(err error) bool { + _, ok := err.(*APIError) + return ok +} + +func IsNotFound(err error) bool { + if apiError, ok := err.(*APIError); ok { + return apiError.Code.Status == 404 + } + + return false +} + +func IsConflict(err error) bool { + if apiError, ok := err.(*APIError); ok { + return apiError.Code.Status == 409 + } + + return false +} + +func IsForbidden(err error) bool { + if apiError, ok := err.(*APIError); ok { + return apiError.Code.Status == 403 + } + return false +} diff --git a/vendor/github.com/rancher/norman/types/condition.go b/vendor/github.com/rancher/norman/types/condition.go new file mode 100644 index 000000000..9be6210b8 --- /dev/null +++ b/vendor/github.com/rancher/norman/types/condition.go @@ -0,0 +1,121 @@ +package types + +import ( + "github.com/rancher/norman/types/convert" +) + +var ( + CondEQ = QueryConditionType{ModifierEQ, 1} + CondNE = QueryConditionType{ModifierNE, 1} + CondNull = QueryConditionType{ModifierNull, 0} + CondNotNull = QueryConditionType{ModifierNotNull, 0} + CondIn = QueryConditionType{ModifierIn, -1} + CondNotIn = QueryConditionType{ModifierNotIn, -1} + CondOr = QueryConditionType{ModifierType("or"), 1} + CondAnd = QueryConditionType{ModifierType("and"), 1} + + mods = map[ModifierType]QueryConditionType{ + CondEQ.Name: CondEQ, + CondNE.Name: CondNE, + CondNull.Name: CondNull, + CondNotNull.Name: CondNotNull, + CondIn.Name: CondIn, + CondNotIn.Name: CondNotIn, + CondOr.Name: CondOr, + CondAnd.Name: CondAnd, + } +) + +type QueryConditionType struct { + Name ModifierType + Args int +} + +type QueryCondition struct { + Field string + Value string + Values map[string]bool + conditionType QueryConditionType + left, right *QueryCondition +} + +func (q *QueryCondition) Valid(schema *Schema, data map[string]interface{}) bool { + switch q.conditionType { + case CondAnd: + if q.left == nil || q.right == nil { + return false + } + return q.left.Valid(schema, data) && q.right.Valid(schema, data) + case CondOr: + if q.left == nil || q.right == nil { + return false + } + return q.left.Valid(schema, data) || q.right.Valid(schema, data) + case CondEQ: + return q.Value == convert.ToString(valueOrDefault(schema, data, q)) + case CondNE: + return q.Value != convert.ToString(valueOrDefault(schema, data, q)) + case CondIn: + return q.Values[convert.ToString(valueOrDefault(schema, data, q))] + case CondNotIn: + return !q.Values[convert.ToString(valueOrDefault(schema, data, q))] + case CondNotNull: + return convert.ToString(valueOrDefault(schema, data, q)) != "" + case CondNull: + return convert.ToString(valueOrDefault(schema, data, q)) == "" + } + + return false +} + +func valueOrDefault(schema *Schema, data map[string]interface{}, q *QueryCondition) interface{} { + value := data[q.Field] + if value == nil { + value = schema.ResourceFields[q.Field].Default + } + + return value +} + +func (q *QueryCondition) ToCondition() Condition { + cond := Condition{ + Modifier: q.conditionType.Name, + } + if q.conditionType.Args == 1 { + cond.Value = q.Value + } else if q.conditionType.Args == -1 { + stringValues := []string{} + for val := range q.Values { + stringValues = append(stringValues, val) + } + cond.Value = stringValues + } + + return cond +} + +func ValidMod(mod ModifierType) bool { + _, ok := mods[mod] + return ok +} + +func EQ(key, value string) *QueryCondition { + return NewConditionFromString(key, ModifierEQ, value) +} + +func NewConditionFromString(field string, mod ModifierType, values ...string) *QueryCondition { + q := &QueryCondition{ + Field: field, + conditionType: mods[mod], + Values: map[string]bool{}, + } + + for i, value := range values { + if i == 0 { + q.Value = value + } + q.Values[value] = true + } + + return q +} diff --git a/vendor/github.com/rancher/norman/types/convert/convert.go b/vendor/github.com/rancher/norman/types/convert/convert.go new file mode 100644 index 000000000..5d5e2728e --- /dev/null +++ b/vendor/github.com/rancher/norman/types/convert/convert.go @@ -0,0 +1,280 @@ +package convert + +import ( + "bytes" + "encoding/json" + "errors" + "fmt" + "golang.org/x/text/cases" + "golang.org/x/text/language" + "strconv" + "strings" + "time" + "unicode" +) + +func Chan(c <-chan map[string]interface{}, f func(map[string]interface{}) map[string]interface{}) chan map[string]interface{} { + if c == nil { + return nil + } + result := make(chan map[string]interface{}) + go func() { + for data := range c { + modified := f(data) + if modified != nil { + result <- modified + } + } + close(result) + }() + return result +} + +func Singular(value interface{}) interface{} { + if slice, ok := value.([]string); ok { + if len(slice) == 0 { + return nil + } + return slice[0] + } + if slice, ok := value.([]interface{}); ok { + if len(slice) == 0 { + return nil + } + return slice[0] + } + return value +} + +func ToStringNoTrim(value interface{}) string { + if t, ok := value.(time.Time); ok { + return t.Format(time.RFC3339) + } + single := Singular(value) + if single == nil { + return "" + } + return fmt.Sprint(single) +} + +func ToString(value interface{}) string { + return strings.TrimSpace(ToStringNoTrim(value)) +} + +func ToTimestamp(value interface{}) (int64, error) { + str := ToString(value) + if str == "" { + return 0, errors.New("invalid date") + } + t, err := time.Parse(time.RFC3339, str) + if err != nil { + return 0, err + } + return t.UnixNano() / 1000000, nil +} + +func ToBool(value interface{}) bool { + value = Singular(value) + + b, ok := value.(bool) + if ok { + return b + } + + str := strings.ToLower(ToString(value)) + return str == "true" || str == "t" || str == "yes" || str == "y" +} + +func ToNumber(value interface{}) (int64, error) { + value = Singular(value) + + i, ok := value.(int64) + if ok { + return i, nil + } + f, ok := value.(float64) + if ok { + return int64(f), nil + } + if n, ok := value.(json.Number); ok { + i, err := n.Int64() + if err == nil { + return i, nil + } + f, err := n.Float64() + return int64(f), err + } + return strconv.ParseInt(ToString(value), 10, 64) +} + +func ToFloat(value interface{}) (float64, error) { + value = Singular(value) + + f64, ok := value.(float64) + if ok { + return f64, nil + } + + f32, ok := value.(float32) + if ok { + return float64(f32), nil + } + + if n, ok := value.(json.Number); ok { + i, err := n.Int64() + if err == nil { + return float64(i), nil + } + f, err := n.Float64() + return float64(f), err + } + return strconv.ParseFloat(ToString(value), 64) +} + +func Capitalize(s string) string { + if len(s) <= 1 { + return strings.ToUpper(s) + } + + return strings.ToUpper(s[:1]) + s[1:] +} + +func Uncapitalize(s string) string { + if len(s) <= 1 { + return strings.ToLower(s) + } + + return strings.ToLower(s[:1]) + s[1:] +} + +func LowerTitle(input string) string { + runes := []rune(input) + for i := 0; i < len(runes); i++ { + if unicode.IsUpper(runes[i]) && + (i == 0 || + i == len(runes)-1 || + unicode.IsUpper(runes[i+1])) { + runes[i] = unicode.ToLower(runes[i]) + } else { + break + } + } + + return string(runes) +} + +func IsAPIObjectEmpty(v interface{}) bool { + if v == nil || v == "" || v == 0 || v == false { + return true + } + if m, ok := v.(map[string]interface{}); ok { + return len(m) == 0 + } + if s, ok := v.([]interface{}); ok { + return len(s) == 0 + } + return false +} + +func ToMapInterface(obj interface{}) map[string]interface{} { + v, _ := obj.(map[string]interface{}) + return v +} + +func ToInterfaceSlice(obj interface{}) []interface{} { + if v, ok := obj.([]interface{}); ok { + return v + } + return nil +} + +func ToMapSlice(obj interface{}) []map[string]interface{} { + if v, ok := obj.([]map[string]interface{}); ok { + return v + } + vs, _ := obj.([]interface{}) + var result []map[string]interface{} + for _, item := range vs { + if v, ok := item.(map[string]interface{}); ok { + result = append(result, v) + } else { + return nil + } + } + + return result +} + +func ToStringSlice(data interface{}) []string { + if v, ok := data.([]string); ok { + return v + } + if v, ok := data.([]interface{}); ok { + var result []string + for _, item := range v { + result = append(result, ToString(item)) + } + return result + } + return nil +} + +func ToObj(data interface{}, into interface{}) error { + bytes, err := json.Marshal(data) + if err != nil { + return err + } + return json.Unmarshal(bytes, into) +} + +func EncodeToMap(obj interface{}) (map[string]interface{}, error) { + if m, ok := obj.(map[string]interface{}); ok { + return m, nil + } + + b, err := json.Marshal(obj) + if err != nil { + return nil, err + } + result := map[string]interface{}{} + dec := json.NewDecoder(bytes.NewBuffer(b)) + dec.UseNumber() + return result, dec.Decode(&result) +} + +func ToJSONKey(str string) string { + parts := strings.Split(str, "_") + for i := 1; i < len(parts); i++ { + parts[i] = cases.Title(language.English).String(parts[i]) + } + + return strings.Join(parts, "") +} + +func ToYAMLKey(str string) string { + var result []rune + cap := false + + for i, r := range []rune(str) { + if i == 0 { + if unicode.IsUpper(r) { + cap = true + } + result = append(result, unicode.ToLower(r)) + continue + } + + if unicode.IsUpper(r) { + if cap { + result = append(result, unicode.ToLower(r)) + } else { + result = append(result, '_', unicode.ToLower(r)) + } + } else { + cap = false + result = append(result, r) + } + } + + return string(result) +} diff --git a/vendor/github.com/rancher/norman/types/convert/ref.go b/vendor/github.com/rancher/norman/types/convert/ref.go new file mode 100644 index 000000000..b269a76cd --- /dev/null +++ b/vendor/github.com/rancher/norman/types/convert/ref.go @@ -0,0 +1,11 @@ +package convert + +import "fmt" + +func ToReference(typeName string) string { + return fmt.Sprintf("reference[%s]", typeName) +} + +func ToFullReference(path, typeName string) string { + return fmt.Sprintf("reference[%s/schemas/%s]", path, typeName) +} diff --git a/vendor/github.com/rancher/norman/types/convert/transform.go b/vendor/github.com/rancher/norman/types/convert/transform.go new file mode 100644 index 000000000..3fd9b9247 --- /dev/null +++ b/vendor/github.com/rancher/norman/types/convert/transform.go @@ -0,0 +1,45 @@ +package convert + +const ( + ArrayKey = "{ARRAY}" + MapKey = "{MAP}" +) + +type TransformerFunc func(input interface{}) interface{} + +func Transform(data map[string]interface{}, path []string, transformer TransformerFunc) { + if len(path) == 0 || len(data) == 0 { + return + } + + key := path[0] + path = path[1:] + value := data[key] + + if value == nil { + return + } + + if len(path) == 0 { + data[key] = transformer(value) + return + } + + // You can't end a path with ARRAY/MAP. Not supported right now + if len(path) > 1 { + switch path[0] { + case ArrayKey: + for _, valueMap := range ToMapSlice(value) { + Transform(valueMap, path[1:], transformer) + } + return + case MapKey: + for _, valueMap := range ToMapInterface(value) { + Transform(ToMapInterface(valueMap), path[1:], transformer) + } + return + } + } + + Transform(ToMapInterface(value), path, transformer) +} diff --git a/vendor/github.com/rancher/norman/types/convert/value_set_string.go b/vendor/github.com/rancher/norman/types/convert/value_set_string.go new file mode 100644 index 000000000..d9b329fa0 --- /dev/null +++ b/vendor/github.com/rancher/norman/types/convert/value_set_string.go @@ -0,0 +1,18 @@ +package convert + +import ( + "regexp" + "strings" +) + +var ( + splitRegexp = regexp.MustCompile("[[:space:]]*,[[:space:]]*") +) + +func ToValuesSlice(value string) []string { + value = strings.TrimSpace(value) + if strings.HasPrefix(value, "(") && strings.HasSuffix(value, ")") { + return splitRegexp.Split(value[1:len(value)-1], -1) + } + return []string{value} +} diff --git a/vendor/github.com/rancher/norman/types/definition/definition.go b/vendor/github.com/rancher/norman/types/definition/definition.go new file mode 100644 index 000000000..40912afb3 --- /dev/null +++ b/vendor/github.com/rancher/norman/types/definition/definition.go @@ -0,0 +1,45 @@ +package definition + +import ( + "strings" + + "github.com/rancher/norman/types/convert" +) + +func IsMapType(fieldType string) bool { + return strings.HasPrefix(fieldType, "map[") && strings.HasSuffix(fieldType, "]") +} + +func IsArrayType(fieldType string) bool { + return strings.HasPrefix(fieldType, "array[") && strings.HasSuffix(fieldType, "]") +} + +func IsReferenceType(fieldType string) bool { + return strings.HasPrefix(fieldType, "reference[") && strings.HasSuffix(fieldType, "]") +} + +func HasReferenceType(fieldType string) bool { + return strings.Contains(fieldType, "reference[") +} + +func SubType(fieldType string) string { + i := strings.Index(fieldType, "[") + if i <= 0 || i >= len(fieldType)-1 { + return fieldType + } + + return fieldType[i+1 : len(fieldType)-1] +} + +func GetType(data map[string]interface{}) string { + return GetShortTypeFromFull(GetFullType(data)) +} + +func GetShortTypeFromFull(fullType string) string { + parts := strings.Split(fullType, "/") + return parts[len(parts)-1] +} + +func GetFullType(data map[string]interface{}) string { + return convert.ToString(data["type"]) +} diff --git a/vendor/github.com/rancher/norman/types/encoder.go b/vendor/github.com/rancher/norman/types/encoder.go new file mode 100644 index 000000000..ddaae9e24 --- /dev/null +++ b/vendor/github.com/rancher/norman/types/encoder.go @@ -0,0 +1,32 @@ +package types + +import ( + "encoding/json" + "io" + "regexp" + + "github.com/ghodss/yaml" +) + +var ( + commenter = regexp.MustCompile(`(?m)^( *)zzz#\\((.*)\\)\\((.*)\\)([a-z]+.*):(.*)`) +) + +func JSONEncoder(writer io.Writer, v interface{}) error { + return json.NewEncoder(writer).Encode(v) +} + +func YAMLEncoder(writer io.Writer, v interface{}) error { + data, err := json.Marshal(v) + if err != nil { + return err + } + buf, err := yaml.JSONToYAML(data) + if err != nil { + return err + } + //buf = commenter.ReplaceAll(buf, []byte("${1}# ${2}type: ${3}\n${1}# ${4}:${5}")) + buf = commenter.ReplaceAll(buf, []byte("${1}# ${4}:${5}")) + _, err = writer.Write(buf) + return err +} diff --git a/vendor/github.com/rancher/norman/types/id.go b/vendor/github.com/rancher/norman/types/id.go new file mode 100644 index 000000000..514b9336d --- /dev/null +++ b/vendor/github.com/rancher/norman/types/id.go @@ -0,0 +1,24 @@ +package types + +import ( + "fmt" + "regexp" + "strings" + + utilrand "k8s.io/apimachinery/pkg/util/rand" +) + +var ( + lowerChars = regexp.MustCompile("[a-z]+") +) + +func GenerateName(typeName string) string { + base := typeName[0:1] + lowerChars.ReplaceAllString(typeName[1:], "") + last := utilrand.String(5) + return fmt.Sprintf("%s-%s", strings.ToLower(base), last) +} + +func GenerateTypePrefix(typeName string) string { + base := typeName[0:1] + lowerChars.ReplaceAllString(typeName[1:], "") + return strings.ToLower(base) + "-" +} diff --git a/vendor/github.com/rancher/norman/types/mapper.go b/vendor/github.com/rancher/norman/types/mapper.go new file mode 100644 index 000000000..04f1ae0b2 --- /dev/null +++ b/vendor/github.com/rancher/norman/types/mapper.go @@ -0,0 +1,178 @@ +package types + +import ( + "fmt" + + "github.com/rancher/norman/types/convert" + "github.com/rancher/norman/types/definition" + "github.com/rancher/norman/types/values" +) + +type Mapper interface { + FromInternal(data map[string]interface{}) + ToInternal(data map[string]interface{}) error + ModifySchema(schema *Schema, schemas *Schemas) error +} + +type Mappers []Mapper + +func (m Mappers) FromInternal(data map[string]interface{}) { + for _, mapper := range m { + mapper.FromInternal(data) + } +} + +func (m Mappers) ToInternal(data map[string]interface{}) error { + var errors []error + for i := len(m) - 1; i >= 0; i-- { + errors = append(errors, m[i].ToInternal(data)) + } + return NewErrors(errors...) +} + +func (m Mappers) ModifySchema(schema *Schema, schemas *Schemas) error { + for _, mapper := range m { + if err := mapper.ModifySchema(schema, schemas); err != nil { + return err + } + } + return nil +} + +type typeMapper struct { + Mappers []Mapper + root bool + typeName string + subSchemas map[string]*Schema + subArraySchemas map[string]*Schema + subMapSchemas map[string]*Schema +} + +func (t *typeMapper) FromInternal(data map[string]interface{}) { + name, _ := values.GetValueN(data, "metadata", "name").(string) + namespace, _ := values.GetValueN(data, "metadata", "namespace").(string) + + for fieldName, schema := range t.subSchemas { + if schema.Mapper == nil { + continue + } + fieldData, _ := data[fieldName].(map[string]interface{}) + schema.Mapper.FromInternal(fieldData) + } + + for fieldName, schema := range t.subMapSchemas { + if schema.Mapper == nil { + continue + } + datas, _ := data[fieldName].(map[string]interface{}) + for _, fieldData := range datas { + mapFieldData, _ := fieldData.(map[string]interface{}) + schema.Mapper.FromInternal(mapFieldData) + } + } + + for fieldName, schema := range t.subArraySchemas { + if schema.Mapper == nil { + continue + } + datas, _ := data[fieldName].([]interface{}) + for _, fieldData := range datas { + mapFieldData, _ := fieldData.(map[string]interface{}) + schema.Mapper.FromInternal(mapFieldData) + } + } + + if _, ok := data["type"]; !ok && data != nil { + data["type"] = t.typeName + } + + Mappers(t.Mappers).FromInternal(data) + + if data != nil && t.root { + if _, ok := data["id"]; ok { + if namespace != "" { + id, _ := data["id"].(string) + data["id"] = namespace + ":" + id + } + } else { + if name != "" { + if namespace == "" { + data["id"] = name + } else { + data["id"] = namespace + ":" + name + } + } + } + } + + if _, ok := data["type"]; !ok && data != nil { + if _, ok := data["id"]; ok { + data["type"] = t.typeName + } + } +} + +func (t *typeMapper) ToInternal(data map[string]interface{}) error { + errors := Errors{} + errors.Add(Mappers(t.Mappers).ToInternal(data)) + + for fieldName, schema := range t.subArraySchemas { + if schema.Mapper == nil { + continue + } + datas, _ := data[fieldName].([]interface{}) + for _, fieldData := range datas { + errors.Add(schema.Mapper.ToInternal(convert.ToMapInterface(fieldData))) + } + } + + for fieldName, schema := range t.subMapSchemas { + if schema.Mapper == nil { + continue + } + datas, _ := data[fieldName].(map[string]interface{}) + for _, fieldData := range datas { + errors.Add(schema.Mapper.ToInternal(convert.ToMapInterface(fieldData))) + } + } + + for fieldName, schema := range t.subSchemas { + if schema.Mapper == nil { + continue + } + fieldData, _ := data[fieldName].(map[string]interface{}) + errors.Add(schema.Mapper.ToInternal(fieldData)) + } + + return errors.Err() +} + +func (t *typeMapper) ModifySchema(schema *Schema, schemas *Schemas) error { + t.subSchemas = map[string]*Schema{} + t.subArraySchemas = map[string]*Schema{} + t.subMapSchemas = map[string]*Schema{} + t.typeName = fmt.Sprintf("%s/schemas/%s", schema.Version.Path, schema.ID) + + mapperSchema := schema + if schema.InternalSchema != nil { + mapperSchema = schema.InternalSchema + } + for name, field := range mapperSchema.ResourceFields { + fieldType := field.Type + targetMap := t.subSchemas + if definition.IsArrayType(fieldType) { + fieldType = definition.SubType(fieldType) + targetMap = t.subArraySchemas + } else if definition.IsMapType(fieldType) { + fieldType = definition.SubType(fieldType) + targetMap = t.subMapSchemas + } + + schema := schemas.Schema(&schema.Version, fieldType) + if schema != nil { + targetMap[name] = schema + } + } + + return Mappers(t.Mappers).ModifySchema(schema, schemas) +} diff --git a/vendor/github.com/rancher/norman/types/reflection.go b/vendor/github.com/rancher/norman/types/reflection.go new file mode 100644 index 000000000..c80bc599b --- /dev/null +++ b/vendor/github.com/rancher/norman/types/reflection.go @@ -0,0 +1,510 @@ +package types + +import ( + "fmt" + "net/http" + "reflect" + "strconv" + "strings" + + "github.com/rancher/norman/types/convert" + "github.com/rancher/norman/types/definition" + "github.com/rancher/norman/types/slice" + "github.com/sirupsen/logrus" +) + +var ( + namespacedType = reflect.TypeOf(Namespaced{}) + resourceType = reflect.TypeOf(Resource{}) + skipNames = map[string]bool{ + "links": true, + "actions": true, + "managedFields": true, + } +) + +func (s *Schemas) TypeName(name string, obj interface{}) *Schemas { + s.typeNames[reflect.TypeOf(obj)] = name + return s +} + +func (s *Schemas) getTypeName(t reflect.Type) string { + if name, ok := s.typeNames[t]; ok { + return name + } + return convert.LowerTitle(t.Name()) +} + +func (s *Schemas) AddMapperForType(version *APIVersion, obj interface{}, mapper ...Mapper) *Schemas { + if len(mapper) == 0 { + return s + } + + t := reflect.TypeOf(obj) + typeName := s.getTypeName(t) + if len(mapper) == 1 { + return s.AddMapper(version, typeName, mapper[0]) + } + return s.AddMapper(version, typeName, Mappers(mapper)) +} + +func (s *Schemas) MustImport(version *APIVersion, obj interface{}, externalOverrides ...interface{}) *Schemas { + if reflect.ValueOf(obj).Kind() == reflect.Ptr { + panic(fmt.Errorf("obj cannot be a pointer")) + } + + if _, err := s.Import(version, obj, externalOverrides...); err != nil { + panic(err) + } + return s +} + +func (s *Schemas) MustImportAndCustomize(version *APIVersion, obj interface{}, f func(*Schema), externalOverrides ...interface{}) *Schemas { + return s.MustImport(version, obj, externalOverrides...). + MustCustomizeType(version, obj, f) +} + +func (s *Schemas) Import(version *APIVersion, obj interface{}, externalOverrides ...interface{}) (*Schema, error) { + var types []reflect.Type + for _, override := range externalOverrides { + types = append(types, reflect.TypeOf(override)) + } + + return s.importType(version, reflect.TypeOf(obj), types...) +} + +func (s *Schemas) newSchemaFromType(version *APIVersion, t reflect.Type, typeName string) (*Schema, error) { + schema := &Schema{ + ID: typeName, + Version: *version, + CodeName: t.Name(), + PkgName: t.PkgPath(), + ResourceFields: map[string]Field{}, + ResourceActions: map[string]Action{}, + CollectionActions: map[string]Action{}, + } + + s.processingTypes[t] = schema + defer delete(s.processingTypes, t) + + if err := s.readFields(schema, t); err != nil { + return nil, err + } + + return schema, nil +} + +func (s *Schemas) setupFilters(schema *Schema) { + if !slice.ContainsString(schema.CollectionMethods, http.MethodGet) { + return + } + for fieldName, field := range schema.ResourceFields { + var mods []ModifierType + switch field.Type { + case "enum": + mods = []ModifierType{ModifierEQ, ModifierNE, ModifierIn, ModifierNotIn} + case "date": + fallthrough + case "dnsLabel": + fallthrough + case "hostname": + fallthrough + case "string": + mods = []ModifierType{ModifierEQ, ModifierNE, ModifierIn, ModifierNotIn} + case "int": + mods = []ModifierType{ModifierEQ, ModifierNE, ModifierIn, ModifierNotIn} + case "boolean": + mods = []ModifierType{ModifierEQ, ModifierNE} + default: + if definition.IsReferenceType(field.Type) { + mods = []ModifierType{ModifierEQ, ModifierNE, ModifierIn, ModifierNotIn} + } + } + + if len(mods) > 0 { + if schema.CollectionFilters == nil { + schema.CollectionFilters = map[string]Filter{} + } + schema.CollectionFilters[fieldName] = Filter{ + Modifiers: mods, + } + } + } +} + +func (s *Schemas) MustCustomizeType(version *APIVersion, obj interface{}, f func(*Schema)) *Schemas { + name := s.getTypeName(reflect.TypeOf(obj)) + schema := s.Schema(version, name) + if schema == nil { + panic("Failed to find schema " + name) + } + + f(schema) + + return s +} + +func (s *Schemas) importType(version *APIVersion, t reflect.Type, overrides ...reflect.Type) (*Schema, error) { + typeName := s.getTypeName(t) + + existing := s.Schema(version, typeName) + if existing != nil { + return existing, nil + } + + if s, ok := s.processingTypes[t]; ok { + logrus.Tracef("Returning half built schema %s for %v", typeName, t) + return s, nil + } + + logrus.Tracef("Inspecting schema %s for %v", typeName, t) + + schema, err := s.newSchemaFromType(version, t, typeName) + if err != nil { + return nil, err + } + + mappers := s.mapper(&schema.Version, schema.ID) + if s.DefaultMappers != nil { + if schema.CanList(nil) == nil { + mappers = append(s.DefaultMappers(), mappers...) + } + } + if s.DefaultPostMappers != nil { + mappers = append(mappers, s.DefaultPostMappers()...) + } + + if len(mappers) > 0 { + copy, err := s.newSchemaFromType(version, t, typeName) + if err != nil { + return nil, err + } + schema.InternalSchema = copy + } + + for _, override := range overrides { + if err := s.readFields(schema, override); err != nil { + return nil, err + } + } + + mapper := &typeMapper{ + Mappers: mappers, + root: schema.CanList(nil) == nil, + } + + if err := mapper.ModifySchema(schema, s); err != nil { + return nil, err + } + + s.setupFilters(schema) + + schema.Mapper = mapper + s.AddSchema(*schema) + + return s.Schema(&schema.Version, schema.ID), s.Err() +} + +func jsonName(f reflect.StructField) string { + return strings.SplitN(f.Tag.Get("json"), ",", 2)[0] +} + +func k8sType(field reflect.StructField) bool { + return field.Type.Name() == "TypeMeta" && + strings.HasSuffix(field.Type.PkgPath(), "k8s.io/apimachinery/pkg/apis/meta/v1") +} + +func k8sObject(field reflect.StructField) bool { + return field.Type.Name() == "ObjectMeta" && + strings.HasSuffix(field.Type.PkgPath(), "k8s.io/apimachinery/pkg/apis/meta/v1") +} + +func (s *Schemas) readFields(schema *Schema, t reflect.Type) error { + if t == resourceType { + schema.CollectionMethods = []string{"GET", "POST"} + schema.ResourceMethods = []string{"GET", "PUT", "DELETE"} + } + + hasType := false + hasMeta := false + + for i := 0; i < t.NumField(); i++ { + field := t.Field(i) + + if field.PkgPath != "" { + // unexported field + continue + } + + jsonName := jsonName(field) + if jsonName == "-" { + continue + } + + if field.Anonymous && jsonName == "" && k8sType(field) { + hasType = true + } + + if field.Anonymous && jsonName == "metadata" && k8sObject(field) { + hasMeta = true + } + + if field.Anonymous && jsonName == "" { + t := field.Type + if t.Kind() == reflect.Ptr { + t = t.Elem() + } + if t.Kind() == reflect.Struct { + if t == namespacedType { + schema.Scope = NamespaceScope + } + if err := s.readFields(schema, t); err != nil { + return err + } + } + continue + } + + fieldName := jsonName + if fieldName == "" { + fieldName = convert.LowerTitle(field.Name) + if strings.HasSuffix(fieldName, "ID") { + fieldName = strings.TrimSuffix(fieldName, "ID") + "Id" + } + } + + if skipNames[fieldName] { + logrus.Tracef("Ignoring skip field %s.%s for %v", schema.ID, fieldName, field) + continue + } + + logrus.Tracef("Inspecting field %s.%s for %v", schema.ID, fieldName, field) + + schemaField := Field{ + Create: true, + Update: true, + Nullable: true, + CodeName: field.Name, + } + + fieldType := field.Type + if fieldType.Kind() == reflect.Ptr { + schemaField.Nullable = true + fieldType = fieldType.Elem() + } else if fieldType.Kind() == reflect.Bool { + schemaField.Nullable = false + schemaField.Default = false + } else if fieldType.Kind() == reflect.Int || + fieldType.Kind() == reflect.Uint32 || + fieldType.Kind() == reflect.Int32 || + fieldType.Kind() == reflect.Uint64 || + fieldType.Kind() == reflect.Int64 || + fieldType.Kind() == reflect.Float32 || + fieldType.Kind() == reflect.Float64 { + schemaField.Nullable = false + schemaField.Default = 0 + } + + if err := applyTag(&field, &schemaField); err != nil { + return err + } + + if schemaField.Type == "" { + inferedType, err := s.determineSchemaType(&schema.Version, fieldType) + if err != nil { + return fmt.Errorf("failed inspecting type %s, field %s: %v", t, fieldName, err) + } + schemaField.Type = inferedType + } + + if schemaField.Default != nil { + switch schemaField.Type { + case "int": + n, err := convert.ToNumber(schemaField.Default) + if err != nil { + return err + } + schemaField.Default = n + case "float": + n, err := convert.ToFloat(schemaField.Default) + if err != nil { + return err + } + schemaField.Default = n + case "boolean": + schemaField.Default = convert.ToBool(schemaField.Default) + } + } + + logrus.Tracef("Setting field %s.%s: %#v", schema.ID, fieldName, schemaField) + schema.ResourceFields[fieldName] = schemaField + } + + if hasType && hasMeta { + schema.CollectionMethods = []string{"GET", "POST"} + schema.ResourceMethods = []string{"GET", "PUT", "DELETE"} + } + + return nil +} + +func applyTag(structField *reflect.StructField, field *Field) error { + for _, part := range strings.Split(structField.Tag.Get("norman"), ",") { + if part == "" { + continue + } + + var err error + key, value := getKeyValue(part) + + switch key { + case "type": + field.Type = value + case "codeName": + field.CodeName = value + case "default": + field.Default = value + case "nullable": + field.Nullable = true + case "notnullable": + field.Nullable = false + case "nocreate": + field.Create = false + case "writeOnly": + field.WriteOnly = true + case "required": + field.Required = true + case "noupdate": + field.Update = false + case "minLength": + field.MinLength, err = toInt(value, structField) + case "maxLength": + field.MaxLength, err = toInt(value, structField) + case "min": + field.Min, err = toInt(value, structField) + case "max": + field.Max, err = toInt(value, structField) + case "options": + field.Options = split(value) + if field.Type == "" { + field.Type = "enum" + } + case "validChars": + field.ValidChars = value + case "invalidChars": + field.InvalidChars = value + case "pointer": + field.Pointer = true + default: + return fmt.Errorf("invalid tag %s on field %s", key, structField.Name) + } + + if err != nil { + return err + } + } + + return nil +} + +func toInt(value string, structField *reflect.StructField) (*int64, error) { + i, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return nil, fmt.Errorf("invalid number on field %s: %v", structField.Name, err) + } + return &i, nil +} + +func split(input string) []string { + result := []string{} + for _, i := range strings.Split(input, "|") { + for _, part := range strings.Split(i, " ") { + part = strings.TrimSpace(part) + if len(part) > 0 { + result = append(result, part) + } + } + } + + return result +} + +func getKeyValue(input string) (string, string) { + var ( + key, value string + ) + parts := strings.SplitN(input, "=", 2) + key = parts[0] + if len(parts) > 1 { + value = parts[1] + } + + return key, value +} + +func deRef(p reflect.Type) reflect.Type { + if p.Kind() == reflect.Ptr { + return p.Elem() + } + return p +} + +func (s *Schemas) determineSchemaType(version *APIVersion, t reflect.Type) (string, error) { + switch t.Kind() { + case reflect.Uint8: + return "byte", nil + case reflect.Bool: + return "boolean", nil + case reflect.Int: + fallthrough + case reflect.Int32: + fallthrough + case reflect.Uint32: + fallthrough + case reflect.Uint64: + fallthrough + case reflect.Int64: + return "int", nil + case reflect.Float32: + fallthrough + case reflect.Float64: + return "float", nil + case reflect.Interface: + return "json", nil + case reflect.Map: + subType, err := s.determineSchemaType(version, deRef(t.Elem())) + if err != nil { + return "", err + } + return fmt.Sprintf("map[%s]", subType), nil + case reflect.Slice: + subType, err := s.determineSchemaType(version, deRef(t.Elem())) + if err != nil { + return "", err + } + if subType == "byte" { + return "base64", nil + } + return fmt.Sprintf("array[%s]", subType), nil + case reflect.String: + return "string", nil + case reflect.Struct: + if t.Name() == "Time" { + return "date", nil + } + if t.Name() == "IntOrString" { + return "intOrString", nil + } + if t.Name() == "Quantity" { + return "string", nil + } + schema, err := s.importType(version, t) + if err != nil { + return "", err + } + return schema.ID, nil + default: + return "", fmt.Errorf("unknown type kind %s", t.Kind()) + } + +} diff --git a/vendor/github.com/rancher/norman/types/schema_funcs.go b/vendor/github.com/rancher/norman/types/schema_funcs.go new file mode 100644 index 000000000..f104728af --- /dev/null +++ b/vendor/github.com/rancher/norman/types/schema_funcs.go @@ -0,0 +1,73 @@ +package types + +import ( + "net/http" + + "github.com/rancher/norman/httperror" + "github.com/rancher/norman/types/slice" +) + +func (s *Schema) MustCustomizeField(name string, f func(f Field) Field) *Schema { + field, ok := s.ResourceFields[name] + if !ok { + panic("Failed to find field " + name + " on schema " + s.ID) + } + s.ResourceFields[name] = f(field) + return s +} + +func (v *APIVersion) Equals(other *APIVersion) bool { + return v.Version == other.Version && + v.Group == other.Group && + v.Path == other.Path +} + +func (s *Schema) CanList(context *APIContext) error { + if context == nil { + if slice.ContainsString(s.CollectionMethods, http.MethodGet) { + return nil + } + return httperror.NewAPIError(httperror.PermissionDenied, "can not list "+s.ID) + } + return context.AccessControl.CanList(context, s) +} + +func (s *Schema) CanGet(context *APIContext) error { + if context == nil { + if slice.ContainsString(s.ResourceMethods, http.MethodGet) { + return nil + } + return httperror.NewAPIError(httperror.PermissionDenied, "can not get "+s.ID) + } + return context.AccessControl.CanGet(context, s) +} + +func (s *Schema) CanCreate(context *APIContext) error { + if context == nil { + if slice.ContainsString(s.CollectionMethods, http.MethodPost) { + return nil + } + return httperror.NewAPIError(httperror.PermissionDenied, "can not create "+s.ID) + } + return context.AccessControl.CanCreate(context, s) +} + +func (s *Schema) CanUpdate(context *APIContext) error { + if context == nil { + if slice.ContainsString(s.ResourceMethods, http.MethodPut) { + return nil + } + return httperror.NewAPIError(httperror.PermissionDenied, "can not update "+s.ID) + } + return context.AccessControl.CanUpdate(context, nil, s) +} + +func (s *Schema) CanDelete(context *APIContext) error { + if context == nil { + if slice.ContainsString(s.ResourceMethods, http.MethodDelete) { + return nil + } + return httperror.NewAPIError(httperror.PermissionDenied, "can not delete "+s.ID) + } + return context.AccessControl.CanDelete(context, nil, s) +} diff --git a/vendor/github.com/rancher/norman/types/schemas.go b/vendor/github.com/rancher/norman/types/schemas.go new file mode 100644 index 000000000..30819bba6 --- /dev/null +++ b/vendor/github.com/rancher/norman/types/schemas.go @@ -0,0 +1,407 @@ +package types + +import ( + "bytes" + "fmt" + "reflect" + "strings" + "sync" + + "github.com/rancher/norman/types/convert" + "github.com/rancher/norman/types/definition" + "github.com/rancher/wrangler/v3/pkg/name" +) + +type SchemaCollection struct { + Data []Schema +} + +type SchemasInitFunc func(*Schemas) *Schemas + +type SchemaHook func(*Schema) + +type MappersFactory func() []Mapper + +type BackReference struct { + FieldName string + Schema *Schema +} + +type Schemas struct { + sync.Mutex + processingTypes map[reflect.Type]*Schema + typeNames map[reflect.Type]string + schemasByPath map[string]map[string]*Schema + mappers map[string]map[string][]Mapper + references map[string][]BackReference + embedded map[string]*Schema + DefaultMappers MappersFactory + DefaultPostMappers MappersFactory + versions []APIVersion + schemas []*Schema + AddHook SchemaHook + errors []error +} + +func NewSchemas() *Schemas { + return &Schemas{ + processingTypes: map[reflect.Type]*Schema{}, + typeNames: map[reflect.Type]string{}, + schemasByPath: map[string]map[string]*Schema{}, + mappers: map[string]map[string][]Mapper{}, + references: map[string][]BackReference{}, + embedded: map[string]*Schema{}, + } +} + +func (s *Schemas) Init(initFunc SchemasInitFunc) *Schemas { + return initFunc(s) +} + +func (s *Schemas) Err() error { + return NewErrors(s.errors...) +} + +func (s *Schemas) AddSchemas(schema *Schemas) *Schemas { + for _, schema := range schema.Schemas() { + s.AddSchema(*schema) + } + return s +} + +func (s *Schemas) RemoveSchema(schema Schema) *Schemas { + s.Lock() + defer s.Unlock() + return s.doRemoveSchema(schema) +} + +func (s *Schemas) doRemoveSchema(schema Schema) *Schemas { + delete(s.schemasByPath[schema.Version.Path], schema.ID) + + s.removeReferences(&schema) + + if schema.Embed { + s.removeEmbed(&schema) + } + + return s +} + +func (s *Schemas) removeReferences(schema *Schema) { + for name, values := range s.references { + changed := false + var modified []BackReference + for _, value := range values { + if value.Schema.ID == schema.ID && value.Schema.Version.Path == schema.Version.Path { + changed = true + continue + } + modified = append(modified, value) + } + + if changed { + s.references[name] = modified + } + } +} + +func (s *Schemas) AddSchema(schema Schema) *Schemas { + s.Lock() + defer s.Unlock() + return s.doAddSchema(schema, false) +} + +func (s *Schemas) ForceAddSchema(schema Schema) *Schemas { + s.Lock() + defer s.Unlock() + return s.doAddSchema(schema, true) +} + +func (s *Schemas) doAddSchema(schema Schema, replace bool) *Schemas { + s.setupDefaults(&schema) + + if s.AddHook != nil { + s.AddHook(&schema) + } + + schemas, ok := s.schemasByPath[schema.Version.Path] + if !ok { + schemas = map[string]*Schema{} + s.schemasByPath[schema.Version.Path] = schemas + s.versions = append(s.versions, schema.Version) + } + + if _, ok := schemas[schema.ID]; !ok || + (replace && schema.DynamicSchemaVersion != schemas[schema.ID].DynamicSchemaVersion) { + schemas[schema.ID] = &schema + + if replace { + for i, candidate := range s.schemas { + if candidate.ID == schema.ID { + s.schemas[i] = &schema + break + } + } + } else { + s.schemas = append(s.schemas, &schema) + } + + if !schema.Embed { + s.addReferences(&schema) + } + } + + if schema.Embed { + s.embed(&schema) + } + + return s +} + +func (s *Schemas) removeEmbed(schema *Schema) { + target := s.doSchema(&schema.Version, schema.EmbedType, false) + if target == nil { + return + } + + newSchema := *target + newSchema.ResourceFields = map[string]Field{} + + for k, v := range target.ResourceFields { + newSchema.ResourceFields[k] = v + } + + for k := range schema.ResourceFields { + delete(newSchema.ResourceFields, k) + } + + s.doRemoveSchema(*target) + s.doAddSchema(newSchema, false) +} + +func (s *Schemas) embed(schema *Schema) { + target := s.doSchema(&schema.Version, schema.EmbedType, false) + if target == nil { + return + } + + newSchema := *target + newSchema.ResourceFields = map[string]Field{} + + for k, v := range target.ResourceFields { + // We remove the dynamic fields off the existing schema in case + // they've been removed from the dynamic schema so they won't + // be accidentally left over + if !v.DynamicField { + newSchema.ResourceFields[k] = v + } + } + for k, v := range schema.ResourceFields { + newSchema.ResourceFields[k] = v + } + + s.doRemoveSchema(*target) + s.doAddSchema(newSchema, false) +} + +func (s *Schemas) addReferences(schema *Schema) { + for name, field := range schema.ResourceFields { + if !definition.IsReferenceType(field.Type) { + continue + } + + refType := definition.SubType(field.Type) + if !strings.HasPrefix(refType, "/") { + refType = convert.ToFullReference(schema.Version.Path, refType) + } + + s.references[refType] = append(s.references[refType], BackReference{ + FieldName: name, + Schema: schema, + }) + } +} + +func (s *Schemas) setupDefaults(schema *Schema) { + schema.Type = "/meta/schemas/schema" + if schema.ID == "" { + s.errors = append(s.errors, fmt.Errorf("ID is not set on schema: %v", schema)) + return + } + if schema.Version.Path == "" || schema.Version.Version == "" { + s.errors = append(s.errors, fmt.Errorf("version is not set on schema: %s", schema.ID)) + return + } + if schema.PluralName == "" { + schema.PluralName = name.GuessPluralName(schema.ID) + } + if schema.CodeName == "" { + schema.CodeName = convert.Capitalize(schema.ID) + } + if schema.CodeNamePlural == "" { + schema.CodeNamePlural = name.GuessPluralName(schema.CodeName) + } + if schema.BaseType == "" { + schema.BaseType = schema.ID + } +} + +func (s *Schemas) References(schema *Schema) []BackReference { + refType := convert.ToFullReference(schema.Version.Path, schema.ID) + s.Lock() + defer s.Unlock() + return s.references[refType] +} + +func (s *Schemas) AddMapper(version *APIVersion, schemaID string, mapper Mapper) *Schemas { + mappers, ok := s.mappers[version.Path] + if !ok { + mappers = map[string][]Mapper{} + s.mappers[version.Path] = mappers + } + + mappers[schemaID] = append(mappers[schemaID], mapper) + return s +} + +func (s *Schemas) SchemasForVersion(version APIVersion) map[string]*Schema { + s.Lock() + defer s.Unlock() + return s.schemasByPath[version.Path] +} + +func (s *Schemas) Versions() []APIVersion { + return s.versions +} + +func (s *Schemas) Schemas() []*Schema { + return s.schemas +} + +func (s *Schemas) mapper(version *APIVersion, name string) []Mapper { + var ( + path string + ) + + if strings.Contains(name, "/") { + idx := strings.LastIndex(name, "/") + path = name[0:idx] + name = name[idx+1:] + } else if version != nil { + path = version.Path + } else { + path = "core" + } + + mappers, ok := s.mappers[path] + if !ok { + return nil + } + + mapper := mappers[name] + if mapper != nil { + return mapper + } + + return nil +} + +func (s *Schemas) Schema(version *APIVersion, name string) *Schema { + return s.doSchema(version, name, true) +} + +func (s *Schemas) doSchema(version *APIVersion, name string, lock bool) *Schema { + var ( + path string + ) + + if strings.Contains(name, "/schemas/") { + parts := strings.SplitN(name, "/schemas/", 2) + path = parts[0] + name = parts[1] + } else if version != nil { + path = version.Path + } else { + path = "core" + } + + if lock { + s.Lock() + defer s.Unlock() + } + schemas, ok := s.schemasByPath[path] + if !ok { + return nil + } + + schema := schemas[name] + if schema != nil { + return schema + } + + for _, check := range schemas { + if strings.EqualFold(check.ID, name) || strings.EqualFold(check.PluralName, name) { + return check + } + } + + return nil +} + +func (s *Schemas) SubContextVersionForSchema(schema *Schema) *APIVersion { + fullName := fmt.Sprintf("%s/schemas/%s", schema.Version.Path, schema.ID) + for _, version := range s.Versions() { + if version.SubContextSchema == fullName { + return &version + } + } + return nil +} + +type MultiErrors struct { + Errors []error +} + +type Errors struct { + errors []error +} + +func (e *Errors) Add(err error) { + if err != nil { + e.errors = append(e.errors, err) + } +} + +func (e *Errors) Err() error { + return NewErrors(e.errors...) +} + +func NewErrors(inErrors ...error) error { + var errors []error + for _, err := range inErrors { + if err != nil { + errors = append(errors, err) + } + } + + if len(errors) == 0 { + return nil + } else if len(errors) == 1 { + return errors[0] + } + return &MultiErrors{ + Errors: errors, + } +} + +func (m *MultiErrors) Error() string { + buf := bytes.NewBuffer(nil) + for _, err := range m.Errors { + if buf.Len() > 0 { + buf.WriteString(", ") + } + buf.WriteString(err.Error()) + } + + return buf.String() +} diff --git a/vendor/github.com/rancher/norman/types/server_types.go b/vendor/github.com/rancher/norman/types/server_types.go new file mode 100644 index 000000000..70d6b6905 --- /dev/null +++ b/vendor/github.com/rancher/norman/types/server_types.go @@ -0,0 +1,238 @@ +package types + +import ( + "context" + "encoding/json" + "net/http" + "net/url" +) + +type ValuesMap struct { + Foo map[string]interface{} +} + +type RawResource struct { + ID string `json:"id,omitempty" yaml:"id,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + Schema *Schema `json:"-" yaml:"-"` + Links map[string]string `json:"links,omitempty" yaml:"links,omitempty"` + Actions map[string]string `json:"actions,omitempty" yaml:"actions,omitempty"` + Values map[string]interface{} `json:",inline" yaml:",inline"` + ActionLinks bool `json:"-" yaml:"-"` + DropReadOnly bool `json:"-" yaml:"-"` +} + +func (r *RawResource) AddAction(apiContext *APIContext, name string) { + r.Actions[name] = apiContext.URLBuilder.Action(name, r) +} + +func (r *RawResource) MarshalJSON() ([]byte, error) { + return json.Marshal(r.ToMap()) +} + +func (r *RawResource) ToMap() map[string]interface{} { + data := map[string]interface{}{} + for k, v := range r.Values { + data[k] = v + } + + if r.ID != "" && !r.DropReadOnly { + data["id"] = r.ID + } + + if r.Type != "" && !r.DropReadOnly { + data["type"] = r.Type + } + if r.Schema.BaseType != "" && !r.DropReadOnly { + data["baseType"] = r.Schema.BaseType + } + + if len(r.Links) > 0 && !r.DropReadOnly { + data["links"] = r.Links + } + + if len(r.Actions) > 0 && !r.DropReadOnly { + if r.ActionLinks { + data["actionLinks"] = r.Actions + } else { + data["actions"] = r.Actions + } + } + return data +} + +type ActionHandler func(actionName string, action *Action, request *APIContext) error + +type RequestHandler func(request *APIContext, next RequestHandler) error + +type QueryFilter func(opts *QueryOptions, schema *Schema, data []map[string]interface{}) []map[string]interface{} + +type Validator func(request *APIContext, schema *Schema, data map[string]interface{}) error + +type InputFormatter func(request *APIContext, schema *Schema, data map[string]interface{}, create bool) error + +type Formatter func(request *APIContext, resource *RawResource) + +type CollectionFormatter func(request *APIContext, collection *GenericCollection) + +type ErrorHandler func(request *APIContext, err error) + +type SubContextAttributeProvider interface { + Query(apiContext *APIContext, schema *Schema) []*QueryCondition + Create(apiContext *APIContext, schema *Schema) map[string]interface{} +} + +type ResponseWriter interface { + Write(apiContext *APIContext, code int, obj interface{}) +} + +type AccessControl interface { + CanCreate(apiContext *APIContext, schema *Schema) error + CanList(apiContext *APIContext, schema *Schema) error + CanGet(apiContext *APIContext, schema *Schema) error + CanUpdate(apiContext *APIContext, obj map[string]interface{}, schema *Schema) error + CanDelete(apiContext *APIContext, obj map[string]interface{}, schema *Schema) error + // CanDo function should not yet be used if a corresponding specific method exists. It has been added to + // satisfy a specific usecase for the short term until full-blown dynamic RBAC can be implemented. + CanDo(apiGroup, resource, verb string, apiContext *APIContext, obj map[string]interface{}, schema *Schema) error + + Filter(apiContext *APIContext, schema *Schema, obj map[string]interface{}, context map[string]string) map[string]interface{} + FilterList(apiContext *APIContext, schema *Schema, obj []map[string]interface{}, context map[string]string) []map[string]interface{} +} + +type APIContext struct { + Action string + ID string + Type string + Link string + Method string + Schema *Schema + Schemas *Schemas + Version *APIVersion + SchemasVersion *APIVersion + Query url.Values + ResponseFormat string + ReferenceValidator ReferenceValidator + ResponseWriter ResponseWriter + QueryFilter QueryFilter + SubContextAttributeProvider SubContextAttributeProvider + URLBuilder URLBuilder + AccessControl AccessControl + SubContext map[string]string + Pagination *Pagination + + Request *http.Request + Response http.ResponseWriter +} + +type apiContextKey struct{} + +func NewAPIContext(req *http.Request, resp http.ResponseWriter, schemas *Schemas) *APIContext { + apiCtx := &APIContext{ + Response: resp, + Schemas: schemas, + } + ctx := context.WithValue(req.Context(), apiContextKey{}, apiCtx) + apiCtx.Request = req.WithContext(ctx) + return apiCtx +} + +func GetAPIContext(ctx context.Context) *APIContext { + apiContext, _ := ctx.Value(apiContextKey{}).(*APIContext) + return apiContext +} + +func (r *APIContext) Option(key string) string { + return r.Query.Get("_" + key) +} + +func (r *APIContext) WriteResponse(code int, obj interface{}) { + r.ResponseWriter.Write(r, code, obj) +} + +func (r *APIContext) FilterList(opts *QueryOptions, schema *Schema, obj []map[string]interface{}) []map[string]interface{} { + return r.QueryFilter(opts, schema, obj) +} + +func (r *APIContext) FilterObject(opts *QueryOptions, schema *Schema, obj map[string]interface{}) map[string]interface{} { + opts.Pagination = nil + result := r.QueryFilter(opts, schema, []map[string]interface{}{obj}) + if len(result) == 0 { + return nil + } + return result[0] +} + +func (r *APIContext) Filter(opts *QueryOptions, schema *Schema, obj interface{}) interface{} { + switch v := obj.(type) { + case []map[string]interface{}: + return r.FilterList(opts, schema, v) + case map[string]interface{}: + return r.FilterObject(opts, schema, v) + } + + return nil +} + +type Expire interface { + Expire(apiContext *APIContext, schema *Schema) +} + +func (r *APIContext) ExpireAccessControl(schema *Schema) { + if e, ok := r.AccessControl.(Expire); ok { + e.Expire(r, schema) + } +} + +var ( + ASC = SortOrder("asc") + DESC = SortOrder("desc") +) + +type QueryOptions struct { + Sort Sort + Pagination *Pagination + Conditions []*QueryCondition + Options map[string]string + // Set namespaces to an empty array will result in an empty response + Namespaces []string +} + +type ReferenceValidator interface { + Validate(resourceType, resourceID string) bool + Lookup(resourceType, resourceID string) *RawResource +} + +type URLBuilder interface { + Current() string + Collection(schema *Schema, versionOverride *APIVersion) string + CollectionAction(schema *Schema, versionOverride *APIVersion, action string) string + SubContextCollection(subContext *Schema, contextName string, schema *Schema) string + SchemaLink(schema *Schema) string + ResourceLink(resource *RawResource) string + Link(linkName string, resource *RawResource) string + RelativeToRoot(path string) string + Version(version APIVersion) string + Marker(marker string) string + ReverseSort(order SortOrder) string + Sort(field string) string + SetSubContext(subContext string) + FilterLink(schema *Schema, fieldName string, value string) string + Action(action string, resource *RawResource) string + ResourceLinkByID(schema *Schema, id string) string + ActionLinkByID(schema *Schema, id string, action string) string +} + +type StorageContext string + +var DefaultStorageContext StorageContext + +type Store interface { + Context() StorageContext + ByID(apiContext *APIContext, schema *Schema, id string) (map[string]interface{}, error) + List(apiContext *APIContext, schema *Schema, opt *QueryOptions) ([]map[string]interface{}, error) + Create(apiContext *APIContext, schema *Schema, data map[string]interface{}) (map[string]interface{}, error) + Update(apiContext *APIContext, schema *Schema, data map[string]interface{}, id string) (map[string]interface{}, error) + Delete(apiContext *APIContext, schema *Schema, id string) (map[string]interface{}, error) + Watch(apiContext *APIContext, schema *Schema, opt *QueryOptions) (chan map[string]interface{}, error) +} diff --git a/vendor/github.com/rancher/norman/types/slice/contains.go b/vendor/github.com/rancher/norman/types/slice/contains.go new file mode 100644 index 000000000..10cbac0a1 --- /dev/null +++ b/vendor/github.com/rancher/norman/types/slice/contains.go @@ -0,0 +1,22 @@ +package slice + +func ContainsString(slice []string, item string) bool { + for _, j := range slice { + if j == item { + return true + } + } + return false +} + +func StringsEqual(left, right []string) bool { + if len(left) != len(right) { + return false + } + for i := 0; i < len(left); i++ { + if left[i] != right[i] { + return false + } + } + return true +} diff --git a/vendor/github.com/rancher/norman/types/types.go b/vendor/github.com/rancher/norman/types/types.go new file mode 100644 index 000000000..a0b6301c8 --- /dev/null +++ b/vendor/github.com/rancher/norman/types/types.go @@ -0,0 +1,171 @@ +package types + +const ( + ResourceFieldID = "id" +) + +type Collection struct { + Type string `json:"type,omitempty"` + Links map[string]string `json:"links"` + CreateTypes map[string]string `json:"createTypes,omitempty"` + Actions map[string]string `json:"actions"` + Pagination *Pagination `json:"pagination,omitempty"` + Sort *Sort `json:"sort,omitempty"` + Filters map[string][]Condition `json:"filters,omitempty"` + ResourceType string `json:"resourceType"` +} + +type GenericCollection struct { + Collection + Data []interface{} `json:"data"` +} + +type ResourceCollection struct { + Collection + Data []Resource `json:"data,omitempty"` +} + +type SortOrder string + +type Sort struct { + Name string `json:"name,omitempty"` + Order SortOrder `json:"order,omitempty"` + Reverse string `json:"reverse,omitempty"` + Links map[string]string `json:"links,omitempty"` +} + +var ( + ModifierEQ ModifierType = "eq" + ModifierNE ModifierType = "ne" + ModifierNull ModifierType = "null" + ModifierNotNull ModifierType = "notnull" + ModifierIn ModifierType = "in" + ModifierNotIn ModifierType = "notin" +) + +type ModifierType string + +type Condition struct { + Modifier ModifierType `json:"modifier,omitempty"` + Value interface{} `json:"value,omitempty"` +} + +type Pagination struct { + Marker string `json:"marker,omitempty"` + First string `json:"first,omitempty"` + Previous string `json:"previous,omitempty"` + Next string `json:"next,omitempty"` + Last string `json:"last,omitempty"` + Limit *int64 `json:"limit,omitempty"` + Total *int64 `json:"total,omitempty"` + Partial bool `json:"partial,omitempty"` +} + +type Resource struct { + ID string `json:"id,omitempty"` + Type string `json:"type,omitempty"` + Links map[string]string `json:"links"` + Actions map[string]string `json:"actions"` +} + +type NamedResource struct { + Resource + Name string `json:"name"` + Description string `json:"description"` +} + +type NamedResourceCollection struct { + Collection + Data []NamedResource `json:"data,omitempty"` +} + +type APIVersion struct { + Group string `json:"group,omitempty"` + Version string `json:"version,omitempty"` + Path string `json:"path,omitempty"` + SubContext bool `json:"subContext,omitempty"` + SubContextSchema string `json:"filterField,omitempty"` +} + +type Namespaced struct{} + +var NamespaceScope TypeScope = "namespace" + +type TypeScope string + +type Schema struct { + ID string `json:"id,omitempty"` + Embed bool `json:"embed,omitempty"` + EmbedType string `json:"embedType,omitempty"` + CodeName string `json:"-"` + CodeNamePlural string `json:"-"` + PkgName string `json:"-"` + Type string `json:"type,omitempty"` + BaseType string `json:"baseType,omitempty"` + Links map[string]string `json:"links"` + Version APIVersion `json:"version"` + PluralName string `json:"pluralName,omitempty"` + ResourceMethods []string `json:"resourceMethods,omitempty"` + ResourceFields map[string]Field `json:"resourceFields"` + ResourceActions map[string]Action `json:"resourceActions,omitempty"` + CollectionMethods []string `json:"collectionMethods,omitempty"` + CollectionFields map[string]Field `json:"collectionFields,omitempty"` + CollectionActions map[string]Action `json:"collectionActions,omitempty"` + CollectionFilters map[string]Filter `json:"collectionFilters,omitempty"` + DynamicSchemaVersion string `json:"dynamicSchemaVersion,omitempty"` + Scope TypeScope `json:"-"` + Enabled func() bool `json:"-"` + + InternalSchema *Schema `json:"-"` + Mapper Mapper `json:"-"` + ActionHandler ActionHandler `json:"-"` + LinkHandler RequestHandler `json:"-"` + ListHandler RequestHandler `json:"-"` + CreateHandler RequestHandler `json:"-"` + DeleteHandler RequestHandler `json:"-"` + UpdateHandler RequestHandler `json:"-"` + InputFormatter InputFormatter `json:"-"` + Formatter Formatter `json:"-"` + CollectionFormatter CollectionFormatter `json:"-"` + ErrorHandler ErrorHandler `json:"-"` + Validator Validator `json:"-"` + Store Store `json:"-"` +} + +type Field struct { + Type string `json:"type,omitempty"` + Default interface{} `json:"default,omitempty"` + Nullable bool `json:"nullable,omitempty"` + Create bool `json:"create"` + WriteOnly bool `json:"writeOnly,omitempty"` + Required bool `json:"required,omitempty"` + Update bool `json:"update"` + MinLength *int64 `json:"minLength,omitempty"` + MaxLength *int64 `json:"maxLength,omitempty"` + Min *int64 `json:"min,omitempty"` + Max *int64 `json:"max,omitempty"` + Options []string `json:"options,omitempty"` + ValidChars string `json:"validChars,omitempty"` + InvalidChars string `json:"invalidChars,omitempty"` + Description string `json:"description,omitempty"` + CodeName string `json:"-"` + DynamicField bool `json:"dynamicField,omitempty"` + Pointer bool `json:"pointer,omitempty"` +} + +type Action struct { + Input string `json:"input,omitempty"` + Output string `json:"output,omitempty"` +} + +type Filter struct { + Modifiers []ModifierType `json:"modifiers,omitempty"` +} + +type ListOpts struct { + Filters map[string]interface{} +} + +func (c *Collection) AddAction(apiContext *APIContext, name string) { + c.Actions[name] = apiContext.URLBuilder.CollectionAction(apiContext.Schema, nil, name) +} diff --git a/vendor/github.com/rancher/norman/types/values/values.go b/vendor/github.com/rancher/norman/types/values/values.go new file mode 100644 index 000000000..0ec044578 --- /dev/null +++ b/vendor/github.com/rancher/norman/types/values/values.go @@ -0,0 +1,111 @@ +package values + +import "github.com/rancher/norman/types/convert" + +func RemoveValue(data map[string]interface{}, keys ...string) (interface{}, bool) { + for i, key := range keys { + if i == len(keys)-1 { + val, ok := data[key] + delete(data, key) + return val, ok + } + data, _ = data[key].(map[string]interface{}) + } + + return nil, false +} + +func GetStringSlice(data map[string]interface{}, keys ...string) ([]string, bool) { + val, ok := GetValue(data, keys...) + if !ok { + return nil, ok + } + + slice, typeOk := val.([]string) + if typeOk { + return slice, typeOk + } + + sliceNext, typeOk := val.([]interface{}) + if !typeOk { + return nil, typeOk + } + + var result []string + for _, item := range sliceNext { + result = append(result, convert.ToString(item)) + } + + return result, true +} + +func GetSlice(data map[string]interface{}, keys ...string) ([]map[string]interface{}, bool) { + val, ok := GetValue(data, keys...) + if !ok { + return nil, ok + } + + slice, typeOk := val.([]map[string]interface{}) + if typeOk { + return slice, typeOk + } + + sliceNext, typeOk := val.([]interface{}) + if !typeOk { + return nil, typeOk + } + + result := []map[string]interface{}{} + for _, val := range sliceNext { + if v, ok := val.(map[string]interface{}); ok { + result = append(result, v) + } + } + + return result, true + +} + +func GetValueN(data map[string]interface{}, keys ...string) interface{} { + val, _ := GetValue(data, keys...) + return val +} + +func GetValue(data map[string]interface{}, keys ...string) (interface{}, bool) { + for i, key := range keys { + if i == len(keys)-1 { + val, ok := data[key] + return val, ok + } + data, _ = data[key].(map[string]interface{}) + } + + return nil, false +} + +func PutValue(data map[string]interface{}, val interface{}, keys ...string) { + if data == nil { + return + } + + // This is so ugly + for i, key := range keys { + if i == len(keys)-1 { + data[key] = val + } else { + newData, ok := data[key] + if ok { + newMap, ok := newData.(map[string]interface{}) + if ok { + data = newMap + } else { + return + } + } else { + newMap := map[string]interface{}{} + data[key] = newMap + data = newMap + } + } + } +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/LICENSE b/vendor/github.com/rancher/rancher/pkg/client/LICENSE new file mode 100644 index 000000000..e454a5258 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/LICENSE @@ -0,0 +1,178 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aci_network_provider.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aci_network_provider.go new file mode 100644 index 000000000..7457b0729 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aci_network_provider.go @@ -0,0 +1,238 @@ +package client + +const ( + AciNetworkProviderType = "aciNetworkProvider" + AciNetworkProviderFieldAEP = "aep" + AciNetworkProviderFieldAciContainersControllerMemoryLimit = "aciContainersControllerMemoryLimit" + AciNetworkProviderFieldAciContainersControllerMemoryRequest = "aciContainersControllerMemoryRequest" + AciNetworkProviderFieldAciContainersHostMemoryLimit = "aciContainersHostMemoryLimit" + AciNetworkProviderFieldAciContainersHostMemoryRequest = "aciContainersHostMemoryRequest" + AciNetworkProviderFieldAciContainersMemoryLimit = "aciContainersMemoryLimit" + AciNetworkProviderFieldAciContainersMemoryRequest = "aciContainersMemoryRequest" + AciNetworkProviderFieldAciMultipod = "aciMultipod" + AciNetworkProviderFieldAciMultipodUbuntu = "aciMultipodUbuntu" + AciNetworkProviderFieldAddExternalContractToDefaultEpg = "addExternalContractToDefaultEpg" + AciNetworkProviderFieldAddExternalSubnetsToRdconfig = "addExternalSubnetsToRdconfig" + AciNetworkProviderFieldApicConnectionRetryLimit = "apicConnectionRetryLimit" + AciNetworkProviderFieldApicHosts = "apicHosts" + AciNetworkProviderFieldApicRefreshTickerAdjust = "apicRefreshTickerAdjust" + AciNetworkProviderFieldApicRefreshTime = "apicRefreshTime" + AciNetworkProviderFieldApicSubscriptionDelay = "apicSubscriptionDelay" + AciNetworkProviderFieldApicUserCrt = "apicUserCrt" + AciNetworkProviderFieldApicUserKey = "apicUserKey" + AciNetworkProviderFieldApicUserName = "apicUserName" + AciNetworkProviderFieldCApic = "capic" + AciNetworkProviderFieldControllerLogLevel = "controllerLogLevel" + AciNetworkProviderFieldDhcpDelay = "dhcpDelay" + AciNetworkProviderFieldDhcpRenewMaxRetryCount = "dhcpRenewMaxRetryCount" + AciNetworkProviderFieldDisableHppRendering = "disableHppRendering" + AciNetworkProviderFieldDisablePeriodicSnatGlobalInfoSync = "disablePeriodicSnatGlobalInfoSync" + AciNetworkProviderFieldDisableWaitForNetwork = "disableWaitForNetwork" + AciNetworkProviderFieldDropLogDisableEvents = "dropLogDisableEvents" + AciNetworkProviderFieldDropLogEnable = "dropLogEnable" + AciNetworkProviderFieldDurationWaitForNetwork = "durationWaitForNetwork" + AciNetworkProviderFieldDynamicExternalSubnet = "externDynamic" + AciNetworkProviderFieldEnableEndpointSlice = "enableEndpointSlice" + AciNetworkProviderFieldEnableOpflexAgentReconnect = "enableOpflexAgentReconnect" + AciNetworkProviderFieldEncapType = "encapType" + AciNetworkProviderFieldEpRegistry = "epRegistry" + AciNetworkProviderFieldGbpPodSubnet = "gbpPodSubnet" + AciNetworkProviderFieldHostAgentLogLevel = "hostAgentLogLevel" + AciNetworkProviderFieldHppOptimization = "hppOptimization" + AciNetworkProviderFieldImagePullPolicy = "imagePullPolicy" + AciNetworkProviderFieldImagePullSecret = "imagePullSecret" + AciNetworkProviderFieldInfraVlan = "infraVlan" + AciNetworkProviderFieldInstallIstio = "installIstio" + AciNetworkProviderFieldIstioProfile = "istioProfile" + AciNetworkProviderFieldKafkaBrokers = "kafkaBrokers" + AciNetworkProviderFieldKafkaClientCrt = "kafkaClientCrt" + AciNetworkProviderFieldKafkaClientKey = "kafkaClientKey" + AciNetworkProviderFieldKubeAPIVlan = "kubeApiVlan" + AciNetworkProviderFieldL3Out = "l3out" + AciNetworkProviderFieldL3OutExternalNetworks = "l3outExternalNetworks" + AciNetworkProviderFieldMTUHeadRoom = "mtuHeadRoom" + AciNetworkProviderFieldMaxNodesSvcGraph = "maxNodesSvcGraph" + AciNetworkProviderFieldMcastDaemonMemoryLimit = "mcastDaemonMemoryLimit" + AciNetworkProviderFieldMcastDaemonMemoryRequest = "mcastDaemonMemoryRequest" + AciNetworkProviderFieldMcastRangeEnd = "mcastRangeEnd" + AciNetworkProviderFieldMcastRangeStart = "mcastRangeStart" + AciNetworkProviderFieldMultusDisable = "multusDisable" + AciNetworkProviderFieldNoPriorityClass = "noPriorityClass" + AciNetworkProviderFieldNoWaitForServiceEpReadiness = "noWaitForServiceEpReadiness" + AciNetworkProviderFieldNodePodIfEnable = "nodePodIfEnable" + AciNetworkProviderFieldNodeSnatRedirectExclude = "nodeSnatRedirectExclude" + AciNetworkProviderFieldNodeSubnet = "nodeSubnet" + AciNetworkProviderFieldOVSMemoryLimit = "ovsMemoryLimit" + AciNetworkProviderFieldOVSMemoryRequest = "ovsMemoryRequest" + AciNetworkProviderFieldOpflexAgentLogLevel = "opflexLogLevel" + AciNetworkProviderFieldOpflexAgentMemoryLimit = "opflexAgentMemoryLimit" + AciNetworkProviderFieldOpflexAgentMemoryRequest = "opflexAgentMemoryRequest" + AciNetworkProviderFieldOpflexAgentOpflexAsyncjsonEnabled = "opflexAgentOpflexAsyncjsonEnabled" + AciNetworkProviderFieldOpflexAgentOvsAsyncjsonEnabled = "opflexAgentOvsAsyncjsonEnabled" + AciNetworkProviderFieldOpflexAgentPolicyRetryDelayTimer = "opflexAgentPolicyRetryDelayTimer" + AciNetworkProviderFieldOpflexAgentStatistics = "opflexAgentStatistics" + AciNetworkProviderFieldOpflexClientSSL = "opflexClientSsl" + AciNetworkProviderFieldOpflexDeviceDeleteTimeout = "opflexDeviceDeleteTimeout" + AciNetworkProviderFieldOpflexDeviceReconnectWaitTimeout = "opflexDeviceReconnectWaitTimeout" + AciNetworkProviderFieldOpflexMode = "opflexMode" + AciNetworkProviderFieldOpflexOpensslCompat = "opflexOpensslCompat" + AciNetworkProviderFieldOpflexServerPort = "opflexServerPort" + AciNetworkProviderFieldOpflexStartupEnabled = "opflexStartupEnabled" + AciNetworkProviderFieldOpflexStartupPolicyDuration = "opflexStartupPolicyDuration" + AciNetworkProviderFieldOpflexStartupResolveAftConn = "opflexStartupResolveAftConn" + AciNetworkProviderFieldOpflexSwitchSyncDelay = "opflexSwitchSyncDelay" + AciNetworkProviderFieldOpflexSwitchSyncDynamic = "opflexSwitchSyncDynamic" + AciNetworkProviderFieldOverlayVRFName = "overlayVrfName" + AciNetworkProviderFieldPBRTrackingNonSnat = "pbrTrackingNonSnat" + AciNetworkProviderFieldPodSubnetChunkSize = "podSubnetChunkSize" + AciNetworkProviderFieldRunGbpContainer = "runGbpContainer" + AciNetworkProviderFieldRunOpflexServerContainer = "runOpflexServerContainer" + AciNetworkProviderFieldServiceGraphEndpointAddDelay = "serviceGraphEndpointAddDelay" + AciNetworkProviderFieldServiceGraphEndpointAddServices = "serviceGraphEndpointAddServices" + AciNetworkProviderFieldServiceGraphSubnet = "nodeSvcSubnet" + AciNetworkProviderFieldServiceMonitorInterval = "serviceMonitorInterval" + AciNetworkProviderFieldServiceVlan = "serviceVlan" + AciNetworkProviderFieldSleepTimeSnatGlobalInfoSync = "sleepTimeSnatGlobalInfoSync" + AciNetworkProviderFieldSnatContractScope = "snatContractScope" + AciNetworkProviderFieldSnatNamespace = "snatNamespace" + AciNetworkProviderFieldSnatPortRangeEnd = "snatPortRangeEnd" + AciNetworkProviderFieldSnatPortRangeStart = "snatPortRangeStart" + AciNetworkProviderFieldSnatPortsPerNode = "snatPortsPerNode" + AciNetworkProviderFieldSriovEnable = "sriovEnable" + AciNetworkProviderFieldStaticExternalSubnet = "externStatic" + AciNetworkProviderFieldSubnetDomainName = "subnetDomainName" + AciNetworkProviderFieldSystemIdentifier = "systemId" + AciNetworkProviderFieldTaintNotReadyNode = "taintNotReadyNode" + AciNetworkProviderFieldTenant = "tenant" + AciNetworkProviderFieldToken = "token" + AciNetworkProviderFieldTolerationSeconds = "tolerationSeconds" + AciNetworkProviderFieldUseAciAnywhereCRD = "useAciAnywhereCrd" + AciNetworkProviderFieldUseAciCniPriorityClass = "useAciCniPriorityClass" + AciNetworkProviderFieldUseClusterRole = "useClusterRole" + AciNetworkProviderFieldUseHostNetnsVolume = "useHostNetnsVolume" + AciNetworkProviderFieldUseOpflexServerVolume = "useOpflexServerVolume" + AciNetworkProviderFieldUsePrivilegedContainer = "usePrivilegedContainer" + AciNetworkProviderFieldUseSystemNodePriorityClass = "useSystemNodePriorityClass" + AciNetworkProviderFieldVRFName = "vrfName" + AciNetworkProviderFieldVRFTenant = "vrfTenant" + AciNetworkProviderFieldVmmController = "vmmController" + AciNetworkProviderFieldVmmDomain = "vmmDomain" +) + +type AciNetworkProvider struct { + AEP string `json:"aep,omitempty" yaml:"aep,omitempty"` + AciContainersControllerMemoryLimit string `json:"aciContainersControllerMemoryLimit,omitempty" yaml:"aciContainersControllerMemoryLimit,omitempty"` + AciContainersControllerMemoryRequest string `json:"aciContainersControllerMemoryRequest,omitempty" yaml:"aciContainersControllerMemoryRequest,omitempty"` + AciContainersHostMemoryLimit string `json:"aciContainersHostMemoryLimit,omitempty" yaml:"aciContainersHostMemoryLimit,omitempty"` + AciContainersHostMemoryRequest string `json:"aciContainersHostMemoryRequest,omitempty" yaml:"aciContainersHostMemoryRequest,omitempty"` + AciContainersMemoryLimit string `json:"aciContainersMemoryLimit,omitempty" yaml:"aciContainersMemoryLimit,omitempty"` + AciContainersMemoryRequest string `json:"aciContainersMemoryRequest,omitempty" yaml:"aciContainersMemoryRequest,omitempty"` + AciMultipod string `json:"aciMultipod,omitempty" yaml:"aciMultipod,omitempty"` + AciMultipodUbuntu string `json:"aciMultipodUbuntu,omitempty" yaml:"aciMultipodUbuntu,omitempty"` + AddExternalContractToDefaultEpg string `json:"addExternalContractToDefaultEpg,omitempty" yaml:"addExternalContractToDefaultEpg,omitempty"` + AddExternalSubnetsToRdconfig string `json:"addExternalSubnetsToRdconfig,omitempty" yaml:"addExternalSubnetsToRdconfig,omitempty"` + ApicConnectionRetryLimit string `json:"apicConnectionRetryLimit,omitempty" yaml:"apicConnectionRetryLimit,omitempty"` + ApicHosts []string `json:"apicHosts,omitempty" yaml:"apicHosts,omitempty"` + ApicRefreshTickerAdjust string `json:"apicRefreshTickerAdjust,omitempty" yaml:"apicRefreshTickerAdjust,omitempty"` + ApicRefreshTime string `json:"apicRefreshTime,omitempty" yaml:"apicRefreshTime,omitempty"` + ApicSubscriptionDelay string `json:"apicSubscriptionDelay,omitempty" yaml:"apicSubscriptionDelay,omitempty"` + ApicUserCrt string `json:"apicUserCrt,omitempty" yaml:"apicUserCrt,omitempty"` + ApicUserKey string `json:"apicUserKey,omitempty" yaml:"apicUserKey,omitempty"` + ApicUserName string `json:"apicUserName,omitempty" yaml:"apicUserName,omitempty"` + CApic string `json:"capic,omitempty" yaml:"capic,omitempty"` + ControllerLogLevel string `json:"controllerLogLevel,omitempty" yaml:"controllerLogLevel,omitempty"` + DhcpDelay string `json:"dhcpDelay,omitempty" yaml:"dhcpDelay,omitempty"` + DhcpRenewMaxRetryCount string `json:"dhcpRenewMaxRetryCount,omitempty" yaml:"dhcpRenewMaxRetryCount,omitempty"` + DisableHppRendering string `json:"disableHppRendering,omitempty" yaml:"disableHppRendering,omitempty"` + DisablePeriodicSnatGlobalInfoSync string `json:"disablePeriodicSnatGlobalInfoSync,omitempty" yaml:"disablePeriodicSnatGlobalInfoSync,omitempty"` + DisableWaitForNetwork string `json:"disableWaitForNetwork,omitempty" yaml:"disableWaitForNetwork,omitempty"` + DropLogDisableEvents string `json:"dropLogDisableEvents,omitempty" yaml:"dropLogDisableEvents,omitempty"` + DropLogEnable string `json:"dropLogEnable,omitempty" yaml:"dropLogEnable,omitempty"` + DurationWaitForNetwork string `json:"durationWaitForNetwork,omitempty" yaml:"durationWaitForNetwork,omitempty"` + DynamicExternalSubnet string `json:"externDynamic,omitempty" yaml:"externDynamic,omitempty"` + EnableEndpointSlice string `json:"enableEndpointSlice,omitempty" yaml:"enableEndpointSlice,omitempty"` + EnableOpflexAgentReconnect string `json:"enableOpflexAgentReconnect,omitempty" yaml:"enableOpflexAgentReconnect,omitempty"` + EncapType string `json:"encapType,omitempty" yaml:"encapType,omitempty"` + EpRegistry string `json:"epRegistry,omitempty" yaml:"epRegistry,omitempty"` + GbpPodSubnet string `json:"gbpPodSubnet,omitempty" yaml:"gbpPodSubnet,omitempty"` + HostAgentLogLevel string `json:"hostAgentLogLevel,omitempty" yaml:"hostAgentLogLevel,omitempty"` + HppOptimization string `json:"hppOptimization,omitempty" yaml:"hppOptimization,omitempty"` + ImagePullPolicy string `json:"imagePullPolicy,omitempty" yaml:"imagePullPolicy,omitempty"` + ImagePullSecret string `json:"imagePullSecret,omitempty" yaml:"imagePullSecret,omitempty"` + InfraVlan string `json:"infraVlan,omitempty" yaml:"infraVlan,omitempty"` + InstallIstio string `json:"installIstio,omitempty" yaml:"installIstio,omitempty"` + IstioProfile string `json:"istioProfile,omitempty" yaml:"istioProfile,omitempty"` + KafkaBrokers []string `json:"kafkaBrokers,omitempty" yaml:"kafkaBrokers,omitempty"` + KafkaClientCrt string `json:"kafkaClientCrt,omitempty" yaml:"kafkaClientCrt,omitempty"` + KafkaClientKey string `json:"kafkaClientKey,omitempty" yaml:"kafkaClientKey,omitempty"` + KubeAPIVlan string `json:"kubeApiVlan,omitempty" yaml:"kubeApiVlan,omitempty"` + L3Out string `json:"l3out,omitempty" yaml:"l3out,omitempty"` + L3OutExternalNetworks []string `json:"l3outExternalNetworks,omitempty" yaml:"l3outExternalNetworks,omitempty"` + MTUHeadRoom string `json:"mtuHeadRoom,omitempty" yaml:"mtuHeadRoom,omitempty"` + MaxNodesSvcGraph string `json:"maxNodesSvcGraph,omitempty" yaml:"maxNodesSvcGraph,omitempty"` + McastDaemonMemoryLimit string `json:"mcastDaemonMemoryLimit,omitempty" yaml:"mcastDaemonMemoryLimit,omitempty"` + McastDaemonMemoryRequest string `json:"mcastDaemonMemoryRequest,omitempty" yaml:"mcastDaemonMemoryRequest,omitempty"` + McastRangeEnd string `json:"mcastRangeEnd,omitempty" yaml:"mcastRangeEnd,omitempty"` + McastRangeStart string `json:"mcastRangeStart,omitempty" yaml:"mcastRangeStart,omitempty"` + MultusDisable string `json:"multusDisable,omitempty" yaml:"multusDisable,omitempty"` + NoPriorityClass string `json:"noPriorityClass,omitempty" yaml:"noPriorityClass,omitempty"` + NoWaitForServiceEpReadiness string `json:"noWaitForServiceEpReadiness,omitempty" yaml:"noWaitForServiceEpReadiness,omitempty"` + NodePodIfEnable string `json:"nodePodIfEnable,omitempty" yaml:"nodePodIfEnable,omitempty"` + NodeSnatRedirectExclude []map[string]string `json:"nodeSnatRedirectExclude,omitempty" yaml:"nodeSnatRedirectExclude,omitempty"` + NodeSubnet string `json:"nodeSubnet,omitempty" yaml:"nodeSubnet,omitempty"` + OVSMemoryLimit string `json:"ovsMemoryLimit,omitempty" yaml:"ovsMemoryLimit,omitempty"` + OVSMemoryRequest string `json:"ovsMemoryRequest,omitempty" yaml:"ovsMemoryRequest,omitempty"` + OpflexAgentLogLevel string `json:"opflexLogLevel,omitempty" yaml:"opflexLogLevel,omitempty"` + OpflexAgentMemoryLimit string `json:"opflexAgentMemoryLimit,omitempty" yaml:"opflexAgentMemoryLimit,omitempty"` + OpflexAgentMemoryRequest string `json:"opflexAgentMemoryRequest,omitempty" yaml:"opflexAgentMemoryRequest,omitempty"` + OpflexAgentOpflexAsyncjsonEnabled string `json:"opflexAgentOpflexAsyncjsonEnabled,omitempty" yaml:"opflexAgentOpflexAsyncjsonEnabled,omitempty"` + OpflexAgentOvsAsyncjsonEnabled string `json:"opflexAgentOvsAsyncjsonEnabled,omitempty" yaml:"opflexAgentOvsAsyncjsonEnabled,omitempty"` + OpflexAgentPolicyRetryDelayTimer string `json:"opflexAgentPolicyRetryDelayTimer,omitempty" yaml:"opflexAgentPolicyRetryDelayTimer,omitempty"` + OpflexAgentStatistics string `json:"opflexAgentStatistics,omitempty" yaml:"opflexAgentStatistics,omitempty"` + OpflexClientSSL string `json:"opflexClientSsl,omitempty" yaml:"opflexClientSsl,omitempty"` + OpflexDeviceDeleteTimeout string `json:"opflexDeviceDeleteTimeout,omitempty" yaml:"opflexDeviceDeleteTimeout,omitempty"` + OpflexDeviceReconnectWaitTimeout string `json:"opflexDeviceReconnectWaitTimeout,omitempty" yaml:"opflexDeviceReconnectWaitTimeout,omitempty"` + OpflexMode string `json:"opflexMode,omitempty" yaml:"opflexMode,omitempty"` + OpflexOpensslCompat string `json:"opflexOpensslCompat,omitempty" yaml:"opflexOpensslCompat,omitempty"` + OpflexServerPort string `json:"opflexServerPort,omitempty" yaml:"opflexServerPort,omitempty"` + OpflexStartupEnabled string `json:"opflexStartupEnabled,omitempty" yaml:"opflexStartupEnabled,omitempty"` + OpflexStartupPolicyDuration string `json:"opflexStartupPolicyDuration,omitempty" yaml:"opflexStartupPolicyDuration,omitempty"` + OpflexStartupResolveAftConn string `json:"opflexStartupResolveAftConn,omitempty" yaml:"opflexStartupResolveAftConn,omitempty"` + OpflexSwitchSyncDelay string `json:"opflexSwitchSyncDelay,omitempty" yaml:"opflexSwitchSyncDelay,omitempty"` + OpflexSwitchSyncDynamic string `json:"opflexSwitchSyncDynamic,omitempty" yaml:"opflexSwitchSyncDynamic,omitempty"` + OverlayVRFName string `json:"overlayVrfName,omitempty" yaml:"overlayVrfName,omitempty"` + PBRTrackingNonSnat string `json:"pbrTrackingNonSnat,omitempty" yaml:"pbrTrackingNonSnat,omitempty"` + PodSubnetChunkSize string `json:"podSubnetChunkSize,omitempty" yaml:"podSubnetChunkSize,omitempty"` + RunGbpContainer string `json:"runGbpContainer,omitempty" yaml:"runGbpContainer,omitempty"` + RunOpflexServerContainer string `json:"runOpflexServerContainer,omitempty" yaml:"runOpflexServerContainer,omitempty"` + ServiceGraphEndpointAddDelay string `json:"serviceGraphEndpointAddDelay,omitempty" yaml:"serviceGraphEndpointAddDelay,omitempty"` + ServiceGraphEndpointAddServices []map[string]string `json:"serviceGraphEndpointAddServices,omitempty" yaml:"serviceGraphEndpointAddServices,omitempty"` + ServiceGraphSubnet string `json:"nodeSvcSubnet,omitempty" yaml:"nodeSvcSubnet,omitempty"` + ServiceMonitorInterval string `json:"serviceMonitorInterval,omitempty" yaml:"serviceMonitorInterval,omitempty"` + ServiceVlan string `json:"serviceVlan,omitempty" yaml:"serviceVlan,omitempty"` + SleepTimeSnatGlobalInfoSync string `json:"sleepTimeSnatGlobalInfoSync,omitempty" yaml:"sleepTimeSnatGlobalInfoSync,omitempty"` + SnatContractScope string `json:"snatContractScope,omitempty" yaml:"snatContractScope,omitempty"` + SnatNamespace string `json:"snatNamespace,omitempty" yaml:"snatNamespace,omitempty"` + SnatPortRangeEnd string `json:"snatPortRangeEnd,omitempty" yaml:"snatPortRangeEnd,omitempty"` + SnatPortRangeStart string `json:"snatPortRangeStart,omitempty" yaml:"snatPortRangeStart,omitempty"` + SnatPortsPerNode string `json:"snatPortsPerNode,omitempty" yaml:"snatPortsPerNode,omitempty"` + SriovEnable string `json:"sriovEnable,omitempty" yaml:"sriovEnable,omitempty"` + StaticExternalSubnet string `json:"externStatic,omitempty" yaml:"externStatic,omitempty"` + SubnetDomainName string `json:"subnetDomainName,omitempty" yaml:"subnetDomainName,omitempty"` + SystemIdentifier string `json:"systemId,omitempty" yaml:"systemId,omitempty"` + TaintNotReadyNode string `json:"taintNotReadyNode,omitempty" yaml:"taintNotReadyNode,omitempty"` + Tenant string `json:"tenant,omitempty" yaml:"tenant,omitempty"` + Token string `json:"token,omitempty" yaml:"token,omitempty"` + TolerationSeconds string `json:"tolerationSeconds,omitempty" yaml:"tolerationSeconds,omitempty"` + UseAciAnywhereCRD string `json:"useAciAnywhereCrd,omitempty" yaml:"useAciAnywhereCrd,omitempty"` + UseAciCniPriorityClass string `json:"useAciCniPriorityClass,omitempty" yaml:"useAciCniPriorityClass,omitempty"` + UseClusterRole string `json:"useClusterRole,omitempty" yaml:"useClusterRole,omitempty"` + UseHostNetnsVolume string `json:"useHostNetnsVolume,omitempty" yaml:"useHostNetnsVolume,omitempty"` + UseOpflexServerVolume string `json:"useOpflexServerVolume,omitempty" yaml:"useOpflexServerVolume,omitempty"` + UsePrivilegedContainer string `json:"usePrivilegedContainer,omitempty" yaml:"usePrivilegedContainer,omitempty"` + UseSystemNodePriorityClass string `json:"useSystemNodePriorityClass,omitempty" yaml:"useSystemNodePriorityClass,omitempty"` + VRFName string `json:"vrfName,omitempty" yaml:"vrfName,omitempty"` + VRFTenant string `json:"vrfTenant,omitempty" yaml:"vrfTenant,omitempty"` + VmmController string `json:"vmmController,omitempty" yaml:"vmmController,omitempty"` + VmmDomain string `json:"vmmDomain,omitempty" yaml:"vmmDomain,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_action.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_action.go new file mode 100644 index 000000000..6e6334bd1 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_action.go @@ -0,0 +1,12 @@ +package client + +const ( + ActionType = "action" + ActionFieldInput = "input" + ActionFieldOutput = "output" +) + +type Action struct { + Input string `json:"input,omitempty" yaml:"input,omitempty"` + Output string `json:"output,omitempty" yaml:"output,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_active_directory_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_active_directory_config.go new file mode 100644 index 000000000..511461865 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_active_directory_config.go @@ -0,0 +1,86 @@ +package client + +const ( + ActiveDirectoryConfigType = "activeDirectoryConfig" + ActiveDirectoryConfigFieldAccessMode = "accessMode" + ActiveDirectoryConfigFieldAllowedPrincipalIDs = "allowedPrincipalIds" + ActiveDirectoryConfigFieldAnnotations = "annotations" + ActiveDirectoryConfigFieldCertificate = "certificate" + ActiveDirectoryConfigFieldConnectionTimeout = "connectionTimeout" + ActiveDirectoryConfigFieldCreated = "created" + ActiveDirectoryConfigFieldCreatorID = "creatorId" + ActiveDirectoryConfigFieldDefaultLoginDomain = "defaultLoginDomain" + ActiveDirectoryConfigFieldEnabled = "enabled" + ActiveDirectoryConfigFieldGroupDNAttribute = "groupDNAttribute" + ActiveDirectoryConfigFieldGroupMemberMappingAttribute = "groupMemberMappingAttribute" + ActiveDirectoryConfigFieldGroupMemberUserAttribute = "groupMemberUserAttribute" + ActiveDirectoryConfigFieldGroupNameAttribute = "groupNameAttribute" + ActiveDirectoryConfigFieldGroupObjectClass = "groupObjectClass" + ActiveDirectoryConfigFieldGroupSearchAttribute = "groupSearchAttribute" + ActiveDirectoryConfigFieldGroupSearchBase = "groupSearchBase" + ActiveDirectoryConfigFieldGroupSearchFilter = "groupSearchFilter" + ActiveDirectoryConfigFieldLabels = "labels" + ActiveDirectoryConfigFieldName = "name" + ActiveDirectoryConfigFieldNestedGroupMembershipEnabled = "nestedGroupMembershipEnabled" + ActiveDirectoryConfigFieldOwnerReferences = "ownerReferences" + ActiveDirectoryConfigFieldPort = "port" + ActiveDirectoryConfigFieldRemoved = "removed" + ActiveDirectoryConfigFieldServers = "servers" + ActiveDirectoryConfigFieldServiceAccountPassword = "serviceAccountPassword" + ActiveDirectoryConfigFieldServiceAccountUsername = "serviceAccountUsername" + ActiveDirectoryConfigFieldStartTLS = "starttls" + ActiveDirectoryConfigFieldStatus = "status" + ActiveDirectoryConfigFieldTLS = "tls" + ActiveDirectoryConfigFieldType = "type" + ActiveDirectoryConfigFieldUUID = "uuid" + ActiveDirectoryConfigFieldUserDisabledBitMask = "userDisabledBitMask" + ActiveDirectoryConfigFieldUserEnabledAttribute = "userEnabledAttribute" + ActiveDirectoryConfigFieldUserLoginAttribute = "userLoginAttribute" + ActiveDirectoryConfigFieldUserNameAttribute = "userNameAttribute" + ActiveDirectoryConfigFieldUserObjectClass = "userObjectClass" + ActiveDirectoryConfigFieldUserSearchAttribute = "userSearchAttribute" + ActiveDirectoryConfigFieldUserSearchBase = "userSearchBase" + ActiveDirectoryConfigFieldUserSearchFilter = "userSearchFilter" +) + +type ActiveDirectoryConfig struct { + AccessMode string `json:"accessMode,omitempty" yaml:"accessMode,omitempty"` + AllowedPrincipalIDs []string `json:"allowedPrincipalIds,omitempty" yaml:"allowedPrincipalIds,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Certificate string `json:"certificate,omitempty" yaml:"certificate,omitempty"` + ConnectionTimeout int64 `json:"connectionTimeout,omitempty" yaml:"connectionTimeout,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + DefaultLoginDomain string `json:"defaultLoginDomain,omitempty" yaml:"defaultLoginDomain,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + GroupDNAttribute string `json:"groupDNAttribute,omitempty" yaml:"groupDNAttribute,omitempty"` + GroupMemberMappingAttribute string `json:"groupMemberMappingAttribute,omitempty" yaml:"groupMemberMappingAttribute,omitempty"` + GroupMemberUserAttribute string `json:"groupMemberUserAttribute,omitempty" yaml:"groupMemberUserAttribute,omitempty"` + GroupNameAttribute string `json:"groupNameAttribute,omitempty" yaml:"groupNameAttribute,omitempty"` + GroupObjectClass string `json:"groupObjectClass,omitempty" yaml:"groupObjectClass,omitempty"` + GroupSearchAttribute string `json:"groupSearchAttribute,omitempty" yaml:"groupSearchAttribute,omitempty"` + GroupSearchBase string `json:"groupSearchBase,omitempty" yaml:"groupSearchBase,omitempty"` + GroupSearchFilter string `json:"groupSearchFilter,omitempty" yaml:"groupSearchFilter,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NestedGroupMembershipEnabled *bool `json:"nestedGroupMembershipEnabled,omitempty" yaml:"nestedGroupMembershipEnabled,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Port int64 `json:"port,omitempty" yaml:"port,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + Servers []string `json:"servers,omitempty" yaml:"servers,omitempty"` + ServiceAccountPassword string `json:"serviceAccountPassword,omitempty" yaml:"serviceAccountPassword,omitempty"` + ServiceAccountUsername string `json:"serviceAccountUsername,omitempty" yaml:"serviceAccountUsername,omitempty"` + StartTLS bool `json:"starttls,omitempty" yaml:"starttls,omitempty"` + Status *AuthConfigStatus `json:"status,omitempty" yaml:"status,omitempty"` + TLS bool `json:"tls,omitempty" yaml:"tls,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UserDisabledBitMask int64 `json:"userDisabledBitMask,omitempty" yaml:"userDisabledBitMask,omitempty"` + UserEnabledAttribute string `json:"userEnabledAttribute,omitempty" yaml:"userEnabledAttribute,omitempty"` + UserLoginAttribute string `json:"userLoginAttribute,omitempty" yaml:"userLoginAttribute,omitempty"` + UserNameAttribute string `json:"userNameAttribute,omitempty" yaml:"userNameAttribute,omitempty"` + UserObjectClass string `json:"userObjectClass,omitempty" yaml:"userObjectClass,omitempty"` + UserSearchAttribute string `json:"userSearchAttribute,omitempty" yaml:"userSearchAttribute,omitempty"` + UserSearchBase string `json:"userSearchBase,omitempty" yaml:"userSearchBase,omitempty"` + UserSearchFilter string `json:"userSearchFilter,omitempty" yaml:"userSearchFilter,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_active_directory_test_and_apply_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_active_directory_test_and_apply_input.go new file mode 100644 index 000000000..3055af4fa --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_active_directory_test_and_apply_input.go @@ -0,0 +1,16 @@ +package client + +const ( + ActiveDirectoryTestAndApplyInputType = "activeDirectoryTestAndApplyInput" + ActiveDirectoryTestAndApplyInputFieldActiveDirectoryConfig = "activeDirectoryConfig" + ActiveDirectoryTestAndApplyInputFieldEnabled = "enabled" + ActiveDirectoryTestAndApplyInputFieldPassword = "password" + ActiveDirectoryTestAndApplyInputFieldUsername = "username" +) + +type ActiveDirectoryTestAndApplyInput struct { + ActiveDirectoryConfig *ActiveDirectoryConfig `json:"activeDirectoryConfig,omitempty" yaml:"activeDirectoryConfig,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + Password string `json:"password,omitempty" yaml:"password,omitempty"` + Username string `json:"username,omitempty" yaml:"username,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_adfs_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_adfs_config.go new file mode 100644 index 000000000..5170ec83e --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_adfs_config.go @@ -0,0 +1,52 @@ +package client + +const ( + ADFSConfigType = "adfsConfig" + ADFSConfigFieldAccessMode = "accessMode" + ADFSConfigFieldAllowedPrincipalIDs = "allowedPrincipalIds" + ADFSConfigFieldAnnotations = "annotations" + ADFSConfigFieldCreated = "created" + ADFSConfigFieldCreatorID = "creatorId" + ADFSConfigFieldDisplayNameField = "displayNameField" + ADFSConfigFieldEnabled = "enabled" + ADFSConfigFieldEntityID = "entityID" + ADFSConfigFieldGroupsField = "groupsField" + ADFSConfigFieldIDPMetadataContent = "idpMetadataContent" + ADFSConfigFieldLabels = "labels" + ADFSConfigFieldName = "name" + ADFSConfigFieldOwnerReferences = "ownerReferences" + ADFSConfigFieldRancherAPIHost = "rancherApiHost" + ADFSConfigFieldRemoved = "removed" + ADFSConfigFieldSpCert = "spCert" + ADFSConfigFieldSpKey = "spKey" + ADFSConfigFieldStatus = "status" + ADFSConfigFieldType = "type" + ADFSConfigFieldUIDField = "uidField" + ADFSConfigFieldUUID = "uuid" + ADFSConfigFieldUserNameField = "userNameField" +) + +type ADFSConfig struct { + AccessMode string `json:"accessMode,omitempty" yaml:"accessMode,omitempty"` + AllowedPrincipalIDs []string `json:"allowedPrincipalIds,omitempty" yaml:"allowedPrincipalIds,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + DisplayNameField string `json:"displayNameField,omitempty" yaml:"displayNameField,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + EntityID string `json:"entityID,omitempty" yaml:"entityID,omitempty"` + GroupsField string `json:"groupsField,omitempty" yaml:"groupsField,omitempty"` + IDPMetadataContent string `json:"idpMetadataContent,omitempty" yaml:"idpMetadataContent,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + RancherAPIHost string `json:"rancherApiHost,omitempty" yaml:"rancherApiHost,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + SpCert string `json:"spCert,omitempty" yaml:"spCert,omitempty"` + SpKey string `json:"spKey,omitempty" yaml:"spKey,omitempty"` + Status *AuthConfigStatus `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + UIDField string `json:"uidField,omitempty" yaml:"uidField,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UserNameField string `json:"userNameField,omitempty" yaml:"userNameField,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aes_configuration.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aes_configuration.go new file mode 100644 index 000000000..21732a170 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aes_configuration.go @@ -0,0 +1,10 @@ +package client + +const ( + AESConfigurationType = "aesConfiguration" + AESConfigurationFieldKeys = "keys" +) + +type AESConfiguration struct { + Keys []Key `json:"keys,omitempty" yaml:"keys,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_affinity.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_affinity.go new file mode 100644 index 000000000..0489c3d65 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_affinity.go @@ -0,0 +1,14 @@ +package client + +const ( + AffinityType = "affinity" + AffinityFieldNodeAffinity = "nodeAffinity" + AffinityFieldPodAffinity = "podAffinity" + AffinityFieldPodAntiAffinity = "podAntiAffinity" +) + +type Affinity struct { + NodeAffinity *NodeAffinity `json:"nodeAffinity,omitempty" yaml:"nodeAffinity,omitempty"` + PodAffinity *PodAffinity `json:"podAffinity,omitempty" yaml:"podAffinity,omitempty"` + PodAntiAffinity *PodAntiAffinity `json:"podAntiAffinity,omitempty" yaml:"podAntiAffinity,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_agent_deployment_customization.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_agent_deployment_customization.go new file mode 100644 index 000000000..841e6e13d --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_agent_deployment_customization.go @@ -0,0 +1,14 @@ +package client + +const ( + AgentDeploymentCustomizationType = "agentDeploymentCustomization" + AgentDeploymentCustomizationFieldAppendTolerations = "appendTolerations" + AgentDeploymentCustomizationFieldOverrideAffinity = "overrideAffinity" + AgentDeploymentCustomizationFieldOverrideResourceRequirements = "overrideResourceRequirements" +) + +type AgentDeploymentCustomization struct { + AppendTolerations []Toleration `json:"appendTolerations,omitempty" yaml:"appendTolerations,omitempty"` + OverrideAffinity *Affinity `json:"overrideAffinity,omitempty" yaml:"overrideAffinity,omitempty"` + OverrideResourceRequirements *ResourceRequirements `json:"overrideResourceRequirements,omitempty" yaml:"overrideResourceRequirements,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aks_cluster_config_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aks_cluster_config_spec.go new file mode 100644 index 000000000..d6caad1ac --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aks_cluster_config_spec.go @@ -0,0 +1,76 @@ +package client + +const ( + AKSClusterConfigSpecType = "aksClusterConfigSpec" + AKSClusterConfigSpecFieldAuthBaseURL = "authBaseUrl" + AKSClusterConfigSpecFieldAuthorizedIPRanges = "authorizedIpRanges" + AKSClusterConfigSpecFieldAzureCredentialSecret = "azureCredentialSecret" + AKSClusterConfigSpecFieldBaseURL = "baseUrl" + AKSClusterConfigSpecFieldClusterName = "clusterName" + AKSClusterConfigSpecFieldDNSPrefix = "dnsPrefix" + AKSClusterConfigSpecFieldHTTPApplicationRouting = "httpApplicationRouting" + AKSClusterConfigSpecFieldImported = "imported" + AKSClusterConfigSpecFieldKubernetesVersion = "kubernetesVersion" + AKSClusterConfigSpecFieldLinuxAdminUsername = "linuxAdminUsername" + AKSClusterConfigSpecFieldLinuxSSHPublicKey = "sshPublicKey" + AKSClusterConfigSpecFieldLoadBalancerSKU = "loadBalancerSku" + AKSClusterConfigSpecFieldLogAnalyticsWorkspaceGroup = "logAnalyticsWorkspaceGroup" + AKSClusterConfigSpecFieldLogAnalyticsWorkspaceName = "logAnalyticsWorkspaceName" + AKSClusterConfigSpecFieldManagedIdentity = "managedIdentity" + AKSClusterConfigSpecFieldMonitoring = "monitoring" + AKSClusterConfigSpecFieldNetworkDNSServiceIP = "dnsServiceIp" + AKSClusterConfigSpecFieldNetworkDockerBridgeCIDR = "dockerBridgeCidr" + AKSClusterConfigSpecFieldNetworkPlugin = "networkPlugin" + AKSClusterConfigSpecFieldNetworkPodCIDR = "podCidr" + AKSClusterConfigSpecFieldNetworkPolicy = "networkPolicy" + AKSClusterConfigSpecFieldNetworkServiceCIDR = "serviceCidr" + AKSClusterConfigSpecFieldNodePools = "nodePools" + AKSClusterConfigSpecFieldNodeResourceGroup = "nodeResourceGroup" + AKSClusterConfigSpecFieldOutboundType = "outboundType" + AKSClusterConfigSpecFieldPrivateCluster = "privateCluster" + AKSClusterConfigSpecFieldPrivateDNSZone = "privateDnsZone" + AKSClusterConfigSpecFieldResourceGroup = "resourceGroup" + AKSClusterConfigSpecFieldResourceLocation = "resourceLocation" + AKSClusterConfigSpecFieldSubnet = "subnet" + AKSClusterConfigSpecFieldTags = "tags" + AKSClusterConfigSpecFieldUserAssignedIdentity = "userAssignedIdentity" + AKSClusterConfigSpecFieldVirtualNetwork = "virtualNetwork" + AKSClusterConfigSpecFieldVirtualNetworkResourceGroup = "virtualNetworkResourceGroup" +) + +type AKSClusterConfigSpec struct { + AuthBaseURL *string `json:"authBaseUrl,omitempty" yaml:"authBaseUrl,omitempty"` + AuthorizedIPRanges *[]string `json:"authorizedIpRanges,omitempty" yaml:"authorizedIpRanges,omitempty"` + AzureCredentialSecret string `json:"azureCredentialSecret,omitempty" yaml:"azureCredentialSecret,omitempty"` + BaseURL *string `json:"baseUrl,omitempty" yaml:"baseUrl,omitempty"` + ClusterName string `json:"clusterName,omitempty" yaml:"clusterName,omitempty"` + DNSPrefix *string `json:"dnsPrefix,omitempty" yaml:"dnsPrefix,omitempty"` + HTTPApplicationRouting *bool `json:"httpApplicationRouting,omitempty" yaml:"httpApplicationRouting,omitempty"` + Imported bool `json:"imported,omitempty" yaml:"imported,omitempty"` + KubernetesVersion *string `json:"kubernetesVersion,omitempty" yaml:"kubernetesVersion,omitempty"` + LinuxAdminUsername *string `json:"linuxAdminUsername,omitempty" yaml:"linuxAdminUsername,omitempty"` + LinuxSSHPublicKey *string `json:"sshPublicKey,omitempty" yaml:"sshPublicKey,omitempty"` + LoadBalancerSKU *string `json:"loadBalancerSku,omitempty" yaml:"loadBalancerSku,omitempty"` + LogAnalyticsWorkspaceGroup *string `json:"logAnalyticsWorkspaceGroup,omitempty" yaml:"logAnalyticsWorkspaceGroup,omitempty"` + LogAnalyticsWorkspaceName *string `json:"logAnalyticsWorkspaceName,omitempty" yaml:"logAnalyticsWorkspaceName,omitempty"` + ManagedIdentity **bool `json:"managedIdentity,omitempty" yaml:"managedIdentity,omitempty"` + Monitoring *bool `json:"monitoring,omitempty" yaml:"monitoring,omitempty"` + NetworkDNSServiceIP *string `json:"dnsServiceIp,omitempty" yaml:"dnsServiceIp,omitempty"` + NetworkDockerBridgeCIDR *string `json:"dockerBridgeCidr,omitempty" yaml:"dockerBridgeCidr,omitempty"` + NetworkPlugin *string `json:"networkPlugin,omitempty" yaml:"networkPlugin,omitempty"` + NetworkPodCIDR *string `json:"podCidr,omitempty" yaml:"podCidr,omitempty"` + NetworkPolicy *string `json:"networkPolicy,omitempty" yaml:"networkPolicy,omitempty"` + NetworkServiceCIDR *string `json:"serviceCidr,omitempty" yaml:"serviceCidr,omitempty"` + NodePools []AKSNodePool `json:"nodePools,omitempty" yaml:"nodePools,omitempty"` + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty" yaml:"nodeResourceGroup,omitempty"` + OutboundType *string `json:"outboundType,omitempty" yaml:"outboundType,omitempty"` + PrivateCluster *bool `json:"privateCluster,omitempty" yaml:"privateCluster,omitempty"` + PrivateDNSZone *string `json:"privateDnsZone,omitempty" yaml:"privateDnsZone,omitempty"` + ResourceGroup string `json:"resourceGroup,omitempty" yaml:"resourceGroup,omitempty"` + ResourceLocation string `json:"resourceLocation,omitempty" yaml:"resourceLocation,omitempty"` + Subnet *string `json:"subnet,omitempty" yaml:"subnet,omitempty"` + Tags map[string]string `json:"tags,omitempty" yaml:"tags,omitempty"` + UserAssignedIdentity *string `json:"userAssignedIdentity,omitempty" yaml:"userAssignedIdentity,omitempty"` + VirtualNetwork *string `json:"virtualNetwork,omitempty" yaml:"virtualNetwork,omitempty"` + VirtualNetworkResourceGroup *string `json:"virtualNetworkResourceGroup,omitempty" yaml:"virtualNetworkResourceGroup,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aks_node_pool.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aks_node_pool.go new file mode 100644 index 000000000..43e5721cb --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aks_node_pool.go @@ -0,0 +1,42 @@ +package client + +const ( + AKSNodePoolType = "aksNodePool" + AKSNodePoolFieldAvailabilityZones = "availabilityZones" + AKSNodePoolFieldCount = "count" + AKSNodePoolFieldEnableAutoScaling = "enableAutoScaling" + AKSNodePoolFieldMaxCount = "maxCount" + AKSNodePoolFieldMaxPods = "maxPods" + AKSNodePoolFieldMaxSurge = "maxSurge" + AKSNodePoolFieldMinCount = "minCount" + AKSNodePoolFieldMode = "mode" + AKSNodePoolFieldName = "name" + AKSNodePoolFieldNodeLabels = "nodeLabels" + AKSNodePoolFieldNodeTaints = "nodeTaints" + AKSNodePoolFieldOrchestratorVersion = "orchestratorVersion" + AKSNodePoolFieldOsDiskSizeGB = "osDiskSizeGB" + AKSNodePoolFieldOsDiskType = "osDiskType" + AKSNodePoolFieldOsType = "osType" + AKSNodePoolFieldVMSize = "vmSize" + AKSNodePoolFieldVnetSubnetID = "vnetSubnetID" +) + +type AKSNodePool struct { + AvailabilityZones *[]string `json:"availabilityZones,omitempty" yaml:"availabilityZones,omitempty"` + Count *int64 `json:"count,omitempty" yaml:"count,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty" yaml:"enableAutoScaling,omitempty"` + MaxCount *int64 `json:"maxCount,omitempty" yaml:"maxCount,omitempty"` + MaxPods *int64 `json:"maxPods,omitempty" yaml:"maxPods,omitempty"` + MaxSurge string `json:"maxSurge,omitempty" yaml:"maxSurge,omitempty"` + MinCount *int64 `json:"minCount,omitempty" yaml:"minCount,omitempty"` + Mode string `json:"mode,omitempty" yaml:"mode,omitempty"` + Name *string `json:"name,omitempty" yaml:"name,omitempty"` + NodeLabels map[string]string `json:"nodeLabels,omitempty" yaml:"nodeLabels,omitempty"` + NodeTaints []string `json:"nodeTaints,omitempty" yaml:"nodeTaints,omitempty"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty" yaml:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int64 `json:"osDiskSizeGB,omitempty" yaml:"osDiskSizeGB,omitempty"` + OsDiskType string `json:"osDiskType,omitempty" yaml:"osDiskType,omitempty"` + OsType string `json:"osType,omitempty" yaml:"osType,omitempty"` + VMSize string `json:"vmSize,omitempty" yaml:"vmSize,omitempty"` + VnetSubnetID *string `json:"vnetSubnetID,omitempty" yaml:"vnetSubnetID,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aks_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aks_status.go new file mode 100644 index 000000000..91074c032 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aks_status.go @@ -0,0 +1,14 @@ +package client + +const ( + AKSStatusType = "aksStatus" + AKSStatusFieldPrivateRequiresTunnel = "privateRequiresTunnel" + AKSStatusFieldRBACEnabled = "rbacEnabled" + AKSStatusFieldUpstreamSpec = "upstreamSpec" +) + +type AKSStatus struct { + PrivateRequiresTunnel *bool `json:"privateRequiresTunnel,omitempty" yaml:"privateRequiresTunnel,omitempty"` + RBACEnabled *bool `json:"rbacEnabled,omitempty" yaml:"rbacEnabled,omitempty"` + UpstreamSpec *AKSClusterConfigSpec `json:"upstreamSpec,omitempty" yaml:"upstreamSpec,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_alidns_provider_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_alidns_provider_config.go new file mode 100644 index 000000000..a58df2cac --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_alidns_provider_config.go @@ -0,0 +1,14 @@ +package client + +const ( + AlidnsProviderConfigType = "alidnsProviderConfig" + AlidnsProviderConfigFieldAccessKey = "accessKey" + AlidnsProviderConfigFieldAdditionalOptions = "additionalOptions" + AlidnsProviderConfigFieldSecretKey = "secretKey" +) + +type AlidnsProviderConfig struct { + AccessKey string `json:"accessKey,omitempty" yaml:"accessKey,omitempty"` + AdditionalOptions map[string]string `json:"additionalOptions,omitempty" yaml:"additionalOptions,omitempty"` + SecretKey string `json:"secretKey,omitempty" yaml:"secretKey,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_answer.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_answer.go new file mode 100644 index 000000000..d79e0c9e2 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_answer.go @@ -0,0 +1,16 @@ +package client + +const ( + AnswerType = "answer" + AnswerFieldClusterID = "clusterId" + AnswerFieldProjectID = "projectId" + AnswerFieldValues = "values" + AnswerFieldValuesSetString = "valuesSetString" +) + +type Answer struct { + ClusterID string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"` + ProjectID string `json:"projectId,omitempty" yaml:"projectId,omitempty"` + Values map[string]string `json:"values,omitempty" yaml:"values,omitempty"` + ValuesSetString map[string]string `json:"valuesSetString,omitempty" yaml:"valuesSetString,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_app_condition.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_app_condition.go new file mode 100644 index 000000000..9d633aeea --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_app_condition.go @@ -0,0 +1,20 @@ +package client + +const ( + AppConditionType = "appCondition" + AppConditionFieldLastTransitionTime = "lastTransitionTime" + AppConditionFieldLastUpdateTime = "lastUpdateTime" + AppConditionFieldMessage = "message" + AppConditionFieldReason = "reason" + AppConditionFieldStatus = "status" + AppConditionFieldType = "type" +) + +type AppCondition struct { + LastTransitionTime string `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"` + LastUpdateTime string `json:"lastUpdateTime,omitempty" yaml:"lastUpdateTime,omitempty"` + Message string `json:"message,omitempty" yaml:"message,omitempty"` + Reason string `json:"reason,omitempty" yaml:"reason,omitempty"` + Status string `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_attached_volume.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_attached_volume.go new file mode 100644 index 000000000..c3bbe0e65 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_attached_volume.go @@ -0,0 +1,10 @@ +package client + +const ( + AttachedVolumeType = "attachedVolume" + AttachedVolumeFieldName = "name" +) + +type AttachedVolume struct { + Name string `json:"name,omitempty" yaml:"name,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_audit_log.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_audit_log.go new file mode 100644 index 000000000..7d605ca8b --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_audit_log.go @@ -0,0 +1,12 @@ +package client + +const ( + AuditLogType = "auditLog" + AuditLogFieldConfiguration = "configuration" + AuditLogFieldEnabled = "enabled" +) + +type AuditLog struct { + Configuration *AuditLogConfig `json:"configuration,omitempty" yaml:"configuration,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_audit_log_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_audit_log_config.go new file mode 100644 index 000000000..d1d828973 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_audit_log_config.go @@ -0,0 +1,20 @@ +package client + +const ( + AuditLogConfigType = "auditLogConfig" + AuditLogConfigFieldFormat = "format" + AuditLogConfigFieldMaxAge = "maxAge" + AuditLogConfigFieldMaxBackup = "maxBackup" + AuditLogConfigFieldMaxSize = "maxSize" + AuditLogConfigFieldPath = "path" + AuditLogConfigFieldPolicy = "policy" +) + +type AuditLogConfig struct { + Format string `json:"format,omitempty" yaml:"format,omitempty"` + MaxAge int64 `json:"maxAge,omitempty" yaml:"maxAge,omitempty"` + MaxBackup int64 `json:"maxBackup,omitempty" yaml:"maxBackup,omitempty"` + MaxSize int64 `json:"maxSize,omitempty" yaml:"maxSize,omitempty"` + Path string `json:"path,omitempty" yaml:"path,omitempty"` + Policy map[string]interface{} `json:"policy,omitempty" yaml:"policy,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_auth_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_auth_config.go new file mode 100644 index 000000000..ac6c47bbd --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_auth_config.go @@ -0,0 +1,128 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + AuthConfigType = "authConfig" + AuthConfigFieldAccessMode = "accessMode" + AuthConfigFieldAllowedPrincipalIDs = "allowedPrincipalIds" + AuthConfigFieldAnnotations = "annotations" + AuthConfigFieldCreated = "created" + AuthConfigFieldCreatorID = "creatorId" + AuthConfigFieldEnabled = "enabled" + AuthConfigFieldLabels = "labels" + AuthConfigFieldName = "name" + AuthConfigFieldOwnerReferences = "ownerReferences" + AuthConfigFieldRemoved = "removed" + AuthConfigFieldStatus = "status" + AuthConfigFieldType = "type" + AuthConfigFieldUUID = "uuid" +) + +type AuthConfig struct { + types.Resource + AccessMode string `json:"accessMode,omitempty" yaml:"accessMode,omitempty"` + AllowedPrincipalIDs []string `json:"allowedPrincipalIds,omitempty" yaml:"allowedPrincipalIds,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + Status *AuthConfigStatus `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type AuthConfigCollection struct { + types.Collection + Data []AuthConfig `json:"data,omitempty"` + client *AuthConfigClient +} + +type AuthConfigClient struct { + apiClient *Client +} + +type AuthConfigOperations interface { + List(opts *types.ListOpts) (*AuthConfigCollection, error) + ListAll(opts *types.ListOpts) (*AuthConfigCollection, error) + Create(opts *AuthConfig) (*AuthConfig, error) + Update(existing *AuthConfig, updates interface{}) (*AuthConfig, error) + Replace(existing *AuthConfig) (*AuthConfig, error) + ByID(id string) (*AuthConfig, error) + Delete(container *AuthConfig) error +} + +func newAuthConfigClient(apiClient *Client) *AuthConfigClient { + return &AuthConfigClient{ + apiClient: apiClient, + } +} + +func (c *AuthConfigClient) Create(container *AuthConfig) (*AuthConfig, error) { + resp := &AuthConfig{} + err := c.apiClient.Ops.DoCreate(AuthConfigType, container, resp) + return resp, err +} + +func (c *AuthConfigClient) Update(existing *AuthConfig, updates interface{}) (*AuthConfig, error) { + resp := &AuthConfig{} + err := c.apiClient.Ops.DoUpdate(AuthConfigType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *AuthConfigClient) Replace(obj *AuthConfig) (*AuthConfig, error) { + resp := &AuthConfig{} + err := c.apiClient.Ops.DoReplace(AuthConfigType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *AuthConfigClient) List(opts *types.ListOpts) (*AuthConfigCollection, error) { + resp := &AuthConfigCollection{} + err := c.apiClient.Ops.DoList(AuthConfigType, opts, resp) + resp.client = c + return resp, err +} + +func (c *AuthConfigClient) ListAll(opts *types.ListOpts) (*AuthConfigCollection, error) { + resp := &AuthConfigCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *AuthConfigCollection) Next() (*AuthConfigCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &AuthConfigCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *AuthConfigClient) ByID(id string) (*AuthConfig, error) { + resp := &AuthConfig{} + err := c.apiClient.Ops.DoByID(AuthConfigType, id, resp) + return resp, err +} + +func (c *AuthConfigClient) Delete(container *AuthConfig) error { + return c.apiClient.Ops.DoResourceDelete(AuthConfigType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_auth_config_conditions.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_auth_config_conditions.go new file mode 100644 index 000000000..bf92ef016 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_auth_config_conditions.go @@ -0,0 +1,20 @@ +package client + +const ( + AuthConfigConditionsType = "authConfigConditions" + AuthConfigConditionsFieldLastTransitionTime = "lastTransitionTime" + AuthConfigConditionsFieldLastUpdateTime = "lastUpdateTime" + AuthConfigConditionsFieldMessage = "message" + AuthConfigConditionsFieldReason = "reason" + AuthConfigConditionsFieldStatus = "status" + AuthConfigConditionsFieldType = "type" +) + +type AuthConfigConditions struct { + LastTransitionTime string `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"` + LastUpdateTime string `json:"lastUpdateTime,omitempty" yaml:"lastUpdateTime,omitempty"` + Message string `json:"message,omitempty" yaml:"message,omitempty"` + Reason string `json:"reason,omitempty" yaml:"reason,omitempty"` + Status string `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_auth_config_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_auth_config_status.go new file mode 100644 index 000000000..e92cbec76 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_auth_config_status.go @@ -0,0 +1,10 @@ +package client + +const ( + AuthConfigStatusType = "authConfigStatus" + AuthConfigStatusFieldConditions = "conditions" +) + +type AuthConfigStatus struct { + Conditions []AuthConfigConditions `json:"conditions,omitempty" yaml:"conditions,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_auth_webhook_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_auth_webhook_config.go new file mode 100644 index 000000000..b9bbc1a80 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_auth_webhook_config.go @@ -0,0 +1,12 @@ +package client + +const ( + AuthWebhookConfigType = "authWebhookConfig" + AuthWebhookConfigFieldCacheTimeout = "cacheTimeout" + AuthWebhookConfigFieldConfigFile = "configFile" +) + +type AuthWebhookConfig struct { + CacheTimeout string `json:"cacheTimeout,omitempty" yaml:"cacheTimeout,omitempty"` + ConfigFile string `json:"configFile,omitempty" yaml:"configFile,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_authn_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_authn_config.go new file mode 100644 index 000000000..e740e6194 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_authn_config.go @@ -0,0 +1,14 @@ +package client + +const ( + AuthnConfigType = "authnConfig" + AuthnConfigFieldSANs = "sans" + AuthnConfigFieldStrategy = "strategy" + AuthnConfigFieldWebhook = "webhook" +) + +type AuthnConfig struct { + SANs []string `json:"sans,omitempty" yaml:"sans,omitempty"` + Strategy string `json:"strategy,omitempty" yaml:"strategy,omitempty"` + Webhook *AuthWebhookConfig `json:"webhook,omitempty" yaml:"webhook,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_authz_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_authz_config.go new file mode 100644 index 000000000..ee491dcd6 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_authz_config.go @@ -0,0 +1,12 @@ +package client + +const ( + AuthzConfigType = "authzConfig" + AuthzConfigFieldMode = "mode" + AuthzConfigFieldOptions = "options" +) + +type AuthzConfig struct { + Mode string `json:"mode,omitempty" yaml:"mode,omitempty"` + Options map[string]string `json:"options,omitempty" yaml:"options,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aws_cloud_provider.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aws_cloud_provider.go new file mode 100644 index 000000000..bb1ebd01a --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aws_cloud_provider.go @@ -0,0 +1,12 @@ +package client + +const ( + AWSCloudProviderType = "awsCloudProvider" + AWSCloudProviderFieldGlobal = "global" + AWSCloudProviderFieldServiceOverride = "serviceOverride" +) + +type AWSCloudProvider struct { + Global *GlobalAwsOpts `json:"global,omitempty" yaml:"global,omitempty"` + ServiceOverride map[string]ServiceOverride `json:"serviceOverride,omitempty" yaml:"serviceOverride,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aws_elastic_block_store_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aws_elastic_block_store_volume_source.go new file mode 100644 index 000000000..5765e83e4 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_aws_elastic_block_store_volume_source.go @@ -0,0 +1,16 @@ +package client + +const ( + AWSElasticBlockStoreVolumeSourceType = "awsElasticBlockStoreVolumeSource" + AWSElasticBlockStoreVolumeSourceFieldFSType = "fsType" + AWSElasticBlockStoreVolumeSourceFieldPartition = "partition" + AWSElasticBlockStoreVolumeSourceFieldReadOnly = "readOnly" + AWSElasticBlockStoreVolumeSourceFieldVolumeID = "volumeID" +) + +type AWSElasticBlockStoreVolumeSource struct { + FSType string `json:"fsType,omitempty" yaml:"fsType,omitempty"` + Partition int64 `json:"partition,omitempty" yaml:"partition,omitempty"` + ReadOnly bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` + VolumeID string `json:"volumeID,omitempty" yaml:"volumeID,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_adconfig.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_adconfig.go new file mode 100644 index 000000000..4de1b3f6d --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_adconfig.go @@ -0,0 +1,54 @@ +package client + +const ( + AzureADConfigType = "azureADConfig" + AzureADConfigFieldAccessMode = "accessMode" + AzureADConfigFieldAllowedPrincipalIDs = "allowedPrincipalIds" + AzureADConfigFieldAnnotations = "annotations" + AzureADConfigFieldApplicationID = "applicationId" + AzureADConfigFieldApplicationSecret = "applicationSecret" + AzureADConfigFieldAuthEndpoint = "authEndpoint" + AzureADConfigFieldCreated = "created" + AzureADConfigFieldCreatorID = "creatorId" + AzureADConfigFieldDeviceAuthEndpoint = "deviceAuthEndpoint" + AzureADConfigFieldEnabled = "enabled" + AzureADConfigFieldEndpoint = "endpoint" + AzureADConfigFieldGraphEndpoint = "graphEndpoint" + AzureADConfigFieldGroupMembershipFilter = "groupMembershipFilter" + AzureADConfigFieldLabels = "labels" + AzureADConfigFieldName = "name" + AzureADConfigFieldOwnerReferences = "ownerReferences" + AzureADConfigFieldRancherURL = "rancherUrl" + AzureADConfigFieldRemoved = "removed" + AzureADConfigFieldStatus = "status" + AzureADConfigFieldTenantID = "tenantId" + AzureADConfigFieldTokenEndpoint = "tokenEndpoint" + AzureADConfigFieldType = "type" + AzureADConfigFieldUUID = "uuid" +) + +type AzureADConfig struct { + AccessMode string `json:"accessMode,omitempty" yaml:"accessMode,omitempty"` + AllowedPrincipalIDs []string `json:"allowedPrincipalIds,omitempty" yaml:"allowedPrincipalIds,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + ApplicationID string `json:"applicationId,omitempty" yaml:"applicationId,omitempty"` + ApplicationSecret string `json:"applicationSecret,omitempty" yaml:"applicationSecret,omitempty"` + AuthEndpoint string `json:"authEndpoint,omitempty" yaml:"authEndpoint,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + DeviceAuthEndpoint string `json:"deviceAuthEndpoint,omitempty" yaml:"deviceAuthEndpoint,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + Endpoint string `json:"endpoint,omitempty" yaml:"endpoint,omitempty"` + GraphEndpoint string `json:"graphEndpoint,omitempty" yaml:"graphEndpoint,omitempty"` + GroupMembershipFilter string `json:"groupMembershipFilter,omitempty" yaml:"groupMembershipFilter,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + RancherURL string `json:"rancherUrl,omitempty" yaml:"rancherUrl,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + Status *AuthConfigStatus `json:"status,omitempty" yaml:"status,omitempty"` + TenantID string `json:"tenantId,omitempty" yaml:"tenantId,omitempty"` + TokenEndpoint string `json:"tokenEndpoint,omitempty" yaml:"tokenEndpoint,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_adconfig_apply_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_adconfig_apply_input.go new file mode 100644 index 000000000..a1e5b3922 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_adconfig_apply_input.go @@ -0,0 +1,12 @@ +package client + +const ( + AzureADConfigApplyInputType = "azureADConfigApplyInput" + AzureADConfigApplyInputFieldCode = "code" + AzureADConfigApplyInputFieldConfig = "config" +) + +type AzureADConfigApplyInput struct { + Code string `json:"code,omitempty" yaml:"code,omitempty"` + Config *AzureADConfig `json:"config,omitempty" yaml:"config,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_adconfig_test_output.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_adconfig_test_output.go new file mode 100644 index 000000000..4ce982795 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_adconfig_test_output.go @@ -0,0 +1,10 @@ +package client + +const ( + AzureADConfigTestOutputType = "azureADConfigTestOutput" + AzureADConfigTestOutputFieldRedirectURL = "redirectUrl" +) + +type AzureADConfigTestOutput struct { + RedirectURL string `json:"redirectUrl,omitempty" yaml:"redirectUrl,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_cloud_provider.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_cloud_provider.go new file mode 100644 index 000000000..df355ec2b --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_cloud_provider.go @@ -0,0 +1,74 @@ +package client + +const ( + AzureCloudProviderType = "azureCloudProvider" + AzureCloudProviderFieldAADClientCertPassword = "aadClientCertPassword" + AzureCloudProviderFieldAADClientCertPath = "aadClientCertPath" + AzureCloudProviderFieldAADClientID = "aadClientId" + AzureCloudProviderFieldAADClientSecret = "aadClientSecret" + AzureCloudProviderFieldCloud = "cloud" + AzureCloudProviderFieldCloudProviderBackoff = "cloudProviderBackoff" + AzureCloudProviderFieldCloudProviderBackoffDuration = "cloudProviderBackoffDuration" + AzureCloudProviderFieldCloudProviderBackoffExponent = "cloudProviderBackoffExponent" + AzureCloudProviderFieldCloudProviderBackoffJitter = "cloudProviderBackoffJitter" + AzureCloudProviderFieldCloudProviderBackoffRetries = "cloudProviderBackoffRetries" + AzureCloudProviderFieldCloudProviderRateLimit = "cloudProviderRateLimit" + AzureCloudProviderFieldCloudProviderRateLimitBucket = "cloudProviderRateLimitBucket" + AzureCloudProviderFieldCloudProviderRateLimitQPS = "cloudProviderRateLimitQPS" + AzureCloudProviderFieldExcludeMasterFromStandardLB = "excludeMasterFromStandardLB" + AzureCloudProviderFieldLoadBalancerSku = "loadBalancerSku" + AzureCloudProviderFieldLocation = "location" + AzureCloudProviderFieldMaximumLoadBalancerRuleCount = "maximumLoadBalancerRuleCount" + AzureCloudProviderFieldPrimaryAvailabilitySetName = "primaryAvailabilitySetName" + AzureCloudProviderFieldPrimaryScaleSetName = "primaryScaleSetName" + AzureCloudProviderFieldResourceGroup = "resourceGroup" + AzureCloudProviderFieldRouteTableName = "routeTableName" + AzureCloudProviderFieldSecurityGroupName = "securityGroupName" + AzureCloudProviderFieldSecurityGroupResourceGroup = "securityGroupResourceGroup" + AzureCloudProviderFieldSubnetName = "subnetName" + AzureCloudProviderFieldSubscriptionID = "subscriptionId" + AzureCloudProviderFieldTags = "tags" + AzureCloudProviderFieldTenantID = "tenantId" + AzureCloudProviderFieldUseInstanceMetadata = "useInstanceMetadata" + AzureCloudProviderFieldUseManagedIdentityExtension = "useManagedIdentityExtension" + AzureCloudProviderFieldUserAssignedIdentityID = "userAssignedIdentityID" + AzureCloudProviderFieldVMType = "vmType" + AzureCloudProviderFieldVnetName = "vnetName" + AzureCloudProviderFieldVnetResourceGroup = "vnetResourceGroup" +) + +type AzureCloudProvider struct { + AADClientCertPassword string `json:"aadClientCertPassword,omitempty" yaml:"aadClientCertPassword,omitempty"` + AADClientCertPath string `json:"aadClientCertPath,omitempty" yaml:"aadClientCertPath,omitempty"` + AADClientID string `json:"aadClientId,omitempty" yaml:"aadClientId,omitempty"` + AADClientSecret string `json:"aadClientSecret,omitempty" yaml:"aadClientSecret,omitempty"` + Cloud string `json:"cloud,omitempty" yaml:"cloud,omitempty"` + CloudProviderBackoff bool `json:"cloudProviderBackoff,omitempty" yaml:"cloudProviderBackoff,omitempty"` + CloudProviderBackoffDuration int64 `json:"cloudProviderBackoffDuration,omitempty" yaml:"cloudProviderBackoffDuration,omitempty"` + CloudProviderBackoffExponent int64 `json:"cloudProviderBackoffExponent,omitempty" yaml:"cloudProviderBackoffExponent,omitempty"` + CloudProviderBackoffJitter int64 `json:"cloudProviderBackoffJitter,omitempty" yaml:"cloudProviderBackoffJitter,omitempty"` + CloudProviderBackoffRetries int64 `json:"cloudProviderBackoffRetries,omitempty" yaml:"cloudProviderBackoffRetries,omitempty"` + CloudProviderRateLimit bool `json:"cloudProviderRateLimit,omitempty" yaml:"cloudProviderRateLimit,omitempty"` + CloudProviderRateLimitBucket int64 `json:"cloudProviderRateLimitBucket,omitempty" yaml:"cloudProviderRateLimitBucket,omitempty"` + CloudProviderRateLimitQPS int64 `json:"cloudProviderRateLimitQPS,omitempty" yaml:"cloudProviderRateLimitQPS,omitempty"` + ExcludeMasterFromStandardLB *bool `json:"excludeMasterFromStandardLB,omitempty" yaml:"excludeMasterFromStandardLB,omitempty"` + LoadBalancerSku string `json:"loadBalancerSku,omitempty" yaml:"loadBalancerSku,omitempty"` + Location string `json:"location,omitempty" yaml:"location,omitempty"` + MaximumLoadBalancerRuleCount int64 `json:"maximumLoadBalancerRuleCount,omitempty" yaml:"maximumLoadBalancerRuleCount,omitempty"` + PrimaryAvailabilitySetName string `json:"primaryAvailabilitySetName,omitempty" yaml:"primaryAvailabilitySetName,omitempty"` + PrimaryScaleSetName string `json:"primaryScaleSetName,omitempty" yaml:"primaryScaleSetName,omitempty"` + ResourceGroup string `json:"resourceGroup,omitempty" yaml:"resourceGroup,omitempty"` + RouteTableName string `json:"routeTableName,omitempty" yaml:"routeTableName,omitempty"` + SecurityGroupName string `json:"securityGroupName,omitempty" yaml:"securityGroupName,omitempty"` + SecurityGroupResourceGroup string `json:"securityGroupResourceGroup,omitempty" yaml:"securityGroupResourceGroup,omitempty"` + SubnetName string `json:"subnetName,omitempty" yaml:"subnetName,omitempty"` + SubscriptionID string `json:"subscriptionId,omitempty" yaml:"subscriptionId,omitempty"` + Tags string `json:"tags,omitempty" yaml:"tags,omitempty"` + TenantID string `json:"tenantId,omitempty" yaml:"tenantId,omitempty"` + UseInstanceMetadata bool `json:"useInstanceMetadata,omitempty" yaml:"useInstanceMetadata,omitempty"` + UseManagedIdentityExtension bool `json:"useManagedIdentityExtension,omitempty" yaml:"useManagedIdentityExtension,omitempty"` + UserAssignedIdentityID string `json:"userAssignedIdentityID,omitempty" yaml:"userAssignedIdentityID,omitempty"` + VMType string `json:"vmType,omitempty" yaml:"vmType,omitempty"` + VnetName string `json:"vnetName,omitempty" yaml:"vnetName,omitempty"` + VnetResourceGroup string `json:"vnetResourceGroup,omitempty" yaml:"vnetResourceGroup,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_disk_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_disk_volume_source.go new file mode 100644 index 000000000..28920c001 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_disk_volume_source.go @@ -0,0 +1,20 @@ +package client + +const ( + AzureDiskVolumeSourceType = "azureDiskVolumeSource" + AzureDiskVolumeSourceFieldCachingMode = "cachingMode" + AzureDiskVolumeSourceFieldDataDiskURI = "diskURI" + AzureDiskVolumeSourceFieldDiskName = "diskName" + AzureDiskVolumeSourceFieldFSType = "fsType" + AzureDiskVolumeSourceFieldKind = "kind" + AzureDiskVolumeSourceFieldReadOnly = "readOnly" +) + +type AzureDiskVolumeSource struct { + CachingMode string `json:"cachingMode,omitempty" yaml:"cachingMode,omitempty"` + DataDiskURI string `json:"diskURI,omitempty" yaml:"diskURI,omitempty"` + DiskName string `json:"diskName,omitempty" yaml:"diskName,omitempty"` + FSType string `json:"fsType,omitempty" yaml:"fsType,omitempty"` + Kind string `json:"kind,omitempty" yaml:"kind,omitempty"` + ReadOnly *bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_file_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_file_volume_source.go new file mode 100644 index 000000000..3be8571cc --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_azure_file_volume_source.go @@ -0,0 +1,14 @@ +package client + +const ( + AzureFileVolumeSourceType = "azureFileVolumeSource" + AzureFileVolumeSourceFieldReadOnly = "readOnly" + AzureFileVolumeSourceFieldSecretName = "secretName" + AzureFileVolumeSourceFieldShareName = "shareName" +) + +type AzureFileVolumeSource struct { + ReadOnly bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` + SecretName string `json:"secretName,omitempty" yaml:"secretName,omitempty"` + ShareName string `json:"shareName,omitempty" yaml:"shareName,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_backup_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_backup_config.go new file mode 100644 index 000000000..140cf15cc --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_backup_config.go @@ -0,0 +1,20 @@ +package client + +const ( + BackupConfigType = "backupConfig" + BackupConfigFieldEnabled = "enabled" + BackupConfigFieldIntervalHours = "intervalHours" + BackupConfigFieldRetention = "retention" + BackupConfigFieldS3BackupConfig = "s3BackupConfig" + BackupConfigFieldSafeTimestamp = "safeTimestamp" + BackupConfigFieldTimeout = "timeout" +) + +type BackupConfig struct { + Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + IntervalHours int64 `json:"intervalHours,omitempty" yaml:"intervalHours,omitempty"` + Retention int64 `json:"retention,omitempty" yaml:"retention,omitempty"` + S3BackupConfig *S3BackupConfig `json:"s3BackupConfig,omitempty" yaml:"s3BackupConfig,omitempty"` + SafeTimestamp bool `json:"safeTimestamp,omitempty" yaml:"safeTimestamp,omitempty"` + Timeout int64 `json:"timeout,omitempty" yaml:"timeout,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_bastion_host.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_bastion_host.go new file mode 100644 index 000000000..ac24e24f5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_bastion_host.go @@ -0,0 +1,26 @@ +package client + +const ( + BastionHostType = "bastionHost" + BastionHostFieldAddress = "address" + BastionHostFieldIgnoreProxyEnvVars = "ignoreProxyEnvVars" + BastionHostFieldPort = "port" + BastionHostFieldSSHAgentAuth = "sshAgentAuth" + BastionHostFieldSSHCert = "sshCert" + BastionHostFieldSSHCertPath = "sshCertPath" + BastionHostFieldSSHKey = "sshKey" + BastionHostFieldSSHKeyPath = "sshKeyPath" + BastionHostFieldUser = "user" +) + +type BastionHost struct { + Address string `json:"address,omitempty" yaml:"address,omitempty"` + IgnoreProxyEnvVars bool `json:"ignoreProxyEnvVars,omitempty" yaml:"ignoreProxyEnvVars,omitempty"` + Port string `json:"port,omitempty" yaml:"port,omitempty"` + SSHAgentAuth bool `json:"sshAgentAuth,omitempty" yaml:"sshAgentAuth,omitempty"` + SSHCert string `json:"sshCert,omitempty" yaml:"sshCert,omitempty"` + SSHCertPath string `json:"sshCertPath,omitempty" yaml:"sshCertPath,omitempty"` + SSHKey string `json:"sshKey,omitempty" yaml:"sshKey,omitempty"` + SSHKeyPath string `json:"sshKeyPath,omitempty" yaml:"sshKeyPath,omitempty"` + User string `json:"user,omitempty" yaml:"user,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_block_storage_openstack_opts.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_block_storage_openstack_opts.go new file mode 100644 index 000000000..b95bb36e1 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_block_storage_openstack_opts.go @@ -0,0 +1,14 @@ +package client + +const ( + BlockStorageOpenstackOptsType = "blockStorageOpenstackOpts" + BlockStorageOpenstackOptsFieldBSVersion = "bs-version" + BlockStorageOpenstackOptsFieldIgnoreVolumeAZ = "ignore-volume-az" + BlockStorageOpenstackOptsFieldTrustDevicePath = "trust-device-path" +) + +type BlockStorageOpenstackOpts struct { + BSVersion string `json:"bs-version,omitempty" yaml:"bs-version,omitempty"` + IgnoreVolumeAZ bool `json:"ignore-volume-az,omitempty" yaml:"ignore-volume-az,omitempty"` + TrustDevicePath bool `json:"trust-device-path,omitempty" yaml:"trust-device-path,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_calico_network_provider.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_calico_network_provider.go new file mode 100644 index 000000000..4bfc50b09 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_calico_network_provider.go @@ -0,0 +1,10 @@ +package client + +const ( + CalicoNetworkProviderType = "calicoNetworkProvider" + CalicoNetworkProviderFieldCloudProvider = "cloudProvider" +) + +type CalicoNetworkProvider struct { + CloudProvider string `json:"cloudProvider,omitempty" yaml:"cloudProvider,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_canal_network_provider.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_canal_network_provider.go new file mode 100644 index 000000000..e648a18ca --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_canal_network_provider.go @@ -0,0 +1,10 @@ +package client + +const ( + CanalNetworkProviderType = "canalNetworkProvider" + CanalNetworkProviderFieldIface = "iface" +) + +type CanalNetworkProvider struct { + Iface string `json:"iface,omitempty" yaml:"iface,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_capabilities.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_capabilities.go new file mode 100644 index 000000000..887bcbd4f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_capabilities.go @@ -0,0 +1,18 @@ +package client + +const ( + CapabilitiesType = "capabilities" + CapabilitiesFieldIngressCapabilities = "ingressCapabilities" + CapabilitiesFieldLoadBalancerCapabilities = "loadBalancerCapabilities" + CapabilitiesFieldNodePoolScalingSupported = "nodePoolScalingSupported" + CapabilitiesFieldNodePortRange = "nodePortRange" + CapabilitiesFieldTaintSupport = "taintSupport" +) + +type Capabilities struct { + IngressCapabilities []IngressCapabilities `json:"ingressCapabilities,omitempty" yaml:"ingressCapabilities,omitempty"` + LoadBalancerCapabilities *LoadBalancerCapabilities `json:"loadBalancerCapabilities,omitempty" yaml:"loadBalancerCapabilities,omitempty"` + NodePoolScalingSupported bool `json:"nodePoolScalingSupported,omitempty" yaml:"nodePoolScalingSupported,omitempty"` + NodePortRange string `json:"nodePortRange,omitempty" yaml:"nodePortRange,omitempty"` + TaintSupport *bool `json:"taintSupport,omitempty" yaml:"taintSupport,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog.go new file mode 100644 index 000000000..4d3233823 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog.go @@ -0,0 +1,164 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + CatalogType = "catalog" + CatalogFieldAnnotations = "annotations" + CatalogFieldBranch = "branch" + CatalogFieldCatalogSecrets = "catalogSecrets" + CatalogFieldCommit = "commit" + CatalogFieldConditions = "conditions" + CatalogFieldCreated = "created" + CatalogFieldCreatorID = "creatorId" + CatalogFieldCredentialSecret = "credentialSecret" + CatalogFieldDescription = "description" + CatalogFieldHelmVersion = "helmVersion" + CatalogFieldKind = "kind" + CatalogFieldLabels = "labels" + CatalogFieldLastRefreshTimestamp = "lastRefreshTimestamp" + CatalogFieldName = "name" + CatalogFieldOwnerReferences = "ownerReferences" + CatalogFieldPassword = "password" + CatalogFieldRemoved = "removed" + CatalogFieldState = "state" + CatalogFieldTransitioning = "transitioning" + CatalogFieldTransitioningMessage = "transitioningMessage" + CatalogFieldURL = "url" + CatalogFieldUUID = "uuid" + CatalogFieldUsername = "username" +) + +type Catalog struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Branch string `json:"branch,omitempty" yaml:"branch,omitempty"` + CatalogSecrets *CatalogSecrets `json:"catalogSecrets,omitempty" yaml:"catalogSecrets,omitempty"` + Commit string `json:"commit,omitempty" yaml:"commit,omitempty"` + Conditions []CatalogCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + CredentialSecret string `json:"credentialSecret,omitempty" yaml:"credentialSecret,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + HelmVersion string `json:"helmVersion,omitempty" yaml:"helmVersion,omitempty"` + Kind string `json:"kind,omitempty" yaml:"kind,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + LastRefreshTimestamp string `json:"lastRefreshTimestamp,omitempty" yaml:"lastRefreshTimestamp,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Password string `json:"password,omitempty" yaml:"password,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + URL string `json:"url,omitempty" yaml:"url,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + Username string `json:"username,omitempty" yaml:"username,omitempty"` +} + +type CatalogCollection struct { + types.Collection + Data []Catalog `json:"data,omitempty"` + client *CatalogClient +} + +type CatalogClient struct { + apiClient *Client +} + +type CatalogOperations interface { + List(opts *types.ListOpts) (*CatalogCollection, error) + ListAll(opts *types.ListOpts) (*CatalogCollection, error) + Create(opts *Catalog) (*Catalog, error) + Update(existing *Catalog, updates interface{}) (*Catalog, error) + Replace(existing *Catalog) (*Catalog, error) + ByID(id string) (*Catalog, error) + Delete(container *Catalog) error + + ActionRefresh(resource *Catalog) (*CatalogRefresh, error) + + CollectionActionRefresh(resource *CatalogCollection) (*CatalogRefresh, error) +} + +func newCatalogClient(apiClient *Client) *CatalogClient { + return &CatalogClient{ + apiClient: apiClient, + } +} + +func (c *CatalogClient) Create(container *Catalog) (*Catalog, error) { + resp := &Catalog{} + err := c.apiClient.Ops.DoCreate(CatalogType, container, resp) + return resp, err +} + +func (c *CatalogClient) Update(existing *Catalog, updates interface{}) (*Catalog, error) { + resp := &Catalog{} + err := c.apiClient.Ops.DoUpdate(CatalogType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *CatalogClient) Replace(obj *Catalog) (*Catalog, error) { + resp := &Catalog{} + err := c.apiClient.Ops.DoReplace(CatalogType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *CatalogClient) List(opts *types.ListOpts) (*CatalogCollection, error) { + resp := &CatalogCollection{} + err := c.apiClient.Ops.DoList(CatalogType, opts, resp) + resp.client = c + return resp, err +} + +func (c *CatalogClient) ListAll(opts *types.ListOpts) (*CatalogCollection, error) { + resp := &CatalogCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *CatalogCollection) Next() (*CatalogCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &CatalogCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *CatalogClient) ByID(id string) (*Catalog, error) { + resp := &Catalog{} + err := c.apiClient.Ops.DoByID(CatalogType, id, resp) + return resp, err +} + +func (c *CatalogClient) Delete(container *Catalog) error { + return c.apiClient.Ops.DoResourceDelete(CatalogType, &container.Resource) +} + +func (c *CatalogClient) ActionRefresh(resource *Catalog) (*CatalogRefresh, error) { + resp := &CatalogRefresh{} + err := c.apiClient.Ops.DoAction(CatalogType, "refresh", &resource.Resource, nil, resp) + return resp, err +} + +func (c *CatalogClient) CollectionActionRefresh(resource *CatalogCollection) (*CatalogRefresh, error) { + resp := &CatalogRefresh{} + err := c.apiClient.Ops.DoCollectionAction(CatalogType, "refresh", &resource.Collection, nil, resp) + return resp, err +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_condition.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_condition.go new file mode 100644 index 000000000..0aba7f4ea --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_condition.go @@ -0,0 +1,20 @@ +package client + +const ( + CatalogConditionType = "catalogCondition" + CatalogConditionFieldLastTransitionTime = "lastTransitionTime" + CatalogConditionFieldLastUpdateTime = "lastUpdateTime" + CatalogConditionFieldMessage = "message" + CatalogConditionFieldReason = "reason" + CatalogConditionFieldStatus = "status" + CatalogConditionFieldType = "type" +) + +type CatalogCondition struct { + LastTransitionTime string `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"` + LastUpdateTime string `json:"lastUpdateTime,omitempty" yaml:"lastUpdateTime,omitempty"` + Message string `json:"message,omitempty" yaml:"message,omitempty"` + Reason string `json:"reason,omitempty" yaml:"reason,omitempty"` + Status string `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_refresh.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_refresh.go new file mode 100644 index 000000000..b2f825f71 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_refresh.go @@ -0,0 +1,10 @@ +package client + +const ( + CatalogRefreshType = "catalogRefresh" + CatalogRefreshFieldCatalogs = "catalogs" +) + +type CatalogRefresh struct { + Catalogs []string `json:"catalogs,omitempty" yaml:"catalogs,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_secrets.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_secrets.go new file mode 100644 index 000000000..d89c146f8 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_secrets.go @@ -0,0 +1,10 @@ +package client + +const ( + CatalogSecretsType = "catalogSecrets" + CatalogSecretsFieldCredentialSecret = "credentialSecret" +) + +type CatalogSecrets struct { + CredentialSecret string `json:"credentialSecret,omitempty" yaml:"credentialSecret,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_spec.go new file mode 100644 index 000000000..0eb5c87d0 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_spec.go @@ -0,0 +1,24 @@ +package client + +const ( + CatalogSpecType = "catalogSpec" + CatalogSpecFieldBranch = "branch" + CatalogSpecFieldCatalogKind = "catalogKind" + CatalogSpecFieldCatalogSecrets = "catalogSecrets" + CatalogSpecFieldDescription = "description" + CatalogSpecFieldHelmVersion = "helmVersion" + CatalogSpecFieldPassword = "password" + CatalogSpecFieldURL = "url" + CatalogSpecFieldUsername = "username" +) + +type CatalogSpec struct { + Branch string `json:"branch,omitempty" yaml:"branch,omitempty"` + CatalogKind string `json:"catalogKind,omitempty" yaml:"catalogKind,omitempty"` + CatalogSecrets *CatalogSecrets `json:"catalogSecrets,omitempty" yaml:"catalogSecrets,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + HelmVersion string `json:"helmVersion,omitempty" yaml:"helmVersion,omitempty"` + Password string `json:"password,omitempty" yaml:"password,omitempty"` + URL string `json:"url,omitempty" yaml:"url,omitempty"` + Username string `json:"username,omitempty" yaml:"username,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_status.go new file mode 100644 index 000000000..624f1434b --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_status.go @@ -0,0 +1,18 @@ +package client + +const ( + CatalogStatusType = "catalogStatus" + CatalogStatusFieldCommit = "commit" + CatalogStatusFieldConditions = "conditions" + CatalogStatusFieldCredentialSecret = "credentialSecret" + CatalogStatusFieldHelmVersionCommits = "helmVersionCommits" + CatalogStatusFieldLastRefreshTimestamp = "lastRefreshTimestamp" +) + +type CatalogStatus struct { + Commit string `json:"commit,omitempty" yaml:"commit,omitempty"` + Conditions []CatalogCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + CredentialSecret string `json:"credentialSecret,omitempty" yaml:"credentialSecret,omitempty"` + HelmVersionCommits map[string]VersionCommits `json:"helmVersionCommits,omitempty" yaml:"helmVersionCommits,omitempty"` + LastRefreshTimestamp string `json:"lastRefreshTimestamp,omitempty" yaml:"lastRefreshTimestamp,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_template.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_template.go new file mode 100644 index 000000000..bc609f8a5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_template.go @@ -0,0 +1,166 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + CatalogTemplateType = "catalogTemplate" + CatalogTemplateFieldAnnotations = "annotations" + CatalogTemplateFieldCatalogID = "catalogId" + CatalogTemplateFieldCategories = "categories" + CatalogTemplateFieldCategory = "category" + CatalogTemplateFieldClusterCatalogID = "clusterCatalogId" + CatalogTemplateFieldClusterID = "clusterId" + CatalogTemplateFieldCreated = "created" + CatalogTemplateFieldCreatorID = "creatorId" + CatalogTemplateFieldDefaultTemplateVersionID = "defaultTemplateVersionId" + CatalogTemplateFieldDefaultVersion = "defaultVersion" + CatalogTemplateFieldDescription = "description" + CatalogTemplateFieldFolderName = "folderName" + CatalogTemplateFieldIcon = "icon" + CatalogTemplateFieldIconFilename = "iconFilename" + CatalogTemplateFieldLabels = "labels" + CatalogTemplateFieldMaintainer = "maintainer" + CatalogTemplateFieldName = "name" + CatalogTemplateFieldOwnerReferences = "ownerReferences" + CatalogTemplateFieldPath = "path" + CatalogTemplateFieldProjectCatalogID = "projectCatalogId" + CatalogTemplateFieldProjectID = "projectId" + CatalogTemplateFieldProjectURL = "projectURL" + CatalogTemplateFieldReadme = "readme" + CatalogTemplateFieldRemoved = "removed" + CatalogTemplateFieldState = "state" + CatalogTemplateFieldStatus = "status" + CatalogTemplateFieldTransitioning = "transitioning" + CatalogTemplateFieldTransitioningMessage = "transitioningMessage" + CatalogTemplateFieldUUID = "uuid" + CatalogTemplateFieldUpgradeFrom = "upgradeFrom" + CatalogTemplateFieldVersionLinks = "versionLinks" + CatalogTemplateFieldVersions = "versions" +) + +type CatalogTemplate struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + CatalogID string `json:"catalogId,omitempty" yaml:"catalogId,omitempty"` + Categories []string `json:"categories,omitempty" yaml:"categories,omitempty"` + Category string `json:"category,omitempty" yaml:"category,omitempty"` + ClusterCatalogID string `json:"clusterCatalogId,omitempty" yaml:"clusterCatalogId,omitempty"` + ClusterID string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + DefaultTemplateVersionID string `json:"defaultTemplateVersionId,omitempty" yaml:"defaultTemplateVersionId,omitempty"` + DefaultVersion string `json:"defaultVersion,omitempty" yaml:"defaultVersion,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + FolderName string `json:"folderName,omitempty" yaml:"folderName,omitempty"` + Icon string `json:"icon,omitempty" yaml:"icon,omitempty"` + IconFilename string `json:"iconFilename,omitempty" yaml:"iconFilename,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Maintainer string `json:"maintainer,omitempty" yaml:"maintainer,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Path string `json:"path,omitempty" yaml:"path,omitempty"` + ProjectCatalogID string `json:"projectCatalogId,omitempty" yaml:"projectCatalogId,omitempty"` + ProjectID string `json:"projectId,omitempty" yaml:"projectId,omitempty"` + ProjectURL string `json:"projectURL,omitempty" yaml:"projectURL,omitempty"` + Readme string `json:"readme,omitempty" yaml:"readme,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Status *TemplateStatus `json:"status,omitempty" yaml:"status,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UpgradeFrom string `json:"upgradeFrom,omitempty" yaml:"upgradeFrom,omitempty"` + VersionLinks map[string]string `json:"versionLinks,omitempty" yaml:"versionLinks,omitempty"` + Versions []TemplateVersionSpec `json:"versions,omitempty" yaml:"versions,omitempty"` +} + +type CatalogTemplateCollection struct { + types.Collection + Data []CatalogTemplate `json:"data,omitempty"` + client *CatalogTemplateClient +} + +type CatalogTemplateClient struct { + apiClient *Client +} + +type CatalogTemplateOperations interface { + List(opts *types.ListOpts) (*CatalogTemplateCollection, error) + ListAll(opts *types.ListOpts) (*CatalogTemplateCollection, error) + Create(opts *CatalogTemplate) (*CatalogTemplate, error) + Update(existing *CatalogTemplate, updates interface{}) (*CatalogTemplate, error) + Replace(existing *CatalogTemplate) (*CatalogTemplate, error) + ByID(id string) (*CatalogTemplate, error) + Delete(container *CatalogTemplate) error +} + +func newCatalogTemplateClient(apiClient *Client) *CatalogTemplateClient { + return &CatalogTemplateClient{ + apiClient: apiClient, + } +} + +func (c *CatalogTemplateClient) Create(container *CatalogTemplate) (*CatalogTemplate, error) { + resp := &CatalogTemplate{} + err := c.apiClient.Ops.DoCreate(CatalogTemplateType, container, resp) + return resp, err +} + +func (c *CatalogTemplateClient) Update(existing *CatalogTemplate, updates interface{}) (*CatalogTemplate, error) { + resp := &CatalogTemplate{} + err := c.apiClient.Ops.DoUpdate(CatalogTemplateType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *CatalogTemplateClient) Replace(obj *CatalogTemplate) (*CatalogTemplate, error) { + resp := &CatalogTemplate{} + err := c.apiClient.Ops.DoReplace(CatalogTemplateType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *CatalogTemplateClient) List(opts *types.ListOpts) (*CatalogTemplateCollection, error) { + resp := &CatalogTemplateCollection{} + err := c.apiClient.Ops.DoList(CatalogTemplateType, opts, resp) + resp.client = c + return resp, err +} + +func (c *CatalogTemplateClient) ListAll(opts *types.ListOpts) (*CatalogTemplateCollection, error) { + resp := &CatalogTemplateCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *CatalogTemplateCollection) Next() (*CatalogTemplateCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &CatalogTemplateCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *CatalogTemplateClient) ByID(id string) (*CatalogTemplate, error) { + resp := &CatalogTemplate{} + err := c.apiClient.Ops.DoByID(CatalogTemplateType, id, resp) + return resp, err +} + +func (c *CatalogTemplateClient) Delete(container *CatalogTemplate) error { + return c.apiClient.Ops.DoResourceDelete(CatalogTemplateType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_template_version.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_template_version.go new file mode 100644 index 000000000..520ed1864 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_catalog_template_version.go @@ -0,0 +1,158 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + CatalogTemplateVersionType = "catalogTemplateVersion" + CatalogTemplateVersionFieldAnnotations = "annotations" + CatalogTemplateVersionFieldAppReadme = "appReadme" + CatalogTemplateVersionFieldCreated = "created" + CatalogTemplateVersionFieldCreatorID = "creatorId" + CatalogTemplateVersionFieldDigest = "digest" + CatalogTemplateVersionFieldExternalID = "externalId" + CatalogTemplateVersionFieldFiles = "files" + CatalogTemplateVersionFieldKubeVersion = "kubeVersion" + CatalogTemplateVersionFieldLabels = "labels" + CatalogTemplateVersionFieldName = "name" + CatalogTemplateVersionFieldOwnerReferences = "ownerReferences" + CatalogTemplateVersionFieldQuestions = "questions" + CatalogTemplateVersionFieldRancherMaxVersion = "rancherMaxVersion" + CatalogTemplateVersionFieldRancherMinVersion = "rancherMinVersion" + CatalogTemplateVersionFieldRancherVersion = "rancherVersion" + CatalogTemplateVersionFieldReadme = "readme" + CatalogTemplateVersionFieldRemoved = "removed" + CatalogTemplateVersionFieldRequiredNamespace = "requiredNamespace" + CatalogTemplateVersionFieldState = "state" + CatalogTemplateVersionFieldStatus = "status" + CatalogTemplateVersionFieldTransitioning = "transitioning" + CatalogTemplateVersionFieldTransitioningMessage = "transitioningMessage" + CatalogTemplateVersionFieldUUID = "uuid" + CatalogTemplateVersionFieldUpgradeVersionLinks = "upgradeVersionLinks" + CatalogTemplateVersionFieldVersion = "version" + CatalogTemplateVersionFieldVersionDir = "versionDir" + CatalogTemplateVersionFieldVersionName = "versionName" + CatalogTemplateVersionFieldVersionURLs = "versionUrls" +) + +type CatalogTemplateVersion struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + AppReadme string `json:"appReadme,omitempty" yaml:"appReadme,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Digest string `json:"digest,omitempty" yaml:"digest,omitempty"` + ExternalID string `json:"externalId,omitempty" yaml:"externalId,omitempty"` + Files map[string]string `json:"files,omitempty" yaml:"files,omitempty"` + KubeVersion string `json:"kubeVersion,omitempty" yaml:"kubeVersion,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Questions []Question `json:"questions,omitempty" yaml:"questions,omitempty"` + RancherMaxVersion string `json:"rancherMaxVersion,omitempty" yaml:"rancherMaxVersion,omitempty"` + RancherMinVersion string `json:"rancherMinVersion,omitempty" yaml:"rancherMinVersion,omitempty"` + RancherVersion string `json:"rancherVersion,omitempty" yaml:"rancherVersion,omitempty"` + Readme string `json:"readme,omitempty" yaml:"readme,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + RequiredNamespace string `json:"requiredNamespace,omitempty" yaml:"requiredNamespace,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Status *TemplateVersionStatus `json:"status,omitempty" yaml:"status,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UpgradeVersionLinks map[string]string `json:"upgradeVersionLinks,omitempty" yaml:"upgradeVersionLinks,omitempty"` + Version string `json:"version,omitempty" yaml:"version,omitempty"` + VersionDir string `json:"versionDir,omitempty" yaml:"versionDir,omitempty"` + VersionName string `json:"versionName,omitempty" yaml:"versionName,omitempty"` + VersionURLs []string `json:"versionUrls,omitempty" yaml:"versionUrls,omitempty"` +} + +type CatalogTemplateVersionCollection struct { + types.Collection + Data []CatalogTemplateVersion `json:"data,omitempty"` + client *CatalogTemplateVersionClient +} + +type CatalogTemplateVersionClient struct { + apiClient *Client +} + +type CatalogTemplateVersionOperations interface { + List(opts *types.ListOpts) (*CatalogTemplateVersionCollection, error) + ListAll(opts *types.ListOpts) (*CatalogTemplateVersionCollection, error) + Create(opts *CatalogTemplateVersion) (*CatalogTemplateVersion, error) + Update(existing *CatalogTemplateVersion, updates interface{}) (*CatalogTemplateVersion, error) + Replace(existing *CatalogTemplateVersion) (*CatalogTemplateVersion, error) + ByID(id string) (*CatalogTemplateVersion, error) + Delete(container *CatalogTemplateVersion) error +} + +func newCatalogTemplateVersionClient(apiClient *Client) *CatalogTemplateVersionClient { + return &CatalogTemplateVersionClient{ + apiClient: apiClient, + } +} + +func (c *CatalogTemplateVersionClient) Create(container *CatalogTemplateVersion) (*CatalogTemplateVersion, error) { + resp := &CatalogTemplateVersion{} + err := c.apiClient.Ops.DoCreate(CatalogTemplateVersionType, container, resp) + return resp, err +} + +func (c *CatalogTemplateVersionClient) Update(existing *CatalogTemplateVersion, updates interface{}) (*CatalogTemplateVersion, error) { + resp := &CatalogTemplateVersion{} + err := c.apiClient.Ops.DoUpdate(CatalogTemplateVersionType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *CatalogTemplateVersionClient) Replace(obj *CatalogTemplateVersion) (*CatalogTemplateVersion, error) { + resp := &CatalogTemplateVersion{} + err := c.apiClient.Ops.DoReplace(CatalogTemplateVersionType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *CatalogTemplateVersionClient) List(opts *types.ListOpts) (*CatalogTemplateVersionCollection, error) { + resp := &CatalogTemplateVersionCollection{} + err := c.apiClient.Ops.DoList(CatalogTemplateVersionType, opts, resp) + resp.client = c + return resp, err +} + +func (c *CatalogTemplateVersionClient) ListAll(opts *types.ListOpts) (*CatalogTemplateVersionCollection, error) { + resp := &CatalogTemplateVersionCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *CatalogTemplateVersionCollection) Next() (*CatalogTemplateVersionCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &CatalogTemplateVersionCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *CatalogTemplateVersionClient) ByID(id string) (*CatalogTemplateVersion, error) { + resp := &CatalogTemplateVersion{} + err := c.apiClient.Ops.DoByID(CatalogTemplateVersionType, id, resp) + return resp, err +} + +func (c *CatalogTemplateVersionClient) Delete(container *CatalogTemplateVersion) error { + return c.apiClient.Ops.DoResourceDelete(CatalogTemplateVersionType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ceph_fsvolume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ceph_fsvolume_source.go new file mode 100644 index 000000000..363ba5eb0 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ceph_fsvolume_source.go @@ -0,0 +1,20 @@ +package client + +const ( + CephFSVolumeSourceType = "cephFSVolumeSource" + CephFSVolumeSourceFieldMonitors = "monitors" + CephFSVolumeSourceFieldPath = "path" + CephFSVolumeSourceFieldReadOnly = "readOnly" + CephFSVolumeSourceFieldSecretFile = "secretFile" + CephFSVolumeSourceFieldSecretRef = "secretRef" + CephFSVolumeSourceFieldUser = "user" +) + +type CephFSVolumeSource struct { + Monitors []string `json:"monitors,omitempty" yaml:"monitors,omitempty"` + Path string `json:"path,omitempty" yaml:"path,omitempty"` + ReadOnly bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` + SecretFile string `json:"secretFile,omitempty" yaml:"secretFile,omitempty"` + SecretRef *LocalObjectReference `json:"secretRef,omitempty" yaml:"secretRef,omitempty"` + User string `json:"user,omitempty" yaml:"user,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cert_expiration.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cert_expiration.go new file mode 100644 index 000000000..0b05b4652 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cert_expiration.go @@ -0,0 +1,10 @@ +package client + +const ( + CertExpirationType = "certExpiration" + CertExpirationFieldExpirationDate = "expirationDate" +) + +type CertExpiration struct { + ExpirationDate string `json:"expirationDate,omitempty" yaml:"expirationDate,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_change_password_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_change_password_input.go new file mode 100644 index 000000000..e3a12085f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_change_password_input.go @@ -0,0 +1,12 @@ +package client + +const ( + ChangePasswordInputType = "changePasswordInput" + ChangePasswordInputFieldCurrentPassword = "currentPassword" + ChangePasswordInputFieldNewPassword = "newPassword" +) + +type ChangePasswordInput struct { + CurrentPassword string `json:"currentPassword,omitempty" yaml:"currentPassword,omitempty"` + NewPassword string `json:"newPassword,omitempty" yaml:"newPassword,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cinder_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cinder_volume_source.go new file mode 100644 index 000000000..ac0a6211e --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cinder_volume_source.go @@ -0,0 +1,16 @@ +package client + +const ( + CinderVolumeSourceType = "cinderVolumeSource" + CinderVolumeSourceFieldFSType = "fsType" + CinderVolumeSourceFieldReadOnly = "readOnly" + CinderVolumeSourceFieldSecretRef = "secretRef" + CinderVolumeSourceFieldVolumeID = "volumeID" +) + +type CinderVolumeSource struct { + FSType string `json:"fsType,omitempty" yaml:"fsType,omitempty"` + ReadOnly bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` + SecretRef *LocalObjectReference `json:"secretRef,omitempty" yaml:"secretRef,omitempty"` + VolumeID string `json:"volumeID,omitempty" yaml:"volumeID,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_client.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_client.go new file mode 100644 index 000000000..8ba5dc7f6 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_client.go @@ -0,0 +1,124 @@ +package client + +import ( + "github.com/rancher/norman/clientbase" +) + +type Client struct { + clientbase.APIBaseClient + + NodePool NodePoolOperations + Node NodeOperations + NodeDriver NodeDriverOperations + NodeTemplate NodeTemplateOperations + PodSecurityAdmissionConfigurationTemplate PodSecurityAdmissionConfigurationTemplateOperations + Project ProjectOperations + GlobalRole GlobalRoleOperations + GlobalRoleBinding GlobalRoleBindingOperations + RoleTemplate RoleTemplateOperations + ClusterRoleTemplateBinding ClusterRoleTemplateBindingOperations + ProjectRoleTemplateBinding ProjectRoleTemplateBindingOperations + Cluster ClusterOperations + ClusterRegistrationToken ClusterRegistrationTokenOperations + Catalog CatalogOperations + Template TemplateOperations + CatalogTemplate CatalogTemplateOperations + CatalogTemplateVersion CatalogTemplateVersionOperations + TemplateVersion TemplateVersionOperations + TemplateContent TemplateContentOperations + Group GroupOperations + GroupMember GroupMemberOperations + SamlToken SamlTokenOperations + Principal PrincipalOperations + User UserOperations + AuthConfig AuthConfigOperations + LdapConfig LdapConfigOperations + Token TokenOperations + DynamicSchema DynamicSchemaOperations + Preference PreferenceOperations + ProjectNetworkPolicy ProjectNetworkPolicyOperations + Setting SettingOperations + Feature FeatureOperations + ComposeConfig ComposeConfigOperations + ProjectCatalog ProjectCatalogOperations + ClusterCatalog ClusterCatalogOperations + MultiClusterApp MultiClusterAppOperations + MultiClusterAppRevision MultiClusterAppRevisionOperations + GlobalDns GlobalDnsOperations + GlobalDnsProvider GlobalDnsProviderOperations + KontainerDriver KontainerDriverOperations + EtcdBackup EtcdBackupOperations + CloudCredential CloudCredentialOperations + ManagementSecret ManagementSecretOperations + ClusterTemplate ClusterTemplateOperations + ClusterTemplateRevision ClusterTemplateRevisionOperations + RkeK8sSystemImage RkeK8sSystemImageOperations + RkeK8sServiceOption RkeK8sServiceOptionOperations + RkeAddon RkeAddonOperations + FleetWorkspace FleetWorkspaceOperations + RancherUserNotification RancherUserNotificationOperations +} + +func NewClient(opts *clientbase.ClientOpts) (*Client, error) { + baseClient, err := clientbase.NewAPIClient(opts) + if err != nil { + return nil, err + } + + client := &Client{ + APIBaseClient: baseClient, + } + + client.NodePool = newNodePoolClient(client) + client.Node = newNodeClient(client) + client.NodeDriver = newNodeDriverClient(client) + client.NodeTemplate = newNodeTemplateClient(client) + client.PodSecurityAdmissionConfigurationTemplate = newPodSecurityAdmissionConfigurationTemplateClient(client) + client.Project = newProjectClient(client) + client.GlobalRole = newGlobalRoleClient(client) + client.GlobalRoleBinding = newGlobalRoleBindingClient(client) + client.RoleTemplate = newRoleTemplateClient(client) + client.ClusterRoleTemplateBinding = newClusterRoleTemplateBindingClient(client) + client.ProjectRoleTemplateBinding = newProjectRoleTemplateBindingClient(client) + client.Cluster = newClusterClient(client) + client.ClusterRegistrationToken = newClusterRegistrationTokenClient(client) + client.Catalog = newCatalogClient(client) + client.Template = newTemplateClient(client) + client.CatalogTemplate = newCatalogTemplateClient(client) + client.CatalogTemplateVersion = newCatalogTemplateVersionClient(client) + client.TemplateVersion = newTemplateVersionClient(client) + client.TemplateContent = newTemplateContentClient(client) + client.Group = newGroupClient(client) + client.GroupMember = newGroupMemberClient(client) + client.SamlToken = newSamlTokenClient(client) + client.Principal = newPrincipalClient(client) + client.User = newUserClient(client) + client.AuthConfig = newAuthConfigClient(client) + client.LdapConfig = newLdapConfigClient(client) + client.Token = newTokenClient(client) + client.DynamicSchema = newDynamicSchemaClient(client) + client.Preference = newPreferenceClient(client) + client.ProjectNetworkPolicy = newProjectNetworkPolicyClient(client) + client.Setting = newSettingClient(client) + client.Feature = newFeatureClient(client) + client.ComposeConfig = newComposeConfigClient(client) + client.ProjectCatalog = newProjectCatalogClient(client) + client.ClusterCatalog = newClusterCatalogClient(client) + client.MultiClusterApp = newMultiClusterAppClient(client) + client.MultiClusterAppRevision = newMultiClusterAppRevisionClient(client) + client.GlobalDns = newGlobalDnsClient(client) + client.GlobalDnsProvider = newGlobalDnsProviderClient(client) + client.KontainerDriver = newKontainerDriverClient(client) + client.EtcdBackup = newEtcdBackupClient(client) + client.CloudCredential = newCloudCredentialClient(client) + client.ManagementSecret = newManagementSecretClient(client) + client.ClusterTemplate = newClusterTemplateClient(client) + client.ClusterTemplateRevision = newClusterTemplateRevisionClient(client) + client.RkeK8sSystemImage = newRkeK8sSystemImageClient(client) + client.RkeK8sServiceOption = newRkeK8sServiceOptionClient(client) + client.RkeAddon = newRkeAddonClient(client) + client.FleetWorkspace = newFleetWorkspaceClient(client) + client.RancherUserNotification = newRancherUserNotificationClient(client) + + return client, nil +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cloud_credential.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cloud_credential.go new file mode 100644 index 000000000..9381da312 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cloud_credential.go @@ -0,0 +1,122 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + CloudCredentialType = "cloudCredential" + CloudCredentialFieldAnnotations = "annotations" + CloudCredentialFieldCreated = "created" + CloudCredentialFieldCreatorID = "creatorId" + CloudCredentialFieldDescription = "description" + CloudCredentialFieldLabels = "labels" + CloudCredentialFieldName = "name" + CloudCredentialFieldOwnerReferences = "ownerReferences" + CloudCredentialFieldRemoved = "removed" + CloudCredentialFieldS3CredentialConfig = "s3credentialConfig" + CloudCredentialFieldUUID = "uuid" +) + +type CloudCredential struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + S3CredentialConfig *S3CredentialConfig `json:"s3credentialConfig,omitempty" yaml:"s3credentialConfig,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type CloudCredentialCollection struct { + types.Collection + Data []CloudCredential `json:"data,omitempty"` + client *CloudCredentialClient +} + +type CloudCredentialClient struct { + apiClient *Client +} + +type CloudCredentialOperations interface { + List(opts *types.ListOpts) (*CloudCredentialCollection, error) + ListAll(opts *types.ListOpts) (*CloudCredentialCollection, error) + Create(opts *CloudCredential) (*CloudCredential, error) + Update(existing *CloudCredential, updates interface{}) (*CloudCredential, error) + Replace(existing *CloudCredential) (*CloudCredential, error) + ByID(id string) (*CloudCredential, error) + Delete(container *CloudCredential) error +} + +func newCloudCredentialClient(apiClient *Client) *CloudCredentialClient { + return &CloudCredentialClient{ + apiClient: apiClient, + } +} + +func (c *CloudCredentialClient) Create(container *CloudCredential) (*CloudCredential, error) { + resp := &CloudCredential{} + err := c.apiClient.Ops.DoCreate(CloudCredentialType, container, resp) + return resp, err +} + +func (c *CloudCredentialClient) Update(existing *CloudCredential, updates interface{}) (*CloudCredential, error) { + resp := &CloudCredential{} + err := c.apiClient.Ops.DoUpdate(CloudCredentialType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *CloudCredentialClient) Replace(obj *CloudCredential) (*CloudCredential, error) { + resp := &CloudCredential{} + err := c.apiClient.Ops.DoReplace(CloudCredentialType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *CloudCredentialClient) List(opts *types.ListOpts) (*CloudCredentialCollection, error) { + resp := &CloudCredentialCollection{} + err := c.apiClient.Ops.DoList(CloudCredentialType, opts, resp) + resp.client = c + return resp, err +} + +func (c *CloudCredentialClient) ListAll(opts *types.ListOpts) (*CloudCredentialCollection, error) { + resp := &CloudCredentialCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *CloudCredentialCollection) Next() (*CloudCredentialCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &CloudCredentialCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *CloudCredentialClient) ByID(id string) (*CloudCredential, error) { + resp := &CloudCredential{} + err := c.apiClient.Ops.DoByID(CloudCredentialType, id, resp) + return resp, err +} + +func (c *CloudCredentialClient) Delete(container *CloudCredential) error { + return c.apiClient.Ops.DoResourceDelete(CloudCredentialType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cloud_credential_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cloud_credential_spec.go new file mode 100644 index 000000000..c72691980 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cloud_credential_spec.go @@ -0,0 +1,14 @@ +package client + +const ( + CloudCredentialSpecType = "cloudCredentialSpec" + CloudCredentialSpecFieldDescription = "description" + CloudCredentialSpecFieldDisplayName = "displayName" + CloudCredentialSpecFieldS3CredentialConfig = "s3credentialConfig" +) + +type CloudCredentialSpec struct { + Description string `json:"description,omitempty" yaml:"description,omitempty"` + DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"` + S3CredentialConfig *S3CredentialConfig `json:"s3credentialConfig,omitempty" yaml:"s3credentialConfig,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cloud_provider.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cloud_provider.go new file mode 100644 index 000000000..6300e6fc3 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cloud_provider.go @@ -0,0 +1,24 @@ +package client + +const ( + CloudProviderType = "cloudProvider" + CloudProviderFieldAWSCloudProvider = "awsCloudProvider" + CloudProviderFieldAzureCloudProvider = "azureCloudProvider" + CloudProviderFieldCustomCloudProvider = "customCloudProvider" + CloudProviderFieldHarvesterCloudProvider = "harvesterCloudProvider" + CloudProviderFieldName = "name" + CloudProviderFieldOpenstackCloudProvider = "openstackCloudProvider" + CloudProviderFieldUseInstanceMetadataHostname = "useInstanceMetadataHostname" + CloudProviderFieldVsphereCloudProvider = "vsphereCloudProvider" +) + +type CloudProvider struct { + AWSCloudProvider *AWSCloudProvider `json:"awsCloudProvider,omitempty" yaml:"awsCloudProvider,omitempty"` + AzureCloudProvider *AzureCloudProvider `json:"azureCloudProvider,omitempty" yaml:"azureCloudProvider,omitempty"` + CustomCloudProvider string `json:"customCloudProvider,omitempty" yaml:"customCloudProvider,omitempty"` + HarvesterCloudProvider *HarvesterCloudProvider `json:"harvesterCloudProvider,omitempty" yaml:"harvesterCloudProvider,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OpenstackCloudProvider *OpenstackCloudProvider `json:"openstackCloudProvider,omitempty" yaml:"openstackCloudProvider,omitempty"` + UseInstanceMetadataHostname *bool `json:"useInstanceMetadataHostname,omitempty" yaml:"useInstanceMetadataHostname,omitempty"` + VsphereCloudProvider *VsphereCloudProvider `json:"vsphereCloudProvider,omitempty" yaml:"vsphereCloudProvider,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cloudflare_provider_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cloudflare_provider_config.go new file mode 100644 index 000000000..98ed97243 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cloudflare_provider_config.go @@ -0,0 +1,16 @@ +package client + +const ( + CloudflareProviderConfigType = "cloudflareProviderConfig" + CloudflareProviderConfigFieldAPIEmail = "apiEmail" + CloudflareProviderConfigFieldAPIKey = "apiKey" + CloudflareProviderConfigFieldAdditionalOptions = "additionalOptions" + CloudflareProviderConfigFieldProxySetting = "proxySetting" +) + +type CloudflareProviderConfig struct { + APIEmail string `json:"apiEmail,omitempty" yaml:"apiEmail,omitempty"` + APIKey string `json:"apiKey,omitempty" yaml:"apiKey,omitempty"` + AdditionalOptions map[string]string `json:"additionalOptions,omitempty" yaml:"additionalOptions,omitempty"` + ProxySetting *bool `json:"proxySetting,omitempty" yaml:"proxySetting,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster.go new file mode 100644 index 000000000..8fd88648e --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster.go @@ -0,0 +1,318 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + ClusterType = "cluster" + ClusterFieldAADClientCertSecret = "aadClientCertSecret" + ClusterFieldAADClientSecret = "aadClientSecret" + ClusterFieldAKSConfig = "aksConfig" + ClusterFieldAKSStatus = "aksStatus" + ClusterFieldAPIEndpoint = "apiEndpoint" + ClusterFieldAgentEnvVars = "agentEnvVars" + ClusterFieldAgentFeatures = "agentFeatures" + ClusterFieldAgentImage = "agentImage" + ClusterFieldAgentImageOverride = "agentImageOverride" + ClusterFieldAllocatable = "allocatable" + ClusterFieldAnnotations = "annotations" + ClusterFieldAppliedAgentEnvVars = "appliedAgentEnvVars" + ClusterFieldAppliedClusterAgentDeploymentCustomization = "appliedClusterAgentDeploymentCustomization" + ClusterFieldAppliedEnableNetworkPolicy = "appliedEnableNetworkPolicy" + ClusterFieldAppliedSpec = "appliedSpec" + ClusterFieldAuthImage = "authImage" + ClusterFieldCACert = "caCert" + ClusterFieldCapabilities = "capabilities" + ClusterFieldCapacity = "capacity" + ClusterFieldCertificatesExpiration = "certificatesExpiration" + ClusterFieldClusterAgentDeploymentCustomization = "clusterAgentDeploymentCustomization" + ClusterFieldClusterSecrets = "clusterSecrets" + ClusterFieldClusterTemplateAnswers = "answers" + ClusterFieldClusterTemplateID = "clusterTemplateId" + ClusterFieldClusterTemplateQuestions = "questions" + ClusterFieldClusterTemplateRevisionID = "clusterTemplateRevisionId" + ClusterFieldComponentStatuses = "componentStatuses" + ClusterFieldConditions = "conditions" + ClusterFieldCreated = "created" + ClusterFieldCreatorID = "creatorId" + ClusterFieldCurrentCisRunName = "currentCisRunName" + ClusterFieldDefaultClusterRoleForProjectMembers = "defaultClusterRoleForProjectMembers" + ClusterFieldDefaultPodSecurityAdmissionConfigurationTemplateName = "defaultPodSecurityAdmissionConfigurationTemplateName" + ClusterFieldDescription = "description" + ClusterFieldDesiredAgentImage = "desiredAgentImage" + ClusterFieldDesiredAuthImage = "desiredAuthImage" + ClusterFieldDockerRootDir = "dockerRootDir" + ClusterFieldDriver = "driver" + ClusterFieldEKSConfig = "eksConfig" + ClusterFieldEKSStatus = "eksStatus" + ClusterFieldEnableNetworkPolicy = "enableNetworkPolicy" + ClusterFieldFailedSpec = "failedSpec" + ClusterFieldFleetAgentDeploymentCustomization = "fleetAgentDeploymentCustomization" + ClusterFieldFleetWorkspaceName = "fleetWorkspaceName" + ClusterFieldGKEConfig = "gkeConfig" + ClusterFieldGKEStatus = "gkeStatus" + ClusterFieldImportedConfig = "importedConfig" + ClusterFieldInternal = "internal" + ClusterFieldIstioEnabled = "istioEnabled" + ClusterFieldK3sConfig = "k3sConfig" + ClusterFieldLabels = "labels" + ClusterFieldLimits = "limits" + ClusterFieldLinuxWorkerCount = "linuxWorkerCount" + ClusterFieldLocalClusterAuthEndpoint = "localClusterAuthEndpoint" + ClusterFieldName = "name" + ClusterFieldNodeCount = "nodeCount" + ClusterFieldNodeVersion = "nodeVersion" + ClusterFieldOpenStackSecret = "openStackSecret" + ClusterFieldOwnerReferences = "ownerReferences" + ClusterFieldPrivateRegistrySecret = "privateRegistrySecret" + ClusterFieldProvider = "provider" + ClusterFieldRancherKubernetesEngineConfig = "rancherKubernetesEngineConfig" + ClusterFieldRemoved = "removed" + ClusterFieldRequested = "requested" + ClusterFieldRke2Config = "rke2Config" + ClusterFieldS3CredentialSecret = "s3CredentialSecret" + ClusterFieldServiceAccountTokenSecret = "serviceAccountTokenSecret" + ClusterFieldState = "state" + ClusterFieldTransitioning = "transitioning" + ClusterFieldTransitioningMessage = "transitioningMessage" + ClusterFieldUUID = "uuid" + ClusterFieldVersion = "version" + ClusterFieldVirtualCenterSecret = "virtualCenterSecret" + ClusterFieldVsphereSecret = "vsphereSecret" + ClusterFieldWeavePasswordSecret = "weavePasswordSecret" + ClusterFieldWindowsPreferedCluster = "windowsPreferedCluster" + ClusterFieldWindowsWorkerCount = "windowsWorkerCount" +) + +type Cluster struct { + types.Resource + AADClientCertSecret string `json:"aadClientCertSecret,omitempty" yaml:"aadClientCertSecret,omitempty"` + AADClientSecret string `json:"aadClientSecret,omitempty" yaml:"aadClientSecret,omitempty"` + AKSConfig *AKSClusterConfigSpec `json:"aksConfig,omitempty" yaml:"aksConfig,omitempty"` + AKSStatus *AKSStatus `json:"aksStatus,omitempty" yaml:"aksStatus,omitempty"` + APIEndpoint string `json:"apiEndpoint,omitempty" yaml:"apiEndpoint,omitempty"` + AgentEnvVars []EnvVar `json:"agentEnvVars,omitempty" yaml:"agentEnvVars,omitempty"` + AgentFeatures map[string]bool `json:"agentFeatures,omitempty" yaml:"agentFeatures,omitempty"` + AgentImage string `json:"agentImage,omitempty" yaml:"agentImage,omitempty"` + AgentImageOverride string `json:"agentImageOverride,omitempty" yaml:"agentImageOverride,omitempty"` + Allocatable map[string]string `json:"allocatable,omitempty" yaml:"allocatable,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + AppliedAgentEnvVars []EnvVar `json:"appliedAgentEnvVars,omitempty" yaml:"appliedAgentEnvVars,omitempty"` + AppliedClusterAgentDeploymentCustomization *AgentDeploymentCustomization `json:"appliedClusterAgentDeploymentCustomization,omitempty" yaml:"appliedClusterAgentDeploymentCustomization,omitempty"` + AppliedEnableNetworkPolicy bool `json:"appliedEnableNetworkPolicy,omitempty" yaml:"appliedEnableNetworkPolicy,omitempty"` + AppliedSpec *ClusterSpec `json:"appliedSpec,omitempty" yaml:"appliedSpec,omitempty"` + AuthImage string `json:"authImage,omitempty" yaml:"authImage,omitempty"` + CACert string `json:"caCert,omitempty" yaml:"caCert,omitempty"` + Capabilities *Capabilities `json:"capabilities,omitempty" yaml:"capabilities,omitempty"` + Capacity map[string]string `json:"capacity,omitempty" yaml:"capacity,omitempty"` + CertificatesExpiration map[string]CertExpiration `json:"certificatesExpiration,omitempty" yaml:"certificatesExpiration,omitempty"` + ClusterAgentDeploymentCustomization *AgentDeploymentCustomization `json:"clusterAgentDeploymentCustomization,omitempty" yaml:"clusterAgentDeploymentCustomization,omitempty"` + ClusterSecrets *ClusterSecrets `json:"clusterSecrets,omitempty" yaml:"clusterSecrets,omitempty"` + ClusterTemplateAnswers *Answer `json:"answers,omitempty" yaml:"answers,omitempty"` + ClusterTemplateID string `json:"clusterTemplateId,omitempty" yaml:"clusterTemplateId,omitempty"` + ClusterTemplateQuestions []Question `json:"questions,omitempty" yaml:"questions,omitempty"` + ClusterTemplateRevisionID string `json:"clusterTemplateRevisionId,omitempty" yaml:"clusterTemplateRevisionId,omitempty"` + ComponentStatuses []ClusterComponentStatus `json:"componentStatuses,omitempty" yaml:"componentStatuses,omitempty"` + Conditions []ClusterCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + CurrentCisRunName string `json:"currentCisRunName,omitempty" yaml:"currentCisRunName,omitempty"` + DefaultClusterRoleForProjectMembers string `json:"defaultClusterRoleForProjectMembers,omitempty" yaml:"defaultClusterRoleForProjectMembers,omitempty"` + DefaultPodSecurityAdmissionConfigurationTemplateName string `json:"defaultPodSecurityAdmissionConfigurationTemplateName,omitempty" yaml:"defaultPodSecurityAdmissionConfigurationTemplateName,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + DesiredAgentImage string `json:"desiredAgentImage,omitempty" yaml:"desiredAgentImage,omitempty"` + DesiredAuthImage string `json:"desiredAuthImage,omitempty" yaml:"desiredAuthImage,omitempty"` + DockerRootDir string `json:"dockerRootDir,omitempty" yaml:"dockerRootDir,omitempty"` + Driver string `json:"driver,omitempty" yaml:"driver,omitempty"` + EKSConfig *EKSClusterConfigSpec `json:"eksConfig,omitempty" yaml:"eksConfig,omitempty"` + EKSStatus *EKSStatus `json:"eksStatus,omitempty" yaml:"eksStatus,omitempty"` + EnableNetworkPolicy *bool `json:"enableNetworkPolicy,omitempty" yaml:"enableNetworkPolicy,omitempty"` + FailedSpec *ClusterSpec `json:"failedSpec,omitempty" yaml:"failedSpec,omitempty"` + FleetAgentDeploymentCustomization *AgentDeploymentCustomization `json:"fleetAgentDeploymentCustomization,omitempty" yaml:"fleetAgentDeploymentCustomization,omitempty"` + FleetWorkspaceName string `json:"fleetWorkspaceName,omitempty" yaml:"fleetWorkspaceName,omitempty"` + GKEConfig *GKEClusterConfigSpec `json:"gkeConfig,omitempty" yaml:"gkeConfig,omitempty"` + GKEStatus *GKEStatus `json:"gkeStatus,omitempty" yaml:"gkeStatus,omitempty"` + ImportedConfig *ImportedConfig `json:"importedConfig,omitempty" yaml:"importedConfig,omitempty"` + Internal bool `json:"internal,omitempty" yaml:"internal,omitempty"` + IstioEnabled bool `json:"istioEnabled,omitempty" yaml:"istioEnabled,omitempty"` + K3sConfig *K3sConfig `json:"k3sConfig,omitempty" yaml:"k3sConfig,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Limits map[string]string `json:"limits,omitempty" yaml:"limits,omitempty"` + LinuxWorkerCount int64 `json:"linuxWorkerCount,omitempty" yaml:"linuxWorkerCount,omitempty"` + LocalClusterAuthEndpoint *LocalClusterAuthEndpoint `json:"localClusterAuthEndpoint,omitempty" yaml:"localClusterAuthEndpoint,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NodeCount int64 `json:"nodeCount,omitempty" yaml:"nodeCount,omitempty"` + NodeVersion int64 `json:"nodeVersion,omitempty" yaml:"nodeVersion,omitempty"` + OpenStackSecret string `json:"openStackSecret,omitempty" yaml:"openStackSecret,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + PrivateRegistrySecret string `json:"privateRegistrySecret,omitempty" yaml:"privateRegistrySecret,omitempty"` + Provider string `json:"provider,omitempty" yaml:"provider,omitempty"` + RancherKubernetesEngineConfig *RancherKubernetesEngineConfig `json:"rancherKubernetesEngineConfig,omitempty" yaml:"rancherKubernetesEngineConfig,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + Requested map[string]string `json:"requested,omitempty" yaml:"requested,omitempty"` + Rke2Config *Rke2Config `json:"rke2Config,omitempty" yaml:"rke2Config,omitempty"` + S3CredentialSecret string `json:"s3CredentialSecret,omitempty" yaml:"s3CredentialSecret,omitempty"` + ServiceAccountTokenSecret string `json:"serviceAccountTokenSecret,omitempty" yaml:"serviceAccountTokenSecret,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + Version *Info `json:"version,omitempty" yaml:"version,omitempty"` + VirtualCenterSecret string `json:"virtualCenterSecret,omitempty" yaml:"virtualCenterSecret,omitempty"` + VsphereSecret string `json:"vsphereSecret,omitempty" yaml:"vsphereSecret,omitempty"` + WeavePasswordSecret string `json:"weavePasswordSecret,omitempty" yaml:"weavePasswordSecret,omitempty"` + WindowsPreferedCluster bool `json:"windowsPreferedCluster,omitempty" yaml:"windowsPreferedCluster,omitempty"` + WindowsWorkerCount int64 `json:"windowsWorkerCount,omitempty" yaml:"windowsWorkerCount,omitempty"` +} + +type ClusterCollection struct { + types.Collection + Data []Cluster `json:"data,omitempty"` + client *ClusterClient +} + +type ClusterClient struct { + apiClient *Client +} + +type ClusterOperations interface { + List(opts *types.ListOpts) (*ClusterCollection, error) + ListAll(opts *types.ListOpts) (*ClusterCollection, error) + Create(opts *Cluster) (*Cluster, error) + Update(existing *Cluster, updates interface{}) (*Cluster, error) + Replace(existing *Cluster) (*Cluster, error) + ByID(id string) (*Cluster, error) + Delete(container *Cluster) error + + ActionBackupEtcd(resource *Cluster) error + + ActionExportYaml(resource *Cluster) (*ExportOutput, error) + + ActionGenerateKubeconfig(resource *Cluster) (*GenerateKubeConfigOutput, error) + + ActionImportYaml(resource *Cluster, input *ImportClusterYamlInput) (*ImportYamlOutput, error) + + ActionRestoreFromEtcdBackup(resource *Cluster, input *RestoreFromEtcdBackupInput) error + + ActionRotateCertificates(resource *Cluster, input *RotateCertificateInput) (*RotateCertificateOutput, error) + + ActionRotateEncryptionKey(resource *Cluster) (*RotateEncryptionKeyOutput, error) + + ActionSaveAsTemplate(resource *Cluster, input *SaveAsTemplateInput) (*SaveAsTemplateOutput, error) +} + +func newClusterClient(apiClient *Client) *ClusterClient { + return &ClusterClient{ + apiClient: apiClient, + } +} + +func (c *ClusterClient) Create(container *Cluster) (*Cluster, error) { + resp := &Cluster{} + err := c.apiClient.Ops.DoCreate(ClusterType, container, resp) + return resp, err +} + +func (c *ClusterClient) Update(existing *Cluster, updates interface{}) (*Cluster, error) { + resp := &Cluster{} + err := c.apiClient.Ops.DoUpdate(ClusterType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *ClusterClient) Replace(obj *Cluster) (*Cluster, error) { + resp := &Cluster{} + err := c.apiClient.Ops.DoReplace(ClusterType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *ClusterClient) List(opts *types.ListOpts) (*ClusterCollection, error) { + resp := &ClusterCollection{} + err := c.apiClient.Ops.DoList(ClusterType, opts, resp) + resp.client = c + return resp, err +} + +func (c *ClusterClient) ListAll(opts *types.ListOpts) (*ClusterCollection, error) { + resp := &ClusterCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *ClusterCollection) Next() (*ClusterCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &ClusterCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *ClusterClient) ByID(id string) (*Cluster, error) { + resp := &Cluster{} + err := c.apiClient.Ops.DoByID(ClusterType, id, resp) + return resp, err +} + +func (c *ClusterClient) Delete(container *Cluster) error { + return c.apiClient.Ops.DoResourceDelete(ClusterType, &container.Resource) +} + +func (c *ClusterClient) ActionBackupEtcd(resource *Cluster) error { + err := c.apiClient.Ops.DoAction(ClusterType, "backupEtcd", &resource.Resource, nil, nil) + return err +} + +func (c *ClusterClient) ActionExportYaml(resource *Cluster) (*ExportOutput, error) { + resp := &ExportOutput{} + err := c.apiClient.Ops.DoAction(ClusterType, "exportYaml", &resource.Resource, nil, resp) + return resp, err +} + +func (c *ClusterClient) ActionGenerateKubeconfig(resource *Cluster) (*GenerateKubeConfigOutput, error) { + resp := &GenerateKubeConfigOutput{} + err := c.apiClient.Ops.DoAction(ClusterType, "generateKubeconfig", &resource.Resource, nil, resp) + return resp, err +} + +func (c *ClusterClient) ActionImportYaml(resource *Cluster, input *ImportClusterYamlInput) (*ImportYamlOutput, error) { + resp := &ImportYamlOutput{} + err := c.apiClient.Ops.DoAction(ClusterType, "importYaml", &resource.Resource, input, resp) + return resp, err +} + +func (c *ClusterClient) ActionRestoreFromEtcdBackup(resource *Cluster, input *RestoreFromEtcdBackupInput) error { + err := c.apiClient.Ops.DoAction(ClusterType, "restoreFromEtcdBackup", &resource.Resource, input, nil) + return err +} + +func (c *ClusterClient) ActionRotateCertificates(resource *Cluster, input *RotateCertificateInput) (*RotateCertificateOutput, error) { + resp := &RotateCertificateOutput{} + err := c.apiClient.Ops.DoAction(ClusterType, "rotateCertificates", &resource.Resource, input, resp) + return resp, err +} + +func (c *ClusterClient) ActionRotateEncryptionKey(resource *Cluster) (*RotateEncryptionKeyOutput, error) { + resp := &RotateEncryptionKeyOutput{} + err := c.apiClient.Ops.DoAction(ClusterType, "rotateEncryptionKey", &resource.Resource, nil, resp) + return resp, err +} + +func (c *ClusterClient) ActionSaveAsTemplate(resource *Cluster, input *SaveAsTemplateInput) (*SaveAsTemplateOutput, error) { + resp := &SaveAsTemplateOutput{} + err := c.apiClient.Ops.DoAction(ClusterType, "saveAsTemplate", &resource.Resource, input, resp) + return resp, err +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_catalog.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_catalog.go new file mode 100644 index 000000000..d555f2bf0 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_catalog.go @@ -0,0 +1,168 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + ClusterCatalogType = "clusterCatalog" + ClusterCatalogFieldAnnotations = "annotations" + ClusterCatalogFieldBranch = "branch" + ClusterCatalogFieldCatalogSecrets = "catalogSecrets" + ClusterCatalogFieldClusterID = "clusterId" + ClusterCatalogFieldCommit = "commit" + ClusterCatalogFieldConditions = "conditions" + ClusterCatalogFieldCreated = "created" + ClusterCatalogFieldCreatorID = "creatorId" + ClusterCatalogFieldCredentialSecret = "credentialSecret" + ClusterCatalogFieldDescription = "description" + ClusterCatalogFieldHelmVersion = "helmVersion" + ClusterCatalogFieldKind = "kind" + ClusterCatalogFieldLabels = "labels" + ClusterCatalogFieldLastRefreshTimestamp = "lastRefreshTimestamp" + ClusterCatalogFieldName = "name" + ClusterCatalogFieldNamespaceId = "namespaceId" + ClusterCatalogFieldOwnerReferences = "ownerReferences" + ClusterCatalogFieldPassword = "password" + ClusterCatalogFieldRemoved = "removed" + ClusterCatalogFieldState = "state" + ClusterCatalogFieldTransitioning = "transitioning" + ClusterCatalogFieldTransitioningMessage = "transitioningMessage" + ClusterCatalogFieldURL = "url" + ClusterCatalogFieldUUID = "uuid" + ClusterCatalogFieldUsername = "username" +) + +type ClusterCatalog struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Branch string `json:"branch,omitempty" yaml:"branch,omitempty"` + CatalogSecrets *CatalogSecrets `json:"catalogSecrets,omitempty" yaml:"catalogSecrets,omitempty"` + ClusterID string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"` + Commit string `json:"commit,omitempty" yaml:"commit,omitempty"` + Conditions []CatalogCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + CredentialSecret string `json:"credentialSecret,omitempty" yaml:"credentialSecret,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + HelmVersion string `json:"helmVersion,omitempty" yaml:"helmVersion,omitempty"` + Kind string `json:"kind,omitempty" yaml:"kind,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + LastRefreshTimestamp string `json:"lastRefreshTimestamp,omitempty" yaml:"lastRefreshTimestamp,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NamespaceId string `json:"namespaceId,omitempty" yaml:"namespaceId,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Password string `json:"password,omitempty" yaml:"password,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + URL string `json:"url,omitempty" yaml:"url,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + Username string `json:"username,omitempty" yaml:"username,omitempty"` +} + +type ClusterCatalogCollection struct { + types.Collection + Data []ClusterCatalog `json:"data,omitempty"` + client *ClusterCatalogClient +} + +type ClusterCatalogClient struct { + apiClient *Client +} + +type ClusterCatalogOperations interface { + List(opts *types.ListOpts) (*ClusterCatalogCollection, error) + ListAll(opts *types.ListOpts) (*ClusterCatalogCollection, error) + Create(opts *ClusterCatalog) (*ClusterCatalog, error) + Update(existing *ClusterCatalog, updates interface{}) (*ClusterCatalog, error) + Replace(existing *ClusterCatalog) (*ClusterCatalog, error) + ByID(id string) (*ClusterCatalog, error) + Delete(container *ClusterCatalog) error + + ActionRefresh(resource *ClusterCatalog) (*CatalogRefresh, error) + + CollectionActionRefresh(resource *ClusterCatalogCollection) (*CatalogRefresh, error) +} + +func newClusterCatalogClient(apiClient *Client) *ClusterCatalogClient { + return &ClusterCatalogClient{ + apiClient: apiClient, + } +} + +func (c *ClusterCatalogClient) Create(container *ClusterCatalog) (*ClusterCatalog, error) { + resp := &ClusterCatalog{} + err := c.apiClient.Ops.DoCreate(ClusterCatalogType, container, resp) + return resp, err +} + +func (c *ClusterCatalogClient) Update(existing *ClusterCatalog, updates interface{}) (*ClusterCatalog, error) { + resp := &ClusterCatalog{} + err := c.apiClient.Ops.DoUpdate(ClusterCatalogType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *ClusterCatalogClient) Replace(obj *ClusterCatalog) (*ClusterCatalog, error) { + resp := &ClusterCatalog{} + err := c.apiClient.Ops.DoReplace(ClusterCatalogType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *ClusterCatalogClient) List(opts *types.ListOpts) (*ClusterCatalogCollection, error) { + resp := &ClusterCatalogCollection{} + err := c.apiClient.Ops.DoList(ClusterCatalogType, opts, resp) + resp.client = c + return resp, err +} + +func (c *ClusterCatalogClient) ListAll(opts *types.ListOpts) (*ClusterCatalogCollection, error) { + resp := &ClusterCatalogCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *ClusterCatalogCollection) Next() (*ClusterCatalogCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &ClusterCatalogCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *ClusterCatalogClient) ByID(id string) (*ClusterCatalog, error) { + resp := &ClusterCatalog{} + err := c.apiClient.Ops.DoByID(ClusterCatalogType, id, resp) + return resp, err +} + +func (c *ClusterCatalogClient) Delete(container *ClusterCatalog) error { + return c.apiClient.Ops.DoResourceDelete(ClusterCatalogType, &container.Resource) +} + +func (c *ClusterCatalogClient) ActionRefresh(resource *ClusterCatalog) (*CatalogRefresh, error) { + resp := &CatalogRefresh{} + err := c.apiClient.Ops.DoAction(ClusterCatalogType, "refresh", &resource.Resource, nil, resp) + return resp, err +} + +func (c *ClusterCatalogClient) CollectionActionRefresh(resource *ClusterCatalogCollection) (*CatalogRefresh, error) { + resp := &CatalogRefresh{} + err := c.apiClient.Ops.DoCollectionAction(ClusterCatalogType, "refresh", &resource.Collection, nil, resp) + return resp, err +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_component_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_component_status.go new file mode 100644 index 000000000..9955ee880 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_component_status.go @@ -0,0 +1,12 @@ +package client + +const ( + ClusterComponentStatusType = "clusterComponentStatus" + ClusterComponentStatusFieldConditions = "conditions" + ClusterComponentStatusFieldName = "name" +) + +type ClusterComponentStatus struct { + Conditions []ComponentCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_condition.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_condition.go new file mode 100644 index 000000000..1ecf2ee45 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_condition.go @@ -0,0 +1,20 @@ +package client + +const ( + ClusterConditionType = "clusterCondition" + ClusterConditionFieldLastTransitionTime = "lastTransitionTime" + ClusterConditionFieldLastUpdateTime = "lastUpdateTime" + ClusterConditionFieldMessage = "message" + ClusterConditionFieldReason = "reason" + ClusterConditionFieldStatus = "status" + ClusterConditionFieldType = "type" +) + +type ClusterCondition struct { + LastTransitionTime string `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"` + LastUpdateTime string `json:"lastUpdateTime,omitempty" yaml:"lastUpdateTime,omitempty"` + Message string `json:"message,omitempty" yaml:"message,omitempty"` + Reason string `json:"reason,omitempty" yaml:"reason,omitempty"` + Status string `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_registration_token.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_registration_token.go new file mode 100644 index 000000000..2b0e191f1 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_registration_token.go @@ -0,0 +1,144 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + ClusterRegistrationTokenType = "clusterRegistrationToken" + ClusterRegistrationTokenFieldAnnotations = "annotations" + ClusterRegistrationTokenFieldClusterID = "clusterId" + ClusterRegistrationTokenFieldCommand = "command" + ClusterRegistrationTokenFieldCreated = "created" + ClusterRegistrationTokenFieldCreatorID = "creatorId" + ClusterRegistrationTokenFieldInsecureCommand = "insecureCommand" + ClusterRegistrationTokenFieldInsecureNodeCommand = "insecureNodeCommand" + ClusterRegistrationTokenFieldInsecureWindowsNodeCommand = "insecureWindowsNodeCommand" + ClusterRegistrationTokenFieldLabels = "labels" + ClusterRegistrationTokenFieldManifestURL = "manifestUrl" + ClusterRegistrationTokenFieldName = "name" + ClusterRegistrationTokenFieldNamespaceId = "namespaceId" + ClusterRegistrationTokenFieldNodeCommand = "nodeCommand" + ClusterRegistrationTokenFieldOwnerReferences = "ownerReferences" + ClusterRegistrationTokenFieldRemoved = "removed" + ClusterRegistrationTokenFieldState = "state" + ClusterRegistrationTokenFieldToken = "token" + ClusterRegistrationTokenFieldTransitioning = "transitioning" + ClusterRegistrationTokenFieldTransitioningMessage = "transitioningMessage" + ClusterRegistrationTokenFieldUUID = "uuid" + ClusterRegistrationTokenFieldWindowsNodeCommand = "windowsNodeCommand" +) + +type ClusterRegistrationToken struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + ClusterID string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"` + Command string `json:"command,omitempty" yaml:"command,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + InsecureCommand string `json:"insecureCommand,omitempty" yaml:"insecureCommand,omitempty"` + InsecureNodeCommand string `json:"insecureNodeCommand,omitempty" yaml:"insecureNodeCommand,omitempty"` + InsecureWindowsNodeCommand string `json:"insecureWindowsNodeCommand,omitempty" yaml:"insecureWindowsNodeCommand,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + ManifestURL string `json:"manifestUrl,omitempty" yaml:"manifestUrl,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NamespaceId string `json:"namespaceId,omitempty" yaml:"namespaceId,omitempty"` + NodeCommand string `json:"nodeCommand,omitempty" yaml:"nodeCommand,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Token string `json:"token,omitempty" yaml:"token,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + WindowsNodeCommand string `json:"windowsNodeCommand,omitempty" yaml:"windowsNodeCommand,omitempty"` +} + +type ClusterRegistrationTokenCollection struct { + types.Collection + Data []ClusterRegistrationToken `json:"data,omitempty"` + client *ClusterRegistrationTokenClient +} + +type ClusterRegistrationTokenClient struct { + apiClient *Client +} + +type ClusterRegistrationTokenOperations interface { + List(opts *types.ListOpts) (*ClusterRegistrationTokenCollection, error) + ListAll(opts *types.ListOpts) (*ClusterRegistrationTokenCollection, error) + Create(opts *ClusterRegistrationToken) (*ClusterRegistrationToken, error) + Update(existing *ClusterRegistrationToken, updates interface{}) (*ClusterRegistrationToken, error) + Replace(existing *ClusterRegistrationToken) (*ClusterRegistrationToken, error) + ByID(id string) (*ClusterRegistrationToken, error) + Delete(container *ClusterRegistrationToken) error +} + +func newClusterRegistrationTokenClient(apiClient *Client) *ClusterRegistrationTokenClient { + return &ClusterRegistrationTokenClient{ + apiClient: apiClient, + } +} + +func (c *ClusterRegistrationTokenClient) Create(container *ClusterRegistrationToken) (*ClusterRegistrationToken, error) { + resp := &ClusterRegistrationToken{} + err := c.apiClient.Ops.DoCreate(ClusterRegistrationTokenType, container, resp) + return resp, err +} + +func (c *ClusterRegistrationTokenClient) Update(existing *ClusterRegistrationToken, updates interface{}) (*ClusterRegistrationToken, error) { + resp := &ClusterRegistrationToken{} + err := c.apiClient.Ops.DoUpdate(ClusterRegistrationTokenType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *ClusterRegistrationTokenClient) Replace(obj *ClusterRegistrationToken) (*ClusterRegistrationToken, error) { + resp := &ClusterRegistrationToken{} + err := c.apiClient.Ops.DoReplace(ClusterRegistrationTokenType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *ClusterRegistrationTokenClient) List(opts *types.ListOpts) (*ClusterRegistrationTokenCollection, error) { + resp := &ClusterRegistrationTokenCollection{} + err := c.apiClient.Ops.DoList(ClusterRegistrationTokenType, opts, resp) + resp.client = c + return resp, err +} + +func (c *ClusterRegistrationTokenClient) ListAll(opts *types.ListOpts) (*ClusterRegistrationTokenCollection, error) { + resp := &ClusterRegistrationTokenCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *ClusterRegistrationTokenCollection) Next() (*ClusterRegistrationTokenCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &ClusterRegistrationTokenCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *ClusterRegistrationTokenClient) ByID(id string) (*ClusterRegistrationToken, error) { + resp := &ClusterRegistrationToken{} + err := c.apiClient.Ops.DoByID(ClusterRegistrationTokenType, id, resp) + return resp, err +} + +func (c *ClusterRegistrationTokenClient) Delete(container *ClusterRegistrationToken) error { + return c.apiClient.Ops.DoResourceDelete(ClusterRegistrationTokenType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_registration_token_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_registration_token_spec.go new file mode 100644 index 000000000..9a0fd3f25 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_registration_token_spec.go @@ -0,0 +1,10 @@ +package client + +const ( + ClusterRegistrationTokenSpecType = "clusterRegistrationTokenSpec" + ClusterRegistrationTokenSpecFieldClusterID = "clusterId" +) + +type ClusterRegistrationTokenSpec struct { + ClusterID string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_registration_token_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_registration_token_status.go new file mode 100644 index 000000000..1e51b1054 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_registration_token_status.go @@ -0,0 +1,24 @@ +package client + +const ( + ClusterRegistrationTokenStatusType = "clusterRegistrationTokenStatus" + ClusterRegistrationTokenStatusFieldCommand = "command" + ClusterRegistrationTokenStatusFieldInsecureCommand = "insecureCommand" + ClusterRegistrationTokenStatusFieldInsecureNodeCommand = "insecureNodeCommand" + ClusterRegistrationTokenStatusFieldInsecureWindowsNodeCommand = "insecureWindowsNodeCommand" + ClusterRegistrationTokenStatusFieldManifestURL = "manifestUrl" + ClusterRegistrationTokenStatusFieldNodeCommand = "nodeCommand" + ClusterRegistrationTokenStatusFieldToken = "token" + ClusterRegistrationTokenStatusFieldWindowsNodeCommand = "windowsNodeCommand" +) + +type ClusterRegistrationTokenStatus struct { + Command string `json:"command,omitempty" yaml:"command,omitempty"` + InsecureCommand string `json:"insecureCommand,omitempty" yaml:"insecureCommand,omitempty"` + InsecureNodeCommand string `json:"insecureNodeCommand,omitempty" yaml:"insecureNodeCommand,omitempty"` + InsecureWindowsNodeCommand string `json:"insecureWindowsNodeCommand,omitempty" yaml:"insecureWindowsNodeCommand,omitempty"` + ManifestURL string `json:"manifestUrl,omitempty" yaml:"manifestUrl,omitempty"` + NodeCommand string `json:"nodeCommand,omitempty" yaml:"nodeCommand,omitempty"` + Token string `json:"token,omitempty" yaml:"token,omitempty"` + WindowsNodeCommand string `json:"windowsNodeCommand,omitempty" yaml:"windowsNodeCommand,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_role_template_binding.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_role_template_binding.go new file mode 100644 index 000000000..e4301c214 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_role_template_binding.go @@ -0,0 +1,132 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + ClusterRoleTemplateBindingType = "clusterRoleTemplateBinding" + ClusterRoleTemplateBindingFieldAnnotations = "annotations" + ClusterRoleTemplateBindingFieldClusterID = "clusterId" + ClusterRoleTemplateBindingFieldCreated = "created" + ClusterRoleTemplateBindingFieldCreatorID = "creatorId" + ClusterRoleTemplateBindingFieldGroupID = "groupId" + ClusterRoleTemplateBindingFieldGroupPrincipalID = "groupPrincipalId" + ClusterRoleTemplateBindingFieldLabels = "labels" + ClusterRoleTemplateBindingFieldName = "name" + ClusterRoleTemplateBindingFieldNamespaceId = "namespaceId" + ClusterRoleTemplateBindingFieldOwnerReferences = "ownerReferences" + ClusterRoleTemplateBindingFieldRemoved = "removed" + ClusterRoleTemplateBindingFieldRoleTemplateID = "roleTemplateId" + ClusterRoleTemplateBindingFieldUUID = "uuid" + ClusterRoleTemplateBindingFieldUserID = "userId" + ClusterRoleTemplateBindingFieldUserPrincipalID = "userPrincipalId" +) + +type ClusterRoleTemplateBinding struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + ClusterID string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + GroupID string `json:"groupId,omitempty" yaml:"groupId,omitempty"` + GroupPrincipalID string `json:"groupPrincipalId,omitempty" yaml:"groupPrincipalId,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NamespaceId string `json:"namespaceId,omitempty" yaml:"namespaceId,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + RoleTemplateID string `json:"roleTemplateId,omitempty" yaml:"roleTemplateId,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UserID string `json:"userId,omitempty" yaml:"userId,omitempty"` + UserPrincipalID string `json:"userPrincipalId,omitempty" yaml:"userPrincipalId,omitempty"` +} + +type ClusterRoleTemplateBindingCollection struct { + types.Collection + Data []ClusterRoleTemplateBinding `json:"data,omitempty"` + client *ClusterRoleTemplateBindingClient +} + +type ClusterRoleTemplateBindingClient struct { + apiClient *Client +} + +type ClusterRoleTemplateBindingOperations interface { + List(opts *types.ListOpts) (*ClusterRoleTemplateBindingCollection, error) + ListAll(opts *types.ListOpts) (*ClusterRoleTemplateBindingCollection, error) + Create(opts *ClusterRoleTemplateBinding) (*ClusterRoleTemplateBinding, error) + Update(existing *ClusterRoleTemplateBinding, updates interface{}) (*ClusterRoleTemplateBinding, error) + Replace(existing *ClusterRoleTemplateBinding) (*ClusterRoleTemplateBinding, error) + ByID(id string) (*ClusterRoleTemplateBinding, error) + Delete(container *ClusterRoleTemplateBinding) error +} + +func newClusterRoleTemplateBindingClient(apiClient *Client) *ClusterRoleTemplateBindingClient { + return &ClusterRoleTemplateBindingClient{ + apiClient: apiClient, + } +} + +func (c *ClusterRoleTemplateBindingClient) Create(container *ClusterRoleTemplateBinding) (*ClusterRoleTemplateBinding, error) { + resp := &ClusterRoleTemplateBinding{} + err := c.apiClient.Ops.DoCreate(ClusterRoleTemplateBindingType, container, resp) + return resp, err +} + +func (c *ClusterRoleTemplateBindingClient) Update(existing *ClusterRoleTemplateBinding, updates interface{}) (*ClusterRoleTemplateBinding, error) { + resp := &ClusterRoleTemplateBinding{} + err := c.apiClient.Ops.DoUpdate(ClusterRoleTemplateBindingType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *ClusterRoleTemplateBindingClient) Replace(obj *ClusterRoleTemplateBinding) (*ClusterRoleTemplateBinding, error) { + resp := &ClusterRoleTemplateBinding{} + err := c.apiClient.Ops.DoReplace(ClusterRoleTemplateBindingType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *ClusterRoleTemplateBindingClient) List(opts *types.ListOpts) (*ClusterRoleTemplateBindingCollection, error) { + resp := &ClusterRoleTemplateBindingCollection{} + err := c.apiClient.Ops.DoList(ClusterRoleTemplateBindingType, opts, resp) + resp.client = c + return resp, err +} + +func (c *ClusterRoleTemplateBindingClient) ListAll(opts *types.ListOpts) (*ClusterRoleTemplateBindingCollection, error) { + resp := &ClusterRoleTemplateBindingCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *ClusterRoleTemplateBindingCollection) Next() (*ClusterRoleTemplateBindingCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &ClusterRoleTemplateBindingCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *ClusterRoleTemplateBindingClient) ByID(id string) (*ClusterRoleTemplateBinding, error) { + resp := &ClusterRoleTemplateBinding{} + err := c.apiClient.Ops.DoByID(ClusterRoleTemplateBindingType, id, resp) + return resp, err +} + +func (c *ClusterRoleTemplateBindingClient) Delete(container *ClusterRoleTemplateBinding) error { + return c.apiClient.Ops.DoResourceDelete(ClusterRoleTemplateBindingType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_secrets.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_secrets.go new file mode 100644 index 000000000..6f5cc7643 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_secrets.go @@ -0,0 +1,40 @@ +package client + +const ( + ClusterSecretsType = "clusterSecrets" + ClusterSecretsFieldAADClientCertSecret = "aadClientCertSecret" + ClusterSecretsFieldAADClientSecret = "aadClientSecret" + ClusterSecretsFieldACIAPICUserKeySecret = "aciAPICUserKeySecret" + ClusterSecretsFieldACIKafkaClientKeySecret = "aciKafkaClientKeySecret" + ClusterSecretsFieldACITokenSecret = "aciTokenSecret" + ClusterSecretsFieldBastionHostSSHKeySecret = "bastionHostSSHKeySecret" + ClusterSecretsFieldKubeletExtraEnvSecret = "kubeletExtraEnvSecret" + ClusterSecretsFieldOpenStackSecret = "openStackSecret" + ClusterSecretsFieldPrivateRegistryECRSecret = "privateRegistryECRSecret" + ClusterSecretsFieldPrivateRegistrySecret = "privateRegistrySecret" + ClusterSecretsFieldPrivateRegistryURL = "privateRegistryURL" + ClusterSecretsFieldS3CredentialSecret = "s3CredentialSecret" + ClusterSecretsFieldSecretsEncryptionProvidersSecret = "secretsEncryptionProvidersSecret" + ClusterSecretsFieldVirtualCenterSecret = "virtualCenterSecret" + ClusterSecretsFieldVsphereSecret = "vsphereSecret" + ClusterSecretsFieldWeavePasswordSecret = "weavePasswordSecret" +) + +type ClusterSecrets struct { + AADClientCertSecret string `json:"aadClientCertSecret,omitempty" yaml:"aadClientCertSecret,omitempty"` + AADClientSecret string `json:"aadClientSecret,omitempty" yaml:"aadClientSecret,omitempty"` + ACIAPICUserKeySecret string `json:"aciAPICUserKeySecret,omitempty" yaml:"aciAPICUserKeySecret,omitempty"` + ACIKafkaClientKeySecret string `json:"aciKafkaClientKeySecret,omitempty" yaml:"aciKafkaClientKeySecret,omitempty"` + ACITokenSecret string `json:"aciTokenSecret,omitempty" yaml:"aciTokenSecret,omitempty"` + BastionHostSSHKeySecret string `json:"bastionHostSSHKeySecret,omitempty" yaml:"bastionHostSSHKeySecret,omitempty"` + KubeletExtraEnvSecret string `json:"kubeletExtraEnvSecret,omitempty" yaml:"kubeletExtraEnvSecret,omitempty"` + OpenStackSecret string `json:"openStackSecret,omitempty" yaml:"openStackSecret,omitempty"` + PrivateRegistryECRSecret string `json:"privateRegistryECRSecret,omitempty" yaml:"privateRegistryECRSecret,omitempty"` + PrivateRegistrySecret string `json:"privateRegistrySecret,omitempty" yaml:"privateRegistrySecret,omitempty"` + PrivateRegistryURL string `json:"privateRegistryURL,omitempty" yaml:"privateRegistryURL,omitempty"` + S3CredentialSecret string `json:"s3CredentialSecret,omitempty" yaml:"s3CredentialSecret,omitempty"` + SecretsEncryptionProvidersSecret string `json:"secretsEncryptionProvidersSecret,omitempty" yaml:"secretsEncryptionProvidersSecret,omitempty"` + VirtualCenterSecret string `json:"virtualCenterSecret,omitempty" yaml:"virtualCenterSecret,omitempty"` + VsphereSecret string `json:"vsphereSecret,omitempty" yaml:"vsphereSecret,omitempty"` + WeavePasswordSecret string `json:"weavePasswordSecret,omitempty" yaml:"weavePasswordSecret,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_spec.go new file mode 100644 index 000000000..94664533a --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_spec.go @@ -0,0 +1,72 @@ +package client + +const ( + ClusterSpecType = "clusterSpec" + ClusterSpecFieldAKSConfig = "aksConfig" + ClusterSpecFieldAgentEnvVars = "agentEnvVars" + ClusterSpecFieldAgentImageOverride = "agentImageOverride" + ClusterSpecFieldAmazonElasticContainerServiceConfig = "amazonElasticContainerServiceConfig" + ClusterSpecFieldAzureKubernetesServiceConfig = "azureKubernetesServiceConfig" + ClusterSpecFieldClusterAgentDeploymentCustomization = "clusterAgentDeploymentCustomization" + ClusterSpecFieldClusterSecrets = "clusterSecrets" + ClusterSpecFieldClusterTemplateAnswers = "answers" + ClusterSpecFieldClusterTemplateID = "clusterTemplateId" + ClusterSpecFieldClusterTemplateQuestions = "questions" + ClusterSpecFieldClusterTemplateRevisionID = "clusterTemplateRevisionId" + ClusterSpecFieldDefaultClusterRoleForProjectMembers = "defaultClusterRoleForProjectMembers" + ClusterSpecFieldDefaultPodSecurityAdmissionConfigurationTemplateName = "defaultPodSecurityAdmissionConfigurationTemplateName" + ClusterSpecFieldDescription = "description" + ClusterSpecFieldDesiredAgentImage = "desiredAgentImage" + ClusterSpecFieldDesiredAuthImage = "desiredAuthImage" + ClusterSpecFieldDisplayName = "displayName" + ClusterSpecFieldDockerRootDir = "dockerRootDir" + ClusterSpecFieldEKSConfig = "eksConfig" + ClusterSpecFieldEnableNetworkPolicy = "enableNetworkPolicy" + ClusterSpecFieldFleetAgentDeploymentCustomization = "fleetAgentDeploymentCustomization" + ClusterSpecFieldFleetWorkspaceName = "fleetWorkspaceName" + ClusterSpecFieldGKEConfig = "gkeConfig" + ClusterSpecFieldGenericEngineConfig = "genericEngineConfig" + ClusterSpecFieldGoogleKubernetesEngineConfig = "googleKubernetesEngineConfig" + ClusterSpecFieldImportedConfig = "importedConfig" + ClusterSpecFieldInternal = "internal" + ClusterSpecFieldK3sConfig = "k3sConfig" + ClusterSpecFieldLocalClusterAuthEndpoint = "localClusterAuthEndpoint" + ClusterSpecFieldRancherKubernetesEngineConfig = "rancherKubernetesEngineConfig" + ClusterSpecFieldRke2Config = "rke2Config" + ClusterSpecFieldWindowsPreferedCluster = "windowsPreferedCluster" +) + +type ClusterSpec struct { + AKSConfig *AKSClusterConfigSpec `json:"aksConfig,omitempty" yaml:"aksConfig,omitempty"` + AgentEnvVars []EnvVar `json:"agentEnvVars,omitempty" yaml:"agentEnvVars,omitempty"` + AgentImageOverride string `json:"agentImageOverride,omitempty" yaml:"agentImageOverride,omitempty"` + AmazonElasticContainerServiceConfig map[string]interface{} `json:"amazonElasticContainerServiceConfig,omitempty" yaml:"amazonElasticContainerServiceConfig,omitempty"` + AzureKubernetesServiceConfig map[string]interface{} `json:"azureKubernetesServiceConfig,omitempty" yaml:"azureKubernetesServiceConfig,omitempty"` + ClusterAgentDeploymentCustomization *AgentDeploymentCustomization `json:"clusterAgentDeploymentCustomization,omitempty" yaml:"clusterAgentDeploymentCustomization,omitempty"` + ClusterSecrets *ClusterSecrets `json:"clusterSecrets,omitempty" yaml:"clusterSecrets,omitempty"` + ClusterTemplateAnswers *Answer `json:"answers,omitempty" yaml:"answers,omitempty"` + ClusterTemplateID string `json:"clusterTemplateId,omitempty" yaml:"clusterTemplateId,omitempty"` + ClusterTemplateQuestions []Question `json:"questions,omitempty" yaml:"questions,omitempty"` + ClusterTemplateRevisionID string `json:"clusterTemplateRevisionId,omitempty" yaml:"clusterTemplateRevisionId,omitempty"` + DefaultClusterRoleForProjectMembers string `json:"defaultClusterRoleForProjectMembers,omitempty" yaml:"defaultClusterRoleForProjectMembers,omitempty"` + DefaultPodSecurityAdmissionConfigurationTemplateName string `json:"defaultPodSecurityAdmissionConfigurationTemplateName,omitempty" yaml:"defaultPodSecurityAdmissionConfigurationTemplateName,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + DesiredAgentImage string `json:"desiredAgentImage,omitempty" yaml:"desiredAgentImage,omitempty"` + DesiredAuthImage string `json:"desiredAuthImage,omitempty" yaml:"desiredAuthImage,omitempty"` + DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"` + DockerRootDir string `json:"dockerRootDir,omitempty" yaml:"dockerRootDir,omitempty"` + EKSConfig *EKSClusterConfigSpec `json:"eksConfig,omitempty" yaml:"eksConfig,omitempty"` + EnableNetworkPolicy *bool `json:"enableNetworkPolicy,omitempty" yaml:"enableNetworkPolicy,omitempty"` + FleetAgentDeploymentCustomization *AgentDeploymentCustomization `json:"fleetAgentDeploymentCustomization,omitempty" yaml:"fleetAgentDeploymentCustomization,omitempty"` + FleetWorkspaceName string `json:"fleetWorkspaceName,omitempty" yaml:"fleetWorkspaceName,omitempty"` + GKEConfig *GKEClusterConfigSpec `json:"gkeConfig,omitempty" yaml:"gkeConfig,omitempty"` + GenericEngineConfig map[string]interface{} `json:"genericEngineConfig,omitempty" yaml:"genericEngineConfig,omitempty"` + GoogleKubernetesEngineConfig map[string]interface{} `json:"googleKubernetesEngineConfig,omitempty" yaml:"googleKubernetesEngineConfig,omitempty"` + ImportedConfig *ImportedConfig `json:"importedConfig,omitempty" yaml:"importedConfig,omitempty"` + Internal bool `json:"internal,omitempty" yaml:"internal,omitempty"` + K3sConfig *K3sConfig `json:"k3sConfig,omitempty" yaml:"k3sConfig,omitempty"` + LocalClusterAuthEndpoint *LocalClusterAuthEndpoint `json:"localClusterAuthEndpoint,omitempty" yaml:"localClusterAuthEndpoint,omitempty"` + RancherKubernetesEngineConfig *RancherKubernetesEngineConfig `json:"rancherKubernetesEngineConfig,omitempty" yaml:"rancherKubernetesEngineConfig,omitempty"` + Rke2Config *Rke2Config `json:"rke2Config,omitempty" yaml:"rke2Config,omitempty"` + WindowsPreferedCluster bool `json:"windowsPreferedCluster,omitempty" yaml:"windowsPreferedCluster,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_spec_base.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_spec_base.go new file mode 100644 index 000000000..d4585824c --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_spec_base.go @@ -0,0 +1,36 @@ +package client + +const ( + ClusterSpecBaseType = "clusterSpecBase" + ClusterSpecBaseFieldAgentEnvVars = "agentEnvVars" + ClusterSpecBaseFieldAgentImageOverride = "agentImageOverride" + ClusterSpecBaseFieldClusterAgentDeploymentCustomization = "clusterAgentDeploymentCustomization" + ClusterSpecBaseFieldClusterSecrets = "clusterSecrets" + ClusterSpecBaseFieldDefaultClusterRoleForProjectMembers = "defaultClusterRoleForProjectMembers" + ClusterSpecBaseFieldDefaultPodSecurityAdmissionConfigurationTemplateName = "defaultPodSecurityAdmissionConfigurationTemplateName" + ClusterSpecBaseFieldDesiredAgentImage = "desiredAgentImage" + ClusterSpecBaseFieldDesiredAuthImage = "desiredAuthImage" + ClusterSpecBaseFieldDockerRootDir = "dockerRootDir" + ClusterSpecBaseFieldEnableNetworkPolicy = "enableNetworkPolicy" + ClusterSpecBaseFieldFleetAgentDeploymentCustomization = "fleetAgentDeploymentCustomization" + ClusterSpecBaseFieldLocalClusterAuthEndpoint = "localClusterAuthEndpoint" + ClusterSpecBaseFieldRancherKubernetesEngineConfig = "rancherKubernetesEngineConfig" + ClusterSpecBaseFieldWindowsPreferedCluster = "windowsPreferedCluster" +) + +type ClusterSpecBase struct { + AgentEnvVars []EnvVar `json:"agentEnvVars,omitempty" yaml:"agentEnvVars,omitempty"` + AgentImageOverride string `json:"agentImageOverride,omitempty" yaml:"agentImageOverride,omitempty"` + ClusterAgentDeploymentCustomization *AgentDeploymentCustomization `json:"clusterAgentDeploymentCustomization,omitempty" yaml:"clusterAgentDeploymentCustomization,omitempty"` + ClusterSecrets *ClusterSecrets `json:"clusterSecrets,omitempty" yaml:"clusterSecrets,omitempty"` + DefaultClusterRoleForProjectMembers string `json:"defaultClusterRoleForProjectMembers,omitempty" yaml:"defaultClusterRoleForProjectMembers,omitempty"` + DefaultPodSecurityAdmissionConfigurationTemplateName string `json:"defaultPodSecurityAdmissionConfigurationTemplateName,omitempty" yaml:"defaultPodSecurityAdmissionConfigurationTemplateName,omitempty"` + DesiredAgentImage string `json:"desiredAgentImage,omitempty" yaml:"desiredAgentImage,omitempty"` + DesiredAuthImage string `json:"desiredAuthImage,omitempty" yaml:"desiredAuthImage,omitempty"` + DockerRootDir string `json:"dockerRootDir,omitempty" yaml:"dockerRootDir,omitempty"` + EnableNetworkPolicy *bool `json:"enableNetworkPolicy,omitempty" yaml:"enableNetworkPolicy,omitempty"` + FleetAgentDeploymentCustomization *AgentDeploymentCustomization `json:"fleetAgentDeploymentCustomization,omitempty" yaml:"fleetAgentDeploymentCustomization,omitempty"` + LocalClusterAuthEndpoint *LocalClusterAuthEndpoint `json:"localClusterAuthEndpoint,omitempty" yaml:"localClusterAuthEndpoint,omitempty"` + RancherKubernetesEngineConfig *RancherKubernetesEngineConfig `json:"rancherKubernetesEngineConfig,omitempty" yaml:"rancherKubernetesEngineConfig,omitempty"` + WindowsPreferedCluster bool `json:"windowsPreferedCluster,omitempty" yaml:"windowsPreferedCluster,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_status.go new file mode 100644 index 000000000..25b838b1d --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_status.go @@ -0,0 +1,86 @@ +package client + +const ( + ClusterStatusType = "clusterStatus" + ClusterStatusFieldAADClientCertSecret = "aadClientCertSecret" + ClusterStatusFieldAADClientSecret = "aadClientSecret" + ClusterStatusFieldAKSStatus = "aksStatus" + ClusterStatusFieldAPIEndpoint = "apiEndpoint" + ClusterStatusFieldAgentFeatures = "agentFeatures" + ClusterStatusFieldAgentImage = "agentImage" + ClusterStatusFieldAllocatable = "allocatable" + ClusterStatusFieldAppliedAgentEnvVars = "appliedAgentEnvVars" + ClusterStatusFieldAppliedClusterAgentDeploymentCustomization = "appliedClusterAgentDeploymentCustomization" + ClusterStatusFieldAppliedEnableNetworkPolicy = "appliedEnableNetworkPolicy" + ClusterStatusFieldAppliedSpec = "appliedSpec" + ClusterStatusFieldAuthImage = "authImage" + ClusterStatusFieldCACert = "caCert" + ClusterStatusFieldCapabilities = "capabilities" + ClusterStatusFieldCapacity = "capacity" + ClusterStatusFieldCertificatesExpiration = "certificatesExpiration" + ClusterStatusFieldComponentStatuses = "componentStatuses" + ClusterStatusFieldConditions = "conditions" + ClusterStatusFieldCurrentCisRunName = "currentCisRunName" + ClusterStatusFieldDriver = "driver" + ClusterStatusFieldEKSStatus = "eksStatus" + ClusterStatusFieldFailedSpec = "failedSpec" + ClusterStatusFieldGKEStatus = "gkeStatus" + ClusterStatusFieldIstioEnabled = "istioEnabled" + ClusterStatusFieldLimits = "limits" + ClusterStatusFieldLinuxWorkerCount = "linuxWorkerCount" + ClusterStatusFieldNodeCount = "nodeCount" + ClusterStatusFieldNodeVersion = "nodeVersion" + ClusterStatusFieldOpenStackSecret = "openStackSecret" + ClusterStatusFieldPrivateRegistrySecret = "privateRegistrySecret" + ClusterStatusFieldProvider = "provider" + ClusterStatusFieldRequested = "requested" + ClusterStatusFieldS3CredentialSecret = "s3CredentialSecret" + ClusterStatusFieldServiceAccountTokenSecret = "serviceAccountTokenSecret" + ClusterStatusFieldVersion = "version" + ClusterStatusFieldVirtualCenterSecret = "virtualCenterSecret" + ClusterStatusFieldVsphereSecret = "vsphereSecret" + ClusterStatusFieldWeavePasswordSecret = "weavePasswordSecret" + ClusterStatusFieldWindowsWorkerCount = "windowsWorkerCount" +) + +type ClusterStatus struct { + AADClientCertSecret string `json:"aadClientCertSecret,omitempty" yaml:"aadClientCertSecret,omitempty"` + AADClientSecret string `json:"aadClientSecret,omitempty" yaml:"aadClientSecret,omitempty"` + AKSStatus *AKSStatus `json:"aksStatus,omitempty" yaml:"aksStatus,omitempty"` + APIEndpoint string `json:"apiEndpoint,omitempty" yaml:"apiEndpoint,omitempty"` + AgentFeatures map[string]bool `json:"agentFeatures,omitempty" yaml:"agentFeatures,omitempty"` + AgentImage string `json:"agentImage,omitempty" yaml:"agentImage,omitempty"` + Allocatable map[string]string `json:"allocatable,omitempty" yaml:"allocatable,omitempty"` + AppliedAgentEnvVars []EnvVar `json:"appliedAgentEnvVars,omitempty" yaml:"appliedAgentEnvVars,omitempty"` + AppliedClusterAgentDeploymentCustomization *AgentDeploymentCustomization `json:"appliedClusterAgentDeploymentCustomization,omitempty" yaml:"appliedClusterAgentDeploymentCustomization,omitempty"` + AppliedEnableNetworkPolicy bool `json:"appliedEnableNetworkPolicy,omitempty" yaml:"appliedEnableNetworkPolicy,omitempty"` + AppliedSpec *ClusterSpec `json:"appliedSpec,omitempty" yaml:"appliedSpec,omitempty"` + AuthImage string `json:"authImage,omitempty" yaml:"authImage,omitempty"` + CACert string `json:"caCert,omitempty" yaml:"caCert,omitempty"` + Capabilities *Capabilities `json:"capabilities,omitempty" yaml:"capabilities,omitempty"` + Capacity map[string]string `json:"capacity,omitempty" yaml:"capacity,omitempty"` + CertificatesExpiration map[string]CertExpiration `json:"certificatesExpiration,omitempty" yaml:"certificatesExpiration,omitempty"` + ComponentStatuses []ClusterComponentStatus `json:"componentStatuses,omitempty" yaml:"componentStatuses,omitempty"` + Conditions []ClusterCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + CurrentCisRunName string `json:"currentCisRunName,omitempty" yaml:"currentCisRunName,omitempty"` + Driver string `json:"driver,omitempty" yaml:"driver,omitempty"` + EKSStatus *EKSStatus `json:"eksStatus,omitempty" yaml:"eksStatus,omitempty"` + FailedSpec *ClusterSpec `json:"failedSpec,omitempty" yaml:"failedSpec,omitempty"` + GKEStatus *GKEStatus `json:"gkeStatus,omitempty" yaml:"gkeStatus,omitempty"` + IstioEnabled bool `json:"istioEnabled,omitempty" yaml:"istioEnabled,omitempty"` + Limits map[string]string `json:"limits,omitempty" yaml:"limits,omitempty"` + LinuxWorkerCount int64 `json:"linuxWorkerCount,omitempty" yaml:"linuxWorkerCount,omitempty"` + NodeCount int64 `json:"nodeCount,omitempty" yaml:"nodeCount,omitempty"` + NodeVersion int64 `json:"nodeVersion,omitempty" yaml:"nodeVersion,omitempty"` + OpenStackSecret string `json:"openStackSecret,omitempty" yaml:"openStackSecret,omitempty"` + PrivateRegistrySecret string `json:"privateRegistrySecret,omitempty" yaml:"privateRegistrySecret,omitempty"` + Provider string `json:"provider,omitempty" yaml:"provider,omitempty"` + Requested map[string]string `json:"requested,omitempty" yaml:"requested,omitempty"` + S3CredentialSecret string `json:"s3CredentialSecret,omitempty" yaml:"s3CredentialSecret,omitempty"` + ServiceAccountTokenSecret string `json:"serviceAccountTokenSecret,omitempty" yaml:"serviceAccountTokenSecret,omitempty"` + Version *Info `json:"version,omitempty" yaml:"version,omitempty"` + VirtualCenterSecret string `json:"virtualCenterSecret,omitempty" yaml:"virtualCenterSecret,omitempty"` + VsphereSecret string `json:"vsphereSecret,omitempty" yaml:"vsphereSecret,omitempty"` + WeavePasswordSecret string `json:"weavePasswordSecret,omitempty" yaml:"weavePasswordSecret,omitempty"` + WindowsWorkerCount int64 `json:"windowsWorkerCount,omitempty" yaml:"windowsWorkerCount,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template.go new file mode 100644 index 000000000..63fcdb4d5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template.go @@ -0,0 +1,124 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + ClusterTemplateType = "clusterTemplate" + ClusterTemplateFieldAnnotations = "annotations" + ClusterTemplateFieldCreated = "created" + ClusterTemplateFieldCreatorID = "creatorId" + ClusterTemplateFieldDefaultRevisionID = "defaultRevisionId" + ClusterTemplateFieldDescription = "description" + ClusterTemplateFieldLabels = "labels" + ClusterTemplateFieldMembers = "members" + ClusterTemplateFieldName = "name" + ClusterTemplateFieldOwnerReferences = "ownerReferences" + ClusterTemplateFieldRemoved = "removed" + ClusterTemplateFieldUUID = "uuid" +) + +type ClusterTemplate struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + DefaultRevisionID string `json:"defaultRevisionId,omitempty" yaml:"defaultRevisionId,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Members []Member `json:"members,omitempty" yaml:"members,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type ClusterTemplateCollection struct { + types.Collection + Data []ClusterTemplate `json:"data,omitempty"` + client *ClusterTemplateClient +} + +type ClusterTemplateClient struct { + apiClient *Client +} + +type ClusterTemplateOperations interface { + List(opts *types.ListOpts) (*ClusterTemplateCollection, error) + ListAll(opts *types.ListOpts) (*ClusterTemplateCollection, error) + Create(opts *ClusterTemplate) (*ClusterTemplate, error) + Update(existing *ClusterTemplate, updates interface{}) (*ClusterTemplate, error) + Replace(existing *ClusterTemplate) (*ClusterTemplate, error) + ByID(id string) (*ClusterTemplate, error) + Delete(container *ClusterTemplate) error +} + +func newClusterTemplateClient(apiClient *Client) *ClusterTemplateClient { + return &ClusterTemplateClient{ + apiClient: apiClient, + } +} + +func (c *ClusterTemplateClient) Create(container *ClusterTemplate) (*ClusterTemplate, error) { + resp := &ClusterTemplate{} + err := c.apiClient.Ops.DoCreate(ClusterTemplateType, container, resp) + return resp, err +} + +func (c *ClusterTemplateClient) Update(existing *ClusterTemplate, updates interface{}) (*ClusterTemplate, error) { + resp := &ClusterTemplate{} + err := c.apiClient.Ops.DoUpdate(ClusterTemplateType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *ClusterTemplateClient) Replace(obj *ClusterTemplate) (*ClusterTemplate, error) { + resp := &ClusterTemplate{} + err := c.apiClient.Ops.DoReplace(ClusterTemplateType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *ClusterTemplateClient) List(opts *types.ListOpts) (*ClusterTemplateCollection, error) { + resp := &ClusterTemplateCollection{} + err := c.apiClient.Ops.DoList(ClusterTemplateType, opts, resp) + resp.client = c + return resp, err +} + +func (c *ClusterTemplateClient) ListAll(opts *types.ListOpts) (*ClusterTemplateCollection, error) { + resp := &ClusterTemplateCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *ClusterTemplateCollection) Next() (*ClusterTemplateCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &ClusterTemplateCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *ClusterTemplateClient) ByID(id string) (*ClusterTemplate, error) { + resp := &ClusterTemplate{} + err := c.apiClient.Ops.DoByID(ClusterTemplateType, id, resp) + return resp, err +} + +func (c *ClusterTemplateClient) Delete(container *ClusterTemplate) error { + return c.apiClient.Ops.DoResourceDelete(ClusterTemplateType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_questions_output.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_questions_output.go new file mode 100644 index 000000000..2de339909 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_questions_output.go @@ -0,0 +1,10 @@ +package client + +const ( + ClusterTemplateQuestionsOutputType = "clusterTemplateQuestionsOutput" + ClusterTemplateQuestionsOutputFieldQuestions = "questions" +) + +type ClusterTemplateQuestionsOutput struct { + Questions []Question `json:"questions,omitempty" yaml:"questions,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_revision.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_revision.go new file mode 100644 index 000000000..6986d4e39 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_revision.go @@ -0,0 +1,186 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + ClusterTemplateRevisionType = "clusterTemplateRevision" + ClusterTemplateRevisionFieldAADClientCertSecret = "aadClientCertSecret" + ClusterTemplateRevisionFieldAADClientSecret = "aadClientSecret" + ClusterTemplateRevisionFieldACIAPICUserKeySecret = "aciAPICUserKeySecret" + ClusterTemplateRevisionFieldACIKafkaClientKeySecret = "aciKafkaClientKeySecret" + ClusterTemplateRevisionFieldACITokenSecret = "aciTokenSecret" + ClusterTemplateRevisionFieldAnnotations = "annotations" + ClusterTemplateRevisionFieldBastionHostSSHKeySecret = "bastionHostSSHKeySecret" + ClusterTemplateRevisionFieldClusterConfig = "clusterConfig" + ClusterTemplateRevisionFieldClusterTemplateID = "clusterTemplateId" + ClusterTemplateRevisionFieldConditions = "conditions" + ClusterTemplateRevisionFieldCreated = "created" + ClusterTemplateRevisionFieldCreatorID = "creatorId" + ClusterTemplateRevisionFieldEnabled = "enabled" + ClusterTemplateRevisionFieldKubeletExtraEnvSecret = "kubeletExtraEnvSecret" + ClusterTemplateRevisionFieldLabels = "labels" + ClusterTemplateRevisionFieldName = "name" + ClusterTemplateRevisionFieldOpenStackSecret = "openStackSecret" + ClusterTemplateRevisionFieldOwnerReferences = "ownerReferences" + ClusterTemplateRevisionFieldPrivateRegistryECRSecret = "privateRegistryECRSecret" + ClusterTemplateRevisionFieldPrivateRegistrySecret = "privateRegistrySecret" + ClusterTemplateRevisionFieldQuestions = "questions" + ClusterTemplateRevisionFieldRemoved = "removed" + ClusterTemplateRevisionFieldS3CredentialSecret = "s3CredentialSecret" + ClusterTemplateRevisionFieldSecretsEncryptionProvidersSecret = "secretsEncryptionProvidersSecret" + ClusterTemplateRevisionFieldState = "state" + ClusterTemplateRevisionFieldTransitioning = "transitioning" + ClusterTemplateRevisionFieldTransitioningMessage = "transitioningMessage" + ClusterTemplateRevisionFieldUUID = "uuid" + ClusterTemplateRevisionFieldVirtualCenterSecret = "virtualCenterSecret" + ClusterTemplateRevisionFieldVsphereSecret = "vsphereSecret" + ClusterTemplateRevisionFieldWeavePasswordSecret = "weavePasswordSecret" +) + +type ClusterTemplateRevision struct { + types.Resource + AADClientCertSecret string `json:"aadClientCertSecret,omitempty" yaml:"aadClientCertSecret,omitempty"` + AADClientSecret string `json:"aadClientSecret,omitempty" yaml:"aadClientSecret,omitempty"` + ACIAPICUserKeySecret string `json:"aciAPICUserKeySecret,omitempty" yaml:"aciAPICUserKeySecret,omitempty"` + ACIKafkaClientKeySecret string `json:"aciKafkaClientKeySecret,omitempty" yaml:"aciKafkaClientKeySecret,omitempty"` + ACITokenSecret string `json:"aciTokenSecret,omitempty" yaml:"aciTokenSecret,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + BastionHostSSHKeySecret string `json:"bastionHostSSHKeySecret,omitempty" yaml:"bastionHostSSHKeySecret,omitempty"` + ClusterConfig *ClusterSpecBase `json:"clusterConfig,omitempty" yaml:"clusterConfig,omitempty"` + ClusterTemplateID string `json:"clusterTemplateId,omitempty" yaml:"clusterTemplateId,omitempty"` + Conditions []ClusterTemplateRevisionCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + KubeletExtraEnvSecret string `json:"kubeletExtraEnvSecret,omitempty" yaml:"kubeletExtraEnvSecret,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OpenStackSecret string `json:"openStackSecret,omitempty" yaml:"openStackSecret,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + PrivateRegistryECRSecret string `json:"privateRegistryECRSecret,omitempty" yaml:"privateRegistryECRSecret,omitempty"` + PrivateRegistrySecret string `json:"privateRegistrySecret,omitempty" yaml:"privateRegistrySecret,omitempty"` + Questions []Question `json:"questions,omitempty" yaml:"questions,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + S3CredentialSecret string `json:"s3CredentialSecret,omitempty" yaml:"s3CredentialSecret,omitempty"` + SecretsEncryptionProvidersSecret string `json:"secretsEncryptionProvidersSecret,omitempty" yaml:"secretsEncryptionProvidersSecret,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + VirtualCenterSecret string `json:"virtualCenterSecret,omitempty" yaml:"virtualCenterSecret,omitempty"` + VsphereSecret string `json:"vsphereSecret,omitempty" yaml:"vsphereSecret,omitempty"` + WeavePasswordSecret string `json:"weavePasswordSecret,omitempty" yaml:"weavePasswordSecret,omitempty"` +} + +type ClusterTemplateRevisionCollection struct { + types.Collection + Data []ClusterTemplateRevision `json:"data,omitempty"` + client *ClusterTemplateRevisionClient +} + +type ClusterTemplateRevisionClient struct { + apiClient *Client +} + +type ClusterTemplateRevisionOperations interface { + List(opts *types.ListOpts) (*ClusterTemplateRevisionCollection, error) + ListAll(opts *types.ListOpts) (*ClusterTemplateRevisionCollection, error) + Create(opts *ClusterTemplateRevision) (*ClusterTemplateRevision, error) + Update(existing *ClusterTemplateRevision, updates interface{}) (*ClusterTemplateRevision, error) + Replace(existing *ClusterTemplateRevision) (*ClusterTemplateRevision, error) + ByID(id string) (*ClusterTemplateRevision, error) + Delete(container *ClusterTemplateRevision) error + + ActionDisable(resource *ClusterTemplateRevision) error + + ActionEnable(resource *ClusterTemplateRevision) error + + CollectionActionListquestions(resource *ClusterTemplateRevisionCollection) (*ClusterTemplateQuestionsOutput, error) +} + +func newClusterTemplateRevisionClient(apiClient *Client) *ClusterTemplateRevisionClient { + return &ClusterTemplateRevisionClient{ + apiClient: apiClient, + } +} + +func (c *ClusterTemplateRevisionClient) Create(container *ClusterTemplateRevision) (*ClusterTemplateRevision, error) { + resp := &ClusterTemplateRevision{} + err := c.apiClient.Ops.DoCreate(ClusterTemplateRevisionType, container, resp) + return resp, err +} + +func (c *ClusterTemplateRevisionClient) Update(existing *ClusterTemplateRevision, updates interface{}) (*ClusterTemplateRevision, error) { + resp := &ClusterTemplateRevision{} + err := c.apiClient.Ops.DoUpdate(ClusterTemplateRevisionType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *ClusterTemplateRevisionClient) Replace(obj *ClusterTemplateRevision) (*ClusterTemplateRevision, error) { + resp := &ClusterTemplateRevision{} + err := c.apiClient.Ops.DoReplace(ClusterTemplateRevisionType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *ClusterTemplateRevisionClient) List(opts *types.ListOpts) (*ClusterTemplateRevisionCollection, error) { + resp := &ClusterTemplateRevisionCollection{} + err := c.apiClient.Ops.DoList(ClusterTemplateRevisionType, opts, resp) + resp.client = c + return resp, err +} + +func (c *ClusterTemplateRevisionClient) ListAll(opts *types.ListOpts) (*ClusterTemplateRevisionCollection, error) { + resp := &ClusterTemplateRevisionCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *ClusterTemplateRevisionCollection) Next() (*ClusterTemplateRevisionCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &ClusterTemplateRevisionCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *ClusterTemplateRevisionClient) ByID(id string) (*ClusterTemplateRevision, error) { + resp := &ClusterTemplateRevision{} + err := c.apiClient.Ops.DoByID(ClusterTemplateRevisionType, id, resp) + return resp, err +} + +func (c *ClusterTemplateRevisionClient) Delete(container *ClusterTemplateRevision) error { + return c.apiClient.Ops.DoResourceDelete(ClusterTemplateRevisionType, &container.Resource) +} + +func (c *ClusterTemplateRevisionClient) ActionDisable(resource *ClusterTemplateRevision) error { + err := c.apiClient.Ops.DoAction(ClusterTemplateRevisionType, "disable", &resource.Resource, nil, nil) + return err +} + +func (c *ClusterTemplateRevisionClient) ActionEnable(resource *ClusterTemplateRevision) error { + err := c.apiClient.Ops.DoAction(ClusterTemplateRevisionType, "enable", &resource.Resource, nil, nil) + return err +} + +func (c *ClusterTemplateRevisionClient) CollectionActionListquestions(resource *ClusterTemplateRevisionCollection) (*ClusterTemplateQuestionsOutput, error) { + resp := &ClusterTemplateQuestionsOutput{} + err := c.apiClient.Ops.DoCollectionAction(ClusterTemplateRevisionType, "listquestions", &resource.Collection, nil, resp) + return resp, err +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_revision_condition.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_revision_condition.go new file mode 100644 index 000000000..114d52be1 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_revision_condition.go @@ -0,0 +1,20 @@ +package client + +const ( + ClusterTemplateRevisionConditionType = "clusterTemplateRevisionCondition" + ClusterTemplateRevisionConditionFieldLastTransitionTime = "lastTransitionTime" + ClusterTemplateRevisionConditionFieldLastUpdateTime = "lastUpdateTime" + ClusterTemplateRevisionConditionFieldMessage = "message" + ClusterTemplateRevisionConditionFieldReason = "reason" + ClusterTemplateRevisionConditionFieldStatus = "status" + ClusterTemplateRevisionConditionFieldType = "type" +) + +type ClusterTemplateRevisionCondition struct { + LastTransitionTime string `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"` + LastUpdateTime string `json:"lastUpdateTime,omitempty" yaml:"lastUpdateTime,omitempty"` + Message string `json:"message,omitempty" yaml:"message,omitempty"` + Reason string `json:"reason,omitempty" yaml:"reason,omitempty"` + Status string `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_revision_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_revision_spec.go new file mode 100644 index 000000000..72a46d6c9 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_revision_spec.go @@ -0,0 +1,18 @@ +package client + +const ( + ClusterTemplateRevisionSpecType = "clusterTemplateRevisionSpec" + ClusterTemplateRevisionSpecFieldClusterConfig = "clusterConfig" + ClusterTemplateRevisionSpecFieldClusterTemplateID = "clusterTemplateId" + ClusterTemplateRevisionSpecFieldDisplayName = "displayName" + ClusterTemplateRevisionSpecFieldEnabled = "enabled" + ClusterTemplateRevisionSpecFieldQuestions = "questions" +) + +type ClusterTemplateRevisionSpec struct { + ClusterConfig *ClusterSpecBase `json:"clusterConfig,omitempty" yaml:"clusterConfig,omitempty"` + ClusterTemplateID string `json:"clusterTemplateId,omitempty" yaml:"clusterTemplateId,omitempty"` + DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"` + Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + Questions []Question `json:"questions,omitempty" yaml:"questions,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_revision_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_revision_status.go new file mode 100644 index 000000000..1aa56ea24 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_revision_status.go @@ -0,0 +1,40 @@ +package client + +const ( + ClusterTemplateRevisionStatusType = "clusterTemplateRevisionStatus" + ClusterTemplateRevisionStatusFieldAADClientCertSecret = "aadClientCertSecret" + ClusterTemplateRevisionStatusFieldAADClientSecret = "aadClientSecret" + ClusterTemplateRevisionStatusFieldACIAPICUserKeySecret = "aciAPICUserKeySecret" + ClusterTemplateRevisionStatusFieldACIKafkaClientKeySecret = "aciKafkaClientKeySecret" + ClusterTemplateRevisionStatusFieldACITokenSecret = "aciTokenSecret" + ClusterTemplateRevisionStatusFieldBastionHostSSHKeySecret = "bastionHostSSHKeySecret" + ClusterTemplateRevisionStatusFieldConditions = "conditions" + ClusterTemplateRevisionStatusFieldKubeletExtraEnvSecret = "kubeletExtraEnvSecret" + ClusterTemplateRevisionStatusFieldOpenStackSecret = "openStackSecret" + ClusterTemplateRevisionStatusFieldPrivateRegistryECRSecret = "privateRegistryECRSecret" + ClusterTemplateRevisionStatusFieldPrivateRegistrySecret = "privateRegistrySecret" + ClusterTemplateRevisionStatusFieldS3CredentialSecret = "s3CredentialSecret" + ClusterTemplateRevisionStatusFieldSecretsEncryptionProvidersSecret = "secretsEncryptionProvidersSecret" + ClusterTemplateRevisionStatusFieldVirtualCenterSecret = "virtualCenterSecret" + ClusterTemplateRevisionStatusFieldVsphereSecret = "vsphereSecret" + ClusterTemplateRevisionStatusFieldWeavePasswordSecret = "weavePasswordSecret" +) + +type ClusterTemplateRevisionStatus struct { + AADClientCertSecret string `json:"aadClientCertSecret,omitempty" yaml:"aadClientCertSecret,omitempty"` + AADClientSecret string `json:"aadClientSecret,omitempty" yaml:"aadClientSecret,omitempty"` + ACIAPICUserKeySecret string `json:"aciAPICUserKeySecret,omitempty" yaml:"aciAPICUserKeySecret,omitempty"` + ACIKafkaClientKeySecret string `json:"aciKafkaClientKeySecret,omitempty" yaml:"aciKafkaClientKeySecret,omitempty"` + ACITokenSecret string `json:"aciTokenSecret,omitempty" yaml:"aciTokenSecret,omitempty"` + BastionHostSSHKeySecret string `json:"bastionHostSSHKeySecret,omitempty" yaml:"bastionHostSSHKeySecret,omitempty"` + Conditions []ClusterTemplateRevisionCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + KubeletExtraEnvSecret string `json:"kubeletExtraEnvSecret,omitempty" yaml:"kubeletExtraEnvSecret,omitempty"` + OpenStackSecret string `json:"openStackSecret,omitempty" yaml:"openStackSecret,omitempty"` + PrivateRegistryECRSecret string `json:"privateRegistryECRSecret,omitempty" yaml:"privateRegistryECRSecret,omitempty"` + PrivateRegistrySecret string `json:"privateRegistrySecret,omitempty" yaml:"privateRegistrySecret,omitempty"` + S3CredentialSecret string `json:"s3CredentialSecret,omitempty" yaml:"s3CredentialSecret,omitempty"` + SecretsEncryptionProvidersSecret string `json:"secretsEncryptionProvidersSecret,omitempty" yaml:"secretsEncryptionProvidersSecret,omitempty"` + VirtualCenterSecret string `json:"virtualCenterSecret,omitempty" yaml:"virtualCenterSecret,omitempty"` + VsphereSecret string `json:"vsphereSecret,omitempty" yaml:"vsphereSecret,omitempty"` + WeavePasswordSecret string `json:"weavePasswordSecret,omitempty" yaml:"weavePasswordSecret,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_spec.go new file mode 100644 index 000000000..6d0270f5b --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_template_spec.go @@ -0,0 +1,16 @@ +package client + +const ( + ClusterTemplateSpecType = "clusterTemplateSpec" + ClusterTemplateSpecFieldDefaultRevisionID = "defaultRevisionId" + ClusterTemplateSpecFieldDescription = "description" + ClusterTemplateSpecFieldDisplayName = "displayName" + ClusterTemplateSpecFieldMembers = "members" +) + +type ClusterTemplateSpec struct { + DefaultRevisionID string `json:"defaultRevisionId,omitempty" yaml:"defaultRevisionId,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"` + Members []Member `json:"members,omitempty" yaml:"members,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_trust_bundle_projection.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_trust_bundle_projection.go new file mode 100644 index 000000000..61d322dea --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_trust_bundle_projection.go @@ -0,0 +1,18 @@ +package client + +const ( + ClusterTrustBundleProjectionType = "clusterTrustBundleProjection" + ClusterTrustBundleProjectionFieldLabelSelector = "labelSelector" + ClusterTrustBundleProjectionFieldName = "name" + ClusterTrustBundleProjectionFieldOptional = "optional" + ClusterTrustBundleProjectionFieldPath = "path" + ClusterTrustBundleProjectionFieldSignerName = "signerName" +) + +type ClusterTrustBundleProjection struct { + LabelSelector *LabelSelector `json:"labelSelector,omitempty" yaml:"labelSelector,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + Optional *bool `json:"optional,omitempty" yaml:"optional,omitempty"` + Path string `json:"path,omitempty" yaml:"path,omitempty"` + SignerName string `json:"signerName,omitempty" yaml:"signerName,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_upgrade_strategy.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_upgrade_strategy.go new file mode 100644 index 000000000..c50810784 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cluster_upgrade_strategy.go @@ -0,0 +1,16 @@ +package client + +const ( + ClusterUpgradeStrategyType = "clusterUpgradeStrategy" + ClusterUpgradeStrategyFieldDrainServerNodes = "drainServerNodes" + ClusterUpgradeStrategyFieldDrainWorkerNodes = "drainWorkerNodes" + ClusterUpgradeStrategyFieldServerConcurrency = "serverConcurrency" + ClusterUpgradeStrategyFieldWorkerConcurrency = "workerConcurrency" +) + +type ClusterUpgradeStrategy struct { + DrainServerNodes bool `json:"drainServerNodes,omitempty" yaml:"drainServerNodes,omitempty"` + DrainWorkerNodes bool `json:"drainWorkerNodes,omitempty" yaml:"drainWorkerNodes,omitempty"` + ServerConcurrency int64 `json:"serverConcurrency,omitempty" yaml:"serverConcurrency,omitempty"` + WorkerConcurrency int64 `json:"workerConcurrency,omitempty" yaml:"workerConcurrency,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cmek_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cmek_config.go new file mode 100644 index 000000000..c30a6580e --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cmek_config.go @@ -0,0 +1,12 @@ +package client + +const ( + CMEKConfigType = "cmekConfig" + CMEKConfigFieldKeyName = "keyName" + CMEKConfigFieldRingName = "ringName" +) + +type CMEKConfig struct { + KeyName string `json:"keyName,omitempty" yaml:"keyName,omitempty"` + RingName string `json:"ringName,omitempty" yaml:"ringName,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_component_condition.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_component_condition.go new file mode 100644 index 000000000..ac2357941 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_component_condition.go @@ -0,0 +1,16 @@ +package client + +const ( + ComponentConditionType = "componentCondition" + ComponentConditionFieldError = "error" + ComponentConditionFieldMessage = "message" + ComponentConditionFieldStatus = "status" + ComponentConditionFieldType = "type" +) + +type ComponentCondition struct { + Error string `json:"error,omitempty" yaml:"error,omitempty"` + Message string `json:"message,omitempty" yaml:"message,omitempty"` + Status string `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_compose_condition.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_compose_condition.go new file mode 100644 index 000000000..e2b5a1ec4 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_compose_condition.go @@ -0,0 +1,20 @@ +package client + +const ( + ComposeConditionType = "composeCondition" + ComposeConditionFieldLastTransitionTime = "lastTransitionTime" + ComposeConditionFieldLastUpdateTime = "lastUpdateTime" + ComposeConditionFieldMessage = "message" + ComposeConditionFieldReason = "reason" + ComposeConditionFieldStatus = "status" + ComposeConditionFieldType = "type" +) + +type ComposeCondition struct { + LastTransitionTime string `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"` + LastUpdateTime string `json:"lastUpdateTime,omitempty" yaml:"lastUpdateTime,omitempty"` + Message string `json:"message,omitempty" yaml:"message,omitempty"` + Reason string `json:"reason,omitempty" yaml:"reason,omitempty"` + Status string `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_compose_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_compose_config.go new file mode 100644 index 000000000..7b926c8d5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_compose_config.go @@ -0,0 +1,128 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + ComposeConfigType = "composeConfig" + ComposeConfigFieldAnnotations = "annotations" + ComposeConfigFieldCreated = "created" + ComposeConfigFieldCreatorID = "creatorId" + ComposeConfigFieldLabels = "labels" + ComposeConfigFieldName = "name" + ComposeConfigFieldOwnerReferences = "ownerReferences" + ComposeConfigFieldRancherCompose = "rancherCompose" + ComposeConfigFieldRemoved = "removed" + ComposeConfigFieldState = "state" + ComposeConfigFieldStatus = "status" + ComposeConfigFieldTransitioning = "transitioning" + ComposeConfigFieldTransitioningMessage = "transitioningMessage" + ComposeConfigFieldUUID = "uuid" +) + +type ComposeConfig struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + RancherCompose string `json:"rancherCompose,omitempty" yaml:"rancherCompose,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Status *ComposeStatus `json:"status,omitempty" yaml:"status,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type ComposeConfigCollection struct { + types.Collection + Data []ComposeConfig `json:"data,omitempty"` + client *ComposeConfigClient +} + +type ComposeConfigClient struct { + apiClient *Client +} + +type ComposeConfigOperations interface { + List(opts *types.ListOpts) (*ComposeConfigCollection, error) + ListAll(opts *types.ListOpts) (*ComposeConfigCollection, error) + Create(opts *ComposeConfig) (*ComposeConfig, error) + Update(existing *ComposeConfig, updates interface{}) (*ComposeConfig, error) + Replace(existing *ComposeConfig) (*ComposeConfig, error) + ByID(id string) (*ComposeConfig, error) + Delete(container *ComposeConfig) error +} + +func newComposeConfigClient(apiClient *Client) *ComposeConfigClient { + return &ComposeConfigClient{ + apiClient: apiClient, + } +} + +func (c *ComposeConfigClient) Create(container *ComposeConfig) (*ComposeConfig, error) { + resp := &ComposeConfig{} + err := c.apiClient.Ops.DoCreate(ComposeConfigType, container, resp) + return resp, err +} + +func (c *ComposeConfigClient) Update(existing *ComposeConfig, updates interface{}) (*ComposeConfig, error) { + resp := &ComposeConfig{} + err := c.apiClient.Ops.DoUpdate(ComposeConfigType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *ComposeConfigClient) Replace(obj *ComposeConfig) (*ComposeConfig, error) { + resp := &ComposeConfig{} + err := c.apiClient.Ops.DoReplace(ComposeConfigType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *ComposeConfigClient) List(opts *types.ListOpts) (*ComposeConfigCollection, error) { + resp := &ComposeConfigCollection{} + err := c.apiClient.Ops.DoList(ComposeConfigType, opts, resp) + resp.client = c + return resp, err +} + +func (c *ComposeConfigClient) ListAll(opts *types.ListOpts) (*ComposeConfigCollection, error) { + resp := &ComposeConfigCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *ComposeConfigCollection) Next() (*ComposeConfigCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &ComposeConfigCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *ComposeConfigClient) ByID(id string) (*ComposeConfig, error) { + resp := &ComposeConfig{} + err := c.apiClient.Ops.DoByID(ComposeConfigType, id, resp) + return resp, err +} + +func (c *ComposeConfigClient) Delete(container *ComposeConfig) error { + return c.apiClient.Ops.DoResourceDelete(ComposeConfigType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_compose_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_compose_spec.go new file mode 100644 index 000000000..6477b002b --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_compose_spec.go @@ -0,0 +1,10 @@ +package client + +const ( + ComposeSpecType = "composeSpec" + ComposeSpecFieldRancherCompose = "rancherCompose" +) + +type ComposeSpec struct { + RancherCompose string `json:"rancherCompose,omitempty" yaml:"rancherCompose,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_compose_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_compose_status.go new file mode 100644 index 000000000..53138f03d --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_compose_status.go @@ -0,0 +1,10 @@ +package client + +const ( + ComposeStatusType = "composeStatus" + ComposeStatusFieldConditions = "conditions" +) + +type ComposeStatus struct { + Conditions []ComposeCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_condition.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_condition.go new file mode 100644 index 000000000..7f5020434 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_condition.go @@ -0,0 +1,20 @@ +package client + +const ( + ConditionType = "condition" + ConditionFieldLastTransitionTime = "lastTransitionTime" + ConditionFieldLastUpdateTime = "lastUpdateTime" + ConditionFieldMessage = "message" + ConditionFieldReason = "reason" + ConditionFieldStatus = "status" + ConditionFieldType = "type" +) + +type Condition struct { + LastTransitionTime string `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"` + LastUpdateTime string `json:"lastUpdateTime,omitempty" yaml:"lastUpdateTime,omitempty"` + Message string `json:"message,omitempty" yaml:"message,omitempty"` + Reason string `json:"reason,omitempty" yaml:"reason,omitempty"` + Status string `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_config_map_key_selector.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_config_map_key_selector.go new file mode 100644 index 000000000..e1b599115 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_config_map_key_selector.go @@ -0,0 +1,14 @@ +package client + +const ( + ConfigMapKeySelectorType = "configMapKeySelector" + ConfigMapKeySelectorFieldKey = "key" + ConfigMapKeySelectorFieldName = "name" + ConfigMapKeySelectorFieldOptional = "optional" +) + +type ConfigMapKeySelector struct { + Key string `json:"key,omitempty" yaml:"key,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + Optional *bool `json:"optional,omitempty" yaml:"optional,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_config_map_node_config_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_config_map_node_config_source.go new file mode 100644 index 000000000..1f6d09001 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_config_map_node_config_source.go @@ -0,0 +1,18 @@ +package client + +const ( + ConfigMapNodeConfigSourceType = "configMapNodeConfigSource" + ConfigMapNodeConfigSourceFieldKubeletConfigKey = "kubeletConfigKey" + ConfigMapNodeConfigSourceFieldName = "name" + ConfigMapNodeConfigSourceFieldNamespace = "namespace" + ConfigMapNodeConfigSourceFieldResourceVersion = "resourceVersion" + ConfigMapNodeConfigSourceFieldUID = "uid" +) + +type ConfigMapNodeConfigSource struct { + KubeletConfigKey string `json:"kubeletConfigKey,omitempty" yaml:"kubeletConfigKey,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty"` + ResourceVersion string `json:"resourceVersion,omitempty" yaml:"resourceVersion,omitempty"` + UID string `json:"uid,omitempty" yaml:"uid,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_config_map_projection.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_config_map_projection.go new file mode 100644 index 000000000..94388a508 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_config_map_projection.go @@ -0,0 +1,14 @@ +package client + +const ( + ConfigMapProjectionType = "configMapProjection" + ConfigMapProjectionFieldItems = "items" + ConfigMapProjectionFieldName = "name" + ConfigMapProjectionFieldOptional = "optional" +) + +type ConfigMapProjection struct { + Items []KeyToPath `json:"items,omitempty" yaml:"items,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + Optional *bool `json:"optional,omitempty" yaml:"optional,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_config_map_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_config_map_volume_source.go new file mode 100644 index 000000000..4de7b8ad3 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_config_map_volume_source.go @@ -0,0 +1,16 @@ +package client + +const ( + ConfigMapVolumeSourceType = "configMapVolumeSource" + ConfigMapVolumeSourceFieldDefaultMode = "defaultMode" + ConfigMapVolumeSourceFieldItems = "items" + ConfigMapVolumeSourceFieldName = "name" + ConfigMapVolumeSourceFieldOptional = "optional" +) + +type ConfigMapVolumeSource struct { + DefaultMode *int64 `json:"defaultMode,omitempty" yaml:"defaultMode,omitempty"` + Items []KeyToPath `json:"items,omitempty" yaml:"items,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + Optional *bool `json:"optional,omitempty" yaml:"optional,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_container_image.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_container_image.go new file mode 100644 index 000000000..5f1419740 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_container_image.go @@ -0,0 +1,12 @@ +package client + +const ( + ContainerImageType = "containerImage" + ContainerImageFieldNames = "names" + ContainerImageFieldSizeBytes = "sizeBytes" +) + +type ContainerImage struct { + Names []string `json:"names,omitempty" yaml:"names,omitempty"` + SizeBytes int64 `json:"sizeBytes,omitempty" yaml:"sizeBytes,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_container_resource_limit.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_container_resource_limit.go new file mode 100644 index 000000000..b36a49929 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_container_resource_limit.go @@ -0,0 +1,16 @@ +package client + +const ( + ContainerResourceLimitType = "containerResourceLimit" + ContainerResourceLimitFieldLimitsCPU = "limitsCpu" + ContainerResourceLimitFieldLimitsMemory = "limitsMemory" + ContainerResourceLimitFieldRequestsCPU = "requestsCpu" + ContainerResourceLimitFieldRequestsMemory = "requestsMemory" +) + +type ContainerResourceLimit struct { + LimitsCPU string `json:"limitsCpu,omitempty" yaml:"limitsCpu,omitempty"` + LimitsMemory string `json:"limitsMemory,omitempty" yaml:"limitsMemory,omitempty"` + RequestsCPU string `json:"requestsCpu,omitempty" yaml:"requestsCpu,omitempty"` + RequestsMemory string `json:"requestsMemory,omitempty" yaml:"requestsMemory,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cpu_info.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cpu_info.go new file mode 100644 index 000000000..08764a5e5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_cpu_info.go @@ -0,0 +1,10 @@ +package client + +const ( + CPUInfoType = "cpuInfo" + CPUInfoFieldCount = "count" +) + +type CPUInfo struct { + Count int64 `json:"count,omitempty" yaml:"count,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_csi_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_csi_volume_source.go new file mode 100644 index 000000000..f341d5300 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_csi_volume_source.go @@ -0,0 +1,18 @@ +package client + +const ( + CSIVolumeSourceType = "csiVolumeSource" + CSIVolumeSourceFieldDriver = "driver" + CSIVolumeSourceFieldFSType = "fsType" + CSIVolumeSourceFieldNodePublishSecretRef = "nodePublishSecretRef" + CSIVolumeSourceFieldReadOnly = "readOnly" + CSIVolumeSourceFieldVolumeAttributes = "volumeAttributes" +) + +type CSIVolumeSource struct { + Driver string `json:"driver,omitempty" yaml:"driver,omitempty"` + FSType string `json:"fsType,omitempty" yaml:"fsType,omitempty"` + NodePublishSecretRef *LocalObjectReference `json:"nodePublishSecretRef,omitempty" yaml:"nodePublishSecretRef,omitempty"` + ReadOnly *bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` + VolumeAttributes map[string]string `json:"volumeAttributes,omitempty" yaml:"volumeAttributes,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_custom_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_custom_config.go new file mode 100644 index 000000000..677392bb5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_custom_config.go @@ -0,0 +1,24 @@ +package client + +const ( + CustomConfigType = "customConfig" + CustomConfigFieldAddress = "address" + CustomConfigFieldDockerSocket = "dockerSocket" + CustomConfigFieldInternalAddress = "internalAddress" + CustomConfigFieldLabel = "label" + CustomConfigFieldSSHCert = "sshCert" + CustomConfigFieldSSHKey = "sshKey" + CustomConfigFieldTaints = "taints" + CustomConfigFieldUser = "user" +) + +type CustomConfig struct { + Address string `json:"address,omitempty" yaml:"address,omitempty"` + DockerSocket string `json:"dockerSocket,omitempty" yaml:"dockerSocket,omitempty"` + InternalAddress string `json:"internalAddress,omitempty" yaml:"internalAddress,omitempty"` + Label map[string]string `json:"label,omitempty" yaml:"label,omitempty"` + SSHCert string `json:"sshCert,omitempty" yaml:"sshCert,omitempty"` + SSHKey string `json:"sshKey,omitempty" yaml:"sshKey,omitempty"` + Taints []string `json:"taints,omitempty" yaml:"taints,omitempty"` + User string `json:"user,omitempty" yaml:"user,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_daemon_endpoint.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_daemon_endpoint.go new file mode 100644 index 000000000..88cefc764 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_daemon_endpoint.go @@ -0,0 +1,10 @@ +package client + +const ( + DaemonEndpointType = "daemonEndpoint" + DaemonEndpointFieldPort = "Port" +) + +type DaemonEndpoint struct { + Port int64 `json:"Port,omitempty" yaml:"Port,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_daemon_set_update_strategy.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_daemon_set_update_strategy.go new file mode 100644 index 000000000..775007ecd --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_daemon_set_update_strategy.go @@ -0,0 +1,12 @@ +package client + +const ( + DaemonSetUpdateStrategyType = "daemonSetUpdateStrategy" + DaemonSetUpdateStrategyFieldRollingUpdate = "rollingUpdate" + DaemonSetUpdateStrategyFieldStrategy = "strategy" +) + +type DaemonSetUpdateStrategy struct { + RollingUpdate *RollingUpdateDaemonSet `json:"rollingUpdate,omitempty" yaml:"rollingUpdate,omitempty"` + Strategy string `json:"strategy,omitempty" yaml:"strategy,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_deployment_strategy.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_deployment_strategy.go new file mode 100644 index 000000000..69c4b91bf --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_deployment_strategy.go @@ -0,0 +1,12 @@ +package client + +const ( + DeploymentStrategyType = "deploymentStrategy" + DeploymentStrategyFieldRollingUpdate = "rollingUpdate" + DeploymentStrategyFieldStrategy = "strategy" +) + +type DeploymentStrategy struct { + RollingUpdate *RollingUpdateDeployment `json:"rollingUpdate,omitempty" yaml:"rollingUpdate,omitempty"` + Strategy string `json:"strategy,omitempty" yaml:"strategy,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_disk_vsphere_opts.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_disk_vsphere_opts.go new file mode 100644 index 000000000..d3db88aee --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_disk_vsphere_opts.go @@ -0,0 +1,10 @@ +package client + +const ( + DiskVsphereOptsType = "diskVsphereOpts" + DiskVsphereOptsFieldSCSIControllerType = "scsicontrollertype" +) + +type DiskVsphereOpts struct { + SCSIControllerType string `json:"scsicontrollertype,omitempty" yaml:"scsicontrollertype,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_dns_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_dns_config.go new file mode 100644 index 000000000..d7a5630b4 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_dns_config.go @@ -0,0 +1,28 @@ +package client + +const ( + DNSConfigType = "dnsConfig" + DNSConfigFieldLinearAutoscalerParams = "linearAutoscalerParams" + DNSConfigFieldNodeSelector = "nodeSelector" + DNSConfigFieldNodelocal = "nodelocal" + DNSConfigFieldOptions = "options" + DNSConfigFieldProvider = "provider" + DNSConfigFieldReverseCIDRs = "reversecidrs" + DNSConfigFieldStubDomains = "stubdomains" + DNSConfigFieldTolerations = "tolerations" + DNSConfigFieldUpdateStrategy = "updateStrategy" + DNSConfigFieldUpstreamNameservers = "upstreamnameservers" +) + +type DNSConfig struct { + LinearAutoscalerParams *LinearAutoscalerParams `json:"linearAutoscalerParams,omitempty" yaml:"linearAutoscalerParams,omitempty"` + NodeSelector map[string]string `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty"` + Nodelocal *Nodelocal `json:"nodelocal,omitempty" yaml:"nodelocal,omitempty"` + Options map[string]string `json:"options,omitempty" yaml:"options,omitempty"` + Provider string `json:"provider,omitempty" yaml:"provider,omitempty"` + ReverseCIDRs []string `json:"reversecidrs,omitempty" yaml:"reversecidrs,omitempty"` + StubDomains map[string][]string `json:"stubdomains,omitempty" yaml:"stubdomains,omitempty"` + Tolerations []Toleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty"` + UpdateStrategy *DeploymentStrategy `json:"updateStrategy,omitempty" yaml:"updateStrategy,omitempty"` + UpstreamNameservers []string `json:"upstreamnameservers,omitempty" yaml:"upstreamnameservers,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_docker_info.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_docker_info.go new file mode 100644 index 000000000..1b66e6284 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_docker_info.go @@ -0,0 +1,48 @@ +package client + +const ( + DockerInfoType = "dockerInfo" + DockerInfoFieldArchitecture = "architecture" + DockerInfoFieldCgroupDriver = "cgroupDriver" + DockerInfoFieldDebug = "debug" + DockerInfoFieldDockerRootDir = "dockerRootDir" + DockerInfoFieldDriver = "driver" + DockerInfoFieldExperimentalBuild = "experimentalBuild" + DockerInfoFieldHTTPProxy = "httpProxy" + DockerInfoFieldHTTPSProxy = "httpsProxy" + DockerInfoFieldID = "id" + DockerInfoFieldIndexServerAddress = "indexServerAddress" + DockerInfoFieldInitBinary = "initBinary" + DockerInfoFieldKernelVersion = "kernelVersion" + DockerInfoFieldLabels = "labels" + DockerInfoFieldLoggingDriver = "loggingDriver" + DockerInfoFieldName = "name" + DockerInfoFieldNoProxy = "noProxy" + DockerInfoFieldOSType = "osType" + DockerInfoFieldOperatingSystem = "operatingSystem" + DockerInfoFieldSecurityOptions = "securityOptions" + DockerInfoFieldServerVersion = "serverVersion" +) + +type DockerInfo struct { + Architecture string `json:"architecture,omitempty" yaml:"architecture,omitempty"` + CgroupDriver string `json:"cgroupDriver,omitempty" yaml:"cgroupDriver,omitempty"` + Debug bool `json:"debug,omitempty" yaml:"debug,omitempty"` + DockerRootDir string `json:"dockerRootDir,omitempty" yaml:"dockerRootDir,omitempty"` + Driver string `json:"driver,omitempty" yaml:"driver,omitempty"` + ExperimentalBuild bool `json:"experimentalBuild,omitempty" yaml:"experimentalBuild,omitempty"` + HTTPProxy string `json:"httpProxy,omitempty" yaml:"httpProxy,omitempty"` + HTTPSProxy string `json:"httpsProxy,omitempty" yaml:"httpsProxy,omitempty"` + ID string `json:"id,omitempty" yaml:"id,omitempty"` + IndexServerAddress string `json:"indexServerAddress,omitempty" yaml:"indexServerAddress,omitempty"` + InitBinary string `json:"initBinary,omitempty" yaml:"initBinary,omitempty"` + KernelVersion string `json:"kernelVersion,omitempty" yaml:"kernelVersion,omitempty"` + Labels []string `json:"labels,omitempty" yaml:"labels,omitempty"` + LoggingDriver string `json:"loggingDriver,omitempty" yaml:"loggingDriver,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NoProxy string `json:"noProxy,omitempty" yaml:"noProxy,omitempty"` + OSType string `json:"osType,omitempty" yaml:"osType,omitempty"` + OperatingSystem string `json:"operatingSystem,omitempty" yaml:"operatingSystem,omitempty"` + SecurityOptions []string `json:"securityOptions,omitempty" yaml:"securityOptions,omitempty"` + ServerVersion string `json:"serverVersion,omitempty" yaml:"serverVersion,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_downward_apiprojection.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_downward_apiprojection.go new file mode 100644 index 000000000..ca02c4ddf --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_downward_apiprojection.go @@ -0,0 +1,10 @@ +package client + +const ( + DownwardAPIProjectionType = "downwardAPIProjection" + DownwardAPIProjectionFieldItems = "items" +) + +type DownwardAPIProjection struct { + Items []DownwardAPIVolumeFile `json:"items,omitempty" yaml:"items,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_downward_apivolume_file.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_downward_apivolume_file.go new file mode 100644 index 000000000..c8f8bc2b7 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_downward_apivolume_file.go @@ -0,0 +1,16 @@ +package client + +const ( + DownwardAPIVolumeFileType = "downwardAPIVolumeFile" + DownwardAPIVolumeFileFieldFieldRef = "fieldRef" + DownwardAPIVolumeFileFieldMode = "mode" + DownwardAPIVolumeFileFieldPath = "path" + DownwardAPIVolumeFileFieldResourceFieldRef = "resourceFieldRef" +) + +type DownwardAPIVolumeFile struct { + FieldRef *ObjectFieldSelector `json:"fieldRef,omitempty" yaml:"fieldRef,omitempty"` + Mode *int64 `json:"mode,omitempty" yaml:"mode,omitempty"` + Path string `json:"path,omitempty" yaml:"path,omitempty"` + ResourceFieldRef *ResourceFieldSelector `json:"resourceFieldRef,omitempty" yaml:"resourceFieldRef,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_downward_apivolume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_downward_apivolume_source.go new file mode 100644 index 000000000..f6be19447 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_downward_apivolume_source.go @@ -0,0 +1,12 @@ +package client + +const ( + DownwardAPIVolumeSourceType = "downwardAPIVolumeSource" + DownwardAPIVolumeSourceFieldDefaultMode = "defaultMode" + DownwardAPIVolumeSourceFieldItems = "items" +) + +type DownwardAPIVolumeSource struct { + DefaultMode *int64 `json:"defaultMode,omitempty" yaml:"defaultMode,omitempty"` + Items []DownwardAPIVolumeFile `json:"items,omitempty" yaml:"items,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_duration.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_duration.go new file mode 100644 index 000000000..cf0920cf5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_duration.go @@ -0,0 +1,8 @@ +package client + +const ( + DurationType = "duration" +) + +type Duration struct { +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_dynamic_schema.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_dynamic_schema.go new file mode 100644 index 000000000..080dcb417 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_dynamic_schema.go @@ -0,0 +1,152 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + DynamicSchemaType = "dynamicSchema" + DynamicSchemaFieldAnnotations = "annotations" + DynamicSchemaFieldCollectionActions = "collectionActions" + DynamicSchemaFieldCollectionFields = "collectionFields" + DynamicSchemaFieldCollectionFilters = "collectionFilters" + DynamicSchemaFieldCollectionMethods = "collectionMethods" + DynamicSchemaFieldCreated = "created" + DynamicSchemaFieldCreatorID = "creatorId" + DynamicSchemaFieldDynamicSchemaVersion = "dynamicSchemaVersion" + DynamicSchemaFieldEmbed = "embed" + DynamicSchemaFieldEmbedType = "embedType" + DynamicSchemaFieldIncludeableLinks = "includeableLinks" + DynamicSchemaFieldLabels = "labels" + DynamicSchemaFieldName = "name" + DynamicSchemaFieldOwnerReferences = "ownerReferences" + DynamicSchemaFieldPluralName = "pluralName" + DynamicSchemaFieldRemoved = "removed" + DynamicSchemaFieldResourceActions = "resourceActions" + DynamicSchemaFieldResourceFields = "resourceFields" + DynamicSchemaFieldResourceMethods = "resourceMethods" + DynamicSchemaFieldSchemaName = "schemaName" + DynamicSchemaFieldState = "state" + DynamicSchemaFieldStatus = "status" + DynamicSchemaFieldTransitioning = "transitioning" + DynamicSchemaFieldTransitioningMessage = "transitioningMessage" + DynamicSchemaFieldUUID = "uuid" +) + +type DynamicSchema struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + CollectionActions map[string]Action `json:"collectionActions,omitempty" yaml:"collectionActions,omitempty"` + CollectionFields map[string]Field `json:"collectionFields,omitempty" yaml:"collectionFields,omitempty"` + CollectionFilters map[string]Filter `json:"collectionFilters,omitempty" yaml:"collectionFilters,omitempty"` + CollectionMethods []string `json:"collectionMethods,omitempty" yaml:"collectionMethods,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + DynamicSchemaVersion string `json:"dynamicSchemaVersion,omitempty" yaml:"dynamicSchemaVersion,omitempty"` + Embed bool `json:"embed,omitempty" yaml:"embed,omitempty"` + EmbedType string `json:"embedType,omitempty" yaml:"embedType,omitempty"` + IncludeableLinks []string `json:"includeableLinks,omitempty" yaml:"includeableLinks,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + PluralName string `json:"pluralName,omitempty" yaml:"pluralName,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + ResourceActions map[string]Action `json:"resourceActions,omitempty" yaml:"resourceActions,omitempty"` + ResourceFields map[string]Field `json:"resourceFields,omitempty" yaml:"resourceFields,omitempty"` + ResourceMethods []string `json:"resourceMethods,omitempty" yaml:"resourceMethods,omitempty"` + SchemaName string `json:"schemaName,omitempty" yaml:"schemaName,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Status *DynamicSchemaStatus `json:"status,omitempty" yaml:"status,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type DynamicSchemaCollection struct { + types.Collection + Data []DynamicSchema `json:"data,omitempty"` + client *DynamicSchemaClient +} + +type DynamicSchemaClient struct { + apiClient *Client +} + +type DynamicSchemaOperations interface { + List(opts *types.ListOpts) (*DynamicSchemaCollection, error) + ListAll(opts *types.ListOpts) (*DynamicSchemaCollection, error) + Create(opts *DynamicSchema) (*DynamicSchema, error) + Update(existing *DynamicSchema, updates interface{}) (*DynamicSchema, error) + Replace(existing *DynamicSchema) (*DynamicSchema, error) + ByID(id string) (*DynamicSchema, error) + Delete(container *DynamicSchema) error +} + +func newDynamicSchemaClient(apiClient *Client) *DynamicSchemaClient { + return &DynamicSchemaClient{ + apiClient: apiClient, + } +} + +func (c *DynamicSchemaClient) Create(container *DynamicSchema) (*DynamicSchema, error) { + resp := &DynamicSchema{} + err := c.apiClient.Ops.DoCreate(DynamicSchemaType, container, resp) + return resp, err +} + +func (c *DynamicSchemaClient) Update(existing *DynamicSchema, updates interface{}) (*DynamicSchema, error) { + resp := &DynamicSchema{} + err := c.apiClient.Ops.DoUpdate(DynamicSchemaType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *DynamicSchemaClient) Replace(obj *DynamicSchema) (*DynamicSchema, error) { + resp := &DynamicSchema{} + err := c.apiClient.Ops.DoReplace(DynamicSchemaType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *DynamicSchemaClient) List(opts *types.ListOpts) (*DynamicSchemaCollection, error) { + resp := &DynamicSchemaCollection{} + err := c.apiClient.Ops.DoList(DynamicSchemaType, opts, resp) + resp.client = c + return resp, err +} + +func (c *DynamicSchemaClient) ListAll(opts *types.ListOpts) (*DynamicSchemaCollection, error) { + resp := &DynamicSchemaCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *DynamicSchemaCollection) Next() (*DynamicSchemaCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &DynamicSchemaCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *DynamicSchemaClient) ByID(id string) (*DynamicSchema, error) { + resp := &DynamicSchema{} + err := c.apiClient.Ops.DoByID(DynamicSchemaType, id, resp) + return resp, err +} + +func (c *DynamicSchemaClient) Delete(container *DynamicSchema) error { + return c.apiClient.Ops.DoResourceDelete(DynamicSchemaType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_dynamic_schema_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_dynamic_schema_spec.go new file mode 100644 index 000000000..db9b5440d --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_dynamic_schema_spec.go @@ -0,0 +1,34 @@ +package client + +const ( + DynamicSchemaSpecType = "dynamicSchemaSpec" + DynamicSchemaSpecFieldCollectionActions = "collectionActions" + DynamicSchemaSpecFieldCollectionFields = "collectionFields" + DynamicSchemaSpecFieldCollectionFilters = "collectionFilters" + DynamicSchemaSpecFieldCollectionMethods = "collectionMethods" + DynamicSchemaSpecFieldDynamicSchemaVersion = "dynamicSchemaVersion" + DynamicSchemaSpecFieldEmbed = "embed" + DynamicSchemaSpecFieldEmbedType = "embedType" + DynamicSchemaSpecFieldIncludeableLinks = "includeableLinks" + DynamicSchemaSpecFieldPluralName = "pluralName" + DynamicSchemaSpecFieldResourceActions = "resourceActions" + DynamicSchemaSpecFieldResourceFields = "resourceFields" + DynamicSchemaSpecFieldResourceMethods = "resourceMethods" + DynamicSchemaSpecFieldSchemaName = "schemaName" +) + +type DynamicSchemaSpec struct { + CollectionActions map[string]Action `json:"collectionActions,omitempty" yaml:"collectionActions,omitempty"` + CollectionFields map[string]Field `json:"collectionFields,omitempty" yaml:"collectionFields,omitempty"` + CollectionFilters map[string]Filter `json:"collectionFilters,omitempty" yaml:"collectionFilters,omitempty"` + CollectionMethods []string `json:"collectionMethods,omitempty" yaml:"collectionMethods,omitempty"` + DynamicSchemaVersion string `json:"dynamicSchemaVersion,omitempty" yaml:"dynamicSchemaVersion,omitempty"` + Embed bool `json:"embed,omitempty" yaml:"embed,omitempty"` + EmbedType string `json:"embedType,omitempty" yaml:"embedType,omitempty"` + IncludeableLinks []string `json:"includeableLinks,omitempty" yaml:"includeableLinks,omitempty"` + PluralName string `json:"pluralName,omitempty" yaml:"pluralName,omitempty"` + ResourceActions map[string]Action `json:"resourceActions,omitempty" yaml:"resourceActions,omitempty"` + ResourceFields map[string]Field `json:"resourceFields,omitempty" yaml:"resourceFields,omitempty"` + ResourceMethods []string `json:"resourceMethods,omitempty" yaml:"resourceMethods,omitempty"` + SchemaName string `json:"schemaName,omitempty" yaml:"schemaName,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_dynamic_schema_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_dynamic_schema_status.go new file mode 100644 index 000000000..014783e64 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_dynamic_schema_status.go @@ -0,0 +1,10 @@ +package client + +const ( + DynamicSchemaStatusType = "dynamicSchemaStatus" + DynamicSchemaStatusFieldFake = "fake" +) + +type DynamicSchemaStatus struct { + Fake string `json:"fake,omitempty" yaml:"fake,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ecr_credential_plugin.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ecr_credential_plugin.go new file mode 100644 index 000000000..f4e0ae480 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ecr_credential_plugin.go @@ -0,0 +1,14 @@ +package client + +const ( + ECRCredentialPluginType = "ecrCredentialPlugin" + ECRCredentialPluginFieldAwsAccessKeyID = "awsAccessKeyId" + ECRCredentialPluginFieldAwsSecretAccessKey = "awsSecretAccessKey" + ECRCredentialPluginFieldAwsSessionToken = "awsAccessToken" +) + +type ECRCredentialPlugin struct { + AwsAccessKeyID string `json:"awsAccessKeyId,omitempty" yaml:"awsAccessKeyId,omitempty"` + AwsSecretAccessKey string `json:"awsSecretAccessKey,omitempty" yaml:"awsSecretAccessKey,omitempty"` + AwsSessionToken string `json:"awsAccessToken,omitempty" yaml:"awsAccessToken,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_eks_cluster_config_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_eks_cluster_config_spec.go new file mode 100644 index 000000000..b4471101b --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_eks_cluster_config_spec.go @@ -0,0 +1,42 @@ +package client + +const ( + EKSClusterConfigSpecType = "eksClusterConfigSpec" + EKSClusterConfigSpecFieldAmazonCredentialSecret = "amazonCredentialSecret" + EKSClusterConfigSpecFieldDisplayName = "displayName" + EKSClusterConfigSpecFieldEBSCSIDriver = "ebsCSIDriver" + EKSClusterConfigSpecFieldImported = "imported" + EKSClusterConfigSpecFieldKmsKey = "kmsKey" + EKSClusterConfigSpecFieldKubernetesVersion = "kubernetesVersion" + EKSClusterConfigSpecFieldLoggingTypes = "loggingTypes" + EKSClusterConfigSpecFieldNodeGroups = "nodeGroups" + EKSClusterConfigSpecFieldPrivateAccess = "privateAccess" + EKSClusterConfigSpecFieldPublicAccess = "publicAccess" + EKSClusterConfigSpecFieldPublicAccessSources = "publicAccessSources" + EKSClusterConfigSpecFieldRegion = "region" + EKSClusterConfigSpecFieldSecretsEncryption = "secretsEncryption" + EKSClusterConfigSpecFieldSecurityGroups = "securityGroups" + EKSClusterConfigSpecFieldServiceRole = "serviceRole" + EKSClusterConfigSpecFieldSubnets = "subnets" + EKSClusterConfigSpecFieldTags = "tags" +) + +type EKSClusterConfigSpec struct { + AmazonCredentialSecret string `json:"amazonCredentialSecret,omitempty" yaml:"amazonCredentialSecret,omitempty"` + DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"` + EBSCSIDriver *bool `json:"ebsCSIDriver,omitempty" yaml:"ebsCSIDriver,omitempty"` + Imported bool `json:"imported,omitempty" yaml:"imported,omitempty"` + KmsKey *string `json:"kmsKey,omitempty" yaml:"kmsKey,omitempty"` + KubernetesVersion *string `json:"kubernetesVersion,omitempty" yaml:"kubernetesVersion,omitempty"` + LoggingTypes []string `json:"loggingTypes,omitempty" yaml:"loggingTypes,omitempty"` + NodeGroups []NodeGroup `json:"nodeGroups,omitempty" yaml:"nodeGroups,omitempty"` + PrivateAccess *bool `json:"privateAccess,omitempty" yaml:"privateAccess,omitempty"` + PublicAccess *bool `json:"publicAccess,omitempty" yaml:"publicAccess,omitempty"` + PublicAccessSources []string `json:"publicAccessSources,omitempty" yaml:"publicAccessSources,omitempty"` + Region string `json:"region,omitempty" yaml:"region,omitempty"` + SecretsEncryption *bool `json:"secretsEncryption,omitempty" yaml:"secretsEncryption,omitempty"` + SecurityGroups []string `json:"securityGroups,omitempty" yaml:"securityGroups,omitempty"` + ServiceRole *string `json:"serviceRole,omitempty" yaml:"serviceRole,omitempty"` + Subnets []string `json:"subnets,omitempty" yaml:"subnets,omitempty"` + Tags map[string]string `json:"tags,omitempty" yaml:"tags,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_eks_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_eks_status.go new file mode 100644 index 000000000..54127aac0 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_eks_status.go @@ -0,0 +1,24 @@ +package client + +const ( + EKSStatusType = "eksStatus" + EKSStatusFieldGeneratedNodeRole = "generatedNodeRole" + EKSStatusFieldManagedLaunchTemplateID = "managedLaunchTemplateID" + EKSStatusFieldManagedLaunchTemplateVersions = "managedLaunchTemplateVersions" + EKSStatusFieldPrivateRequiresTunnel = "privateRequiresTunnel" + EKSStatusFieldSecurityGroups = "securityGroups" + EKSStatusFieldSubnets = "subnets" + EKSStatusFieldUpstreamSpec = "upstreamSpec" + EKSStatusFieldVirtualNetwork = "virtualNetwork" +) + +type EKSStatus struct { + GeneratedNodeRole string `json:"generatedNodeRole,omitempty" yaml:"generatedNodeRole,omitempty"` + ManagedLaunchTemplateID string `json:"managedLaunchTemplateID,omitempty" yaml:"managedLaunchTemplateID,omitempty"` + ManagedLaunchTemplateVersions map[string]string `json:"managedLaunchTemplateVersions,omitempty" yaml:"managedLaunchTemplateVersions,omitempty"` + PrivateRequiresTunnel *bool `json:"privateRequiresTunnel,omitempty" yaml:"privateRequiresTunnel,omitempty"` + SecurityGroups []string `json:"securityGroups,omitempty" yaml:"securityGroups,omitempty"` + Subnets []string `json:"subnets,omitempty" yaml:"subnets,omitempty"` + UpstreamSpec *EKSClusterConfigSpec `json:"upstreamSpec,omitempty" yaml:"upstreamSpec,omitempty"` + VirtualNetwork string `json:"virtualNetwork,omitempty" yaml:"virtualNetwork,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_empty_dir_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_empty_dir_volume_source.go new file mode 100644 index 000000000..c4856f332 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_empty_dir_volume_source.go @@ -0,0 +1,12 @@ +package client + +const ( + EmptyDirVolumeSourceType = "emptyDirVolumeSource" + EmptyDirVolumeSourceFieldMedium = "medium" + EmptyDirVolumeSourceFieldSizeLimit = "sizeLimit" +) + +type EmptyDirVolumeSource struct { + Medium string `json:"medium,omitempty" yaml:"medium,omitempty"` + SizeLimit string `json:"sizeLimit,omitempty" yaml:"sizeLimit,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_encryption_configuration.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_encryption_configuration.go new file mode 100644 index 000000000..8cc644dd2 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_encryption_configuration.go @@ -0,0 +1,14 @@ +package client + +const ( + EncryptionConfigurationType = "encryptionConfiguration" + EncryptionConfigurationFieldAPIVersion = "apiVersion" + EncryptionConfigurationFieldKind = "kind" + EncryptionConfigurationFieldResources = "resources" +) + +type EncryptionConfiguration struct { + APIVersion string `json:"apiVersion,omitempty" yaml:"apiVersion,omitempty"` + Kind string `json:"kind,omitempty" yaml:"kind,omitempty"` + Resources []ResourceConfiguration `json:"resources,omitempty" yaml:"resources,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_env_var.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_env_var.go new file mode 100644 index 000000000..35ccda3f8 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_env_var.go @@ -0,0 +1,14 @@ +package client + +const ( + EnvVarType = "envVar" + EnvVarFieldName = "name" + EnvVarFieldValue = "value" + EnvVarFieldValueFrom = "valueFrom" +) + +type EnvVar struct { + Name string `json:"name,omitempty" yaml:"name,omitempty"` + Value string `json:"value,omitempty" yaml:"value,omitempty"` + ValueFrom *EnvVarSource `json:"valueFrom,omitempty" yaml:"valueFrom,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_env_var_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_env_var_source.go new file mode 100644 index 000000000..390a033e5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_env_var_source.go @@ -0,0 +1,16 @@ +package client + +const ( + EnvVarSourceType = "envVarSource" + EnvVarSourceFieldConfigMapKeyRef = "configMapKeyRef" + EnvVarSourceFieldFieldRef = "fieldRef" + EnvVarSourceFieldResourceFieldRef = "resourceFieldRef" + EnvVarSourceFieldSecretKeyRef = "secretKeyRef" +) + +type EnvVarSource struct { + ConfigMapKeyRef *ConfigMapKeySelector `json:"configMapKeyRef,omitempty" yaml:"configMapKeyRef,omitempty"` + FieldRef *ObjectFieldSelector `json:"fieldRef,omitempty" yaml:"fieldRef,omitempty"` + ResourceFieldRef *ResourceFieldSelector `json:"resourceFieldRef,omitempty" yaml:"resourceFieldRef,omitempty"` + SecretKeyRef *SecretKeySelector `json:"secretKeyRef,omitempty" yaml:"secretKeyRef,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ephemeral_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ephemeral_volume_source.go new file mode 100644 index 000000000..fc7f09e54 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ephemeral_volume_source.go @@ -0,0 +1,10 @@ +package client + +const ( + EphemeralVolumeSourceType = "ephemeralVolumeSource" + EphemeralVolumeSourceFieldVolumeClaimTemplate = "volumeClaimTemplate" +) + +type EphemeralVolumeSource struct { + VolumeClaimTemplate *PersistentVolumeClaimTemplate `json:"volumeClaimTemplate,omitempty" yaml:"volumeClaimTemplate,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_backup.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_backup.go new file mode 100644 index 000000000..74cdd40c3 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_backup.go @@ -0,0 +1,136 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + EtcdBackupType = "etcdBackup" + EtcdBackupFieldAnnotations = "annotations" + EtcdBackupFieldBackupConfig = "backupConfig" + EtcdBackupFieldClusterID = "clusterId" + EtcdBackupFieldCreated = "created" + EtcdBackupFieldCreatorID = "creatorId" + EtcdBackupFieldFilename = "filename" + EtcdBackupFieldLabels = "labels" + EtcdBackupFieldManual = "manual" + EtcdBackupFieldName = "name" + EtcdBackupFieldNamespaceId = "namespaceId" + EtcdBackupFieldOwnerReferences = "ownerReferences" + EtcdBackupFieldRemoved = "removed" + EtcdBackupFieldState = "state" + EtcdBackupFieldStatus = "status" + EtcdBackupFieldTransitioning = "transitioning" + EtcdBackupFieldTransitioningMessage = "transitioningMessage" + EtcdBackupFieldUUID = "uuid" +) + +type EtcdBackup struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + BackupConfig *BackupConfig `json:"backupConfig,omitempty" yaml:"backupConfig,omitempty"` + ClusterID string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Filename string `json:"filename,omitempty" yaml:"filename,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Manual bool `json:"manual,omitempty" yaml:"manual,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NamespaceId string `json:"namespaceId,omitempty" yaml:"namespaceId,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Status *EtcdBackupStatus `json:"status,omitempty" yaml:"status,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type EtcdBackupCollection struct { + types.Collection + Data []EtcdBackup `json:"data,omitempty"` + client *EtcdBackupClient +} + +type EtcdBackupClient struct { + apiClient *Client +} + +type EtcdBackupOperations interface { + List(opts *types.ListOpts) (*EtcdBackupCollection, error) + ListAll(opts *types.ListOpts) (*EtcdBackupCollection, error) + Create(opts *EtcdBackup) (*EtcdBackup, error) + Update(existing *EtcdBackup, updates interface{}) (*EtcdBackup, error) + Replace(existing *EtcdBackup) (*EtcdBackup, error) + ByID(id string) (*EtcdBackup, error) + Delete(container *EtcdBackup) error +} + +func newEtcdBackupClient(apiClient *Client) *EtcdBackupClient { + return &EtcdBackupClient{ + apiClient: apiClient, + } +} + +func (c *EtcdBackupClient) Create(container *EtcdBackup) (*EtcdBackup, error) { + resp := &EtcdBackup{} + err := c.apiClient.Ops.DoCreate(EtcdBackupType, container, resp) + return resp, err +} + +func (c *EtcdBackupClient) Update(existing *EtcdBackup, updates interface{}) (*EtcdBackup, error) { + resp := &EtcdBackup{} + err := c.apiClient.Ops.DoUpdate(EtcdBackupType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *EtcdBackupClient) Replace(obj *EtcdBackup) (*EtcdBackup, error) { + resp := &EtcdBackup{} + err := c.apiClient.Ops.DoReplace(EtcdBackupType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *EtcdBackupClient) List(opts *types.ListOpts) (*EtcdBackupCollection, error) { + resp := &EtcdBackupCollection{} + err := c.apiClient.Ops.DoList(EtcdBackupType, opts, resp) + resp.client = c + return resp, err +} + +func (c *EtcdBackupClient) ListAll(opts *types.ListOpts) (*EtcdBackupCollection, error) { + resp := &EtcdBackupCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *EtcdBackupCollection) Next() (*EtcdBackupCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &EtcdBackupCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *EtcdBackupClient) ByID(id string) (*EtcdBackup, error) { + resp := &EtcdBackup{} + err := c.apiClient.Ops.DoByID(EtcdBackupType, id, resp) + return resp, err +} + +func (c *EtcdBackupClient) Delete(container *EtcdBackup) error { + return c.apiClient.Ops.DoResourceDelete(EtcdBackupType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_backup_condition.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_backup_condition.go new file mode 100644 index 000000000..bfae75301 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_backup_condition.go @@ -0,0 +1,20 @@ +package client + +const ( + EtcdBackupConditionType = "etcdBackupCondition" + EtcdBackupConditionFieldLastTransitionTime = "lastTransitionTime" + EtcdBackupConditionFieldLastUpdateTime = "lastUpdateTime" + EtcdBackupConditionFieldMessage = "message" + EtcdBackupConditionFieldReason = "reason" + EtcdBackupConditionFieldStatus = "status" + EtcdBackupConditionFieldType = "type" +) + +type EtcdBackupCondition struct { + LastTransitionTime string `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"` + LastUpdateTime string `json:"lastUpdateTime,omitempty" yaml:"lastUpdateTime,omitempty"` + Message string `json:"message,omitempty" yaml:"message,omitempty"` + Reason string `json:"reason,omitempty" yaml:"reason,omitempty"` + Status string `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_backup_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_backup_spec.go new file mode 100644 index 000000000..f78b22766 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_backup_spec.go @@ -0,0 +1,16 @@ +package client + +const ( + EtcdBackupSpecType = "etcdBackupSpec" + EtcdBackupSpecFieldBackupConfig = "backupConfig" + EtcdBackupSpecFieldClusterID = "clusterId" + EtcdBackupSpecFieldFilename = "filename" + EtcdBackupSpecFieldManual = "manual" +) + +type EtcdBackupSpec struct { + BackupConfig *BackupConfig `json:"backupConfig,omitempty" yaml:"backupConfig,omitempty"` + ClusterID string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"` + Filename string `json:"filename,omitempty" yaml:"filename,omitempty"` + Manual bool `json:"manual,omitempty" yaml:"manual,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_backup_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_backup_status.go new file mode 100644 index 000000000..57b48ef72 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_backup_status.go @@ -0,0 +1,14 @@ +package client + +const ( + EtcdBackupStatusType = "etcdBackupStatus" + EtcdBackupStatusFieldClusterObject = "clusterObject" + EtcdBackupStatusFieldConditions = "conditions" + EtcdBackupStatusFieldKubernetesVersion = "kubernetesVersion" +) + +type EtcdBackupStatus struct { + ClusterObject string `json:"clusterObject,omitempty" yaml:"clusterObject,omitempty"` + Conditions []EtcdBackupCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + KubernetesVersion string `json:"kubernetesVersion,omitempty" yaml:"kubernetesVersion,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_service.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_service.go new file mode 100644 index 000000000..6c1749921 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_etcd_service.go @@ -0,0 +1,48 @@ +package client + +const ( + ETCDServiceType = "etcdService" + ETCDServiceFieldBackupConfig = "backupConfig" + ETCDServiceFieldCACert = "caCert" + ETCDServiceFieldCert = "cert" + ETCDServiceFieldCreation = "creation" + ETCDServiceFieldExternalURLs = "externalUrls" + ETCDServiceFieldExtraArgs = "extraArgs" + ETCDServiceFieldExtraArgsArray = "extraArgsArray" + ETCDServiceFieldExtraBinds = "extraBinds" + ETCDServiceFieldExtraEnv = "extraEnv" + ETCDServiceFieldGID = "gid" + ETCDServiceFieldImage = "image" + ETCDServiceFieldKey = "key" + ETCDServiceFieldPath = "path" + ETCDServiceFieldRetention = "retention" + ETCDServiceFieldSnapshot = "snapshot" + ETCDServiceFieldUID = "uid" + ETCDServiceFieldWindowsExtraArgs = "winExtraArgs" + ETCDServiceFieldWindowsExtraArgsArray = "winExtraArgsArray" + ETCDServiceFieldWindowsExtraBinds = "winExtraBinds" + ETCDServiceFieldWindowsExtraEnv = "winExtraEnv" +) + +type ETCDService struct { + BackupConfig *BackupConfig `json:"backupConfig,omitempty" yaml:"backupConfig,omitempty"` + CACert string `json:"caCert,omitempty" yaml:"caCert,omitempty"` + Cert string `json:"cert,omitempty" yaml:"cert,omitempty"` + Creation string `json:"creation,omitempty" yaml:"creation,omitempty"` + ExternalURLs []string `json:"externalUrls,omitempty" yaml:"externalUrls,omitempty"` + ExtraArgs map[string]string `json:"extraArgs,omitempty" yaml:"extraArgs,omitempty"` + ExtraArgsArray map[string][]string `json:"extraArgsArray,omitempty" yaml:"extraArgsArray,omitempty"` + ExtraBinds []string `json:"extraBinds,omitempty" yaml:"extraBinds,omitempty"` + ExtraEnv []string `json:"extraEnv,omitempty" yaml:"extraEnv,omitempty"` + GID int64 `json:"gid,omitempty" yaml:"gid,omitempty"` + Image string `json:"image,omitempty" yaml:"image,omitempty"` + Key string `json:"key,omitempty" yaml:"key,omitempty"` + Path string `json:"path,omitempty" yaml:"path,omitempty"` + Retention string `json:"retention,omitempty" yaml:"retention,omitempty"` + Snapshot *bool `json:"snapshot,omitempty" yaml:"snapshot,omitempty"` + UID int64 `json:"uid,omitempty" yaml:"uid,omitempty"` + WindowsExtraArgs map[string]string `json:"winExtraArgs,omitempty" yaml:"winExtraArgs,omitempty"` + WindowsExtraArgsArray map[string][]string `json:"winExtraArgsArray,omitempty" yaml:"winExtraArgsArray,omitempty"` + WindowsExtraBinds []string `json:"winExtraBinds,omitempty" yaml:"winExtraBinds,omitempty"` + WindowsExtraEnv []string `json:"winExtraEnv,omitempty" yaml:"winExtraEnv,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_event_rate_limit.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_event_rate_limit.go new file mode 100644 index 000000000..6ba3b86d1 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_event_rate_limit.go @@ -0,0 +1,12 @@ +package client + +const ( + EventRateLimitType = "eventRateLimit" + EventRateLimitFieldConfiguration = "configuration" + EventRateLimitFieldEnabled = "enabled" +) + +type EventRateLimit struct { + Configuration map[string]interface{} `json:"configuration,omitempty" yaml:"configuration,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_export_output.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_export_output.go new file mode 100644 index 000000000..cf2559bc9 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_export_output.go @@ -0,0 +1,10 @@ +package client + +const ( + ExportOutputType = "exportOutput" + ExportOutputFieldYAMLOutput = "yamlOutput" +) + +type ExportOutput struct { + YAMLOutput string `json:"yamlOutput,omitempty" yaml:"yamlOutput,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_extra_env.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_extra_env.go new file mode 100644 index 000000000..96a3ece2c --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_extra_env.go @@ -0,0 +1,14 @@ +package client + +const ( + ExtraEnvType = "extraEnv" + ExtraEnvFieldName = "name" + ExtraEnvFieldValue = "value" + ExtraEnvFieldValueFrom = "valueFrom" +) + +type ExtraEnv struct { + Name string `json:"name,omitempty" yaml:"name,omitempty"` + Value string `json:"value,omitempty" yaml:"value,omitempty"` + ValueFrom *EnvVarSource `json:"valueFrom,omitempty" yaml:"valueFrom,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_extra_volume.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_extra_volume.go new file mode 100644 index 000000000..cd629ef5d --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_extra_volume.go @@ -0,0 +1,68 @@ +package client + +const ( + ExtraVolumeType = "extraVolume" + ExtraVolumeFieldAWSElasticBlockStore = "awsElasticBlockStore" + ExtraVolumeFieldAzureDisk = "azureDisk" + ExtraVolumeFieldAzureFile = "azureFile" + ExtraVolumeFieldCSI = "csi" + ExtraVolumeFieldCephFS = "cephfs" + ExtraVolumeFieldCinder = "cinder" + ExtraVolumeFieldConfigMap = "configMap" + ExtraVolumeFieldDownwardAPI = "downwardAPI" + ExtraVolumeFieldEmptyDir = "emptyDir" + ExtraVolumeFieldEphemeral = "ephemeral" + ExtraVolumeFieldFC = "fc" + ExtraVolumeFieldFlexVolume = "flexVolume" + ExtraVolumeFieldFlocker = "flocker" + ExtraVolumeFieldGCEPersistentDisk = "gcePersistentDisk" + ExtraVolumeFieldGitRepo = "gitRepo" + ExtraVolumeFieldGlusterfs = "glusterfs" + ExtraVolumeFieldHostPath = "hostPath" + ExtraVolumeFieldISCSI = "iscsi" + ExtraVolumeFieldNFS = "nfs" + ExtraVolumeFieldName = "name" + ExtraVolumeFieldPersistentVolumeClaim = "persistentVolumeClaim" + ExtraVolumeFieldPhotonPersistentDisk = "photonPersistentDisk" + ExtraVolumeFieldPortworxVolume = "portworxVolume" + ExtraVolumeFieldProjected = "projected" + ExtraVolumeFieldQuobyte = "quobyte" + ExtraVolumeFieldRBD = "rbd" + ExtraVolumeFieldScaleIO = "scaleIO" + ExtraVolumeFieldSecret = "secret" + ExtraVolumeFieldStorageOS = "storageos" + ExtraVolumeFieldVsphereVolume = "vsphereVolume" +) + +type ExtraVolume struct { + AWSElasticBlockStore *AWSElasticBlockStoreVolumeSource `json:"awsElasticBlockStore,omitempty" yaml:"awsElasticBlockStore,omitempty"` + AzureDisk *AzureDiskVolumeSource `json:"azureDisk,omitempty" yaml:"azureDisk,omitempty"` + AzureFile *AzureFileVolumeSource `json:"azureFile,omitempty" yaml:"azureFile,omitempty"` + CSI *CSIVolumeSource `json:"csi,omitempty" yaml:"csi,omitempty"` + CephFS *CephFSVolumeSource `json:"cephfs,omitempty" yaml:"cephfs,omitempty"` + Cinder *CinderVolumeSource `json:"cinder,omitempty" yaml:"cinder,omitempty"` + ConfigMap *ConfigMapVolumeSource `json:"configMap,omitempty" yaml:"configMap,omitempty"` + DownwardAPI *DownwardAPIVolumeSource `json:"downwardAPI,omitempty" yaml:"downwardAPI,omitempty"` + EmptyDir *EmptyDirVolumeSource `json:"emptyDir,omitempty" yaml:"emptyDir,omitempty"` + Ephemeral *EphemeralVolumeSource `json:"ephemeral,omitempty" yaml:"ephemeral,omitempty"` + FC *FCVolumeSource `json:"fc,omitempty" yaml:"fc,omitempty"` + FlexVolume *FlexVolumeSource `json:"flexVolume,omitempty" yaml:"flexVolume,omitempty"` + Flocker *FlockerVolumeSource `json:"flocker,omitempty" yaml:"flocker,omitempty"` + GCEPersistentDisk *GCEPersistentDiskVolumeSource `json:"gcePersistentDisk,omitempty" yaml:"gcePersistentDisk,omitempty"` + GitRepo *GitRepoVolumeSource `json:"gitRepo,omitempty" yaml:"gitRepo,omitempty"` + Glusterfs *GlusterfsVolumeSource `json:"glusterfs,omitempty" yaml:"glusterfs,omitempty"` + HostPath *HostPathVolumeSource `json:"hostPath,omitempty" yaml:"hostPath,omitempty"` + ISCSI *ISCSIVolumeSource `json:"iscsi,omitempty" yaml:"iscsi,omitempty"` + NFS *NFSVolumeSource `json:"nfs,omitempty" yaml:"nfs,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + PersistentVolumeClaim *PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty" yaml:"persistentVolumeClaim,omitempty"` + PhotonPersistentDisk *PhotonPersistentDiskVolumeSource `json:"photonPersistentDisk,omitempty" yaml:"photonPersistentDisk,omitempty"` + PortworxVolume *PortworxVolumeSource `json:"portworxVolume,omitempty" yaml:"portworxVolume,omitempty"` + Projected *ProjectedVolumeSource `json:"projected,omitempty" yaml:"projected,omitempty"` + Quobyte *QuobyteVolumeSource `json:"quobyte,omitempty" yaml:"quobyte,omitempty"` + RBD *RBDVolumeSource `json:"rbd,omitempty" yaml:"rbd,omitempty"` + ScaleIO *ScaleIOVolumeSource `json:"scaleIO,omitempty" yaml:"scaleIO,omitempty"` + Secret *SecretVolumeSource `json:"secret,omitempty" yaml:"secret,omitempty"` + StorageOS *StorageOSVolumeSource `json:"storageos,omitempty" yaml:"storageos,omitempty"` + VsphereVolume *VsphereVirtualDiskVolumeSource `json:"vsphereVolume,omitempty" yaml:"vsphereVolume,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_extra_volume_mount.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_extra_volume_mount.go new file mode 100644 index 000000000..bbfbaeaaa --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_extra_volume_mount.go @@ -0,0 +1,22 @@ +package client + +const ( + ExtraVolumeMountType = "extraVolumeMount" + ExtraVolumeMountFieldMountPath = "mountPath" + ExtraVolumeMountFieldMountPropagation = "mountPropagation" + ExtraVolumeMountFieldName = "name" + ExtraVolumeMountFieldReadOnly = "readOnly" + ExtraVolumeMountFieldRecursiveReadOnly = "recursiveReadOnly" + ExtraVolumeMountFieldSubPath = "subPath" + ExtraVolumeMountFieldSubPathExpr = "subPathExpr" +) + +type ExtraVolumeMount struct { + MountPath string `json:"mountPath,omitempty" yaml:"mountPath,omitempty"` + MountPropagation string `json:"mountPropagation,omitempty" yaml:"mountPropagation,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + ReadOnly bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` + RecursiveReadOnly string `json:"recursiveReadOnly,omitempty" yaml:"recursiveReadOnly,omitempty"` + SubPath string `json:"subPath,omitempty" yaml:"subPath,omitempty"` + SubPathExpr string `json:"subPathExpr,omitempty" yaml:"subPathExpr,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_fc_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_fc_volume_source.go new file mode 100644 index 000000000..ebc0b63ff --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_fc_volume_source.go @@ -0,0 +1,18 @@ +package client + +const ( + FCVolumeSourceType = "fcVolumeSource" + FCVolumeSourceFieldFSType = "fsType" + FCVolumeSourceFieldLun = "lun" + FCVolumeSourceFieldReadOnly = "readOnly" + FCVolumeSourceFieldTargetWWNs = "targetWWNs" + FCVolumeSourceFieldWWIDs = "wwids" +) + +type FCVolumeSource struct { + FSType string `json:"fsType,omitempty" yaml:"fsType,omitempty"` + Lun *int64 `json:"lun,omitempty" yaml:"lun,omitempty"` + ReadOnly bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` + TargetWWNs []string `json:"targetWWNs,omitempty" yaml:"targetWWNs,omitempty"` + WWIDs []string `json:"wwids,omitempty" yaml:"wwids,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_feature.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_feature.go new file mode 100644 index 000000000..a8d17862e --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_feature.go @@ -0,0 +1,128 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + FeatureType = "feature" + FeatureFieldAnnotations = "annotations" + FeatureFieldCreated = "created" + FeatureFieldCreatorID = "creatorId" + FeatureFieldLabels = "labels" + FeatureFieldName = "name" + FeatureFieldOwnerReferences = "ownerReferences" + FeatureFieldRemoved = "removed" + FeatureFieldState = "state" + FeatureFieldStatus = "status" + FeatureFieldTransitioning = "transitioning" + FeatureFieldTransitioningMessage = "transitioningMessage" + FeatureFieldUUID = "uuid" + FeatureFieldValue = "value" +) + +type Feature struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Status *FeatureStatus `json:"status,omitempty" yaml:"status,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + Value *bool `json:"value,omitempty" yaml:"value,omitempty"` +} + +type FeatureCollection struct { + types.Collection + Data []Feature `json:"data,omitempty"` + client *FeatureClient +} + +type FeatureClient struct { + apiClient *Client +} + +type FeatureOperations interface { + List(opts *types.ListOpts) (*FeatureCollection, error) + ListAll(opts *types.ListOpts) (*FeatureCollection, error) + Create(opts *Feature) (*Feature, error) + Update(existing *Feature, updates interface{}) (*Feature, error) + Replace(existing *Feature) (*Feature, error) + ByID(id string) (*Feature, error) + Delete(container *Feature) error +} + +func newFeatureClient(apiClient *Client) *FeatureClient { + return &FeatureClient{ + apiClient: apiClient, + } +} + +func (c *FeatureClient) Create(container *Feature) (*Feature, error) { + resp := &Feature{} + err := c.apiClient.Ops.DoCreate(FeatureType, container, resp) + return resp, err +} + +func (c *FeatureClient) Update(existing *Feature, updates interface{}) (*Feature, error) { + resp := &Feature{} + err := c.apiClient.Ops.DoUpdate(FeatureType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *FeatureClient) Replace(obj *Feature) (*Feature, error) { + resp := &Feature{} + err := c.apiClient.Ops.DoReplace(FeatureType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *FeatureClient) List(opts *types.ListOpts) (*FeatureCollection, error) { + resp := &FeatureCollection{} + err := c.apiClient.Ops.DoList(FeatureType, opts, resp) + resp.client = c + return resp, err +} + +func (c *FeatureClient) ListAll(opts *types.ListOpts) (*FeatureCollection, error) { + resp := &FeatureCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *FeatureCollection) Next() (*FeatureCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &FeatureCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *FeatureClient) ByID(id string) (*Feature, error) { + resp := &Feature{} + err := c.apiClient.Ops.DoByID(FeatureType, id, resp) + return resp, err +} + +func (c *FeatureClient) Delete(container *Feature) error { + return c.apiClient.Ops.DoResourceDelete(FeatureType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_feature_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_feature_spec.go new file mode 100644 index 000000000..95c50292c --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_feature_spec.go @@ -0,0 +1,10 @@ +package client + +const ( + FeatureSpecType = "featureSpec" + FeatureSpecFieldValue = "value" +) + +type FeatureSpec struct { + Value *bool `json:"value,omitempty" yaml:"value,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_feature_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_feature_status.go new file mode 100644 index 000000000..be4799a9a --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_feature_status.go @@ -0,0 +1,16 @@ +package client + +const ( + FeatureStatusType = "featureStatus" + FeatureStatusFieldDefault = "default" + FeatureStatusFieldDescription = "description" + FeatureStatusFieldDynamic = "dynamic" + FeatureStatusFieldLockedValue = "lockedValue" +) + +type FeatureStatus struct { + Default bool `json:"default,omitempty" yaml:"default,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + Dynamic bool `json:"dynamic,omitempty" yaml:"dynamic,omitempty"` + LockedValue *bool `json:"lockedValue,omitempty" yaml:"lockedValue,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_field.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_field.go new file mode 100644 index 000000000..9f13a3ac5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_field.go @@ -0,0 +1,40 @@ +package client + +const ( + FieldType = "field" + FieldFieldCreate = "create" + FieldFieldDefault = "default" + FieldFieldDescription = "description" + FieldFieldDynamicField = "dynamicField" + FieldFieldInvalidChars = "invalidChars" + FieldFieldMax = "max" + FieldFieldMaxLength = "maxLength" + FieldFieldMin = "min" + FieldFieldMinLength = "minLength" + FieldFieldNullable = "nullable" + FieldFieldOptions = "options" + FieldFieldRequired = "required" + FieldFieldType = "type" + FieldFieldUnique = "unique" + FieldFieldUpdate = "update" + FieldFieldValidChars = "validChars" +) + +type Field struct { + Create bool `json:"create,omitempty" yaml:"create,omitempty"` + Default *Values `json:"default,omitempty" yaml:"default,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + DynamicField bool `json:"dynamicField,omitempty" yaml:"dynamicField,omitempty"` + InvalidChars string `json:"invalidChars,omitempty" yaml:"invalidChars,omitempty"` + Max int64 `json:"max,omitempty" yaml:"max,omitempty"` + MaxLength int64 `json:"maxLength,omitempty" yaml:"maxLength,omitempty"` + Min int64 `json:"min,omitempty" yaml:"min,omitempty"` + MinLength int64 `json:"minLength,omitempty" yaml:"minLength,omitempty"` + Nullable bool `json:"nullable,omitempty" yaml:"nullable,omitempty"` + Options []string `json:"options,omitempty" yaml:"options,omitempty"` + Required bool `json:"required,omitempty" yaml:"required,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + Unique bool `json:"unique,omitempty" yaml:"unique,omitempty"` + Update bool `json:"update,omitempty" yaml:"update,omitempty"` + ValidChars string `json:"validChars,omitempty" yaml:"validChars,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_file.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_file.go new file mode 100644 index 000000000..18d80cc77 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_file.go @@ -0,0 +1,12 @@ +package client + +const ( + FileType = "file" + FileFieldContents = "contents" + FileFieldName = "name" +) + +type File struct { + Contents string `json:"contents,omitempty" yaml:"contents,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_filter.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_filter.go new file mode 100644 index 000000000..8bb3f7142 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_filter.go @@ -0,0 +1,10 @@ +package client + +const ( + FilterType = "filter" + FilterFieldModifiers = "modifiers" +) + +type Filter struct { + Modifiers []string `json:"modifiers,omitempty" yaml:"modifiers,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_flannel_network_provider.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_flannel_network_provider.go new file mode 100644 index 000000000..088fe6bb3 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_flannel_network_provider.go @@ -0,0 +1,10 @@ +package client + +const ( + FlannelNetworkProviderType = "flannelNetworkProvider" + FlannelNetworkProviderFieldIface = "iface" +) + +type FlannelNetworkProvider struct { + Iface string `json:"iface,omitempty" yaml:"iface,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_fleet_workspace.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_fleet_workspace.go new file mode 100644 index 000000000..963b286ca --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_fleet_workspace.go @@ -0,0 +1,120 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + FleetWorkspaceType = "fleetWorkspace" + FleetWorkspaceFieldAnnotations = "annotations" + FleetWorkspaceFieldCreated = "created" + FleetWorkspaceFieldCreatorID = "creatorId" + FleetWorkspaceFieldLabels = "labels" + FleetWorkspaceFieldName = "name" + FleetWorkspaceFieldOwnerReferences = "ownerReferences" + FleetWorkspaceFieldRemoved = "removed" + FleetWorkspaceFieldStatus = "status" + FleetWorkspaceFieldUUID = "uuid" +) + +type FleetWorkspace struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + Status *FleetWorkspaceStatus `json:"status,omitempty" yaml:"status,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type FleetWorkspaceCollection struct { + types.Collection + Data []FleetWorkspace `json:"data,omitempty"` + client *FleetWorkspaceClient +} + +type FleetWorkspaceClient struct { + apiClient *Client +} + +type FleetWorkspaceOperations interface { + List(opts *types.ListOpts) (*FleetWorkspaceCollection, error) + ListAll(opts *types.ListOpts) (*FleetWorkspaceCollection, error) + Create(opts *FleetWorkspace) (*FleetWorkspace, error) + Update(existing *FleetWorkspace, updates interface{}) (*FleetWorkspace, error) + Replace(existing *FleetWorkspace) (*FleetWorkspace, error) + ByID(id string) (*FleetWorkspace, error) + Delete(container *FleetWorkspace) error +} + +func newFleetWorkspaceClient(apiClient *Client) *FleetWorkspaceClient { + return &FleetWorkspaceClient{ + apiClient: apiClient, + } +} + +func (c *FleetWorkspaceClient) Create(container *FleetWorkspace) (*FleetWorkspace, error) { + resp := &FleetWorkspace{} + err := c.apiClient.Ops.DoCreate(FleetWorkspaceType, container, resp) + return resp, err +} + +func (c *FleetWorkspaceClient) Update(existing *FleetWorkspace, updates interface{}) (*FleetWorkspace, error) { + resp := &FleetWorkspace{} + err := c.apiClient.Ops.DoUpdate(FleetWorkspaceType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *FleetWorkspaceClient) Replace(obj *FleetWorkspace) (*FleetWorkspace, error) { + resp := &FleetWorkspace{} + err := c.apiClient.Ops.DoReplace(FleetWorkspaceType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *FleetWorkspaceClient) List(opts *types.ListOpts) (*FleetWorkspaceCollection, error) { + resp := &FleetWorkspaceCollection{} + err := c.apiClient.Ops.DoList(FleetWorkspaceType, opts, resp) + resp.client = c + return resp, err +} + +func (c *FleetWorkspaceClient) ListAll(opts *types.ListOpts) (*FleetWorkspaceCollection, error) { + resp := &FleetWorkspaceCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *FleetWorkspaceCollection) Next() (*FleetWorkspaceCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &FleetWorkspaceCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *FleetWorkspaceClient) ByID(id string) (*FleetWorkspace, error) { + resp := &FleetWorkspace{} + err := c.apiClient.Ops.DoByID(FleetWorkspaceType, id, resp) + return resp, err +} + +func (c *FleetWorkspaceClient) Delete(container *FleetWorkspace) error { + return c.apiClient.Ops.DoResourceDelete(FleetWorkspaceType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_fleet_workspace_permission.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_fleet_workspace_permission.go new file mode 100644 index 000000000..209f62321 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_fleet_workspace_permission.go @@ -0,0 +1,12 @@ +package client + +const ( + FleetWorkspacePermissionType = "fleetWorkspacePermission" + FleetWorkspacePermissionFieldResourceRules = "resourceRules" + FleetWorkspacePermissionFieldWorkspaceVerbs = "workspaceVerbs" +) + +type FleetWorkspacePermission struct { + ResourceRules []PolicyRule `json:"resourceRules,omitempty" yaml:"resourceRules,omitempty"` + WorkspaceVerbs []string `json:"workspaceVerbs,omitempty" yaml:"workspaceVerbs,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_fleet_workspace_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_fleet_workspace_status.go new file mode 100644 index 000000000..aa5db188f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_fleet_workspace_status.go @@ -0,0 +1,8 @@ +package client + +const ( + FleetWorkspaceStatusType = "fleetWorkspaceStatus" +) + +type FleetWorkspaceStatus struct { +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_flex_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_flex_volume_source.go new file mode 100644 index 000000000..d2e942b92 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_flex_volume_source.go @@ -0,0 +1,18 @@ +package client + +const ( + FlexVolumeSourceType = "flexVolumeSource" + FlexVolumeSourceFieldDriver = "driver" + FlexVolumeSourceFieldFSType = "fsType" + FlexVolumeSourceFieldOptions = "options" + FlexVolumeSourceFieldReadOnly = "readOnly" + FlexVolumeSourceFieldSecretRef = "secretRef" +) + +type FlexVolumeSource struct { + Driver string `json:"driver,omitempty" yaml:"driver,omitempty"` + FSType string `json:"fsType,omitempty" yaml:"fsType,omitempty"` + Options map[string]string `json:"options,omitempty" yaml:"options,omitempty"` + ReadOnly bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` + SecretRef *LocalObjectReference `json:"secretRef,omitempty" yaml:"secretRef,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_flocker_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_flocker_volume_source.go new file mode 100644 index 000000000..802b77ff2 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_flocker_volume_source.go @@ -0,0 +1,12 @@ +package client + +const ( + FlockerVolumeSourceType = "flockerVolumeSource" + FlockerVolumeSourceFieldDatasetName = "datasetName" + FlockerVolumeSourceFieldDatasetUUID = "datasetUUID" +) + +type FlockerVolumeSource struct { + DatasetName string `json:"datasetName,omitempty" yaml:"datasetName,omitempty"` + DatasetUUID string `json:"datasetUUID,omitempty" yaml:"datasetUUID,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_free_ipa_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_free_ipa_config.go new file mode 100644 index 000000000..750de6132 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_free_ipa_config.go @@ -0,0 +1,84 @@ +package client + +const ( + FreeIpaConfigType = "freeIpaConfig" + FreeIpaConfigFieldAccessMode = "accessMode" + FreeIpaConfigFieldAllowedPrincipalIDs = "allowedPrincipalIds" + FreeIpaConfigFieldAnnotations = "annotations" + FreeIpaConfigFieldCertificate = "certificate" + FreeIpaConfigFieldConnectionTimeout = "connectionTimeout" + FreeIpaConfigFieldCreated = "created" + FreeIpaConfigFieldCreatorID = "creatorId" + FreeIpaConfigFieldEnabled = "enabled" + FreeIpaConfigFieldGroupDNAttribute = "groupDNAttribute" + FreeIpaConfigFieldGroupMemberMappingAttribute = "groupMemberMappingAttribute" + FreeIpaConfigFieldGroupMemberUserAttribute = "groupMemberUserAttribute" + FreeIpaConfigFieldGroupNameAttribute = "groupNameAttribute" + FreeIpaConfigFieldGroupObjectClass = "groupObjectClass" + FreeIpaConfigFieldGroupSearchAttribute = "groupSearchAttribute" + FreeIpaConfigFieldGroupSearchBase = "groupSearchBase" + FreeIpaConfigFieldGroupSearchFilter = "groupSearchFilter" + FreeIpaConfigFieldLabels = "labels" + FreeIpaConfigFieldName = "name" + FreeIpaConfigFieldOwnerReferences = "ownerReferences" + FreeIpaConfigFieldPort = "port" + FreeIpaConfigFieldRemoved = "removed" + FreeIpaConfigFieldServers = "servers" + FreeIpaConfigFieldServiceAccountDistinguishedName = "serviceAccountDistinguishedName" + FreeIpaConfigFieldServiceAccountPassword = "serviceAccountPassword" + FreeIpaConfigFieldStartTLS = "starttls" + FreeIpaConfigFieldStatus = "status" + FreeIpaConfigFieldTLS = "tls" + FreeIpaConfigFieldType = "type" + FreeIpaConfigFieldUUID = "uuid" + FreeIpaConfigFieldUserDisabledBitMask = "userDisabledBitMask" + FreeIpaConfigFieldUserEnabledAttribute = "userEnabledAttribute" + FreeIpaConfigFieldUserLoginAttribute = "userLoginAttribute" + FreeIpaConfigFieldUserMemberAttribute = "userMemberAttribute" + FreeIpaConfigFieldUserNameAttribute = "userNameAttribute" + FreeIpaConfigFieldUserObjectClass = "userObjectClass" + FreeIpaConfigFieldUserSearchAttribute = "userSearchAttribute" + FreeIpaConfigFieldUserSearchBase = "userSearchBase" + FreeIpaConfigFieldUserSearchFilter = "userSearchFilter" +) + +type FreeIpaConfig struct { + AccessMode string `json:"accessMode,omitempty" yaml:"accessMode,omitempty"` + AllowedPrincipalIDs []string `json:"allowedPrincipalIds,omitempty" yaml:"allowedPrincipalIds,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Certificate string `json:"certificate,omitempty" yaml:"certificate,omitempty"` + ConnectionTimeout int64 `json:"connectionTimeout,omitempty" yaml:"connectionTimeout,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + GroupDNAttribute string `json:"groupDNAttribute,omitempty" yaml:"groupDNAttribute,omitempty"` + GroupMemberMappingAttribute string `json:"groupMemberMappingAttribute,omitempty" yaml:"groupMemberMappingAttribute,omitempty"` + GroupMemberUserAttribute string `json:"groupMemberUserAttribute,omitempty" yaml:"groupMemberUserAttribute,omitempty"` + GroupNameAttribute string `json:"groupNameAttribute,omitempty" yaml:"groupNameAttribute,omitempty"` + GroupObjectClass string `json:"groupObjectClass,omitempty" yaml:"groupObjectClass,omitempty"` + GroupSearchAttribute string `json:"groupSearchAttribute,omitempty" yaml:"groupSearchAttribute,omitempty"` + GroupSearchBase string `json:"groupSearchBase,omitempty" yaml:"groupSearchBase,omitempty"` + GroupSearchFilter string `json:"groupSearchFilter,omitempty" yaml:"groupSearchFilter,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Port int64 `json:"port,omitempty" yaml:"port,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + Servers []string `json:"servers,omitempty" yaml:"servers,omitempty"` + ServiceAccountDistinguishedName string `json:"serviceAccountDistinguishedName,omitempty" yaml:"serviceAccountDistinguishedName,omitempty"` + ServiceAccountPassword string `json:"serviceAccountPassword,omitempty" yaml:"serviceAccountPassword,omitempty"` + StartTLS bool `json:"starttls,omitempty" yaml:"starttls,omitempty"` + Status *AuthConfigStatus `json:"status,omitempty" yaml:"status,omitempty"` + TLS bool `json:"tls,omitempty" yaml:"tls,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UserDisabledBitMask int64 `json:"userDisabledBitMask,omitempty" yaml:"userDisabledBitMask,omitempty"` + UserEnabledAttribute string `json:"userEnabledAttribute,omitempty" yaml:"userEnabledAttribute,omitempty"` + UserLoginAttribute string `json:"userLoginAttribute,omitempty" yaml:"userLoginAttribute,omitempty"` + UserMemberAttribute string `json:"userMemberAttribute,omitempty" yaml:"userMemberAttribute,omitempty"` + UserNameAttribute string `json:"userNameAttribute,omitempty" yaml:"userNameAttribute,omitempty"` + UserObjectClass string `json:"userObjectClass,omitempty" yaml:"userObjectClass,omitempty"` + UserSearchAttribute string `json:"userSearchAttribute,omitempty" yaml:"userSearchAttribute,omitempty"` + UserSearchBase string `json:"userSearchBase,omitempty" yaml:"userSearchBase,omitempty"` + UserSearchFilter string `json:"userSearchFilter,omitempty" yaml:"userSearchFilter,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_free_ipa_test_and_apply_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_free_ipa_test_and_apply_input.go new file mode 100644 index 000000000..ad27c5914 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_free_ipa_test_and_apply_input.go @@ -0,0 +1,14 @@ +package client + +const ( + FreeIpaTestAndApplyInputType = "freeIpaTestAndApplyInput" + FreeIpaTestAndApplyInputFieldLdapConfig = "ldapConfig" + FreeIpaTestAndApplyInputFieldPassword = "password" + FreeIpaTestAndApplyInputFieldUsername = "username" +) + +type FreeIpaTestAndApplyInput struct { + LdapConfig *LdapConfig `json:"ldapConfig,omitempty" yaml:"ldapConfig,omitempty"` + Password string `json:"password,omitempty" yaml:"password,omitempty"` + Username string `json:"username,omitempty" yaml:"username,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gce_persistent_disk_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gce_persistent_disk_volume_source.go new file mode 100644 index 000000000..726a44839 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gce_persistent_disk_volume_source.go @@ -0,0 +1,16 @@ +package client + +const ( + GCEPersistentDiskVolumeSourceType = "gcePersistentDiskVolumeSource" + GCEPersistentDiskVolumeSourceFieldFSType = "fsType" + GCEPersistentDiskVolumeSourceFieldPDName = "pdName" + GCEPersistentDiskVolumeSourceFieldPartition = "partition" + GCEPersistentDiskVolumeSourceFieldReadOnly = "readOnly" +) + +type GCEPersistentDiskVolumeSource struct { + FSType string `json:"fsType,omitempty" yaml:"fsType,omitempty"` + PDName string `json:"pdName,omitempty" yaml:"pdName,omitempty"` + Partition int64 `json:"partition,omitempty" yaml:"partition,omitempty"` + ReadOnly bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_generate_kube_config_output.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_generate_kube_config_output.go new file mode 100644 index 000000000..2603f41c7 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_generate_kube_config_output.go @@ -0,0 +1,10 @@ +package client + +const ( + GenerateKubeConfigOutputType = "generateKubeConfigOutput" + GenerateKubeConfigOutputFieldConfig = "config" +) + +type GenerateKubeConfigOutput struct { + Config string `json:"config,omitempty" yaml:"config,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_generic_oidcapply_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_generic_oidcapply_input.go new file mode 100644 index 000000000..5bc8c60f5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_generic_oidcapply_input.go @@ -0,0 +1,14 @@ +package client + +const ( + GenericOIDCApplyInputType = "genericOIDCApplyInput" + GenericOIDCApplyInputFieldCode = "code" + GenericOIDCApplyInputFieldEnabled = "enabled" + GenericOIDCApplyInputFieldOIDCConfig = "oidcConfig" +) + +type GenericOIDCApplyInput struct { + Code string `json:"code,omitempty" yaml:"code,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + OIDCConfig *OIDCConfig `json:"oidcConfig,omitempty" yaml:"oidcConfig,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_generic_oidcconfig.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_generic_oidcconfig.go new file mode 100644 index 000000000..4d120bbbe --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_generic_oidcconfig.go @@ -0,0 +1,62 @@ +package client + +const ( + GenericOIDCConfigType = "genericOIDCConfig" + GenericOIDCConfigFieldAccessMode = "accessMode" + GenericOIDCConfigFieldAcrValue = "acrValue" + GenericOIDCConfigFieldAllowedPrincipalIDs = "allowedPrincipalIds" + GenericOIDCConfigFieldAnnotations = "annotations" + GenericOIDCConfigFieldAuthEndpoint = "authEndpoint" + GenericOIDCConfigFieldCertificate = "certificate" + GenericOIDCConfigFieldClientID = "clientId" + GenericOIDCConfigFieldClientSecret = "clientSecret" + GenericOIDCConfigFieldCreated = "created" + GenericOIDCConfigFieldCreatorID = "creatorId" + GenericOIDCConfigFieldEnabled = "enabled" + GenericOIDCConfigFieldGroupSearchEnabled = "groupSearchEnabled" + GenericOIDCConfigFieldGroupsClaim = "groupsClaim" + GenericOIDCConfigFieldIssuer = "issuer" + GenericOIDCConfigFieldJWKSUrl = "jwksUrl" + GenericOIDCConfigFieldLabels = "labels" + GenericOIDCConfigFieldName = "name" + GenericOIDCConfigFieldOwnerReferences = "ownerReferences" + GenericOIDCConfigFieldPrivateKey = "privateKey" + GenericOIDCConfigFieldRancherURL = "rancherUrl" + GenericOIDCConfigFieldRemoved = "removed" + GenericOIDCConfigFieldScopes = "scope" + GenericOIDCConfigFieldStatus = "status" + GenericOIDCConfigFieldTokenEndpoint = "tokenEndpoint" + GenericOIDCConfigFieldType = "type" + GenericOIDCConfigFieldUUID = "uuid" + GenericOIDCConfigFieldUserInfoEndpoint = "userInfoEndpoint" +) + +type GenericOIDCConfig struct { + AccessMode string `json:"accessMode,omitempty" yaml:"accessMode,omitempty"` + AcrValue string `json:"acrValue,omitempty" yaml:"acrValue,omitempty"` + AllowedPrincipalIDs []string `json:"allowedPrincipalIds,omitempty" yaml:"allowedPrincipalIds,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + AuthEndpoint string `json:"authEndpoint,omitempty" yaml:"authEndpoint,omitempty"` + Certificate string `json:"certificate,omitempty" yaml:"certificate,omitempty"` + ClientID string `json:"clientId,omitempty" yaml:"clientId,omitempty"` + ClientSecret string `json:"clientSecret,omitempty" yaml:"clientSecret,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + GroupSearchEnabled *bool `json:"groupSearchEnabled,omitempty" yaml:"groupSearchEnabled,omitempty"` + GroupsClaim string `json:"groupsClaim,omitempty" yaml:"groupsClaim,omitempty"` + Issuer string `json:"issuer,omitempty" yaml:"issuer,omitempty"` + JWKSUrl string `json:"jwksUrl,omitempty" yaml:"jwksUrl,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + PrivateKey string `json:"privateKey,omitempty" yaml:"privateKey,omitempty"` + RancherURL string `json:"rancherUrl,omitempty" yaml:"rancherUrl,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + Scopes string `json:"scope,omitempty" yaml:"scope,omitempty"` + Status *AuthConfigStatus `json:"status,omitempty" yaml:"status,omitempty"` + TokenEndpoint string `json:"tokenEndpoint,omitempty" yaml:"tokenEndpoint,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UserInfoEndpoint string `json:"userInfoEndpoint,omitempty" yaml:"userInfoEndpoint,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_generic_oidctest_output.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_generic_oidctest_output.go new file mode 100644 index 000000000..93d2fdcf5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_generic_oidctest_output.go @@ -0,0 +1,10 @@ +package client + +const ( + GenericOIDCTestOutputType = "genericOIDCTestOutput" + GenericOIDCTestOutputFieldRedirectURL = "redirectUrl" +) + +type GenericOIDCTestOutput struct { + RedirectURL string `json:"redirectUrl,omitempty" yaml:"redirectUrl,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_git_repo_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_git_repo_volume_source.go new file mode 100644 index 000000000..102d08fd0 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_git_repo_volume_source.go @@ -0,0 +1,14 @@ +package client + +const ( + GitRepoVolumeSourceType = "gitRepoVolumeSource" + GitRepoVolumeSourceFieldDirectory = "directory" + GitRepoVolumeSourceFieldRepository = "repository" + GitRepoVolumeSourceFieldRevision = "revision" +) + +type GitRepoVolumeSource struct { + Directory string `json:"directory,omitempty" yaml:"directory,omitempty"` + Repository string `json:"repository,omitempty" yaml:"repository,omitempty"` + Revision string `json:"revision,omitempty" yaml:"revision,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_github_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_github_config.go new file mode 100644 index 000000000..04dc45315 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_github_config.go @@ -0,0 +1,46 @@ +package client + +const ( + GithubConfigType = "githubConfig" + GithubConfigFieldAccessMode = "accessMode" + GithubConfigFieldAdditionalClientIDs = "additionalClientIds" + GithubConfigFieldAllowedPrincipalIDs = "allowedPrincipalIds" + GithubConfigFieldAnnotations = "annotations" + GithubConfigFieldClientID = "clientId" + GithubConfigFieldClientSecret = "clientSecret" + GithubConfigFieldCreated = "created" + GithubConfigFieldCreatorID = "creatorId" + GithubConfigFieldEnabled = "enabled" + GithubConfigFieldHostname = "hostname" + GithubConfigFieldHostnameToClientID = "hostnameToClientId" + GithubConfigFieldLabels = "labels" + GithubConfigFieldName = "name" + GithubConfigFieldOwnerReferences = "ownerReferences" + GithubConfigFieldRemoved = "removed" + GithubConfigFieldStatus = "status" + GithubConfigFieldTLS = "tls" + GithubConfigFieldType = "type" + GithubConfigFieldUUID = "uuid" +) + +type GithubConfig struct { + AccessMode string `json:"accessMode,omitempty" yaml:"accessMode,omitempty"` + AdditionalClientIDs map[string]string `json:"additionalClientIds,omitempty" yaml:"additionalClientIds,omitempty"` + AllowedPrincipalIDs []string `json:"allowedPrincipalIds,omitempty" yaml:"allowedPrincipalIds,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + ClientID string `json:"clientId,omitempty" yaml:"clientId,omitempty"` + ClientSecret string `json:"clientSecret,omitempty" yaml:"clientSecret,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + Hostname string `json:"hostname,omitempty" yaml:"hostname,omitempty"` + HostnameToClientID map[string]string `json:"hostnameToClientId,omitempty" yaml:"hostnameToClientId,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + Status *AuthConfigStatus `json:"status,omitempty" yaml:"status,omitempty"` + TLS bool `json:"tls,omitempty" yaml:"tls,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_github_config_apply_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_github_config_apply_input.go new file mode 100644 index 000000000..af9cae872 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_github_config_apply_input.go @@ -0,0 +1,14 @@ +package client + +const ( + GithubConfigApplyInputType = "githubConfigApplyInput" + GithubConfigApplyInputFieldCode = "code" + GithubConfigApplyInputFieldEnabled = "enabled" + GithubConfigApplyInputFieldGithubConfig = "githubConfig" +) + +type GithubConfigApplyInput struct { + Code string `json:"code,omitempty" yaml:"code,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + GithubConfig *GithubConfig `json:"githubConfig,omitempty" yaml:"githubConfig,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_github_config_test_output.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_github_config_test_output.go new file mode 100644 index 000000000..d7eaf8861 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_github_config_test_output.go @@ -0,0 +1,10 @@ +package client + +const ( + GithubConfigTestOutputType = "githubConfigTestOutput" + GithubConfigTestOutputFieldRedirectURL = "redirectUrl" +) + +type GithubConfigTestOutput struct { + RedirectURL string `json:"redirectUrl,omitempty" yaml:"redirectUrl,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_autopilot_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_autopilot_config.go new file mode 100644 index 000000000..83bf5ac72 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_autopilot_config.go @@ -0,0 +1,10 @@ +package client + +const ( + GKEAutopilotConfigType = "gkeAutopilotConfig" + GKEAutopilotConfigFieldEnabled = "enabled" +) + +type GKEAutopilotConfig struct { + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_cidr_block.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_cidr_block.go new file mode 100644 index 000000000..d89fa3eac --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_cidr_block.go @@ -0,0 +1,12 @@ +package client + +const ( + GKECidrBlockType = "gkeCidrBlock" + GKECidrBlockFieldCidrBlock = "cidrBlock" + GKECidrBlockFieldDisplayName = "displayName" +) + +type GKECidrBlock struct { + CidrBlock string `json:"cidrBlock,omitempty" yaml:"cidrBlock,omitempty"` + DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_cluster_addons.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_cluster_addons.go new file mode 100644 index 000000000..8cbf23c79 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_cluster_addons.go @@ -0,0 +1,14 @@ +package client + +const ( + GKEClusterAddonsType = "gkeClusterAddons" + GKEClusterAddonsFieldHTTPLoadBalancing = "httpLoadBalancing" + GKEClusterAddonsFieldHorizontalPodAutoscaling = "horizontalPodAutoscaling" + GKEClusterAddonsFieldNetworkPolicyConfig = "networkPolicyConfig" +) + +type GKEClusterAddons struct { + HTTPLoadBalancing bool `json:"httpLoadBalancing,omitempty" yaml:"httpLoadBalancing,omitempty"` + HorizontalPodAutoscaling bool `json:"horizontalPodAutoscaling,omitempty" yaml:"horizontalPodAutoscaling,omitempty"` + NetworkPolicyConfig bool `json:"networkPolicyConfig,omitempty" yaml:"networkPolicyConfig,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_cluster_config_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_cluster_config_spec.go new file mode 100644 index 000000000..4973fe668 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_cluster_config_spec.go @@ -0,0 +1,58 @@ +package client + +const ( + GKEClusterConfigSpecType = "gkeClusterConfigSpec" + GKEClusterConfigSpecFieldAutopilotConfig = "autopilotConfig" + GKEClusterConfigSpecFieldClusterAddons = "clusterAddons" + GKEClusterConfigSpecFieldClusterIpv4CidrBlock = "clusterIpv4Cidr" + GKEClusterConfigSpecFieldClusterName = "clusterName" + GKEClusterConfigSpecFieldCustomerManagedEncryptionKey = "customerManagedEncryptionKey" + GKEClusterConfigSpecFieldDescription = "description" + GKEClusterConfigSpecFieldEnableKubernetesAlpha = "enableKubernetesAlpha" + GKEClusterConfigSpecFieldGoogleCredentialSecret = "googleCredentialSecret" + GKEClusterConfigSpecFieldIPAllocationPolicy = "ipAllocationPolicy" + GKEClusterConfigSpecFieldImported = "imported" + GKEClusterConfigSpecFieldKubernetesVersion = "kubernetesVersion" + GKEClusterConfigSpecFieldLabels = "labels" + GKEClusterConfigSpecFieldLocations = "locations" + GKEClusterConfigSpecFieldLoggingService = "loggingService" + GKEClusterConfigSpecFieldMaintenanceWindow = "maintenanceWindow" + GKEClusterConfigSpecFieldMasterAuthorizedNetworksConfig = "masterAuthorizedNetworks" + GKEClusterConfigSpecFieldMonitoringService = "monitoringService" + GKEClusterConfigSpecFieldNetwork = "network" + GKEClusterConfigSpecFieldNetworkPolicyEnabled = "networkPolicyEnabled" + GKEClusterConfigSpecFieldNodePools = "nodePools" + GKEClusterConfigSpecFieldPrivateClusterConfig = "privateClusterConfig" + GKEClusterConfigSpecFieldProjectID = "projectID" + GKEClusterConfigSpecFieldRegion = "region" + GKEClusterConfigSpecFieldSubnetwork = "subnetwork" + GKEClusterConfigSpecFieldZone = "zone" +) + +type GKEClusterConfigSpec struct { + AutopilotConfig *GKEAutopilotConfig `json:"autopilotConfig,omitempty" yaml:"autopilotConfig,omitempty"` + ClusterAddons *GKEClusterAddons `json:"clusterAddons,omitempty" yaml:"clusterAddons,omitempty"` + ClusterIpv4CidrBlock *string `json:"clusterIpv4Cidr,omitempty" yaml:"clusterIpv4Cidr,omitempty"` + ClusterName string `json:"clusterName,omitempty" yaml:"clusterName,omitempty"` + CustomerManagedEncryptionKey *CMEKConfig `json:"customerManagedEncryptionKey,omitempty" yaml:"customerManagedEncryptionKey,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + EnableKubernetesAlpha *bool `json:"enableKubernetesAlpha,omitempty" yaml:"enableKubernetesAlpha,omitempty"` + GoogleCredentialSecret string `json:"googleCredentialSecret,omitempty" yaml:"googleCredentialSecret,omitempty"` + IPAllocationPolicy *GKEIPAllocationPolicy `json:"ipAllocationPolicy,omitempty" yaml:"ipAllocationPolicy,omitempty"` + Imported bool `json:"imported,omitempty" yaml:"imported,omitempty"` + KubernetesVersion *string `json:"kubernetesVersion,omitempty" yaml:"kubernetesVersion,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Locations []string `json:"locations,omitempty" yaml:"locations,omitempty"` + LoggingService *string `json:"loggingService,omitempty" yaml:"loggingService,omitempty"` + MaintenanceWindow *string `json:"maintenanceWindow,omitempty" yaml:"maintenanceWindow,omitempty"` + MasterAuthorizedNetworksConfig *GKEMasterAuthorizedNetworksConfig `json:"masterAuthorizedNetworks,omitempty" yaml:"masterAuthorizedNetworks,omitempty"` + MonitoringService *string `json:"monitoringService,omitempty" yaml:"monitoringService,omitempty"` + Network *string `json:"network,omitempty" yaml:"network,omitempty"` + NetworkPolicyEnabled *bool `json:"networkPolicyEnabled,omitempty" yaml:"networkPolicyEnabled,omitempty"` + NodePools []GKENodePoolConfig `json:"nodePools,omitempty" yaml:"nodePools,omitempty"` + PrivateClusterConfig *GKEPrivateClusterConfig `json:"privateClusterConfig,omitempty" yaml:"privateClusterConfig,omitempty"` + ProjectID string `json:"projectID,omitempty" yaml:"projectID,omitempty"` + Region string `json:"region,omitempty" yaml:"region,omitempty"` + Subnetwork *string `json:"subnetwork,omitempty" yaml:"subnetwork,omitempty"` + Zone string `json:"zone,omitempty" yaml:"zone,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_master_authorized_networks_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_master_authorized_networks_config.go new file mode 100644 index 000000000..0eb9371a7 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_master_authorized_networks_config.go @@ -0,0 +1,12 @@ +package client + +const ( + GKEMasterAuthorizedNetworksConfigType = "gkeMasterAuthorizedNetworksConfig" + GKEMasterAuthorizedNetworksConfigFieldCidrBlocks = "cidrBlocks" + GKEMasterAuthorizedNetworksConfigFieldEnabled = "enabled" +) + +type GKEMasterAuthorizedNetworksConfig struct { + CidrBlocks []GKECidrBlock `json:"cidrBlocks,omitempty" yaml:"cidrBlocks,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_config.go new file mode 100644 index 000000000..ee72b7273 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_config.go @@ -0,0 +1,32 @@ +package client + +const ( + GKENodeConfigType = "gkeNodeConfig" + GKENodeConfigFieldBootDiskKmsKey = "bootDiskKmsKey" + GKENodeConfigFieldDiskSizeGb = "diskSizeGb" + GKENodeConfigFieldDiskType = "diskType" + GKENodeConfigFieldImageType = "imageType" + GKENodeConfigFieldLabels = "labels" + GKENodeConfigFieldLocalSsdCount = "localSsdCount" + GKENodeConfigFieldMachineType = "machineType" + GKENodeConfigFieldOauthScopes = "oauthScopes" + GKENodeConfigFieldPreemptible = "preemptible" + GKENodeConfigFieldServiceAccount = "serviceAccount" + GKENodeConfigFieldTags = "tags" + GKENodeConfigFieldTaints = "taints" +) + +type GKENodeConfig struct { + BootDiskKmsKey string `json:"bootDiskKmsKey,omitempty" yaml:"bootDiskKmsKey,omitempty"` + DiskSizeGb int64 `json:"diskSizeGb,omitempty" yaml:"diskSizeGb,omitempty"` + DiskType string `json:"diskType,omitempty" yaml:"diskType,omitempty"` + ImageType string `json:"imageType,omitempty" yaml:"imageType,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + LocalSsdCount int64 `json:"localSsdCount,omitempty" yaml:"localSsdCount,omitempty"` + MachineType string `json:"machineType,omitempty" yaml:"machineType,omitempty"` + OauthScopes []string `json:"oauthScopes,omitempty" yaml:"oauthScopes,omitempty"` + Preemptible bool `json:"preemptible,omitempty" yaml:"preemptible,omitempty"` + ServiceAccount string `json:"serviceAccount,omitempty" yaml:"serviceAccount,omitempty"` + Tags []string `json:"tags,omitempty" yaml:"tags,omitempty"` + Taints []GKENodeTaintConfig `json:"taints,omitempty" yaml:"taints,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_pool_autoscaling.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_pool_autoscaling.go new file mode 100644 index 000000000..7be64fc9f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_pool_autoscaling.go @@ -0,0 +1,14 @@ +package client + +const ( + GKENodePoolAutoscalingType = "gkeNodePoolAutoscaling" + GKENodePoolAutoscalingFieldEnabled = "enabled" + GKENodePoolAutoscalingFieldMaxNodeCount = "maxNodeCount" + GKENodePoolAutoscalingFieldMinNodeCount = "minNodeCount" +) + +type GKENodePoolAutoscaling struct { + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + MaxNodeCount int64 `json:"maxNodeCount,omitempty" yaml:"maxNodeCount,omitempty"` + MinNodeCount int64 `json:"minNodeCount,omitempty" yaml:"minNodeCount,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_pool_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_pool_config.go new file mode 100644 index 000000000..30bf77072 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_pool_config.go @@ -0,0 +1,22 @@ +package client + +const ( + GKENodePoolConfigType = "gkeNodePoolConfig" + GKENodePoolConfigFieldAutoscaling = "autoscaling" + GKENodePoolConfigFieldConfig = "config" + GKENodePoolConfigFieldInitialNodeCount = "initialNodeCount" + GKENodePoolConfigFieldManagement = "management" + GKENodePoolConfigFieldMaxPodsConstraint = "maxPodsConstraint" + GKENodePoolConfigFieldName = "name" + GKENodePoolConfigFieldVersion = "version" +) + +type GKENodePoolConfig struct { + Autoscaling *GKENodePoolAutoscaling `json:"autoscaling,omitempty" yaml:"autoscaling,omitempty"` + Config *GKENodeConfig `json:"config,omitempty" yaml:"config,omitempty"` + InitialNodeCount *int64 `json:"initialNodeCount,omitempty" yaml:"initialNodeCount,omitempty"` + Management *GKENodePoolManagement `json:"management,omitempty" yaml:"management,omitempty"` + MaxPodsConstraint *int64 `json:"maxPodsConstraint,omitempty" yaml:"maxPodsConstraint,omitempty"` + Name *string `json:"name,omitempty" yaml:"name,omitempty"` + Version *string `json:"version,omitempty" yaml:"version,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_pool_management.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_pool_management.go new file mode 100644 index 000000000..de37c5a16 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_pool_management.go @@ -0,0 +1,12 @@ +package client + +const ( + GKENodePoolManagementType = "gkeNodePoolManagement" + GKENodePoolManagementFieldAutoRepair = "autoRepair" + GKENodePoolManagementFieldAutoUpgrade = "autoUpgrade" +) + +type GKENodePoolManagement struct { + AutoRepair bool `json:"autoRepair,omitempty" yaml:"autoRepair,omitempty"` + AutoUpgrade bool `json:"autoUpgrade,omitempty" yaml:"autoUpgrade,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_taint_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_taint_config.go new file mode 100644 index 000000000..f9fd1e9b3 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_node_taint_config.go @@ -0,0 +1,14 @@ +package client + +const ( + GKENodeTaintConfigType = "gkeNodeTaintConfig" + GKENodeTaintConfigFieldEffect = "effect" + GKENodeTaintConfigFieldKey = "key" + GKENodeTaintConfigFieldValue = "value" +) + +type GKENodeTaintConfig struct { + Effect string `json:"effect,omitempty" yaml:"effect,omitempty"` + Key string `json:"key,omitempty" yaml:"key,omitempty"` + Value string `json:"value,omitempty" yaml:"value,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_private_cluster_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_private_cluster_config.go new file mode 100644 index 000000000..7607cbe61 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_private_cluster_config.go @@ -0,0 +1,14 @@ +package client + +const ( + GKEPrivateClusterConfigType = "gkePrivateClusterConfig" + GKEPrivateClusterConfigFieldEnablePrivateEndpoint = "enablePrivateEndpoint" + GKEPrivateClusterConfigFieldEnablePrivateNodes = "enablePrivateNodes" + GKEPrivateClusterConfigFieldMasterIpv4CidrBlock = "masterIpv4CidrBlock" +) + +type GKEPrivateClusterConfig struct { + EnablePrivateEndpoint bool `json:"enablePrivateEndpoint,omitempty" yaml:"enablePrivateEndpoint,omitempty"` + EnablePrivateNodes bool `json:"enablePrivateNodes,omitempty" yaml:"enablePrivateNodes,omitempty"` + MasterIpv4CidrBlock string `json:"masterIpv4CidrBlock,omitempty" yaml:"masterIpv4CidrBlock,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_status.go new file mode 100644 index 000000000..3c943906b --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gke_status.go @@ -0,0 +1,12 @@ +package client + +const ( + GKEStatusType = "gkeStatus" + GKEStatusFieldPrivateRequiresTunnel = "privateRequiresTunnel" + GKEStatusFieldUpstreamSpec = "upstreamSpec" +) + +type GKEStatus struct { + PrivateRequiresTunnel *bool `json:"privateRequiresTunnel,omitempty" yaml:"privateRequiresTunnel,omitempty"` + UpstreamSpec *GKEClusterConfigSpec `json:"upstreamSpec,omitempty" yaml:"upstreamSpec,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gkeip_allocation_policy.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gkeip_allocation_policy.go new file mode 100644 index 000000000..140bd42a3 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_gkeip_allocation_policy.go @@ -0,0 +1,24 @@ +package client + +const ( + GKEIPAllocationPolicyType = "gkeipAllocationPolicy" + GKEIPAllocationPolicyFieldClusterIpv4CidrBlock = "clusterIpv4CidrBlock" + GKEIPAllocationPolicyFieldClusterSecondaryRangeName = "clusterSecondaryRangeName" + GKEIPAllocationPolicyFieldCreateSubnetwork = "createSubnetwork" + GKEIPAllocationPolicyFieldNodeIpv4CidrBlock = "nodeIpv4CidrBlock" + GKEIPAllocationPolicyFieldServicesIpv4CidrBlock = "servicesIpv4CidrBlock" + GKEIPAllocationPolicyFieldServicesSecondaryRangeName = "servicesSecondaryRangeName" + GKEIPAllocationPolicyFieldSubnetworkName = "subnetworkName" + GKEIPAllocationPolicyFieldUseIPAliases = "useIpAliases" +) + +type GKEIPAllocationPolicy struct { + ClusterIpv4CidrBlock string `json:"clusterIpv4CidrBlock,omitempty" yaml:"clusterIpv4CidrBlock,omitempty"` + ClusterSecondaryRangeName string `json:"clusterSecondaryRangeName,omitempty" yaml:"clusterSecondaryRangeName,omitempty"` + CreateSubnetwork bool `json:"createSubnetwork,omitempty" yaml:"createSubnetwork,omitempty"` + NodeIpv4CidrBlock string `json:"nodeIpv4CidrBlock,omitempty" yaml:"nodeIpv4CidrBlock,omitempty"` + ServicesIpv4CidrBlock string `json:"servicesIpv4CidrBlock,omitempty" yaml:"servicesIpv4CidrBlock,omitempty"` + ServicesSecondaryRangeName string `json:"servicesSecondaryRangeName,omitempty" yaml:"servicesSecondaryRangeName,omitempty"` + SubnetworkName string `json:"subnetworkName,omitempty" yaml:"subnetworkName,omitempty"` + UseIPAliases bool `json:"useIpAliases,omitempty" yaml:"useIpAliases,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_aws_opts.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_aws_opts.go new file mode 100644 index 000000000..61965de73 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_aws_opts.go @@ -0,0 +1,28 @@ +package client + +const ( + GlobalAwsOptsType = "globalAwsOpts" + GlobalAwsOptsFieldDisableSecurityGroupIngress = "disable-security-group-ingress" + GlobalAwsOptsFieldDisableStrictZoneCheck = "disable-strict-zone-check" + GlobalAwsOptsFieldElbSecurityGroup = "elb-security-group" + GlobalAwsOptsFieldKubernetesClusterID = "kubernetes-cluster-id" + GlobalAwsOptsFieldKubernetesClusterTag = "kubernetes-cluster-tag" + GlobalAwsOptsFieldRoleARN = "role-arn" + GlobalAwsOptsFieldRouteTableID = "routetable-id" + GlobalAwsOptsFieldSubnetID = "subnet-id" + GlobalAwsOptsFieldVPC = "vpc" + GlobalAwsOptsFieldZone = "zone" +) + +type GlobalAwsOpts struct { + DisableSecurityGroupIngress bool `json:"disable-security-group-ingress,omitempty" yaml:"disable-security-group-ingress,omitempty"` + DisableStrictZoneCheck bool `json:"disable-strict-zone-check,omitempty" yaml:"disable-strict-zone-check,omitempty"` + ElbSecurityGroup string `json:"elb-security-group,omitempty" yaml:"elb-security-group,omitempty"` + KubernetesClusterID string `json:"kubernetes-cluster-id,omitempty" yaml:"kubernetes-cluster-id,omitempty"` + KubernetesClusterTag string `json:"kubernetes-cluster-tag,omitempty" yaml:"kubernetes-cluster-tag,omitempty"` + RoleARN string `json:"role-arn,omitempty" yaml:"role-arn,omitempty"` + RouteTableID string `json:"routetable-id,omitempty" yaml:"routetable-id,omitempty"` + SubnetID string `json:"subnet-id,omitempty" yaml:"subnet-id,omitempty"` + VPC string `json:"vpc,omitempty" yaml:"vpc,omitempty"` + Zone string `json:"zone,omitempty" yaml:"zone,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns.go new file mode 100644 index 000000000..2de8450e3 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns.go @@ -0,0 +1,152 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + GlobalDnsType = "globalDns" + GlobalDnsFieldAnnotations = "annotations" + GlobalDnsFieldCreated = "created" + GlobalDnsFieldCreatorID = "creatorId" + GlobalDnsFieldFQDN = "fqdn" + GlobalDnsFieldLabels = "labels" + GlobalDnsFieldMembers = "members" + GlobalDnsFieldMultiClusterAppID = "multiClusterAppId" + GlobalDnsFieldName = "name" + GlobalDnsFieldOwnerReferences = "ownerReferences" + GlobalDnsFieldProjectIDs = "projectIds" + GlobalDnsFieldProviderID = "providerId" + GlobalDnsFieldRemoved = "removed" + GlobalDnsFieldState = "state" + GlobalDnsFieldStatus = "status" + GlobalDnsFieldTTL = "ttl" + GlobalDnsFieldTransitioning = "transitioning" + GlobalDnsFieldTransitioningMessage = "transitioningMessage" + GlobalDnsFieldUUID = "uuid" +) + +type GlobalDns struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + FQDN string `json:"fqdn,omitempty" yaml:"fqdn,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Members []Member `json:"members,omitempty" yaml:"members,omitempty"` + MultiClusterAppID string `json:"multiClusterAppId,omitempty" yaml:"multiClusterAppId,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + ProjectIDs []string `json:"projectIds,omitempty" yaml:"projectIds,omitempty"` + ProviderID string `json:"providerId,omitempty" yaml:"providerId,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Status *GlobalDNSStatus `json:"status,omitempty" yaml:"status,omitempty"` + TTL int64 `json:"ttl,omitempty" yaml:"ttl,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type GlobalDnsCollection struct { + types.Collection + Data []GlobalDns `json:"data,omitempty"` + client *GlobalDnsClient +} + +type GlobalDnsClient struct { + apiClient *Client +} + +type GlobalDnsOperations interface { + List(opts *types.ListOpts) (*GlobalDnsCollection, error) + ListAll(opts *types.ListOpts) (*GlobalDnsCollection, error) + Create(opts *GlobalDns) (*GlobalDns, error) + Update(existing *GlobalDns, updates interface{}) (*GlobalDns, error) + Replace(existing *GlobalDns) (*GlobalDns, error) + ByID(id string) (*GlobalDns, error) + Delete(container *GlobalDns) error + + ActionAddProjects(resource *GlobalDns, input *UpdateGlobalDNSTargetsInput) error + + ActionRemoveProjects(resource *GlobalDns, input *UpdateGlobalDNSTargetsInput) error +} + +func newGlobalDnsClient(apiClient *Client) *GlobalDnsClient { + return &GlobalDnsClient{ + apiClient: apiClient, + } +} + +func (c *GlobalDnsClient) Create(container *GlobalDns) (*GlobalDns, error) { + resp := &GlobalDns{} + err := c.apiClient.Ops.DoCreate(GlobalDnsType, container, resp) + return resp, err +} + +func (c *GlobalDnsClient) Update(existing *GlobalDns, updates interface{}) (*GlobalDns, error) { + resp := &GlobalDns{} + err := c.apiClient.Ops.DoUpdate(GlobalDnsType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *GlobalDnsClient) Replace(obj *GlobalDns) (*GlobalDns, error) { + resp := &GlobalDns{} + err := c.apiClient.Ops.DoReplace(GlobalDnsType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *GlobalDnsClient) List(opts *types.ListOpts) (*GlobalDnsCollection, error) { + resp := &GlobalDnsCollection{} + err := c.apiClient.Ops.DoList(GlobalDnsType, opts, resp) + resp.client = c + return resp, err +} + +func (c *GlobalDnsClient) ListAll(opts *types.ListOpts) (*GlobalDnsCollection, error) { + resp := &GlobalDnsCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *GlobalDnsCollection) Next() (*GlobalDnsCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &GlobalDnsCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *GlobalDnsClient) ByID(id string) (*GlobalDns, error) { + resp := &GlobalDns{} + err := c.apiClient.Ops.DoByID(GlobalDnsType, id, resp) + return resp, err +} + +func (c *GlobalDnsClient) Delete(container *GlobalDns) error { + return c.apiClient.Ops.DoResourceDelete(GlobalDnsType, &container.Resource) +} + +func (c *GlobalDnsClient) ActionAddProjects(resource *GlobalDns, input *UpdateGlobalDNSTargetsInput) error { + err := c.apiClient.Ops.DoAction(GlobalDnsType, "addProjects", &resource.Resource, input, nil) + return err +} + +func (c *GlobalDnsClient) ActionRemoveProjects(resource *GlobalDns, input *UpdateGlobalDNSTargetsInput) error { + err := c.apiClient.Ops.DoAction(GlobalDnsType, "removeProjects", &resource.Resource, input, nil) + return err +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns_provider.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns_provider.go new file mode 100644 index 000000000..951b22847 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns_provider.go @@ -0,0 +1,128 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + GlobalDnsProviderType = "globalDnsProvider" + GlobalDnsProviderFieldAlidnsProviderConfig = "alidnsProviderConfig" + GlobalDnsProviderFieldAnnotations = "annotations" + GlobalDnsProviderFieldCloudflareProviderConfig = "cloudflareProviderConfig" + GlobalDnsProviderFieldCreated = "created" + GlobalDnsProviderFieldCreatorID = "creatorId" + GlobalDnsProviderFieldLabels = "labels" + GlobalDnsProviderFieldMembers = "members" + GlobalDnsProviderFieldName = "name" + GlobalDnsProviderFieldOwnerReferences = "ownerReferences" + GlobalDnsProviderFieldRemoved = "removed" + GlobalDnsProviderFieldRootDomain = "rootDomain" + GlobalDnsProviderFieldRoute53ProviderConfig = "route53ProviderConfig" + GlobalDnsProviderFieldUUID = "uuid" +) + +type GlobalDnsProvider struct { + types.Resource + AlidnsProviderConfig *AlidnsProviderConfig `json:"alidnsProviderConfig,omitempty" yaml:"alidnsProviderConfig,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + CloudflareProviderConfig *CloudflareProviderConfig `json:"cloudflareProviderConfig,omitempty" yaml:"cloudflareProviderConfig,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Members []Member `json:"members,omitempty" yaml:"members,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + RootDomain string `json:"rootDomain,omitempty" yaml:"rootDomain,omitempty"` + Route53ProviderConfig *Route53ProviderConfig `json:"route53ProviderConfig,omitempty" yaml:"route53ProviderConfig,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type GlobalDnsProviderCollection struct { + types.Collection + Data []GlobalDnsProvider `json:"data,omitempty"` + client *GlobalDnsProviderClient +} + +type GlobalDnsProviderClient struct { + apiClient *Client +} + +type GlobalDnsProviderOperations interface { + List(opts *types.ListOpts) (*GlobalDnsProviderCollection, error) + ListAll(opts *types.ListOpts) (*GlobalDnsProviderCollection, error) + Create(opts *GlobalDnsProvider) (*GlobalDnsProvider, error) + Update(existing *GlobalDnsProvider, updates interface{}) (*GlobalDnsProvider, error) + Replace(existing *GlobalDnsProvider) (*GlobalDnsProvider, error) + ByID(id string) (*GlobalDnsProvider, error) + Delete(container *GlobalDnsProvider) error +} + +func newGlobalDnsProviderClient(apiClient *Client) *GlobalDnsProviderClient { + return &GlobalDnsProviderClient{ + apiClient: apiClient, + } +} + +func (c *GlobalDnsProviderClient) Create(container *GlobalDnsProvider) (*GlobalDnsProvider, error) { + resp := &GlobalDnsProvider{} + err := c.apiClient.Ops.DoCreate(GlobalDnsProviderType, container, resp) + return resp, err +} + +func (c *GlobalDnsProviderClient) Update(existing *GlobalDnsProvider, updates interface{}) (*GlobalDnsProvider, error) { + resp := &GlobalDnsProvider{} + err := c.apiClient.Ops.DoUpdate(GlobalDnsProviderType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *GlobalDnsProviderClient) Replace(obj *GlobalDnsProvider) (*GlobalDnsProvider, error) { + resp := &GlobalDnsProvider{} + err := c.apiClient.Ops.DoReplace(GlobalDnsProviderType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *GlobalDnsProviderClient) List(opts *types.ListOpts) (*GlobalDnsProviderCollection, error) { + resp := &GlobalDnsProviderCollection{} + err := c.apiClient.Ops.DoList(GlobalDnsProviderType, opts, resp) + resp.client = c + return resp, err +} + +func (c *GlobalDnsProviderClient) ListAll(opts *types.ListOpts) (*GlobalDnsProviderCollection, error) { + resp := &GlobalDnsProviderCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *GlobalDnsProviderCollection) Next() (*GlobalDnsProviderCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &GlobalDnsProviderCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *GlobalDnsProviderClient) ByID(id string) (*GlobalDnsProvider, error) { + resp := &GlobalDnsProvider{} + err := c.apiClient.Ops.DoByID(GlobalDnsProviderType, id, resp) + return resp, err +} + +func (c *GlobalDnsProviderClient) Delete(container *GlobalDnsProvider) error { + return c.apiClient.Ops.DoResourceDelete(GlobalDnsProviderType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns_provider_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns_provider_spec.go new file mode 100644 index 000000000..b5f1157a0 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns_provider_spec.go @@ -0,0 +1,18 @@ +package client + +const ( + GlobalDNSProviderSpecType = "globalDnsProviderSpec" + GlobalDNSProviderSpecFieldAlidnsProviderConfig = "alidnsProviderConfig" + GlobalDNSProviderSpecFieldCloudflareProviderConfig = "cloudflareProviderConfig" + GlobalDNSProviderSpecFieldMembers = "members" + GlobalDNSProviderSpecFieldRootDomain = "rootDomain" + GlobalDNSProviderSpecFieldRoute53ProviderConfig = "route53ProviderConfig" +) + +type GlobalDNSProviderSpec struct { + AlidnsProviderConfig *AlidnsProviderConfig `json:"alidnsProviderConfig,omitempty" yaml:"alidnsProviderConfig,omitempty"` + CloudflareProviderConfig *CloudflareProviderConfig `json:"cloudflareProviderConfig,omitempty" yaml:"cloudflareProviderConfig,omitempty"` + Members []Member `json:"members,omitempty" yaml:"members,omitempty"` + RootDomain string `json:"rootDomain,omitempty" yaml:"rootDomain,omitempty"` + Route53ProviderConfig *Route53ProviderConfig `json:"route53ProviderConfig,omitempty" yaml:"route53ProviderConfig,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns_spec.go new file mode 100644 index 000000000..3f22ef299 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns_spec.go @@ -0,0 +1,20 @@ +package client + +const ( + GlobalDNSSpecType = "globalDnsSpec" + GlobalDNSSpecFieldFQDN = "fqdn" + GlobalDNSSpecFieldMembers = "members" + GlobalDNSSpecFieldMultiClusterAppID = "multiClusterAppId" + GlobalDNSSpecFieldProjectIDs = "projectIds" + GlobalDNSSpecFieldProviderID = "providerId" + GlobalDNSSpecFieldTTL = "ttl" +) + +type GlobalDNSSpec struct { + FQDN string `json:"fqdn,omitempty" yaml:"fqdn,omitempty"` + Members []Member `json:"members,omitempty" yaml:"members,omitempty"` + MultiClusterAppID string `json:"multiClusterAppId,omitempty" yaml:"multiClusterAppId,omitempty"` + ProjectIDs []string `json:"projectIds,omitempty" yaml:"projectIds,omitempty"` + ProviderID string `json:"providerId,omitempty" yaml:"providerId,omitempty"` + TTL int64 `json:"ttl,omitempty" yaml:"ttl,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns_status.go new file mode 100644 index 000000000..d37181ae6 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_dns_status.go @@ -0,0 +1,12 @@ +package client + +const ( + GlobalDNSStatusType = "globalDnsStatus" + GlobalDNSStatusFieldClusterEndpoints = "clusterEndpoints" + GlobalDNSStatusFieldEndpoints = "endpoints" +) + +type GlobalDNSStatus struct { + ClusterEndpoints map[string][]string `json:"clusterEndpoints,omitempty" yaml:"clusterEndpoints,omitempty"` + Endpoints []string `json:"endpoints,omitempty" yaml:"endpoints,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_openstack_opts.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_openstack_opts.go new file mode 100644 index 000000000..7db5e17e2 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_openstack_opts.go @@ -0,0 +1,30 @@ +package client + +const ( + GlobalOpenstackOptsType = "globalOpenstackOpts" + GlobalOpenstackOptsFieldAuthURL = "auth-url" + GlobalOpenstackOptsFieldCAFile = "ca-file" + GlobalOpenstackOptsFieldDomainID = "domain-id" + GlobalOpenstackOptsFieldDomainName = "domain-name" + GlobalOpenstackOptsFieldPassword = "password" + GlobalOpenstackOptsFieldRegion = "region" + GlobalOpenstackOptsFieldTenantID = "tenant-id" + GlobalOpenstackOptsFieldTenantName = "tenant-name" + GlobalOpenstackOptsFieldTrustID = "trust-id" + GlobalOpenstackOptsFieldUserID = "user-id" + GlobalOpenstackOptsFieldUsername = "username" +) + +type GlobalOpenstackOpts struct { + AuthURL string `json:"auth-url,omitempty" yaml:"auth-url,omitempty"` + CAFile string `json:"ca-file,omitempty" yaml:"ca-file,omitempty"` + DomainID string `json:"domain-id,omitempty" yaml:"domain-id,omitempty"` + DomainName string `json:"domain-name,omitempty" yaml:"domain-name,omitempty"` + Password string `json:"password,omitempty" yaml:"password,omitempty"` + Region string `json:"region,omitempty" yaml:"region,omitempty"` + TenantID string `json:"tenant-id,omitempty" yaml:"tenant-id,omitempty"` + TenantName string `json:"tenant-name,omitempty" yaml:"tenant-name,omitempty"` + TrustID string `json:"trust-id,omitempty" yaml:"trust-id,omitempty"` + UserID string `json:"user-id,omitempty" yaml:"user-id,omitempty"` + Username string `json:"username,omitempty" yaml:"username,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_role.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_role.go new file mode 100644 index 000000000..f528984f7 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_role.go @@ -0,0 +1,134 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + GlobalRoleType = "globalRole" + GlobalRoleFieldAnnotations = "annotations" + GlobalRoleFieldBuiltin = "builtin" + GlobalRoleFieldCreated = "created" + GlobalRoleFieldCreatorID = "creatorId" + GlobalRoleFieldDescription = "description" + GlobalRoleFieldInheritedClusterRoles = "inheritedClusterRoles" + GlobalRoleFieldInheritedFleetWorkspacePermissions = "inheritedFleetWorkspacePermissions" + GlobalRoleFieldLabels = "labels" + GlobalRoleFieldName = "name" + GlobalRoleFieldNamespacedRules = "namespacedRules" + GlobalRoleFieldNewUserDefault = "newUserDefault" + GlobalRoleFieldOwnerReferences = "ownerReferences" + GlobalRoleFieldRemoved = "removed" + GlobalRoleFieldRules = "rules" + GlobalRoleFieldStatus = "status" + GlobalRoleFieldUUID = "uuid" +) + +type GlobalRole struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Builtin bool `json:"builtin,omitempty" yaml:"builtin,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + InheritedClusterRoles []string `json:"inheritedClusterRoles,omitempty" yaml:"inheritedClusterRoles,omitempty"` + InheritedFleetWorkspacePermissions *FleetWorkspacePermission `json:"inheritedFleetWorkspacePermissions,omitempty" yaml:"inheritedFleetWorkspacePermissions,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NamespacedRules map[string][]PolicyRule `json:"namespacedRules,omitempty" yaml:"namespacedRules,omitempty"` + NewUserDefault bool `json:"newUserDefault,omitempty" yaml:"newUserDefault,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + Rules []PolicyRule `json:"rules,omitempty" yaml:"rules,omitempty"` + Status GlobalRoleStatus `json:"status,omitempty" yaml:"status,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type GlobalRoleCollection struct { + types.Collection + Data []GlobalRole `json:"data,omitempty"` + client *GlobalRoleClient +} + +type GlobalRoleClient struct { + apiClient *Client +} + +type GlobalRoleOperations interface { + List(opts *types.ListOpts) (*GlobalRoleCollection, error) + ListAll(opts *types.ListOpts) (*GlobalRoleCollection, error) + Create(opts *GlobalRole) (*GlobalRole, error) + Update(existing *GlobalRole, updates interface{}) (*GlobalRole, error) + Replace(existing *GlobalRole) (*GlobalRole, error) + ByID(id string) (*GlobalRole, error) + Delete(container *GlobalRole) error +} + +func newGlobalRoleClient(apiClient *Client) *GlobalRoleClient { + return &GlobalRoleClient{ + apiClient: apiClient, + } +} + +func (c *GlobalRoleClient) Create(container *GlobalRole) (*GlobalRole, error) { + resp := &GlobalRole{} + err := c.apiClient.Ops.DoCreate(GlobalRoleType, container, resp) + return resp, err +} + +func (c *GlobalRoleClient) Update(existing *GlobalRole, updates interface{}) (*GlobalRole, error) { + resp := &GlobalRole{} + err := c.apiClient.Ops.DoUpdate(GlobalRoleType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *GlobalRoleClient) Replace(obj *GlobalRole) (*GlobalRole, error) { + resp := &GlobalRole{} + err := c.apiClient.Ops.DoReplace(GlobalRoleType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *GlobalRoleClient) List(opts *types.ListOpts) (*GlobalRoleCollection, error) { + resp := &GlobalRoleCollection{} + err := c.apiClient.Ops.DoList(GlobalRoleType, opts, resp) + resp.client = c + return resp, err +} + +func (c *GlobalRoleClient) ListAll(opts *types.ListOpts) (*GlobalRoleCollection, error) { + resp := &GlobalRoleCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *GlobalRoleCollection) Next() (*GlobalRoleCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &GlobalRoleCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *GlobalRoleClient) ByID(id string) (*GlobalRole, error) { + resp := &GlobalRole{} + err := c.apiClient.Ops.DoByID(GlobalRoleType, id, resp) + return resp, err +} + +func (c *GlobalRoleClient) Delete(container *GlobalRole) error { + return c.apiClient.Ops.DoResourceDelete(GlobalRoleType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_role_binding.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_role_binding.go new file mode 100644 index 000000000..0d447d01f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_role_binding.go @@ -0,0 +1,124 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + GlobalRoleBindingType = "globalRoleBinding" + GlobalRoleBindingFieldAnnotations = "annotations" + GlobalRoleBindingFieldCreated = "created" + GlobalRoleBindingFieldCreatorID = "creatorId" + GlobalRoleBindingFieldGlobalRoleID = "globalRoleId" + GlobalRoleBindingFieldGroupPrincipalID = "groupPrincipalId" + GlobalRoleBindingFieldLabels = "labels" + GlobalRoleBindingFieldName = "name" + GlobalRoleBindingFieldOwnerReferences = "ownerReferences" + GlobalRoleBindingFieldRemoved = "removed" + GlobalRoleBindingFieldUUID = "uuid" + GlobalRoleBindingFieldUserID = "userId" +) + +type GlobalRoleBinding struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + GlobalRoleID string `json:"globalRoleId,omitempty" yaml:"globalRoleId,omitempty"` + GroupPrincipalID string `json:"groupPrincipalId,omitempty" yaml:"groupPrincipalId,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UserID string `json:"userId,omitempty" yaml:"userId,omitempty"` +} + +type GlobalRoleBindingCollection struct { + types.Collection + Data []GlobalRoleBinding `json:"data,omitempty"` + client *GlobalRoleBindingClient +} + +type GlobalRoleBindingClient struct { + apiClient *Client +} + +type GlobalRoleBindingOperations interface { + List(opts *types.ListOpts) (*GlobalRoleBindingCollection, error) + ListAll(opts *types.ListOpts) (*GlobalRoleBindingCollection, error) + Create(opts *GlobalRoleBinding) (*GlobalRoleBinding, error) + Update(existing *GlobalRoleBinding, updates interface{}) (*GlobalRoleBinding, error) + Replace(existing *GlobalRoleBinding) (*GlobalRoleBinding, error) + ByID(id string) (*GlobalRoleBinding, error) + Delete(container *GlobalRoleBinding) error +} + +func newGlobalRoleBindingClient(apiClient *Client) *GlobalRoleBindingClient { + return &GlobalRoleBindingClient{ + apiClient: apiClient, + } +} + +func (c *GlobalRoleBindingClient) Create(container *GlobalRoleBinding) (*GlobalRoleBinding, error) { + resp := &GlobalRoleBinding{} + err := c.apiClient.Ops.DoCreate(GlobalRoleBindingType, container, resp) + return resp, err +} + +func (c *GlobalRoleBindingClient) Update(existing *GlobalRoleBinding, updates interface{}) (*GlobalRoleBinding, error) { + resp := &GlobalRoleBinding{} + err := c.apiClient.Ops.DoUpdate(GlobalRoleBindingType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *GlobalRoleBindingClient) Replace(obj *GlobalRoleBinding) (*GlobalRoleBinding, error) { + resp := &GlobalRoleBinding{} + err := c.apiClient.Ops.DoReplace(GlobalRoleBindingType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *GlobalRoleBindingClient) List(opts *types.ListOpts) (*GlobalRoleBindingCollection, error) { + resp := &GlobalRoleBindingCollection{} + err := c.apiClient.Ops.DoList(GlobalRoleBindingType, opts, resp) + resp.client = c + return resp, err +} + +func (c *GlobalRoleBindingClient) ListAll(opts *types.ListOpts) (*GlobalRoleBindingCollection, error) { + resp := &GlobalRoleBindingCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *GlobalRoleBindingCollection) Next() (*GlobalRoleBindingCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &GlobalRoleBindingCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *GlobalRoleBindingClient) ByID(id string) (*GlobalRoleBinding, error) { + resp := &GlobalRoleBinding{} + err := c.apiClient.Ops.DoByID(GlobalRoleBindingType, id, resp) + return resp, err +} + +func (c *GlobalRoleBindingClient) Delete(container *GlobalRoleBinding) error { + return c.apiClient.Ops.DoResourceDelete(GlobalRoleBindingType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_role_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_role_status.go new file mode 100644 index 000000000..2e90c1e28 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_role_status.go @@ -0,0 +1,16 @@ +package client + +const ( + GlobalRoleStatusType = "globalRoleStatus" + GlobalRoleStatusFieldConditions = "conditions" + GlobalRoleStatusFieldLastUpdate = "lastUpdateTime" + GlobalRoleStatusFieldObservedGeneration = "observedGeneration" + GlobalRoleStatusFieldSummary = "summary" +) + +type GlobalRoleStatus struct { + Conditions []Condition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + LastUpdate string `json:"lastUpdateTime,omitempty" yaml:"lastUpdateTime,omitempty"` + ObservedGeneration int64 `json:"observedGeneration,omitempty" yaml:"observedGeneration,omitempty"` + Summary string `json:"summary,omitempty" yaml:"summary,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_vsphere_opts.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_vsphere_opts.go new file mode 100644 index 000000000..3b515a06f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_global_vsphere_opts.go @@ -0,0 +1,32 @@ +package client + +const ( + GlobalVsphereOptsType = "globalVsphereOpts" + GlobalVsphereOptsFieldDatacenter = "datacenter" + GlobalVsphereOptsFieldDatacenters = "datacenters" + GlobalVsphereOptsFieldDefaultDatastore = "datastore" + GlobalVsphereOptsFieldInsecureFlag = "insecure-flag" + GlobalVsphereOptsFieldPassword = "password" + GlobalVsphereOptsFieldRoundTripperCount = "soap-roundtrip-count" + GlobalVsphereOptsFieldUser = "user" + GlobalVsphereOptsFieldVCenterIP = "server" + GlobalVsphereOptsFieldVCenterPort = "port" + GlobalVsphereOptsFieldVMName = "vm-name" + GlobalVsphereOptsFieldVMUUID = "vm-uuid" + GlobalVsphereOptsFieldWorkingDir = "working-dir" +) + +type GlobalVsphereOpts struct { + Datacenter string `json:"datacenter,omitempty" yaml:"datacenter,omitempty"` + Datacenters string `json:"datacenters,omitempty" yaml:"datacenters,omitempty"` + DefaultDatastore string `json:"datastore,omitempty" yaml:"datastore,omitempty"` + InsecureFlag bool `json:"insecure-flag,omitempty" yaml:"insecure-flag,omitempty"` + Password string `json:"password,omitempty" yaml:"password,omitempty"` + RoundTripperCount int64 `json:"soap-roundtrip-count,omitempty" yaml:"soap-roundtrip-count,omitempty"` + User string `json:"user,omitempty" yaml:"user,omitempty"` + VCenterIP string `json:"server,omitempty" yaml:"server,omitempty"` + VCenterPort string `json:"port,omitempty" yaml:"port,omitempty"` + VMName string `json:"vm-name,omitempty" yaml:"vm-name,omitempty"` + VMUUID string `json:"vm-uuid,omitempty" yaml:"vm-uuid,omitempty"` + WorkingDir string `json:"working-dir,omitempty" yaml:"working-dir,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_glusterfs_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_glusterfs_volume_source.go new file mode 100644 index 000000000..fa5900b3f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_glusterfs_volume_source.go @@ -0,0 +1,14 @@ +package client + +const ( + GlusterfsVolumeSourceType = "glusterfsVolumeSource" + GlusterfsVolumeSourceFieldEndpointsName = "endpoints" + GlusterfsVolumeSourceFieldPath = "path" + GlusterfsVolumeSourceFieldReadOnly = "readOnly" +) + +type GlusterfsVolumeSource struct { + EndpointsName string `json:"endpoints,omitempty" yaml:"endpoints,omitempty"` + Path string `json:"path,omitempty" yaml:"path,omitempty"` + ReadOnly bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_google_oauth_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_google_oauth_config.go new file mode 100644 index 000000000..f44142293 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_google_oauth_config.go @@ -0,0 +1,46 @@ +package client + +const ( + GoogleOauthConfigType = "googleOauthConfig" + GoogleOauthConfigFieldAccessMode = "accessMode" + GoogleOauthConfigFieldAdminEmail = "adminEmail" + GoogleOauthConfigFieldAllowedPrincipalIDs = "allowedPrincipalIds" + GoogleOauthConfigFieldAnnotations = "annotations" + GoogleOauthConfigFieldCreated = "created" + GoogleOauthConfigFieldCreatorID = "creatorId" + GoogleOauthConfigFieldEnabled = "enabled" + GoogleOauthConfigFieldHostname = "hostname" + GoogleOauthConfigFieldLabels = "labels" + GoogleOauthConfigFieldName = "name" + GoogleOauthConfigFieldNestedGroupMembershipEnabled = "nestedGroupMembershipEnabled" + GoogleOauthConfigFieldOauthCredential = "oauthCredential" + GoogleOauthConfigFieldOwnerReferences = "ownerReferences" + GoogleOauthConfigFieldRemoved = "removed" + GoogleOauthConfigFieldServiceAccountCredential = "serviceAccountCredential" + GoogleOauthConfigFieldStatus = "status" + GoogleOauthConfigFieldType = "type" + GoogleOauthConfigFieldUUID = "uuid" + GoogleOauthConfigFieldUserInfoEndpoint = "userInfoEndpoint" +) + +type GoogleOauthConfig struct { + AccessMode string `json:"accessMode,omitempty" yaml:"accessMode,omitempty"` + AdminEmail string `json:"adminEmail,omitempty" yaml:"adminEmail,omitempty"` + AllowedPrincipalIDs []string `json:"allowedPrincipalIds,omitempty" yaml:"allowedPrincipalIds,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + Hostname string `json:"hostname,omitempty" yaml:"hostname,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NestedGroupMembershipEnabled bool `json:"nestedGroupMembershipEnabled,omitempty" yaml:"nestedGroupMembershipEnabled,omitempty"` + OauthCredential string `json:"oauthCredential,omitempty" yaml:"oauthCredential,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + ServiceAccountCredential string `json:"serviceAccountCredential,omitempty" yaml:"serviceAccountCredential,omitempty"` + Status *AuthConfigStatus `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UserInfoEndpoint string `json:"userInfoEndpoint,omitempty" yaml:"userInfoEndpoint,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_google_oauth_config_apply_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_google_oauth_config_apply_input.go new file mode 100644 index 000000000..9b5d8c586 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_google_oauth_config_apply_input.go @@ -0,0 +1,14 @@ +package client + +const ( + GoogleOauthConfigApplyInputType = "googleOauthConfigApplyInput" + GoogleOauthConfigApplyInputFieldCode = "code" + GoogleOauthConfigApplyInputFieldEnabled = "enabled" + GoogleOauthConfigApplyInputFieldGoogleOauthConfig = "googleOauthConfig" +) + +type GoogleOauthConfigApplyInput struct { + Code string `json:"code,omitempty" yaml:"code,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + GoogleOauthConfig *GoogleOauthConfig `json:"googleOauthConfig,omitempty" yaml:"googleOauthConfig,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_google_oauth_config_test_output.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_google_oauth_config_test_output.go new file mode 100644 index 000000000..941108c06 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_google_oauth_config_test_output.go @@ -0,0 +1,10 @@ +package client + +const ( + GoogleOauthConfigTestOutputType = "googleOauthConfigTestOutput" + GoogleOauthConfigTestOutputFieldRedirectURL = "redirectUrl" +) + +type GoogleOauthConfigTestOutput struct { + RedirectURL string `json:"redirectUrl,omitempty" yaml:"redirectUrl,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_group.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_group.go new file mode 100644 index 000000000..f14da72bc --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_group.go @@ -0,0 +1,118 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + GroupType = "group" + GroupFieldAnnotations = "annotations" + GroupFieldCreated = "created" + GroupFieldCreatorID = "creatorId" + GroupFieldLabels = "labels" + GroupFieldName = "name" + GroupFieldOwnerReferences = "ownerReferences" + GroupFieldRemoved = "removed" + GroupFieldUUID = "uuid" +) + +type Group struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type GroupCollection struct { + types.Collection + Data []Group `json:"data,omitempty"` + client *GroupClient +} + +type GroupClient struct { + apiClient *Client +} + +type GroupOperations interface { + List(opts *types.ListOpts) (*GroupCollection, error) + ListAll(opts *types.ListOpts) (*GroupCollection, error) + Create(opts *Group) (*Group, error) + Update(existing *Group, updates interface{}) (*Group, error) + Replace(existing *Group) (*Group, error) + ByID(id string) (*Group, error) + Delete(container *Group) error +} + +func newGroupClient(apiClient *Client) *GroupClient { + return &GroupClient{ + apiClient: apiClient, + } +} + +func (c *GroupClient) Create(container *Group) (*Group, error) { + resp := &Group{} + err := c.apiClient.Ops.DoCreate(GroupType, container, resp) + return resp, err +} + +func (c *GroupClient) Update(existing *Group, updates interface{}) (*Group, error) { + resp := &Group{} + err := c.apiClient.Ops.DoUpdate(GroupType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *GroupClient) Replace(obj *Group) (*Group, error) { + resp := &Group{} + err := c.apiClient.Ops.DoReplace(GroupType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *GroupClient) List(opts *types.ListOpts) (*GroupCollection, error) { + resp := &GroupCollection{} + err := c.apiClient.Ops.DoList(GroupType, opts, resp) + resp.client = c + return resp, err +} + +func (c *GroupClient) ListAll(opts *types.ListOpts) (*GroupCollection, error) { + resp := &GroupCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *GroupCollection) Next() (*GroupCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &GroupCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *GroupClient) ByID(id string) (*Group, error) { + resp := &Group{} + err := c.apiClient.Ops.DoByID(GroupType, id, resp) + return resp, err +} + +func (c *GroupClient) Delete(container *Group) error { + return c.apiClient.Ops.DoResourceDelete(GroupType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_group_member.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_group_member.go new file mode 100644 index 000000000..bbcfe3466 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_group_member.go @@ -0,0 +1,122 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + GroupMemberType = "groupMember" + GroupMemberFieldAnnotations = "annotations" + GroupMemberFieldCreated = "created" + GroupMemberFieldCreatorID = "creatorId" + GroupMemberFieldGroupID = "groupId" + GroupMemberFieldLabels = "labels" + GroupMemberFieldName = "name" + GroupMemberFieldOwnerReferences = "ownerReferences" + GroupMemberFieldPrincipalID = "principalId" + GroupMemberFieldRemoved = "removed" + GroupMemberFieldUUID = "uuid" +) + +type GroupMember struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + GroupID string `json:"groupId,omitempty" yaml:"groupId,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + PrincipalID string `json:"principalId,omitempty" yaml:"principalId,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type GroupMemberCollection struct { + types.Collection + Data []GroupMember `json:"data,omitempty"` + client *GroupMemberClient +} + +type GroupMemberClient struct { + apiClient *Client +} + +type GroupMemberOperations interface { + List(opts *types.ListOpts) (*GroupMemberCollection, error) + ListAll(opts *types.ListOpts) (*GroupMemberCollection, error) + Create(opts *GroupMember) (*GroupMember, error) + Update(existing *GroupMember, updates interface{}) (*GroupMember, error) + Replace(existing *GroupMember) (*GroupMember, error) + ByID(id string) (*GroupMember, error) + Delete(container *GroupMember) error +} + +func newGroupMemberClient(apiClient *Client) *GroupMemberClient { + return &GroupMemberClient{ + apiClient: apiClient, + } +} + +func (c *GroupMemberClient) Create(container *GroupMember) (*GroupMember, error) { + resp := &GroupMember{} + err := c.apiClient.Ops.DoCreate(GroupMemberType, container, resp) + return resp, err +} + +func (c *GroupMemberClient) Update(existing *GroupMember, updates interface{}) (*GroupMember, error) { + resp := &GroupMember{} + err := c.apiClient.Ops.DoUpdate(GroupMemberType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *GroupMemberClient) Replace(obj *GroupMember) (*GroupMember, error) { + resp := &GroupMember{} + err := c.apiClient.Ops.DoReplace(GroupMemberType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *GroupMemberClient) List(opts *types.ListOpts) (*GroupMemberCollection, error) { + resp := &GroupMemberCollection{} + err := c.apiClient.Ops.DoList(GroupMemberType, opts, resp) + resp.client = c + return resp, err +} + +func (c *GroupMemberClient) ListAll(opts *types.ListOpts) (*GroupMemberCollection, error) { + resp := &GroupMemberCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *GroupMemberCollection) Next() (*GroupMemberCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &GroupMemberCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *GroupMemberClient) ByID(id string) (*GroupMember, error) { + resp := &GroupMember{} + err := c.apiClient.Ops.DoByID(GroupMemberType, id, resp) + return resp, err +} + +func (c *GroupMemberClient) Delete(container *GroupMember) error { + return c.apiClient.Ops.DoResourceDelete(GroupMemberType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_harvester_cloud_provider.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_harvester_cloud_provider.go new file mode 100644 index 000000000..4075744a5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_harvester_cloud_provider.go @@ -0,0 +1,10 @@ +package client + +const ( + HarvesterCloudProviderType = "harvesterCloudProvider" + HarvesterCloudProviderFieldCloudConfig = "cloudConfig" +) + +type HarvesterCloudProvider struct { + CloudConfig string `json:"cloudConfig,omitempty" yaml:"cloudConfig,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_health_check.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_health_check.go new file mode 100644 index 000000000..b7e8e5b6f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_health_check.go @@ -0,0 +1,10 @@ +package client + +const ( + HealthCheckType = "healthCheck" + HealthCheckFieldURL = "url" +) + +type HealthCheck struct { + URL string `json:"url,omitempty" yaml:"url,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_host_path_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_host_path_volume_source.go new file mode 100644 index 000000000..cbeffd336 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_host_path_volume_source.go @@ -0,0 +1,12 @@ +package client + +const ( + HostPathVolumeSourceType = "hostPathVolumeSource" + HostPathVolumeSourceFieldPath = "path" + HostPathVolumeSourceFieldType = "type" +) + +type HostPathVolumeSource struct { + Path string `json:"path,omitempty" yaml:"path,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_identity_configuration.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_identity_configuration.go new file mode 100644 index 000000000..1cc371d3f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_identity_configuration.go @@ -0,0 +1,8 @@ +package client + +const ( + IdentityConfigurationType = "identityConfiguration" +) + +type IdentityConfiguration struct { +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_import_cluster_yaml_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_import_cluster_yaml_input.go new file mode 100644 index 000000000..4bc36257f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_import_cluster_yaml_input.go @@ -0,0 +1,16 @@ +package client + +const ( + ImportClusterYamlInputType = "importClusterYamlInput" + ImportClusterYamlInputFieldDefaultNamespace = "defaultNamespace" + ImportClusterYamlInputFieldNamespace = "namespace" + ImportClusterYamlInputFieldProjectID = "projectId" + ImportClusterYamlInputFieldYAML = "yaml" +) + +type ImportClusterYamlInput struct { + DefaultNamespace string `json:"defaultNamespace,omitempty" yaml:"defaultNamespace,omitempty"` + Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty"` + ProjectID string `json:"projectId,omitempty" yaml:"projectId,omitempty"` + YAML string `json:"yaml,omitempty" yaml:"yaml,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_import_yaml_output.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_import_yaml_output.go new file mode 100644 index 000000000..7b4a2852a --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_import_yaml_output.go @@ -0,0 +1,10 @@ +package client + +const ( + ImportYamlOutputType = "importYamlOutput" + ImportYamlOutputFieldMessage = "message" +) + +type ImportYamlOutput struct { + Message string `json:"message,omitempty" yaml:"message,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_imported_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_imported_config.go new file mode 100644 index 000000000..b3a9699cc --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_imported_config.go @@ -0,0 +1,10 @@ +package client + +const ( + ImportedConfigType = "importedConfig" + ImportedConfigFieldKubeConfig = "kubeConfig" +) + +type ImportedConfig struct { + KubeConfig string `json:"kubeConfig,omitempty" yaml:"kubeConfig,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_info.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_info.go new file mode 100644 index 000000000..1f3715179 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_info.go @@ -0,0 +1,26 @@ +package client + +const ( + InfoType = "info" + InfoFieldBuildDate = "buildDate" + InfoFieldCompiler = "compiler" + InfoFieldGitCommit = "gitCommit" + InfoFieldGitTreeState = "gitTreeState" + InfoFieldGitVersion = "gitVersion" + InfoFieldGoVersion = "goVersion" + InfoFieldMajor = "major" + InfoFieldMinor = "minor" + InfoFieldPlatform = "platform" +) + +type Info struct { + BuildDate string `json:"buildDate,omitempty" yaml:"buildDate,omitempty"` + Compiler string `json:"compiler,omitempty" yaml:"compiler,omitempty"` + GitCommit string `json:"gitCommit,omitempty" yaml:"gitCommit,omitempty"` + GitTreeState string `json:"gitTreeState,omitempty" yaml:"gitTreeState,omitempty"` + GitVersion string `json:"gitVersion,omitempty" yaml:"gitVersion,omitempty"` + GoVersion string `json:"goVersion,omitempty" yaml:"goVersion,omitempty"` + Major string `json:"major,omitempty" yaml:"major,omitempty"` + Minor string `json:"minor,omitempty" yaml:"minor,omitempty"` + Platform string `json:"platform,omitempty" yaml:"platform,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ingress_capabilities.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ingress_capabilities.go new file mode 100644 index 000000000..ff678cd70 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ingress_capabilities.go @@ -0,0 +1,12 @@ +package client + +const ( + IngressCapabilitiesType = "ingressCapabilities" + IngressCapabilitiesFieldCustomDefaultBackend = "customDefaultBackend" + IngressCapabilitiesFieldIngressProvider = "ingressProvider" +) + +type IngressCapabilities struct { + CustomDefaultBackend *bool `json:"customDefaultBackend,omitempty" yaml:"customDefaultBackend,omitempty"` + IngressProvider string `json:"ingressProvider,omitempty" yaml:"ingressProvider,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ingress_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ingress_config.go new file mode 100644 index 000000000..ac1057987 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ingress_config.go @@ -0,0 +1,42 @@ +package client + +const ( + IngressConfigType = "ingressConfig" + IngressConfigFieldDNSPolicy = "dnsPolicy" + IngressConfigFieldDefaultBackend = "defaultBackend" + IngressConfigFieldDefaultHTTPBackendPriorityClassName = "defaultHttpBackendPriorityClassName" + IngressConfigFieldDefaultIngressClass = "defaultIngressClass" + IngressConfigFieldExtraArgs = "extraArgs" + IngressConfigFieldExtraEnvs = "extraEnvs" + IngressConfigFieldExtraVolumeMounts = "extraVolumeMounts" + IngressConfigFieldExtraVolumes = "extraVolumes" + IngressConfigFieldHTTPPort = "httpPort" + IngressConfigFieldHTTPSPort = "httpsPort" + IngressConfigFieldNetworkMode = "networkMode" + IngressConfigFieldNginxIngressControllerPriorityClassName = "nginxIngressControllerPriorityClassName" + IngressConfigFieldNodeSelector = "nodeSelector" + IngressConfigFieldOptions = "options" + IngressConfigFieldProvider = "provider" + IngressConfigFieldTolerations = "tolerations" + IngressConfigFieldUpdateStrategy = "updateStrategy" +) + +type IngressConfig struct { + DNSPolicy string `json:"dnsPolicy,omitempty" yaml:"dnsPolicy,omitempty"` + DefaultBackend *bool `json:"defaultBackend,omitempty" yaml:"defaultBackend,omitempty"` + DefaultHTTPBackendPriorityClassName string `json:"defaultHttpBackendPriorityClassName,omitempty" yaml:"defaultHttpBackendPriorityClassName,omitempty"` + DefaultIngressClass *bool `json:"defaultIngressClass,omitempty" yaml:"defaultIngressClass,omitempty"` + ExtraArgs map[string]string `json:"extraArgs,omitempty" yaml:"extraArgs,omitempty"` + ExtraEnvs []interface{} `json:"extraEnvs,omitempty" yaml:"extraEnvs,omitempty"` + ExtraVolumeMounts []interface{} `json:"extraVolumeMounts,omitempty" yaml:"extraVolumeMounts,omitempty"` + ExtraVolumes []interface{} `json:"extraVolumes,omitempty" yaml:"extraVolumes,omitempty"` + HTTPPort int64 `json:"httpPort,omitempty" yaml:"httpPort,omitempty"` + HTTPSPort int64 `json:"httpsPort,omitempty" yaml:"httpsPort,omitempty"` + NetworkMode string `json:"networkMode,omitempty" yaml:"networkMode,omitempty"` + NginxIngressControllerPriorityClassName string `json:"nginxIngressControllerPriorityClassName,omitempty" yaml:"nginxIngressControllerPriorityClassName,omitempty"` + NodeSelector map[string]string `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty"` + Options map[string]string `json:"options,omitempty" yaml:"options,omitempty"` + Provider string `json:"provider,omitempty" yaml:"provider,omitempty"` + Tolerations []Toleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty"` + UpdateStrategy *DaemonSetUpdateStrategy `json:"updateStrategy,omitempty" yaml:"updateStrategy,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_internal_node_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_internal_node_spec.go new file mode 100644 index 000000000..ced92343f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_internal_node_spec.go @@ -0,0 +1,18 @@ +package client + +const ( + InternalNodeSpecType = "internalNodeSpec" + InternalNodeSpecFieldPodCidr = "podCidr" + InternalNodeSpecFieldPodCidrs = "podCidrs" + InternalNodeSpecFieldProviderId = "providerId" + InternalNodeSpecFieldTaints = "taints" + InternalNodeSpecFieldUnschedulable = "unschedulable" +) + +type InternalNodeSpec struct { + PodCidr string `json:"podCidr,omitempty" yaml:"podCidr,omitempty"` + PodCidrs []string `json:"podCidrs,omitempty" yaml:"podCidrs,omitempty"` + ProviderId string `json:"providerId,omitempty" yaml:"providerId,omitempty"` + Taints []Taint `json:"taints,omitempty" yaml:"taints,omitempty"` + Unschedulable bool `json:"unschedulable,omitempty" yaml:"unschedulable,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_internal_node_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_internal_node_status.go new file mode 100644 index 000000000..7515d504e --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_internal_node_status.go @@ -0,0 +1,30 @@ +package client + +const ( + InternalNodeStatusType = "internalNodeStatus" + InternalNodeStatusFieldAllocatable = "allocatable" + InternalNodeStatusFieldCapacity = "capacity" + InternalNodeStatusFieldConfig = "config" + InternalNodeStatusFieldExternalIPAddress = "externalIpAddress" + InternalNodeStatusFieldHostname = "hostname" + InternalNodeStatusFieldIPAddress = "ipAddress" + InternalNodeStatusFieldInfo = "info" + InternalNodeStatusFieldNodeConditions = "nodeConditions" + InternalNodeStatusFieldRuntimeHandlers = "runtimeHandlers" + InternalNodeStatusFieldVolumesAttached = "volumesAttached" + InternalNodeStatusFieldVolumesInUse = "volumesInUse" +) + +type InternalNodeStatus struct { + Allocatable map[string]string `json:"allocatable,omitempty" yaml:"allocatable,omitempty"` + Capacity map[string]string `json:"capacity,omitempty" yaml:"capacity,omitempty"` + Config *NodeConfigStatus `json:"config,omitempty" yaml:"config,omitempty"` + ExternalIPAddress string `json:"externalIpAddress,omitempty" yaml:"externalIpAddress,omitempty"` + Hostname string `json:"hostname,omitempty" yaml:"hostname,omitempty"` + IPAddress string `json:"ipAddress,omitempty" yaml:"ipAddress,omitempty"` + Info *NodeInfo `json:"info,omitempty" yaml:"info,omitempty"` + NodeConditions []NodeCondition `json:"nodeConditions,omitempty" yaml:"nodeConditions,omitempty"` + RuntimeHandlers []NodeRuntimeHandler `json:"runtimeHandlers,omitempty" yaml:"runtimeHandlers,omitempty"` + VolumesAttached map[string]AttachedVolume `json:"volumesAttached,omitempty" yaml:"volumesAttached,omitempty"` + VolumesInUse []string `json:"volumesInUse,omitempty" yaml:"volumesInUse,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_iscsi_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_iscsi_volume_source.go new file mode 100644 index 000000000..ef0762070 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_iscsi_volume_source.go @@ -0,0 +1,30 @@ +package client + +const ( + ISCSIVolumeSourceType = "iscsiVolumeSource" + ISCSIVolumeSourceFieldDiscoveryCHAPAuth = "chapAuthDiscovery" + ISCSIVolumeSourceFieldFSType = "fsType" + ISCSIVolumeSourceFieldIQN = "iqn" + ISCSIVolumeSourceFieldISCSIInterface = "iscsiInterface" + ISCSIVolumeSourceFieldInitiatorName = "initiatorName" + ISCSIVolumeSourceFieldLun = "lun" + ISCSIVolumeSourceFieldPortals = "portals" + ISCSIVolumeSourceFieldReadOnly = "readOnly" + ISCSIVolumeSourceFieldSecretRef = "secretRef" + ISCSIVolumeSourceFieldSessionCHAPAuth = "chapAuthSession" + ISCSIVolumeSourceFieldTargetPortal = "targetPortal" +) + +type ISCSIVolumeSource struct { + DiscoveryCHAPAuth bool `json:"chapAuthDiscovery,omitempty" yaml:"chapAuthDiscovery,omitempty"` + FSType string `json:"fsType,omitempty" yaml:"fsType,omitempty"` + IQN string `json:"iqn,omitempty" yaml:"iqn,omitempty"` + ISCSIInterface string `json:"iscsiInterface,omitempty" yaml:"iscsiInterface,omitempty"` + InitiatorName string `json:"initiatorName,omitempty" yaml:"initiatorName,omitempty"` + Lun int64 `json:"lun,omitempty" yaml:"lun,omitempty"` + Portals []string `json:"portals,omitempty" yaml:"portals,omitempty"` + ReadOnly bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` + SecretRef *LocalObjectReference `json:"secretRef,omitempty" yaml:"secretRef,omitempty"` + SessionCHAPAuth bool `json:"chapAuthSession,omitempty" yaml:"chapAuthSession,omitempty"` + TargetPortal string `json:"targetPortal,omitempty" yaml:"targetPortal,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_k3s_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_k3s_config.go new file mode 100644 index 000000000..425cbd73f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_k3s_config.go @@ -0,0 +1,12 @@ +package client + +const ( + K3sConfigType = "k3sConfig" + K3sConfigFieldClusterUpgradeStrategy = "k3supgradeStrategy" + K3sConfigFieldVersion = "kubernetesVersion" +) + +type K3sConfig struct { + ClusterUpgradeStrategy *ClusterUpgradeStrategy `json:"k3supgradeStrategy,omitempty" yaml:"k3supgradeStrategy,omitempty"` + Version string `json:"kubernetesVersion,omitempty" yaml:"kubernetesVersion,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_key.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_key.go new file mode 100644 index 000000000..0aa9ed6e7 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_key.go @@ -0,0 +1,12 @@ +package client + +const ( + KeyType = "key" + KeyFieldName = "name" + KeyFieldSecret = "secret" +) + +type Key struct { + Name string `json:"name,omitempty" yaml:"name,omitempty"` + Secret string `json:"secret,omitempty" yaml:"secret,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_key_cloak_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_key_cloak_config.go new file mode 100644 index 000000000..7a2b3925f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_key_cloak_config.go @@ -0,0 +1,52 @@ +package client + +const ( + KeyCloakConfigType = "keyCloakConfig" + KeyCloakConfigFieldAccessMode = "accessMode" + KeyCloakConfigFieldAllowedPrincipalIDs = "allowedPrincipalIds" + KeyCloakConfigFieldAnnotations = "annotations" + KeyCloakConfigFieldCreated = "created" + KeyCloakConfigFieldCreatorID = "creatorId" + KeyCloakConfigFieldDisplayNameField = "displayNameField" + KeyCloakConfigFieldEnabled = "enabled" + KeyCloakConfigFieldEntityID = "entityID" + KeyCloakConfigFieldGroupsField = "groupsField" + KeyCloakConfigFieldIDPMetadataContent = "idpMetadataContent" + KeyCloakConfigFieldLabels = "labels" + KeyCloakConfigFieldName = "name" + KeyCloakConfigFieldOwnerReferences = "ownerReferences" + KeyCloakConfigFieldRancherAPIHost = "rancherApiHost" + KeyCloakConfigFieldRemoved = "removed" + KeyCloakConfigFieldSpCert = "spCert" + KeyCloakConfigFieldSpKey = "spKey" + KeyCloakConfigFieldStatus = "status" + KeyCloakConfigFieldType = "type" + KeyCloakConfigFieldUIDField = "uidField" + KeyCloakConfigFieldUUID = "uuid" + KeyCloakConfigFieldUserNameField = "userNameField" +) + +type KeyCloakConfig struct { + AccessMode string `json:"accessMode,omitempty" yaml:"accessMode,omitempty"` + AllowedPrincipalIDs []string `json:"allowedPrincipalIds,omitempty" yaml:"allowedPrincipalIds,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + DisplayNameField string `json:"displayNameField,omitempty" yaml:"displayNameField,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + EntityID string `json:"entityID,omitempty" yaml:"entityID,omitempty"` + GroupsField string `json:"groupsField,omitempty" yaml:"groupsField,omitempty"` + IDPMetadataContent string `json:"idpMetadataContent,omitempty" yaml:"idpMetadataContent,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + RancherAPIHost string `json:"rancherApiHost,omitempty" yaml:"rancherApiHost,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + SpCert string `json:"spCert,omitempty" yaml:"spCert,omitempty"` + SpKey string `json:"spKey,omitempty" yaml:"spKey,omitempty"` + Status *AuthConfigStatus `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + UIDField string `json:"uidField,omitempty" yaml:"uidField,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UserNameField string `json:"userNameField,omitempty" yaml:"userNameField,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_key_cloak_oidcconfig.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_key_cloak_oidcconfig.go new file mode 100644 index 000000000..522b444b0 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_key_cloak_oidcconfig.go @@ -0,0 +1,62 @@ +package client + +const ( + KeyCloakOIDCConfigType = "keyCloakOIDCConfig" + KeyCloakOIDCConfigFieldAccessMode = "accessMode" + KeyCloakOIDCConfigFieldAcrValue = "acrValue" + KeyCloakOIDCConfigFieldAllowedPrincipalIDs = "allowedPrincipalIds" + KeyCloakOIDCConfigFieldAnnotations = "annotations" + KeyCloakOIDCConfigFieldAuthEndpoint = "authEndpoint" + KeyCloakOIDCConfigFieldCertificate = "certificate" + KeyCloakOIDCConfigFieldClientID = "clientId" + KeyCloakOIDCConfigFieldClientSecret = "clientSecret" + KeyCloakOIDCConfigFieldCreated = "created" + KeyCloakOIDCConfigFieldCreatorID = "creatorId" + KeyCloakOIDCConfigFieldEnabled = "enabled" + KeyCloakOIDCConfigFieldGroupSearchEnabled = "groupSearchEnabled" + KeyCloakOIDCConfigFieldGroupsClaim = "groupsClaim" + KeyCloakOIDCConfigFieldIssuer = "issuer" + KeyCloakOIDCConfigFieldJWKSUrl = "jwksUrl" + KeyCloakOIDCConfigFieldLabels = "labels" + KeyCloakOIDCConfigFieldName = "name" + KeyCloakOIDCConfigFieldOwnerReferences = "ownerReferences" + KeyCloakOIDCConfigFieldPrivateKey = "privateKey" + KeyCloakOIDCConfigFieldRancherURL = "rancherUrl" + KeyCloakOIDCConfigFieldRemoved = "removed" + KeyCloakOIDCConfigFieldScopes = "scope" + KeyCloakOIDCConfigFieldStatus = "status" + KeyCloakOIDCConfigFieldTokenEndpoint = "tokenEndpoint" + KeyCloakOIDCConfigFieldType = "type" + KeyCloakOIDCConfigFieldUUID = "uuid" + KeyCloakOIDCConfigFieldUserInfoEndpoint = "userInfoEndpoint" +) + +type KeyCloakOIDCConfig struct { + AccessMode string `json:"accessMode,omitempty" yaml:"accessMode,omitempty"` + AcrValue string `json:"acrValue,omitempty" yaml:"acrValue,omitempty"` + AllowedPrincipalIDs []string `json:"allowedPrincipalIds,omitempty" yaml:"allowedPrincipalIds,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + AuthEndpoint string `json:"authEndpoint,omitempty" yaml:"authEndpoint,omitempty"` + Certificate string `json:"certificate,omitempty" yaml:"certificate,omitempty"` + ClientID string `json:"clientId,omitempty" yaml:"clientId,omitempty"` + ClientSecret string `json:"clientSecret,omitempty" yaml:"clientSecret,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + GroupSearchEnabled *bool `json:"groupSearchEnabled,omitempty" yaml:"groupSearchEnabled,omitempty"` + GroupsClaim string `json:"groupsClaim,omitempty" yaml:"groupsClaim,omitempty"` + Issuer string `json:"issuer,omitempty" yaml:"issuer,omitempty"` + JWKSUrl string `json:"jwksUrl,omitempty" yaml:"jwksUrl,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + PrivateKey string `json:"privateKey,omitempty" yaml:"privateKey,omitempty"` + RancherURL string `json:"rancherUrl,omitempty" yaml:"rancherUrl,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + Scopes string `json:"scope,omitempty" yaml:"scope,omitempty"` + Status *AuthConfigStatus `json:"status,omitempty" yaml:"status,omitempty"` + TokenEndpoint string `json:"tokenEndpoint,omitempty" yaml:"tokenEndpoint,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UserInfoEndpoint string `json:"userInfoEndpoint,omitempty" yaml:"userInfoEndpoint,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_key_to_path.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_key_to_path.go new file mode 100644 index 000000000..de4ae6072 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_key_to_path.go @@ -0,0 +1,14 @@ +package client + +const ( + KeyToPathType = "keyToPath" + KeyToPathFieldKey = "key" + KeyToPathFieldMode = "mode" + KeyToPathFieldPath = "path" +) + +type KeyToPath struct { + Key string `json:"key,omitempty" yaml:"key,omitempty"` + Mode *int64 `json:"mode,omitempty" yaml:"mode,omitempty"` + Path string `json:"path,omitempty" yaml:"path,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kms_configuration.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kms_configuration.go new file mode 100644 index 000000000..74ea0ed12 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kms_configuration.go @@ -0,0 +1,18 @@ +package client + +const ( + KMSConfigurationType = "kmsConfiguration" + KMSConfigurationFieldAPIVersion = "apiVersion" + KMSConfigurationFieldCacheSize = "cachesize" + KMSConfigurationFieldEndpoint = "endpoint" + KMSConfigurationFieldName = "name" + KMSConfigurationFieldTimeout = "timeout" +) + +type KMSConfiguration struct { + APIVersion string `json:"apiVersion,omitempty" yaml:"apiVersion,omitempty"` + CacheSize *int64 `json:"cachesize,omitempty" yaml:"cachesize,omitempty"` + Endpoint string `json:"endpoint,omitempty" yaml:"endpoint,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + Timeout *Duration `json:"timeout,omitempty" yaml:"timeout,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kontainer_driver.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kontainer_driver.go new file mode 100644 index 000000000..319d68a0c --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kontainer_driver.go @@ -0,0 +1,163 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + KontainerDriverType = "kontainerDriver" + KontainerDriverFieldActive = "active" + KontainerDriverFieldActualURL = "actualUrl" + KontainerDriverFieldAnnotations = "annotations" + KontainerDriverFieldBuiltIn = "builtIn" + KontainerDriverFieldChecksum = "checksum" + KontainerDriverFieldConditions = "conditions" + KontainerDriverFieldCreated = "created" + KontainerDriverFieldCreatorID = "creatorId" + KontainerDriverFieldExecutablePath = "executablePath" + KontainerDriverFieldLabels = "labels" + KontainerDriverFieldName = "name" + KontainerDriverFieldOwnerReferences = "ownerReferences" + KontainerDriverFieldRemoved = "removed" + KontainerDriverFieldState = "state" + KontainerDriverFieldTransitioning = "transitioning" + KontainerDriverFieldTransitioningMessage = "transitioningMessage" + KontainerDriverFieldUIURL = "uiUrl" + KontainerDriverFieldURL = "url" + KontainerDriverFieldUUID = "uuid" + KontainerDriverFieldWhitelistDomains = "whitelistDomains" +) + +type KontainerDriver struct { + types.Resource + Active bool `json:"active,omitempty" yaml:"active,omitempty"` + ActualURL string `json:"actualUrl,omitempty" yaml:"actualUrl,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + BuiltIn bool `json:"builtIn,omitempty" yaml:"builtIn,omitempty"` + Checksum string `json:"checksum,omitempty" yaml:"checksum,omitempty"` + Conditions []Condition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + ExecutablePath string `json:"executablePath,omitempty" yaml:"executablePath,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UIURL string `json:"uiUrl,omitempty" yaml:"uiUrl,omitempty"` + URL string `json:"url,omitempty" yaml:"url,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + WhitelistDomains []string `json:"whitelistDomains,omitempty" yaml:"whitelistDomains,omitempty"` +} + +type KontainerDriverCollection struct { + types.Collection + Data []KontainerDriver `json:"data,omitempty"` + client *KontainerDriverClient +} + +type KontainerDriverClient struct { + apiClient *Client +} + +type KontainerDriverOperations interface { + List(opts *types.ListOpts) (*KontainerDriverCollection, error) + ListAll(opts *types.ListOpts) (*KontainerDriverCollection, error) + Create(opts *KontainerDriver) (*KontainerDriver, error) + Update(existing *KontainerDriver, updates interface{}) (*KontainerDriver, error) + Replace(existing *KontainerDriver) (*KontainerDriver, error) + ByID(id string) (*KontainerDriver, error) + Delete(container *KontainerDriver) error + + ActionActivate(resource *KontainerDriver) error + + ActionDeactivate(resource *KontainerDriver) error + + CollectionActionRefresh(resource *KontainerDriverCollection) error +} + +func newKontainerDriverClient(apiClient *Client) *KontainerDriverClient { + return &KontainerDriverClient{ + apiClient: apiClient, + } +} + +func (c *KontainerDriverClient) Create(container *KontainerDriver) (*KontainerDriver, error) { + resp := &KontainerDriver{} + err := c.apiClient.Ops.DoCreate(KontainerDriverType, container, resp) + return resp, err +} + +func (c *KontainerDriverClient) Update(existing *KontainerDriver, updates interface{}) (*KontainerDriver, error) { + resp := &KontainerDriver{} + err := c.apiClient.Ops.DoUpdate(KontainerDriverType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *KontainerDriverClient) Replace(obj *KontainerDriver) (*KontainerDriver, error) { + resp := &KontainerDriver{} + err := c.apiClient.Ops.DoReplace(KontainerDriverType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *KontainerDriverClient) List(opts *types.ListOpts) (*KontainerDriverCollection, error) { + resp := &KontainerDriverCollection{} + err := c.apiClient.Ops.DoList(KontainerDriverType, opts, resp) + resp.client = c + return resp, err +} + +func (c *KontainerDriverClient) ListAll(opts *types.ListOpts) (*KontainerDriverCollection, error) { + resp := &KontainerDriverCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *KontainerDriverCollection) Next() (*KontainerDriverCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &KontainerDriverCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *KontainerDriverClient) ByID(id string) (*KontainerDriver, error) { + resp := &KontainerDriver{} + err := c.apiClient.Ops.DoByID(KontainerDriverType, id, resp) + return resp, err +} + +func (c *KontainerDriverClient) Delete(container *KontainerDriver) error { + return c.apiClient.Ops.DoResourceDelete(KontainerDriverType, &container.Resource) +} + +func (c *KontainerDriverClient) ActionActivate(resource *KontainerDriver) error { + err := c.apiClient.Ops.DoAction(KontainerDriverType, "activate", &resource.Resource, nil, nil) + return err +} + +func (c *KontainerDriverClient) ActionDeactivate(resource *KontainerDriver) error { + err := c.apiClient.Ops.DoAction(KontainerDriverType, "deactivate", &resource.Resource, nil, nil) + return err +} + +func (c *KontainerDriverClient) CollectionActionRefresh(resource *KontainerDriverCollection) error { + err := c.apiClient.Ops.DoCollectionAction(KontainerDriverType, "refresh", &resource.Collection, nil, nil) + return err +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kontainer_driver_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kontainer_driver_spec.go new file mode 100644 index 000000000..985f7d981 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kontainer_driver_spec.go @@ -0,0 +1,20 @@ +package client + +const ( + KontainerDriverSpecType = "kontainerDriverSpec" + KontainerDriverSpecFieldActive = "active" + KontainerDriverSpecFieldBuiltIn = "builtIn" + KontainerDriverSpecFieldChecksum = "checksum" + KontainerDriverSpecFieldUIURL = "uiUrl" + KontainerDriverSpecFieldURL = "url" + KontainerDriverSpecFieldWhitelistDomains = "whitelistDomains" +) + +type KontainerDriverSpec struct { + Active bool `json:"active,omitempty" yaml:"active,omitempty"` + BuiltIn bool `json:"builtIn,omitempty" yaml:"builtIn,omitempty"` + Checksum string `json:"checksum,omitempty" yaml:"checksum,omitempty"` + UIURL string `json:"uiUrl,omitempty" yaml:"uiUrl,omitempty"` + URL string `json:"url,omitempty" yaml:"url,omitempty"` + WhitelistDomains []string `json:"whitelistDomains,omitempty" yaml:"whitelistDomains,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kontainer_driver_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kontainer_driver_status.go new file mode 100644 index 000000000..9ea025d69 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kontainer_driver_status.go @@ -0,0 +1,16 @@ +package client + +const ( + KontainerDriverStatusType = "kontainerDriverStatus" + KontainerDriverStatusFieldActualURL = "actualUrl" + KontainerDriverStatusFieldConditions = "conditions" + KontainerDriverStatusFieldDisplayName = "displayName" + KontainerDriverStatusFieldExecutablePath = "executablePath" +) + +type KontainerDriverStatus struct { + ActualURL string `json:"actualUrl,omitempty" yaml:"actualUrl,omitempty"` + Conditions []Condition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"` + ExecutablePath string `json:"executablePath,omitempty" yaml:"executablePath,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kube_apiservice.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kube_apiservice.go new file mode 100644 index 000000000..b55abd857 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kube_apiservice.go @@ -0,0 +1,42 @@ +package client + +const ( + KubeAPIServiceType = "kubeAPIService" + KubeAPIServiceFieldAdmissionConfiguration = "admissionConfiguration" + KubeAPIServiceFieldAlwaysPullImages = "alwaysPullImages" + KubeAPIServiceFieldAuditLog = "auditLog" + KubeAPIServiceFieldEventRateLimit = "eventRateLimit" + KubeAPIServiceFieldExtraArgs = "extraArgs" + KubeAPIServiceFieldExtraArgsArray = "extraArgsArray" + KubeAPIServiceFieldExtraBinds = "extraBinds" + KubeAPIServiceFieldExtraEnv = "extraEnv" + KubeAPIServiceFieldImage = "image" + KubeAPIServiceFieldPodSecurityConfiguration = "podSecurityConfiguration" + KubeAPIServiceFieldSecretsEncryptionConfig = "secretsEncryptionConfig" + KubeAPIServiceFieldServiceClusterIPRange = "serviceClusterIpRange" + KubeAPIServiceFieldServiceNodePortRange = "serviceNodePortRange" + KubeAPIServiceFieldWindowsExtraArgs = "winExtraArgs" + KubeAPIServiceFieldWindowsExtraArgsArray = "winExtraArgsArray" + KubeAPIServiceFieldWindowsExtraBinds = "winExtraBinds" + KubeAPIServiceFieldWindowsExtraEnv = "winExtraEnv" +) + +type KubeAPIService struct { + AdmissionConfiguration map[string]interface{} `json:"admissionConfiguration,omitempty" yaml:"admissionConfiguration,omitempty"` + AlwaysPullImages bool `json:"alwaysPullImages,omitempty" yaml:"alwaysPullImages,omitempty"` + AuditLog *AuditLog `json:"auditLog,omitempty" yaml:"auditLog,omitempty"` + EventRateLimit *EventRateLimit `json:"eventRateLimit,omitempty" yaml:"eventRateLimit,omitempty"` + ExtraArgs map[string]string `json:"extraArgs,omitempty" yaml:"extraArgs,omitempty"` + ExtraArgsArray map[string][]string `json:"extraArgsArray,omitempty" yaml:"extraArgsArray,omitempty"` + ExtraBinds []string `json:"extraBinds,omitempty" yaml:"extraBinds,omitempty"` + ExtraEnv []string `json:"extraEnv,omitempty" yaml:"extraEnv,omitempty"` + Image string `json:"image,omitempty" yaml:"image,omitempty"` + PodSecurityConfiguration string `json:"podSecurityConfiguration,omitempty" yaml:"podSecurityConfiguration,omitempty"` + SecretsEncryptionConfig *SecretsEncryptionConfig `json:"secretsEncryptionConfig,omitempty" yaml:"secretsEncryptionConfig,omitempty"` + ServiceClusterIPRange string `json:"serviceClusterIpRange,omitempty" yaml:"serviceClusterIpRange,omitempty"` + ServiceNodePortRange string `json:"serviceNodePortRange,omitempty" yaml:"serviceNodePortRange,omitempty"` + WindowsExtraArgs map[string]string `json:"winExtraArgs,omitempty" yaml:"winExtraArgs,omitempty"` + WindowsExtraArgsArray map[string][]string `json:"winExtraArgsArray,omitempty" yaml:"winExtraArgsArray,omitempty"` + WindowsExtraBinds []string `json:"winExtraBinds,omitempty" yaml:"winExtraBinds,omitempty"` + WindowsExtraEnv []string `json:"winExtraEnv,omitempty" yaml:"winExtraEnv,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kube_controller_service.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kube_controller_service.go new file mode 100644 index 000000000..304cecf82 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kube_controller_service.go @@ -0,0 +1,30 @@ +package client + +const ( + KubeControllerServiceType = "kubeControllerService" + KubeControllerServiceFieldClusterCIDR = "clusterCidr" + KubeControllerServiceFieldExtraArgs = "extraArgs" + KubeControllerServiceFieldExtraArgsArray = "extraArgsArray" + KubeControllerServiceFieldExtraBinds = "extraBinds" + KubeControllerServiceFieldExtraEnv = "extraEnv" + KubeControllerServiceFieldImage = "image" + KubeControllerServiceFieldServiceClusterIPRange = "serviceClusterIpRange" + KubeControllerServiceFieldWindowsExtraArgs = "winExtraArgs" + KubeControllerServiceFieldWindowsExtraArgsArray = "winExtraArgsArray" + KubeControllerServiceFieldWindowsExtraBinds = "winExtraBinds" + KubeControllerServiceFieldWindowsExtraEnv = "winExtraEnv" +) + +type KubeControllerService struct { + ClusterCIDR string `json:"clusterCidr,omitempty" yaml:"clusterCidr,omitempty"` + ExtraArgs map[string]string `json:"extraArgs,omitempty" yaml:"extraArgs,omitempty"` + ExtraArgsArray map[string][]string `json:"extraArgsArray,omitempty" yaml:"extraArgsArray,omitempty"` + ExtraBinds []string `json:"extraBinds,omitempty" yaml:"extraBinds,omitempty"` + ExtraEnv []string `json:"extraEnv,omitempty" yaml:"extraEnv,omitempty"` + Image string `json:"image,omitempty" yaml:"image,omitempty"` + ServiceClusterIPRange string `json:"serviceClusterIpRange,omitempty" yaml:"serviceClusterIpRange,omitempty"` + WindowsExtraArgs map[string]string `json:"winExtraArgs,omitempty" yaml:"winExtraArgs,omitempty"` + WindowsExtraArgsArray map[string][]string `json:"winExtraArgsArray,omitempty" yaml:"winExtraArgsArray,omitempty"` + WindowsExtraBinds []string `json:"winExtraBinds,omitempty" yaml:"winExtraBinds,omitempty"` + WindowsExtraEnv []string `json:"winExtraEnv,omitempty" yaml:"winExtraEnv,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kubelet_service.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kubelet_service.go new file mode 100644 index 000000000..7474a10d4 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kubelet_service.go @@ -0,0 +1,36 @@ +package client + +const ( + KubeletServiceType = "kubeletService" + KubeletServiceFieldClusterDNSServer = "clusterDnsServer" + KubeletServiceFieldClusterDomain = "clusterDomain" + KubeletServiceFieldExtraArgs = "extraArgs" + KubeletServiceFieldExtraArgsArray = "extraArgsArray" + KubeletServiceFieldExtraBinds = "extraBinds" + KubeletServiceFieldExtraEnv = "extraEnv" + KubeletServiceFieldFailSwapOn = "failSwapOn" + KubeletServiceFieldGenerateServingCertificate = "generateServingCertificate" + KubeletServiceFieldImage = "image" + KubeletServiceFieldInfraContainerImage = "infraContainerImage" + KubeletServiceFieldWindowsExtraArgs = "winExtraArgs" + KubeletServiceFieldWindowsExtraArgsArray = "winExtraArgsArray" + KubeletServiceFieldWindowsExtraBinds = "winExtraBinds" + KubeletServiceFieldWindowsExtraEnv = "winExtraEnv" +) + +type KubeletService struct { + ClusterDNSServer string `json:"clusterDnsServer,omitempty" yaml:"clusterDnsServer,omitempty"` + ClusterDomain string `json:"clusterDomain,omitempty" yaml:"clusterDomain,omitempty"` + ExtraArgs map[string]string `json:"extraArgs,omitempty" yaml:"extraArgs,omitempty"` + ExtraArgsArray map[string][]string `json:"extraArgsArray,omitempty" yaml:"extraArgsArray,omitempty"` + ExtraBinds []string `json:"extraBinds,omitempty" yaml:"extraBinds,omitempty"` + ExtraEnv []string `json:"extraEnv,omitempty" yaml:"extraEnv,omitempty"` + FailSwapOn bool `json:"failSwapOn,omitempty" yaml:"failSwapOn,omitempty"` + GenerateServingCertificate bool `json:"generateServingCertificate,omitempty" yaml:"generateServingCertificate,omitempty"` + Image string `json:"image,omitempty" yaml:"image,omitempty"` + InfraContainerImage string `json:"infraContainerImage,omitempty" yaml:"infraContainerImage,omitempty"` + WindowsExtraArgs map[string]string `json:"winExtraArgs,omitempty" yaml:"winExtraArgs,omitempty"` + WindowsExtraArgsArray map[string][]string `json:"winExtraArgsArray,omitempty" yaml:"winExtraArgsArray,omitempty"` + WindowsExtraBinds []string `json:"winExtraBinds,omitempty" yaml:"winExtraBinds,omitempty"` + WindowsExtraEnv []string `json:"winExtraEnv,omitempty" yaml:"winExtraEnv,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kubeproxy_service.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kubeproxy_service.go new file mode 100644 index 000000000..9159447ba --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kubeproxy_service.go @@ -0,0 +1,26 @@ +package client + +const ( + KubeproxyServiceType = "kubeproxyService" + KubeproxyServiceFieldExtraArgs = "extraArgs" + KubeproxyServiceFieldExtraArgsArray = "extraArgsArray" + KubeproxyServiceFieldExtraBinds = "extraBinds" + KubeproxyServiceFieldExtraEnv = "extraEnv" + KubeproxyServiceFieldImage = "image" + KubeproxyServiceFieldWindowsExtraArgs = "winExtraArgs" + KubeproxyServiceFieldWindowsExtraArgsArray = "winExtraArgsArray" + KubeproxyServiceFieldWindowsExtraBinds = "winExtraBinds" + KubeproxyServiceFieldWindowsExtraEnv = "winExtraEnv" +) + +type KubeproxyService struct { + ExtraArgs map[string]string `json:"extraArgs,omitempty" yaml:"extraArgs,omitempty"` + ExtraArgsArray map[string][]string `json:"extraArgsArray,omitempty" yaml:"extraArgsArray,omitempty"` + ExtraBinds []string `json:"extraBinds,omitempty" yaml:"extraBinds,omitempty"` + ExtraEnv []string `json:"extraEnv,omitempty" yaml:"extraEnv,omitempty"` + Image string `json:"image,omitempty" yaml:"image,omitempty"` + WindowsExtraArgs map[string]string `json:"winExtraArgs,omitempty" yaml:"winExtraArgs,omitempty"` + WindowsExtraArgsArray map[string][]string `json:"winExtraArgsArray,omitempty" yaml:"winExtraArgsArray,omitempty"` + WindowsExtraBinds []string `json:"winExtraBinds,omitempty" yaml:"winExtraBinds,omitempty"` + WindowsExtraEnv []string `json:"winExtraEnv,omitempty" yaml:"winExtraEnv,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kubernetes_info.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kubernetes_info.go new file mode 100644 index 000000000..69aa0588c --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kubernetes_info.go @@ -0,0 +1,12 @@ +package client + +const ( + KubernetesInfoType = "kubernetesInfo" + KubernetesInfoFieldKubeProxyVersion = "kubeProxyVersion" + KubernetesInfoFieldKubeletVersion = "kubeletVersion" +) + +type KubernetesInfo struct { + KubeProxyVersion string `json:"kubeProxyVersion,omitempty" yaml:"kubeProxyVersion,omitempty"` + KubeletVersion string `json:"kubeletVersion,omitempty" yaml:"kubeletVersion,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kubernetes_services_options.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kubernetes_services_options.go new file mode 100644 index 000000000..b2fe33cee --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_kubernetes_services_options.go @@ -0,0 +1,20 @@ +package client + +const ( + KubernetesServicesOptionsType = "kubernetesServicesOptions" + KubernetesServicesOptionsFieldEtcd = "etcd" + KubernetesServicesOptionsFieldKubeAPI = "kubeapi" + KubernetesServicesOptionsFieldKubeController = "kubeController" + KubernetesServicesOptionsFieldKubelet = "kubelet" + KubernetesServicesOptionsFieldKubeproxy = "kubeproxy" + KubernetesServicesOptionsFieldScheduler = "scheduler" +) + +type KubernetesServicesOptions struct { + Etcd map[string]string `json:"etcd,omitempty" yaml:"etcd,omitempty"` + KubeAPI map[string]string `json:"kubeapi,omitempty" yaml:"kubeapi,omitempty"` + KubeController map[string]string `json:"kubeController,omitempty" yaml:"kubeController,omitempty"` + Kubelet map[string]string `json:"kubelet,omitempty" yaml:"kubelet,omitempty"` + Kubeproxy map[string]string `json:"kubeproxy,omitempty" yaml:"kubeproxy,omitempty"` + Scheduler map[string]string `json:"scheduler,omitempty" yaml:"scheduler,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_label_selector.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_label_selector.go new file mode 100644 index 000000000..27162cf29 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_label_selector.go @@ -0,0 +1,12 @@ +package client + +const ( + LabelSelectorType = "labelSelector" + LabelSelectorFieldMatchExpressions = "matchExpressions" + LabelSelectorFieldMatchLabels = "matchLabels" +) + +type LabelSelector struct { + MatchExpressions []LabelSelectorRequirement `json:"matchExpressions,omitempty" yaml:"matchExpressions,omitempty"` + MatchLabels map[string]string `json:"matchLabels,omitempty" yaml:"matchLabels,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_label_selector_requirement.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_label_selector_requirement.go new file mode 100644 index 000000000..3a875acbb --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_label_selector_requirement.go @@ -0,0 +1,14 @@ +package client + +const ( + LabelSelectorRequirementType = "labelSelectorRequirement" + LabelSelectorRequirementFieldKey = "key" + LabelSelectorRequirementFieldOperator = "operator" + LabelSelectorRequirementFieldValues = "values" +) + +type LabelSelectorRequirement struct { + Key string `json:"key,omitempty" yaml:"key,omitempty"` + Operator string `json:"operator,omitempty" yaml:"operator,omitempty"` + Values []string `json:"values,omitempty" yaml:"values,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_launch_template.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_launch_template.go new file mode 100644 index 000000000..a5d4c84cb --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_launch_template.go @@ -0,0 +1,14 @@ +package client + +const ( + LaunchTemplateType = "launchTemplate" + LaunchTemplateFieldID = "id" + LaunchTemplateFieldName = "name" + LaunchTemplateFieldVersion = "version" +) + +type LaunchTemplate struct { + ID *string `json:"id,omitempty" yaml:"id,omitempty"` + Name *string `json:"name,omitempty" yaml:"name,omitempty"` + Version *int64 `json:"version,omitempty" yaml:"version,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ldap_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ldap_config.go new file mode 100644 index 000000000..73a21c5ef --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ldap_config.go @@ -0,0 +1,180 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + LdapConfigType = "ldapConfig" + LdapConfigFieldAccessMode = "accessMode" + LdapConfigFieldAllowedPrincipalIDs = "allowedPrincipalIds" + LdapConfigFieldAnnotations = "annotations" + LdapConfigFieldCertificate = "certificate" + LdapConfigFieldConnectionTimeout = "connectionTimeout" + LdapConfigFieldCreated = "created" + LdapConfigFieldCreatorID = "creatorId" + LdapConfigFieldEnabled = "enabled" + LdapConfigFieldGroupDNAttribute = "groupDNAttribute" + LdapConfigFieldGroupMemberMappingAttribute = "groupMemberMappingAttribute" + LdapConfigFieldGroupMemberUserAttribute = "groupMemberUserAttribute" + LdapConfigFieldGroupNameAttribute = "groupNameAttribute" + LdapConfigFieldGroupObjectClass = "groupObjectClass" + LdapConfigFieldGroupSearchAttribute = "groupSearchAttribute" + LdapConfigFieldGroupSearchBase = "groupSearchBase" + LdapConfigFieldGroupSearchFilter = "groupSearchFilter" + LdapConfigFieldLabels = "labels" + LdapConfigFieldName = "name" + LdapConfigFieldNestedGroupMembershipEnabled = "nestedGroupMembershipEnabled" + LdapConfigFieldOwnerReferences = "ownerReferences" + LdapConfigFieldPort = "port" + LdapConfigFieldRemoved = "removed" + LdapConfigFieldServers = "servers" + LdapConfigFieldServiceAccountDistinguishedName = "serviceAccountDistinguishedName" + LdapConfigFieldServiceAccountPassword = "serviceAccountPassword" + LdapConfigFieldStartTLS = "starttls" + LdapConfigFieldStatus = "status" + LdapConfigFieldTLS = "tls" + LdapConfigFieldType = "type" + LdapConfigFieldUUID = "uuid" + LdapConfigFieldUserDisabledBitMask = "userDisabledBitMask" + LdapConfigFieldUserEnabledAttribute = "userEnabledAttribute" + LdapConfigFieldUserLoginAttribute = "userLoginAttribute" + LdapConfigFieldUserMemberAttribute = "userMemberAttribute" + LdapConfigFieldUserNameAttribute = "userNameAttribute" + LdapConfigFieldUserObjectClass = "userObjectClass" + LdapConfigFieldUserSearchAttribute = "userSearchAttribute" + LdapConfigFieldUserSearchBase = "userSearchBase" + LdapConfigFieldUserSearchFilter = "userSearchFilter" +) + +type LdapConfig struct { + types.Resource + AccessMode string `json:"accessMode,omitempty" yaml:"accessMode,omitempty"` + AllowedPrincipalIDs []string `json:"allowedPrincipalIds,omitempty" yaml:"allowedPrincipalIds,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Certificate string `json:"certificate,omitempty" yaml:"certificate,omitempty"` + ConnectionTimeout int64 `json:"connectionTimeout,omitempty" yaml:"connectionTimeout,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + GroupDNAttribute string `json:"groupDNAttribute,omitempty" yaml:"groupDNAttribute,omitempty"` + GroupMemberMappingAttribute string `json:"groupMemberMappingAttribute,omitempty" yaml:"groupMemberMappingAttribute,omitempty"` + GroupMemberUserAttribute string `json:"groupMemberUserAttribute,omitempty" yaml:"groupMemberUserAttribute,omitempty"` + GroupNameAttribute string `json:"groupNameAttribute,omitempty" yaml:"groupNameAttribute,omitempty"` + GroupObjectClass string `json:"groupObjectClass,omitempty" yaml:"groupObjectClass,omitempty"` + GroupSearchAttribute string `json:"groupSearchAttribute,omitempty" yaml:"groupSearchAttribute,omitempty"` + GroupSearchBase string `json:"groupSearchBase,omitempty" yaml:"groupSearchBase,omitempty"` + GroupSearchFilter string `json:"groupSearchFilter,omitempty" yaml:"groupSearchFilter,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NestedGroupMembershipEnabled bool `json:"nestedGroupMembershipEnabled,omitempty" yaml:"nestedGroupMembershipEnabled,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Port int64 `json:"port,omitempty" yaml:"port,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + Servers []string `json:"servers,omitempty" yaml:"servers,omitempty"` + ServiceAccountDistinguishedName string `json:"serviceAccountDistinguishedName,omitempty" yaml:"serviceAccountDistinguishedName,omitempty"` + ServiceAccountPassword string `json:"serviceAccountPassword,omitempty" yaml:"serviceAccountPassword,omitempty"` + StartTLS bool `json:"starttls,omitempty" yaml:"starttls,omitempty"` + Status *AuthConfigStatus `json:"status,omitempty" yaml:"status,omitempty"` + TLS bool `json:"tls,omitempty" yaml:"tls,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UserDisabledBitMask int64 `json:"userDisabledBitMask,omitempty" yaml:"userDisabledBitMask,omitempty"` + UserEnabledAttribute string `json:"userEnabledAttribute,omitempty" yaml:"userEnabledAttribute,omitempty"` + UserLoginAttribute string `json:"userLoginAttribute,omitempty" yaml:"userLoginAttribute,omitempty"` + UserMemberAttribute string `json:"userMemberAttribute,omitempty" yaml:"userMemberAttribute,omitempty"` + UserNameAttribute string `json:"userNameAttribute,omitempty" yaml:"userNameAttribute,omitempty"` + UserObjectClass string `json:"userObjectClass,omitempty" yaml:"userObjectClass,omitempty"` + UserSearchAttribute string `json:"userSearchAttribute,omitempty" yaml:"userSearchAttribute,omitempty"` + UserSearchBase string `json:"userSearchBase,omitempty" yaml:"userSearchBase,omitempty"` + UserSearchFilter string `json:"userSearchFilter,omitempty" yaml:"userSearchFilter,omitempty"` +} + +type LdapConfigCollection struct { + types.Collection + Data []LdapConfig `json:"data,omitempty"` + client *LdapConfigClient +} + +type LdapConfigClient struct { + apiClient *Client +} + +type LdapConfigOperations interface { + List(opts *types.ListOpts) (*LdapConfigCollection, error) + ListAll(opts *types.ListOpts) (*LdapConfigCollection, error) + Create(opts *LdapConfig) (*LdapConfig, error) + Update(existing *LdapConfig, updates interface{}) (*LdapConfig, error) + Replace(existing *LdapConfig) (*LdapConfig, error) + ByID(id string) (*LdapConfig, error) + Delete(container *LdapConfig) error +} + +func newLdapConfigClient(apiClient *Client) *LdapConfigClient { + return &LdapConfigClient{ + apiClient: apiClient, + } +} + +func (c *LdapConfigClient) Create(container *LdapConfig) (*LdapConfig, error) { + resp := &LdapConfig{} + err := c.apiClient.Ops.DoCreate(LdapConfigType, container, resp) + return resp, err +} + +func (c *LdapConfigClient) Update(existing *LdapConfig, updates interface{}) (*LdapConfig, error) { + resp := &LdapConfig{} + err := c.apiClient.Ops.DoUpdate(LdapConfigType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *LdapConfigClient) Replace(obj *LdapConfig) (*LdapConfig, error) { + resp := &LdapConfig{} + err := c.apiClient.Ops.DoReplace(LdapConfigType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *LdapConfigClient) List(opts *types.ListOpts) (*LdapConfigCollection, error) { + resp := &LdapConfigCollection{} + err := c.apiClient.Ops.DoList(LdapConfigType, opts, resp) + resp.client = c + return resp, err +} + +func (c *LdapConfigClient) ListAll(opts *types.ListOpts) (*LdapConfigCollection, error) { + resp := &LdapConfigCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *LdapConfigCollection) Next() (*LdapConfigCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &LdapConfigCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *LdapConfigClient) ByID(id string) (*LdapConfig, error) { + resp := &LdapConfig{} + err := c.apiClient.Ops.DoByID(LdapConfigType, id, resp) + return resp, err +} + +func (c *LdapConfigClient) Delete(container *LdapConfig) error { + return c.apiClient.Ops.DoResourceDelete(LdapConfigType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ldap_fields.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ldap_fields.go new file mode 100644 index 000000000..7c342d176 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ldap_fields.go @@ -0,0 +1,60 @@ +package client + +const ( + LdapFieldsType = "ldapFields" + LdapFieldsFieldCertificate = "certificate" + LdapFieldsFieldConnectionTimeout = "connectionTimeout" + LdapFieldsFieldGroupDNAttribute = "groupDNAttribute" + LdapFieldsFieldGroupMemberMappingAttribute = "groupMemberMappingAttribute" + LdapFieldsFieldGroupMemberUserAttribute = "groupMemberUserAttribute" + LdapFieldsFieldGroupNameAttribute = "groupNameAttribute" + LdapFieldsFieldGroupObjectClass = "groupObjectClass" + LdapFieldsFieldGroupSearchAttribute = "groupSearchAttribute" + LdapFieldsFieldGroupSearchBase = "groupSearchBase" + LdapFieldsFieldGroupSearchFilter = "groupSearchFilter" + LdapFieldsFieldNestedGroupMembershipEnabled = "nestedGroupMembershipEnabled" + LdapFieldsFieldPort = "port" + LdapFieldsFieldServers = "servers" + LdapFieldsFieldServiceAccountDistinguishedName = "serviceAccountDistinguishedName" + LdapFieldsFieldServiceAccountPassword = "serviceAccountPassword" + LdapFieldsFieldStartTLS = "starttls" + LdapFieldsFieldTLS = "tls" + LdapFieldsFieldUserDisabledBitMask = "userDisabledBitMask" + LdapFieldsFieldUserEnabledAttribute = "userEnabledAttribute" + LdapFieldsFieldUserLoginAttribute = "userLoginAttribute" + LdapFieldsFieldUserMemberAttribute = "userMemberAttribute" + LdapFieldsFieldUserNameAttribute = "userNameAttribute" + LdapFieldsFieldUserObjectClass = "userObjectClass" + LdapFieldsFieldUserSearchAttribute = "userSearchAttribute" + LdapFieldsFieldUserSearchBase = "userSearchBase" + LdapFieldsFieldUserSearchFilter = "userSearchFilter" +) + +type LdapFields struct { + Certificate string `json:"certificate,omitempty" yaml:"certificate,omitempty"` + ConnectionTimeout int64 `json:"connectionTimeout,omitempty" yaml:"connectionTimeout,omitempty"` + GroupDNAttribute string `json:"groupDNAttribute,omitempty" yaml:"groupDNAttribute,omitempty"` + GroupMemberMappingAttribute string `json:"groupMemberMappingAttribute,omitempty" yaml:"groupMemberMappingAttribute,omitempty"` + GroupMemberUserAttribute string `json:"groupMemberUserAttribute,omitempty" yaml:"groupMemberUserAttribute,omitempty"` + GroupNameAttribute string `json:"groupNameAttribute,omitempty" yaml:"groupNameAttribute,omitempty"` + GroupObjectClass string `json:"groupObjectClass,omitempty" yaml:"groupObjectClass,omitempty"` + GroupSearchAttribute string `json:"groupSearchAttribute,omitempty" yaml:"groupSearchAttribute,omitempty"` + GroupSearchBase string `json:"groupSearchBase,omitempty" yaml:"groupSearchBase,omitempty"` + GroupSearchFilter string `json:"groupSearchFilter,omitempty" yaml:"groupSearchFilter,omitempty"` + NestedGroupMembershipEnabled bool `json:"nestedGroupMembershipEnabled,omitempty" yaml:"nestedGroupMembershipEnabled,omitempty"` + Port int64 `json:"port,omitempty" yaml:"port,omitempty"` + Servers []string `json:"servers,omitempty" yaml:"servers,omitempty"` + ServiceAccountDistinguishedName string `json:"serviceAccountDistinguishedName,omitempty" yaml:"serviceAccountDistinguishedName,omitempty"` + ServiceAccountPassword string `json:"serviceAccountPassword,omitempty" yaml:"serviceAccountPassword,omitempty"` + StartTLS bool `json:"starttls,omitempty" yaml:"starttls,omitempty"` + TLS bool `json:"tls,omitempty" yaml:"tls,omitempty"` + UserDisabledBitMask int64 `json:"userDisabledBitMask,omitempty" yaml:"userDisabledBitMask,omitempty"` + UserEnabledAttribute string `json:"userEnabledAttribute,omitempty" yaml:"userEnabledAttribute,omitempty"` + UserLoginAttribute string `json:"userLoginAttribute,omitempty" yaml:"userLoginAttribute,omitempty"` + UserMemberAttribute string `json:"userMemberAttribute,omitempty" yaml:"userMemberAttribute,omitempty"` + UserNameAttribute string `json:"userNameAttribute,omitempty" yaml:"userNameAttribute,omitempty"` + UserObjectClass string `json:"userObjectClass,omitempty" yaml:"userObjectClass,omitempty"` + UserSearchAttribute string `json:"userSearchAttribute,omitempty" yaml:"userSearchAttribute,omitempty"` + UserSearchBase string `json:"userSearchBase,omitempty" yaml:"userSearchBase,omitempty"` + UserSearchFilter string `json:"userSearchFilter,omitempty" yaml:"userSearchFilter,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_linear_autoscaler_params.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_linear_autoscaler_params.go new file mode 100644 index 000000000..f9ed17d6e --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_linear_autoscaler_params.go @@ -0,0 +1,18 @@ +package client + +const ( + LinearAutoscalerParamsType = "linearAutoscalerParams" + LinearAutoscalerParamsFieldCoresPerReplica = "coresPerReplica" + LinearAutoscalerParamsFieldMax = "max" + LinearAutoscalerParamsFieldMin = "min" + LinearAutoscalerParamsFieldNodesPerReplica = "nodesPerReplica" + LinearAutoscalerParamsFieldPreventSinglePointFailure = "preventSinglePointFailure" +) + +type LinearAutoscalerParams struct { + CoresPerReplica float64 `json:"coresPerReplica,omitempty" yaml:"coresPerReplica,omitempty"` + Max int64 `json:"max,omitempty" yaml:"max,omitempty"` + Min int64 `json:"min,omitempty" yaml:"min,omitempty"` + NodesPerReplica float64 `json:"nodesPerReplica,omitempty" yaml:"nodesPerReplica,omitempty"` + PreventSinglePointFailure bool `json:"preventSinglePointFailure,omitempty" yaml:"preventSinglePointFailure,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_load_balancer_capabilities.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_load_balancer_capabilities.go new file mode 100644 index 000000000..6258b573d --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_load_balancer_capabilities.go @@ -0,0 +1,16 @@ +package client + +const ( + LoadBalancerCapabilitiesType = "loadBalancerCapabilities" + LoadBalancerCapabilitiesFieldEnabled = "enabled" + LoadBalancerCapabilitiesFieldHealthCheckSupported = "healthCheckSupported" + LoadBalancerCapabilitiesFieldProtocolsSupported = "protocolsSupported" + LoadBalancerCapabilitiesFieldProvider = "provider" +) + +type LoadBalancerCapabilities struct { + Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + HealthCheckSupported bool `json:"healthCheckSupported,omitempty" yaml:"healthCheckSupported,omitempty"` + ProtocolsSupported []string `json:"protocolsSupported,omitempty" yaml:"protocolsSupported,omitempty"` + Provider string `json:"provider,omitempty" yaml:"provider,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_load_balancer_openstack_opts.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_load_balancer_openstack_opts.go new file mode 100644 index 000000000..bd4f38686 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_load_balancer_openstack_opts.go @@ -0,0 +1,30 @@ +package client + +const ( + LoadBalancerOpenstackOptsType = "loadBalancerOpenstackOpts" + LoadBalancerOpenstackOptsFieldCreateMonitor = "create-monitor" + LoadBalancerOpenstackOptsFieldFloatingNetworkID = "floating-network-id" + LoadBalancerOpenstackOptsFieldLBMethod = "lb-method" + LoadBalancerOpenstackOptsFieldLBProvider = "lb-provider" + LoadBalancerOpenstackOptsFieldLBVersion = "lb-version" + LoadBalancerOpenstackOptsFieldManageSecurityGroups = "manage-security-groups" + LoadBalancerOpenstackOptsFieldMonitorDelay = "monitor-delay" + LoadBalancerOpenstackOptsFieldMonitorMaxRetries = "monitor-max-retries" + LoadBalancerOpenstackOptsFieldMonitorTimeout = "monitor-timeout" + LoadBalancerOpenstackOptsFieldSubnetID = "subnet-id" + LoadBalancerOpenstackOptsFieldUseOctavia = "use-octavia" +) + +type LoadBalancerOpenstackOpts struct { + CreateMonitor bool `json:"create-monitor,omitempty" yaml:"create-monitor,omitempty"` + FloatingNetworkID string `json:"floating-network-id,omitempty" yaml:"floating-network-id,omitempty"` + LBMethod string `json:"lb-method,omitempty" yaml:"lb-method,omitempty"` + LBProvider string `json:"lb-provider,omitempty" yaml:"lb-provider,omitempty"` + LBVersion string `json:"lb-version,omitempty" yaml:"lb-version,omitempty"` + ManageSecurityGroups bool `json:"manage-security-groups,omitempty" yaml:"manage-security-groups,omitempty"` + MonitorDelay string `json:"monitor-delay,omitempty" yaml:"monitor-delay,omitempty"` + MonitorMaxRetries int64 `json:"monitor-max-retries,omitempty" yaml:"monitor-max-retries,omitempty"` + MonitorTimeout string `json:"monitor-timeout,omitempty" yaml:"monitor-timeout,omitempty"` + SubnetID string `json:"subnet-id,omitempty" yaml:"subnet-id,omitempty"` + UseOctavia bool `json:"use-octavia,omitempty" yaml:"use-octavia,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_local_cluster_auth_endpoint.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_local_cluster_auth_endpoint.go new file mode 100644 index 000000000..830583d44 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_local_cluster_auth_endpoint.go @@ -0,0 +1,14 @@ +package client + +const ( + LocalClusterAuthEndpointType = "localClusterAuthEndpoint" + LocalClusterAuthEndpointFieldCACerts = "caCerts" + LocalClusterAuthEndpointFieldEnabled = "enabled" + LocalClusterAuthEndpointFieldFQDN = "fqdn" +) + +type LocalClusterAuthEndpoint struct { + CACerts string `json:"caCerts,omitempty" yaml:"caCerts,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + FQDN string `json:"fqdn,omitempty" yaml:"fqdn,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_local_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_local_config.go new file mode 100644 index 000000000..ca4d5123d --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_local_config.go @@ -0,0 +1,34 @@ +package client + +const ( + LocalConfigType = "localConfig" + LocalConfigFieldAccessMode = "accessMode" + LocalConfigFieldAllowedPrincipalIDs = "allowedPrincipalIds" + LocalConfigFieldAnnotations = "annotations" + LocalConfigFieldCreated = "created" + LocalConfigFieldCreatorID = "creatorId" + LocalConfigFieldEnabled = "enabled" + LocalConfigFieldLabels = "labels" + LocalConfigFieldName = "name" + LocalConfigFieldOwnerReferences = "ownerReferences" + LocalConfigFieldRemoved = "removed" + LocalConfigFieldStatus = "status" + LocalConfigFieldType = "type" + LocalConfigFieldUUID = "uuid" +) + +type LocalConfig struct { + AccessMode string `json:"accessMode,omitempty" yaml:"accessMode,omitempty"` + AllowedPrincipalIDs []string `json:"allowedPrincipalIds,omitempty" yaml:"allowedPrincipalIds,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + Status *AuthConfigStatus `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_local_object_reference.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_local_object_reference.go new file mode 100644 index 000000000..e4d3b5057 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_local_object_reference.go @@ -0,0 +1,10 @@ +package client + +const ( + LocalObjectReferenceType = "localObjectReference" + LocalObjectReferenceFieldName = "name" +) + +type LocalObjectReference struct { + Name string `json:"name,omitempty" yaml:"name,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_management_secret.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_management_secret.go new file mode 100644 index 000000000..4814ba4eb --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_management_secret.go @@ -0,0 +1,126 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + ManagementSecretType = "managementSecret" + ManagementSecretFieldAnnotations = "annotations" + ManagementSecretFieldCreated = "created" + ManagementSecretFieldCreatorID = "creatorId" + ManagementSecretFieldData = "data" + ManagementSecretFieldImmutable = "immutable" + ManagementSecretFieldLabels = "labels" + ManagementSecretFieldName = "name" + ManagementSecretFieldOwnerReferences = "ownerReferences" + ManagementSecretFieldRemoved = "removed" + ManagementSecretFieldStringData = "stringData" + ManagementSecretFieldType = "type" + ManagementSecretFieldUUID = "uuid" +) + +type ManagementSecret struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Data map[string]string `json:"data,omitempty" yaml:"data,omitempty"` + Immutable *bool `json:"immutable,omitempty" yaml:"immutable,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + StringData map[string]string `json:"stringData,omitempty" yaml:"stringData,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type ManagementSecretCollection struct { + types.Collection + Data []ManagementSecret `json:"data,omitempty"` + client *ManagementSecretClient +} + +type ManagementSecretClient struct { + apiClient *Client +} + +type ManagementSecretOperations interface { + List(opts *types.ListOpts) (*ManagementSecretCollection, error) + ListAll(opts *types.ListOpts) (*ManagementSecretCollection, error) + Create(opts *ManagementSecret) (*ManagementSecret, error) + Update(existing *ManagementSecret, updates interface{}) (*ManagementSecret, error) + Replace(existing *ManagementSecret) (*ManagementSecret, error) + ByID(id string) (*ManagementSecret, error) + Delete(container *ManagementSecret) error +} + +func newManagementSecretClient(apiClient *Client) *ManagementSecretClient { + return &ManagementSecretClient{ + apiClient: apiClient, + } +} + +func (c *ManagementSecretClient) Create(container *ManagementSecret) (*ManagementSecret, error) { + resp := &ManagementSecret{} + err := c.apiClient.Ops.DoCreate(ManagementSecretType, container, resp) + return resp, err +} + +func (c *ManagementSecretClient) Update(existing *ManagementSecret, updates interface{}) (*ManagementSecret, error) { + resp := &ManagementSecret{} + err := c.apiClient.Ops.DoUpdate(ManagementSecretType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *ManagementSecretClient) Replace(obj *ManagementSecret) (*ManagementSecret, error) { + resp := &ManagementSecret{} + err := c.apiClient.Ops.DoReplace(ManagementSecretType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *ManagementSecretClient) List(opts *types.ListOpts) (*ManagementSecretCollection, error) { + resp := &ManagementSecretCollection{} + err := c.apiClient.Ops.DoList(ManagementSecretType, opts, resp) + resp.client = c + return resp, err +} + +func (c *ManagementSecretClient) ListAll(opts *types.ListOpts) (*ManagementSecretCollection, error) { + resp := &ManagementSecretCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *ManagementSecretCollection) Next() (*ManagementSecretCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &ManagementSecretCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *ManagementSecretClient) ByID(id string) (*ManagementSecret, error) { + resp := &ManagementSecret{} + err := c.apiClient.Ops.DoByID(ManagementSecretType, id, resp) + return resp, err +} + +func (c *ManagementSecretClient) Delete(container *ManagementSecret) error { + return c.apiClient.Ops.DoResourceDelete(ManagementSecretType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_map_delta.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_map_delta.go new file mode 100644 index 000000000..b6861818a --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_map_delta.go @@ -0,0 +1,12 @@ +package client + +const ( + MapDeltaType = "mapDelta" + MapDeltaFieldAdd = "add" + MapDeltaFieldDelete = "delete" +) + +type MapDelta struct { + Add map[string]string `json:"add,omitempty" yaml:"add,omitempty"` + Delete map[string]bool `json:"delete,omitempty" yaml:"delete,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_member.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_member.go new file mode 100644 index 000000000..620e4607c --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_member.go @@ -0,0 +1,14 @@ +package client + +const ( + MemberType = "member" + MemberFieldAccessType = "accessType" + MemberFieldGroupPrincipalID = "groupPrincipalId" + MemberFieldUserPrincipalID = "userPrincipalId" +) + +type Member struct { + AccessType string `json:"accessType,omitempty" yaml:"accessType,omitempty"` + GroupPrincipalID string `json:"groupPrincipalId,omitempty" yaml:"groupPrincipalId,omitempty"` + UserPrincipalID string `json:"userPrincipalId,omitempty" yaml:"userPrincipalId,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_memory_info.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_memory_info.go new file mode 100644 index 000000000..ecd1a1701 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_memory_info.go @@ -0,0 +1,10 @@ +package client + +const ( + MemoryInfoType = "memoryInfo" + MemoryInfoFieldMemTotalKiB = "memTotalKiB" +) + +type MemoryInfo struct { + MemTotalKiB int64 `json:"memTotalKiB,omitempty" yaml:"memTotalKiB,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_metadata_openstack_opts.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_metadata_openstack_opts.go new file mode 100644 index 000000000..8a38e9326 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_metadata_openstack_opts.go @@ -0,0 +1,12 @@ +package client + +const ( + MetadataOpenstackOptsType = "metadataOpenstackOpts" + MetadataOpenstackOptsFieldRequestTimeout = "request-timeout" + MetadataOpenstackOptsFieldSearchOrder = "search-order" +) + +type MetadataOpenstackOpts struct { + RequestTimeout int64 `json:"request-timeout,omitempty" yaml:"request-timeout,omitempty"` + SearchOrder string `json:"search-order,omitempty" yaml:"search-order,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_metadata_update.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_metadata_update.go new file mode 100644 index 000000000..1d1f5b294 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_metadata_update.go @@ -0,0 +1,12 @@ +package client + +const ( + MetadataUpdateType = "metadataUpdate" + MetadataUpdateFieldAnnotations = "annotations" + MetadataUpdateFieldLabels = "labels" +) + +type MetadataUpdate struct { + Annotations *MapDelta `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Labels *MapDelta `json:"labels,omitempty" yaml:"labels,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_monitoring_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_monitoring_config.go new file mode 100644 index 000000000..3cb7049d5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_monitoring_config.go @@ -0,0 +1,22 @@ +package client + +const ( + MonitoringConfigType = "monitoringConfig" + MonitoringConfigFieldMetricsServerPriorityClassName = "metricsServerPriorityClassName" + MonitoringConfigFieldNodeSelector = "nodeSelector" + MonitoringConfigFieldOptions = "options" + MonitoringConfigFieldProvider = "provider" + MonitoringConfigFieldReplicas = "replicas" + MonitoringConfigFieldTolerations = "tolerations" + MonitoringConfigFieldUpdateStrategy = "updateStrategy" +) + +type MonitoringConfig struct { + MetricsServerPriorityClassName string `json:"metricsServerPriorityClassName,omitempty" yaml:"metricsServerPriorityClassName,omitempty"` + NodeSelector map[string]string `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty"` + Options map[string]string `json:"options,omitempty" yaml:"options,omitempty"` + Provider string `json:"provider,omitempty" yaml:"provider,omitempty"` + Replicas *int64 `json:"replicas,omitempty" yaml:"replicas,omitempty"` + Tolerations []Toleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty"` + UpdateStrategy *DeploymentStrategy `json:"updateStrategy,omitempty" yaml:"updateStrategy,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app.go new file mode 100644 index 000000000..228b842b4 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app.go @@ -0,0 +1,165 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + MultiClusterAppType = "multiClusterApp" + MultiClusterAppFieldAnnotations = "annotations" + MultiClusterAppFieldAnswers = "answers" + MultiClusterAppFieldCreated = "created" + MultiClusterAppFieldCreatorID = "creatorId" + MultiClusterAppFieldLabels = "labels" + MultiClusterAppFieldMembers = "members" + MultiClusterAppFieldName = "name" + MultiClusterAppFieldOwnerReferences = "ownerReferences" + MultiClusterAppFieldRemoved = "removed" + MultiClusterAppFieldRevisionHistoryLimit = "revisionHistoryLimit" + MultiClusterAppFieldRoles = "roles" + MultiClusterAppFieldState = "state" + MultiClusterAppFieldStatus = "status" + MultiClusterAppFieldTargets = "targets" + MultiClusterAppFieldTemplateVersionID = "templateVersionId" + MultiClusterAppFieldTimeout = "timeout" + MultiClusterAppFieldTransitioning = "transitioning" + MultiClusterAppFieldTransitioningMessage = "transitioningMessage" + MultiClusterAppFieldUUID = "uuid" + MultiClusterAppFieldUpgradeStrategy = "upgradeStrategy" + MultiClusterAppFieldWait = "wait" +) + +type MultiClusterApp struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Answers []Answer `json:"answers,omitempty" yaml:"answers,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Members []Member `json:"members,omitempty" yaml:"members,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + RevisionHistoryLimit int64 `json:"revisionHistoryLimit,omitempty" yaml:"revisionHistoryLimit,omitempty"` + Roles []string `json:"roles,omitempty" yaml:"roles,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Status *MultiClusterAppStatus `json:"status,omitempty" yaml:"status,omitempty"` + Targets []Target `json:"targets,omitempty" yaml:"targets,omitempty"` + TemplateVersionID string `json:"templateVersionId,omitempty" yaml:"templateVersionId,omitempty"` + Timeout int64 `json:"timeout,omitempty" yaml:"timeout,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UpgradeStrategy *UpgradeStrategy `json:"upgradeStrategy,omitempty" yaml:"upgradeStrategy,omitempty"` + Wait bool `json:"wait,omitempty" yaml:"wait,omitempty"` +} + +type MultiClusterAppCollection struct { + types.Collection + Data []MultiClusterApp `json:"data,omitempty"` + client *MultiClusterAppClient +} + +type MultiClusterAppClient struct { + apiClient *Client +} + +type MultiClusterAppOperations interface { + List(opts *types.ListOpts) (*MultiClusterAppCollection, error) + ListAll(opts *types.ListOpts) (*MultiClusterAppCollection, error) + Create(opts *MultiClusterApp) (*MultiClusterApp, error) + Update(existing *MultiClusterApp, updates interface{}) (*MultiClusterApp, error) + Replace(existing *MultiClusterApp) (*MultiClusterApp, error) + ByID(id string) (*MultiClusterApp, error) + Delete(container *MultiClusterApp) error + + ActionAddProjects(resource *MultiClusterApp, input *UpdateMultiClusterAppTargetsInput) error + + ActionRemoveProjects(resource *MultiClusterApp, input *UpdateMultiClusterAppTargetsInput) error + + ActionRollback(resource *MultiClusterApp, input *MultiClusterAppRollbackInput) error +} + +func newMultiClusterAppClient(apiClient *Client) *MultiClusterAppClient { + return &MultiClusterAppClient{ + apiClient: apiClient, + } +} + +func (c *MultiClusterAppClient) Create(container *MultiClusterApp) (*MultiClusterApp, error) { + resp := &MultiClusterApp{} + err := c.apiClient.Ops.DoCreate(MultiClusterAppType, container, resp) + return resp, err +} + +func (c *MultiClusterAppClient) Update(existing *MultiClusterApp, updates interface{}) (*MultiClusterApp, error) { + resp := &MultiClusterApp{} + err := c.apiClient.Ops.DoUpdate(MultiClusterAppType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *MultiClusterAppClient) Replace(obj *MultiClusterApp) (*MultiClusterApp, error) { + resp := &MultiClusterApp{} + err := c.apiClient.Ops.DoReplace(MultiClusterAppType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *MultiClusterAppClient) List(opts *types.ListOpts) (*MultiClusterAppCollection, error) { + resp := &MultiClusterAppCollection{} + err := c.apiClient.Ops.DoList(MultiClusterAppType, opts, resp) + resp.client = c + return resp, err +} + +func (c *MultiClusterAppClient) ListAll(opts *types.ListOpts) (*MultiClusterAppCollection, error) { + resp := &MultiClusterAppCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *MultiClusterAppCollection) Next() (*MultiClusterAppCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &MultiClusterAppCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *MultiClusterAppClient) ByID(id string) (*MultiClusterApp, error) { + resp := &MultiClusterApp{} + err := c.apiClient.Ops.DoByID(MultiClusterAppType, id, resp) + return resp, err +} + +func (c *MultiClusterAppClient) Delete(container *MultiClusterApp) error { + return c.apiClient.Ops.DoResourceDelete(MultiClusterAppType, &container.Resource) +} + +func (c *MultiClusterAppClient) ActionAddProjects(resource *MultiClusterApp, input *UpdateMultiClusterAppTargetsInput) error { + err := c.apiClient.Ops.DoAction(MultiClusterAppType, "addProjects", &resource.Resource, input, nil) + return err +} + +func (c *MultiClusterAppClient) ActionRemoveProjects(resource *MultiClusterApp, input *UpdateMultiClusterAppTargetsInput) error { + err := c.apiClient.Ops.DoAction(MultiClusterAppType, "removeProjects", &resource.Resource, input, nil) + return err +} + +func (c *MultiClusterAppClient) ActionRollback(resource *MultiClusterApp, input *MultiClusterAppRollbackInput) error { + err := c.apiClient.Ops.DoAction(MultiClusterAppType, "rollback", &resource.Resource, input, nil) + return err +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app_revision.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app_revision.go new file mode 100644 index 000000000..a759036fc --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app_revision.go @@ -0,0 +1,122 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + MultiClusterAppRevisionType = "multiClusterAppRevision" + MultiClusterAppRevisionFieldAnnotations = "annotations" + MultiClusterAppRevisionFieldAnswers = "answers" + MultiClusterAppRevisionFieldCreated = "created" + MultiClusterAppRevisionFieldCreatorID = "creatorId" + MultiClusterAppRevisionFieldLabels = "labels" + MultiClusterAppRevisionFieldName = "name" + MultiClusterAppRevisionFieldOwnerReferences = "ownerReferences" + MultiClusterAppRevisionFieldRemoved = "removed" + MultiClusterAppRevisionFieldTemplateVersionID = "templateVersionId" + MultiClusterAppRevisionFieldUUID = "uuid" +) + +type MultiClusterAppRevision struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Answers []Answer `json:"answers,omitempty" yaml:"answers,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + TemplateVersionID string `json:"templateVersionId,omitempty" yaml:"templateVersionId,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type MultiClusterAppRevisionCollection struct { + types.Collection + Data []MultiClusterAppRevision `json:"data,omitempty"` + client *MultiClusterAppRevisionClient +} + +type MultiClusterAppRevisionClient struct { + apiClient *Client +} + +type MultiClusterAppRevisionOperations interface { + List(opts *types.ListOpts) (*MultiClusterAppRevisionCollection, error) + ListAll(opts *types.ListOpts) (*MultiClusterAppRevisionCollection, error) + Create(opts *MultiClusterAppRevision) (*MultiClusterAppRevision, error) + Update(existing *MultiClusterAppRevision, updates interface{}) (*MultiClusterAppRevision, error) + Replace(existing *MultiClusterAppRevision) (*MultiClusterAppRevision, error) + ByID(id string) (*MultiClusterAppRevision, error) + Delete(container *MultiClusterAppRevision) error +} + +func newMultiClusterAppRevisionClient(apiClient *Client) *MultiClusterAppRevisionClient { + return &MultiClusterAppRevisionClient{ + apiClient: apiClient, + } +} + +func (c *MultiClusterAppRevisionClient) Create(container *MultiClusterAppRevision) (*MultiClusterAppRevision, error) { + resp := &MultiClusterAppRevision{} + err := c.apiClient.Ops.DoCreate(MultiClusterAppRevisionType, container, resp) + return resp, err +} + +func (c *MultiClusterAppRevisionClient) Update(existing *MultiClusterAppRevision, updates interface{}) (*MultiClusterAppRevision, error) { + resp := &MultiClusterAppRevision{} + err := c.apiClient.Ops.DoUpdate(MultiClusterAppRevisionType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *MultiClusterAppRevisionClient) Replace(obj *MultiClusterAppRevision) (*MultiClusterAppRevision, error) { + resp := &MultiClusterAppRevision{} + err := c.apiClient.Ops.DoReplace(MultiClusterAppRevisionType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *MultiClusterAppRevisionClient) List(opts *types.ListOpts) (*MultiClusterAppRevisionCollection, error) { + resp := &MultiClusterAppRevisionCollection{} + err := c.apiClient.Ops.DoList(MultiClusterAppRevisionType, opts, resp) + resp.client = c + return resp, err +} + +func (c *MultiClusterAppRevisionClient) ListAll(opts *types.ListOpts) (*MultiClusterAppRevisionCollection, error) { + resp := &MultiClusterAppRevisionCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *MultiClusterAppRevisionCollection) Next() (*MultiClusterAppRevisionCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &MultiClusterAppRevisionCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *MultiClusterAppRevisionClient) ByID(id string) (*MultiClusterAppRevision, error) { + resp := &MultiClusterAppRevision{} + err := c.apiClient.Ops.DoByID(MultiClusterAppRevisionType, id, resp) + return resp, err +} + +func (c *MultiClusterAppRevisionClient) Delete(container *MultiClusterAppRevision) error { + return c.apiClient.Ops.DoResourceDelete(MultiClusterAppRevisionType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app_rollback_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app_rollback_input.go new file mode 100644 index 000000000..90a033eb1 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app_rollback_input.go @@ -0,0 +1,10 @@ +package client + +const ( + MultiClusterAppRollbackInputType = "multiClusterAppRollbackInput" + MultiClusterAppRollbackInputFieldRevisionID = "revisionId" +) + +type MultiClusterAppRollbackInput struct { + RevisionID string `json:"revisionId,omitempty" yaml:"revisionId,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app_spec.go new file mode 100644 index 000000000..c9d0b3800 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app_spec.go @@ -0,0 +1,26 @@ +package client + +const ( + MultiClusterAppSpecType = "multiClusterAppSpec" + MultiClusterAppSpecFieldAnswers = "answers" + MultiClusterAppSpecFieldMembers = "members" + MultiClusterAppSpecFieldRevisionHistoryLimit = "revisionHistoryLimit" + MultiClusterAppSpecFieldRoles = "roles" + MultiClusterAppSpecFieldTargets = "targets" + MultiClusterAppSpecFieldTemplateVersionID = "templateVersionId" + MultiClusterAppSpecFieldTimeout = "timeout" + MultiClusterAppSpecFieldUpgradeStrategy = "upgradeStrategy" + MultiClusterAppSpecFieldWait = "wait" +) + +type MultiClusterAppSpec struct { + Answers []Answer `json:"answers,omitempty" yaml:"answers,omitempty"` + Members []Member `json:"members,omitempty" yaml:"members,omitempty"` + RevisionHistoryLimit int64 `json:"revisionHistoryLimit,omitempty" yaml:"revisionHistoryLimit,omitempty"` + Roles []string `json:"roles,omitempty" yaml:"roles,omitempty"` + Targets []Target `json:"targets,omitempty" yaml:"targets,omitempty"` + TemplateVersionID string `json:"templateVersionId,omitempty" yaml:"templateVersionId,omitempty"` + Timeout int64 `json:"timeout,omitempty" yaml:"timeout,omitempty"` + UpgradeStrategy *UpgradeStrategy `json:"upgradeStrategy,omitempty" yaml:"upgradeStrategy,omitempty"` + Wait bool `json:"wait,omitempty" yaml:"wait,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app_status.go new file mode 100644 index 000000000..e84859c17 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_multi_cluster_app_status.go @@ -0,0 +1,14 @@ +package client + +const ( + MultiClusterAppStatusType = "multiClusterAppStatus" + MultiClusterAppStatusFieldConditions = "conditions" + MultiClusterAppStatusFieldHelmVersion = "helmVersion" + MultiClusterAppStatusFieldRevisionID = "revisionId" +) + +type MultiClusterAppStatus struct { + Conditions []AppCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + HelmVersion string `json:"helmVersion,omitempty" yaml:"helmVersion,omitempty"` + RevisionID string `json:"revisionId,omitempty" yaml:"revisionId,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_namespace_resource_quota.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_namespace_resource_quota.go new file mode 100644 index 000000000..b170bf5d2 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_namespace_resource_quota.go @@ -0,0 +1,10 @@ +package client + +const ( + NamespaceResourceQuotaType = "namespaceResourceQuota" + NamespaceResourceQuotaFieldLimit = "limit" +) + +type NamespaceResourceQuota struct { + Limit *ResourceQuotaLimit `json:"limit,omitempty" yaml:"limit,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_network_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_network_config.go new file mode 100644 index 000000000..4235298e4 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_network_config.go @@ -0,0 +1,30 @@ +package client + +const ( + NetworkConfigType = "networkConfig" + NetworkConfigFieldAciNetworkProvider = "aciNetworkProvider" + NetworkConfigFieldCalicoNetworkProvider = "calicoNetworkProvider" + NetworkConfigFieldCanalNetworkProvider = "canalNetworkProvider" + NetworkConfigFieldFlannelNetworkProvider = "flannelNetworkProvider" + NetworkConfigFieldMTU = "mtu" + NetworkConfigFieldNodeSelector = "nodeSelector" + NetworkConfigFieldOptions = "options" + NetworkConfigFieldPlugin = "plugin" + NetworkConfigFieldTolerations = "tolerations" + NetworkConfigFieldUpdateStrategy = "updateStrategy" + NetworkConfigFieldWeaveNetworkProvider = "weaveNetworkProvider" +) + +type NetworkConfig struct { + AciNetworkProvider *AciNetworkProvider `json:"aciNetworkProvider,omitempty" yaml:"aciNetworkProvider,omitempty"` + CalicoNetworkProvider *CalicoNetworkProvider `json:"calicoNetworkProvider,omitempty" yaml:"calicoNetworkProvider,omitempty"` + CanalNetworkProvider *CanalNetworkProvider `json:"canalNetworkProvider,omitempty" yaml:"canalNetworkProvider,omitempty"` + FlannelNetworkProvider *FlannelNetworkProvider `json:"flannelNetworkProvider,omitempty" yaml:"flannelNetworkProvider,omitempty"` + MTU int64 `json:"mtu,omitempty" yaml:"mtu,omitempty"` + NodeSelector map[string]string `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty"` + Options map[string]string `json:"options,omitempty" yaml:"options,omitempty"` + Plugin string `json:"plugin,omitempty" yaml:"plugin,omitempty"` + Tolerations []Toleration `json:"tolerations,omitempty" yaml:"tolerations,omitempty"` + UpdateStrategy *DaemonSetUpdateStrategy `json:"updateStrategy,omitempty" yaml:"updateStrategy,omitempty"` + WeaveNetworkProvider *WeaveNetworkProvider `json:"weaveNetworkProvider,omitempty" yaml:"weaveNetworkProvider,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_network_vshpere_opts.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_network_vshpere_opts.go new file mode 100644 index 000000000..ad27335a9 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_network_vshpere_opts.go @@ -0,0 +1,10 @@ +package client + +const ( + NetworkVshpereOptsType = "networkVshpereOpts" + NetworkVshpereOptsFieldPublicNetwork = "public-network" +) + +type NetworkVshpereOpts struct { + PublicNetwork string `json:"public-network,omitempty" yaml:"public-network,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_nfs_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_nfs_volume_source.go new file mode 100644 index 000000000..bbaeecf93 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_nfs_volume_source.go @@ -0,0 +1,14 @@ +package client + +const ( + NFSVolumeSourceType = "nfsVolumeSource" + NFSVolumeSourceFieldPath = "path" + NFSVolumeSourceFieldReadOnly = "readOnly" + NFSVolumeSourceFieldServer = "server" +) + +type NFSVolumeSource struct { + Path string `json:"path,omitempty" yaml:"path,omitempty"` + ReadOnly bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` + Server string `json:"server,omitempty" yaml:"server,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node.go new file mode 100644 index 000000000..5f3ab5775 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node.go @@ -0,0 +1,231 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + NodeType = "node" + NodeFieldAllocatable = "allocatable" + NodeFieldAnnotations = "annotations" + NodeFieldAppliedNodeVersion = "appliedNodeVersion" + NodeFieldCapacity = "capacity" + NodeFieldClusterID = "clusterId" + NodeFieldConditions = "conditions" + NodeFieldControlPlane = "controlPlane" + NodeFieldCreated = "created" + NodeFieldCreatorID = "creatorId" + NodeFieldCustomConfig = "customConfig" + NodeFieldDescription = "description" + NodeFieldDockerInfo = "dockerInfo" + NodeFieldEtcd = "etcd" + NodeFieldExternalIPAddress = "externalIpAddress" + NodeFieldHostname = "hostname" + NodeFieldIPAddress = "ipAddress" + NodeFieldImported = "imported" + NodeFieldInfo = "info" + NodeFieldLabels = "labels" + NodeFieldLimits = "limits" + NodeFieldName = "name" + NodeFieldNamespaceId = "namespaceId" + NodeFieldNodeName = "nodeName" + NodeFieldNodePlan = "nodePlan" + NodeFieldNodePoolID = "nodePoolId" + NodeFieldNodeTaints = "nodeTaints" + NodeFieldNodeTemplateID = "nodeTemplateId" + NodeFieldOwnerReferences = "ownerReferences" + NodeFieldPodCidr = "podCidr" + NodeFieldPodCidrs = "podCidrs" + NodeFieldProviderId = "providerId" + NodeFieldPublicEndpoints = "publicEndpoints" + NodeFieldRemoved = "removed" + NodeFieldRequested = "requested" + NodeFieldRequestedHostname = "requestedHostname" + NodeFieldRuntimeHandlers = "runtimeHandlers" + NodeFieldScaledownTime = "scaledownTime" + NodeFieldSshUser = "sshUser" + NodeFieldState = "state" + NodeFieldTaints = "taints" + NodeFieldTransitioning = "transitioning" + NodeFieldTransitioningMessage = "transitioningMessage" + NodeFieldUUID = "uuid" + NodeFieldUnschedulable = "unschedulable" + NodeFieldVolumesAttached = "volumesAttached" + NodeFieldVolumesInUse = "volumesInUse" + NodeFieldWorker = "worker" +) + +type Node struct { + types.Resource + Allocatable map[string]string `json:"allocatable,omitempty" yaml:"allocatable,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + AppliedNodeVersion int64 `json:"appliedNodeVersion,omitempty" yaml:"appliedNodeVersion,omitempty"` + Capacity map[string]string `json:"capacity,omitempty" yaml:"capacity,omitempty"` + ClusterID string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"` + Conditions []NodeCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + ControlPlane bool `json:"controlPlane,omitempty" yaml:"controlPlane,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + CustomConfig *CustomConfig `json:"customConfig,omitempty" yaml:"customConfig,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + DockerInfo *DockerInfo `json:"dockerInfo,omitempty" yaml:"dockerInfo,omitempty"` + Etcd bool `json:"etcd,omitempty" yaml:"etcd,omitempty"` + ExternalIPAddress string `json:"externalIpAddress,omitempty" yaml:"externalIpAddress,omitempty"` + Hostname string `json:"hostname,omitempty" yaml:"hostname,omitempty"` + IPAddress string `json:"ipAddress,omitempty" yaml:"ipAddress,omitempty"` + Imported bool `json:"imported,omitempty" yaml:"imported,omitempty"` + Info *NodeInfo `json:"info,omitempty" yaml:"info,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Limits map[string]string `json:"limits,omitempty" yaml:"limits,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NamespaceId string `json:"namespaceId,omitempty" yaml:"namespaceId,omitempty"` + NodeName string `json:"nodeName,omitempty" yaml:"nodeName,omitempty"` + NodePlan *NodePlan `json:"nodePlan,omitempty" yaml:"nodePlan,omitempty"` + NodePoolID string `json:"nodePoolId,omitempty" yaml:"nodePoolId,omitempty"` + NodeTaints []Taint `json:"nodeTaints,omitempty" yaml:"nodeTaints,omitempty"` + NodeTemplateID string `json:"nodeTemplateId,omitempty" yaml:"nodeTemplateId,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + PodCidr string `json:"podCidr,omitempty" yaml:"podCidr,omitempty"` + PodCidrs []string `json:"podCidrs,omitempty" yaml:"podCidrs,omitempty"` + ProviderId string `json:"providerId,omitempty" yaml:"providerId,omitempty"` + PublicEndpoints []PublicEndpoint `json:"publicEndpoints,omitempty" yaml:"publicEndpoints,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + Requested map[string]string `json:"requested,omitempty" yaml:"requested,omitempty"` + RequestedHostname string `json:"requestedHostname,omitempty" yaml:"requestedHostname,omitempty"` + RuntimeHandlers []NodeRuntimeHandler `json:"runtimeHandlers,omitempty" yaml:"runtimeHandlers,omitempty"` + ScaledownTime string `json:"scaledownTime,omitempty" yaml:"scaledownTime,omitempty"` + SshUser string `json:"sshUser,omitempty" yaml:"sshUser,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Taints []Taint `json:"taints,omitempty" yaml:"taints,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + Unschedulable bool `json:"unschedulable,omitempty" yaml:"unschedulable,omitempty"` + VolumesAttached map[string]AttachedVolume `json:"volumesAttached,omitempty" yaml:"volumesAttached,omitempty"` + VolumesInUse []string `json:"volumesInUse,omitempty" yaml:"volumesInUse,omitempty"` + Worker bool `json:"worker,omitempty" yaml:"worker,omitempty"` +} + +type NodeCollection struct { + types.Collection + Data []Node `json:"data,omitempty"` + client *NodeClient +} + +type NodeClient struct { + apiClient *Client +} + +type NodeOperations interface { + List(opts *types.ListOpts) (*NodeCollection, error) + ListAll(opts *types.ListOpts) (*NodeCollection, error) + Create(opts *Node) (*Node, error) + Update(existing *Node, updates interface{}) (*Node, error) + Replace(existing *Node) (*Node, error) + ByID(id string) (*Node, error) + Delete(container *Node) error + + ActionCordon(resource *Node) error + + ActionDrain(resource *Node, input *NodeDrainInput) error + + ActionScaledown(resource *Node) error + + ActionStopDrain(resource *Node) error + + ActionUncordon(resource *Node) error +} + +func newNodeClient(apiClient *Client) *NodeClient { + return &NodeClient{ + apiClient: apiClient, + } +} + +func (c *NodeClient) Create(container *Node) (*Node, error) { + resp := &Node{} + err := c.apiClient.Ops.DoCreate(NodeType, container, resp) + return resp, err +} + +func (c *NodeClient) Update(existing *Node, updates interface{}) (*Node, error) { + resp := &Node{} + err := c.apiClient.Ops.DoUpdate(NodeType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *NodeClient) Replace(obj *Node) (*Node, error) { + resp := &Node{} + err := c.apiClient.Ops.DoReplace(NodeType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *NodeClient) List(opts *types.ListOpts) (*NodeCollection, error) { + resp := &NodeCollection{} + err := c.apiClient.Ops.DoList(NodeType, opts, resp) + resp.client = c + return resp, err +} + +func (c *NodeClient) ListAll(opts *types.ListOpts) (*NodeCollection, error) { + resp := &NodeCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *NodeCollection) Next() (*NodeCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &NodeCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *NodeClient) ByID(id string) (*Node, error) { + resp := &Node{} + err := c.apiClient.Ops.DoByID(NodeType, id, resp) + return resp, err +} + +func (c *NodeClient) Delete(container *Node) error { + return c.apiClient.Ops.DoResourceDelete(NodeType, &container.Resource) +} + +func (c *NodeClient) ActionCordon(resource *Node) error { + err := c.apiClient.Ops.DoAction(NodeType, "cordon", &resource.Resource, nil, nil) + return err +} + +func (c *NodeClient) ActionDrain(resource *Node, input *NodeDrainInput) error { + err := c.apiClient.Ops.DoAction(NodeType, "drain", &resource.Resource, input, nil) + return err +} + +func (c *NodeClient) ActionScaledown(resource *Node) error { + err := c.apiClient.Ops.DoAction(NodeType, "scaledown", &resource.Resource, nil, nil) + return err +} + +func (c *NodeClient) ActionStopDrain(resource *Node) error { + err := c.apiClient.Ops.DoAction(NodeType, "stopDrain", &resource.Resource, nil, nil) + return err +} + +func (c *NodeClient) ActionUncordon(resource *Node) error { + err := c.apiClient.Ops.DoAction(NodeType, "uncordon", &resource.Resource, nil, nil) + return err +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_address.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_address.go new file mode 100644 index 000000000..972c24802 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_address.go @@ -0,0 +1,12 @@ +package client + +const ( + NodeAddressType = "nodeAddress" + NodeAddressFieldAddress = "address" + NodeAddressFieldType = "type" +) + +type NodeAddress struct { + Address string `json:"address,omitempty" yaml:"address,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_affinity.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_affinity.go new file mode 100644 index 000000000..c1563fff1 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_affinity.go @@ -0,0 +1,12 @@ +package client + +const ( + NodeAffinityType = "nodeAffinity" + NodeAffinityFieldPreferredDuringSchedulingIgnoredDuringExecution = "preferredDuringSchedulingIgnoredDuringExecution" + NodeAffinityFieldRequiredDuringSchedulingIgnoredDuringExecution = "requiredDuringSchedulingIgnoredDuringExecution" +) + +type NodeAffinity struct { + PreferredDuringSchedulingIgnoredDuringExecution []PreferredSchedulingTerm `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty" yaml:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"` + RequiredDuringSchedulingIgnoredDuringExecution *NodeSelector `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty" yaml:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_condition.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_condition.go new file mode 100644 index 000000000..a07010acf --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_condition.go @@ -0,0 +1,20 @@ +package client + +const ( + NodeConditionType = "nodeCondition" + NodeConditionFieldLastHeartbeatTime = "lastHeartbeatTime" + NodeConditionFieldLastTransitionTime = "lastTransitionTime" + NodeConditionFieldMessage = "message" + NodeConditionFieldReason = "reason" + NodeConditionFieldStatus = "status" + NodeConditionFieldType = "type" +) + +type NodeCondition struct { + LastHeartbeatTime string `json:"lastHeartbeatTime,omitempty" yaml:"lastHeartbeatTime,omitempty"` + LastTransitionTime string `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"` + Message string `json:"message,omitempty" yaml:"message,omitempty"` + Reason string `json:"reason,omitempty" yaml:"reason,omitempty"` + Status string `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_config_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_config_source.go new file mode 100644 index 000000000..fc84f3493 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_config_source.go @@ -0,0 +1,10 @@ +package client + +const ( + NodeConfigSourceType = "nodeConfigSource" + NodeConfigSourceFieldConfigMap = "configMap" +) + +type NodeConfigSource struct { + ConfigMap *ConfigMapNodeConfigSource `json:"configMap,omitempty" yaml:"configMap,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_config_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_config_status.go new file mode 100644 index 000000000..919108f38 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_config_status.go @@ -0,0 +1,16 @@ +package client + +const ( + NodeConfigStatusType = "nodeConfigStatus" + NodeConfigStatusFieldActive = "active" + NodeConfigStatusFieldAssigned = "assigned" + NodeConfigStatusFieldError = "error" + NodeConfigStatusFieldLastKnownGood = "lastKnownGood" +) + +type NodeConfigStatus struct { + Active *NodeConfigSource `json:"active,omitempty" yaml:"active,omitempty"` + Assigned *NodeConfigSource `json:"assigned,omitempty" yaml:"assigned,omitempty"` + Error string `json:"error,omitempty" yaml:"error,omitempty"` + LastKnownGood *NodeConfigSource `json:"lastKnownGood,omitempty" yaml:"lastKnownGood,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_daemon_endpoints.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_daemon_endpoints.go new file mode 100644 index 000000000..57da90d57 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_daemon_endpoints.go @@ -0,0 +1,10 @@ +package client + +const ( + NodeDaemonEndpointsType = "nodeDaemonEndpoints" + NodeDaemonEndpointsFieldKubeletEndpoint = "kubeletEndpoint" +) + +type NodeDaemonEndpoints struct { + KubeletEndpoint *DaemonEndpoint `json:"kubeletEndpoint,omitempty" yaml:"kubeletEndpoint,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_drain_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_drain_input.go new file mode 100644 index 000000000..974ac7e60 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_drain_input.go @@ -0,0 +1,18 @@ +package client + +const ( + NodeDrainInputType = "nodeDrainInput" + NodeDrainInputFieldDeleteLocalData = "deleteLocalData" + NodeDrainInputFieldForce = "force" + NodeDrainInputFieldGracePeriod = "gracePeriod" + NodeDrainInputFieldIgnoreDaemonSets = "ignoreDaemonSets" + NodeDrainInputFieldTimeout = "timeout" +) + +type NodeDrainInput struct { + DeleteLocalData bool `json:"deleteLocalData,omitempty" yaml:"deleteLocalData,omitempty"` + Force bool `json:"force,omitempty" yaml:"force,omitempty"` + GracePeriod int64 `json:"gracePeriod,omitempty" yaml:"gracePeriod,omitempty"` + IgnoreDaemonSets *bool `json:"ignoreDaemonSets,omitempty" yaml:"ignoreDaemonSets,omitempty"` + Timeout int64 `json:"timeout,omitempty" yaml:"timeout,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_driver.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_driver.go new file mode 100644 index 000000000..4e0cefd0f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_driver.go @@ -0,0 +1,160 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + NodeDriverType = "nodeDriver" + NodeDriverFieldActive = "active" + NodeDriverFieldAddCloudCredential = "addCloudCredential" + NodeDriverFieldAnnotations = "annotations" + NodeDriverFieldBuiltin = "builtin" + NodeDriverFieldChecksum = "checksum" + NodeDriverFieldCreated = "created" + NodeDriverFieldCreatorID = "creatorId" + NodeDriverFieldDescription = "description" + NodeDriverFieldExternalID = "externalId" + NodeDriverFieldLabels = "labels" + NodeDriverFieldName = "name" + NodeDriverFieldOwnerReferences = "ownerReferences" + NodeDriverFieldRemoved = "removed" + NodeDriverFieldState = "state" + NodeDriverFieldStatus = "status" + NodeDriverFieldTransitioning = "transitioning" + NodeDriverFieldTransitioningMessage = "transitioningMessage" + NodeDriverFieldUIURL = "uiUrl" + NodeDriverFieldURL = "url" + NodeDriverFieldUUID = "uuid" + NodeDriverFieldWhitelistDomains = "whitelistDomains" +) + +type NodeDriver struct { + types.Resource + Active bool `json:"active,omitempty" yaml:"active,omitempty"` + AddCloudCredential bool `json:"addCloudCredential,omitempty" yaml:"addCloudCredential,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Builtin bool `json:"builtin,omitempty" yaml:"builtin,omitempty"` + Checksum string `json:"checksum,omitempty" yaml:"checksum,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + ExternalID string `json:"externalId,omitempty" yaml:"externalId,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Status *NodeDriverStatus `json:"status,omitempty" yaml:"status,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UIURL string `json:"uiUrl,omitempty" yaml:"uiUrl,omitempty"` + URL string `json:"url,omitempty" yaml:"url,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + WhitelistDomains []string `json:"whitelistDomains,omitempty" yaml:"whitelistDomains,omitempty"` +} + +type NodeDriverCollection struct { + types.Collection + Data []NodeDriver `json:"data,omitempty"` + client *NodeDriverClient +} + +type NodeDriverClient struct { + apiClient *Client +} + +type NodeDriverOperations interface { + List(opts *types.ListOpts) (*NodeDriverCollection, error) + ListAll(opts *types.ListOpts) (*NodeDriverCollection, error) + Create(opts *NodeDriver) (*NodeDriver, error) + Update(existing *NodeDriver, updates interface{}) (*NodeDriver, error) + Replace(existing *NodeDriver) (*NodeDriver, error) + ByID(id string) (*NodeDriver, error) + Delete(container *NodeDriver) error + + ActionActivate(resource *NodeDriver) (*NodeDriver, error) + + ActionDeactivate(resource *NodeDriver) (*NodeDriver, error) +} + +func newNodeDriverClient(apiClient *Client) *NodeDriverClient { + return &NodeDriverClient{ + apiClient: apiClient, + } +} + +func (c *NodeDriverClient) Create(container *NodeDriver) (*NodeDriver, error) { + resp := &NodeDriver{} + err := c.apiClient.Ops.DoCreate(NodeDriverType, container, resp) + return resp, err +} + +func (c *NodeDriverClient) Update(existing *NodeDriver, updates interface{}) (*NodeDriver, error) { + resp := &NodeDriver{} + err := c.apiClient.Ops.DoUpdate(NodeDriverType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *NodeDriverClient) Replace(obj *NodeDriver) (*NodeDriver, error) { + resp := &NodeDriver{} + err := c.apiClient.Ops.DoReplace(NodeDriverType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *NodeDriverClient) List(opts *types.ListOpts) (*NodeDriverCollection, error) { + resp := &NodeDriverCollection{} + err := c.apiClient.Ops.DoList(NodeDriverType, opts, resp) + resp.client = c + return resp, err +} + +func (c *NodeDriverClient) ListAll(opts *types.ListOpts) (*NodeDriverCollection, error) { + resp := &NodeDriverCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *NodeDriverCollection) Next() (*NodeDriverCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &NodeDriverCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *NodeDriverClient) ByID(id string) (*NodeDriver, error) { + resp := &NodeDriver{} + err := c.apiClient.Ops.DoByID(NodeDriverType, id, resp) + return resp, err +} + +func (c *NodeDriverClient) Delete(container *NodeDriver) error { + return c.apiClient.Ops.DoResourceDelete(NodeDriverType, &container.Resource) +} + +func (c *NodeDriverClient) ActionActivate(resource *NodeDriver) (*NodeDriver, error) { + resp := &NodeDriver{} + err := c.apiClient.Ops.DoAction(NodeDriverType, "activate", &resource.Resource, nil, resp) + return resp, err +} + +func (c *NodeDriverClient) ActionDeactivate(resource *NodeDriver) (*NodeDriver, error) { + resp := &NodeDriver{} + err := c.apiClient.Ops.DoAction(NodeDriverType, "deactivate", &resource.Resource, nil, resp) + return resp, err +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_driver_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_driver_spec.go new file mode 100644 index 000000000..d8a64cb26 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_driver_spec.go @@ -0,0 +1,28 @@ +package client + +const ( + NodeDriverSpecType = "nodeDriverSpec" + NodeDriverSpecFieldActive = "active" + NodeDriverSpecFieldAddCloudCredential = "addCloudCredential" + NodeDriverSpecFieldBuiltin = "builtin" + NodeDriverSpecFieldChecksum = "checksum" + NodeDriverSpecFieldDescription = "description" + NodeDriverSpecFieldDisplayName = "displayName" + NodeDriverSpecFieldExternalID = "externalId" + NodeDriverSpecFieldUIURL = "uiUrl" + NodeDriverSpecFieldURL = "url" + NodeDriverSpecFieldWhitelistDomains = "whitelistDomains" +) + +type NodeDriverSpec struct { + Active bool `json:"active,omitempty" yaml:"active,omitempty"` + AddCloudCredential bool `json:"addCloudCredential,omitempty" yaml:"addCloudCredential,omitempty"` + Builtin bool `json:"builtin,omitempty" yaml:"builtin,omitempty"` + Checksum string `json:"checksum,omitempty" yaml:"checksum,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"` + ExternalID string `json:"externalId,omitempty" yaml:"externalId,omitempty"` + UIURL string `json:"uiUrl,omitempty" yaml:"uiUrl,omitempty"` + URL string `json:"url,omitempty" yaml:"url,omitempty"` + WhitelistDomains []string `json:"whitelistDomains,omitempty" yaml:"whitelistDomains,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_driver_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_driver_status.go new file mode 100644 index 000000000..971f6bab7 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_driver_status.go @@ -0,0 +1,16 @@ +package client + +const ( + NodeDriverStatusType = "nodeDriverStatus" + NodeDriverStatusFieldAppliedChecksum = "appliedChecksum" + NodeDriverStatusFieldAppliedDockerMachineVersion = "appliedDockerMachineVersion" + NodeDriverStatusFieldAppliedURL = "appliedURL" + NodeDriverStatusFieldConditions = "conditions" +) + +type NodeDriverStatus struct { + AppliedChecksum string `json:"appliedChecksum,omitempty" yaml:"appliedChecksum,omitempty"` + AppliedDockerMachineVersion string `json:"appliedDockerMachineVersion,omitempty" yaml:"appliedDockerMachineVersion,omitempty"` + AppliedURL string `json:"appliedURL,omitempty" yaml:"appliedURL,omitempty"` + Conditions []Condition `json:"conditions,omitempty" yaml:"conditions,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_group.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_group.go new file mode 100644 index 000000000..733983a6c --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_group.go @@ -0,0 +1,48 @@ +package client + +const ( + NodeGroupType = "nodeGroup" + NodeGroupFieldArm = "arm" + NodeGroupFieldDesiredSize = "desiredSize" + NodeGroupFieldDiskSize = "diskSize" + NodeGroupFieldEc2SshKey = "ec2SshKey" + NodeGroupFieldGpu = "gpu" + NodeGroupFieldImageID = "imageId" + NodeGroupFieldInstanceType = "instanceType" + NodeGroupFieldLabels = "labels" + NodeGroupFieldLaunchTemplate = "launchTemplate" + NodeGroupFieldMaxSize = "maxSize" + NodeGroupFieldMinSize = "minSize" + NodeGroupFieldNodeRole = "nodeRole" + NodeGroupFieldNodegroupName = "nodegroupName" + NodeGroupFieldRequestSpotInstances = "requestSpotInstances" + NodeGroupFieldResourceTags = "resourceTags" + NodeGroupFieldSpotInstanceTypes = "spotInstanceTypes" + NodeGroupFieldSubnets = "subnets" + NodeGroupFieldTags = "tags" + NodeGroupFieldUserData = "userData" + NodeGroupFieldVersion = "version" +) + +type NodeGroup struct { + Arm *bool `json:"arm,omitempty" yaml:"arm,omitempty"` + DesiredSize *int64 `json:"desiredSize,omitempty" yaml:"desiredSize,omitempty"` + DiskSize *int64 `json:"diskSize,omitempty" yaml:"diskSize,omitempty"` + Ec2SshKey *string `json:"ec2SshKey,omitempty" yaml:"ec2SshKey,omitempty"` + Gpu *bool `json:"gpu,omitempty" yaml:"gpu,omitempty"` + ImageID *string `json:"imageId,omitempty" yaml:"imageId,omitempty"` + InstanceType *string `json:"instanceType,omitempty" yaml:"instanceType,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + LaunchTemplate *LaunchTemplate `json:"launchTemplate,omitempty" yaml:"launchTemplate,omitempty"` + MaxSize *int64 `json:"maxSize,omitempty" yaml:"maxSize,omitempty"` + MinSize *int64 `json:"minSize,omitempty" yaml:"minSize,omitempty"` + NodeRole *string `json:"nodeRole,omitempty" yaml:"nodeRole,omitempty"` + NodegroupName *string `json:"nodegroupName,omitempty" yaml:"nodegroupName,omitempty"` + RequestSpotInstances *bool `json:"requestSpotInstances,omitempty" yaml:"requestSpotInstances,omitempty"` + ResourceTags map[string]string `json:"resourceTags,omitempty" yaml:"resourceTags,omitempty"` + SpotInstanceTypes []string `json:"spotInstanceTypes,omitempty" yaml:"spotInstanceTypes,omitempty"` + Subnets []string `json:"subnets,omitempty" yaml:"subnets,omitempty"` + Tags map[string]string `json:"tags,omitempty" yaml:"tags,omitempty"` + UserData *string `json:"userData,omitempty" yaml:"userData,omitempty"` + Version *string `json:"version,omitempty" yaml:"version,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_info.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_info.go new file mode 100644 index 000000000..d3d8ac457 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_info.go @@ -0,0 +1,16 @@ +package client + +const ( + NodeInfoType = "nodeInfo" + NodeInfoFieldCPU = "cpu" + NodeInfoFieldKubernetes = "kubernetes" + NodeInfoFieldMemory = "memory" + NodeInfoFieldOS = "os" +) + +type NodeInfo struct { + CPU *CPUInfo `json:"cpu,omitempty" yaml:"cpu,omitempty"` + Kubernetes *KubernetesInfo `json:"kubernetes,omitempty" yaml:"kubernetes,omitempty"` + Memory *MemoryInfo `json:"memory,omitempty" yaml:"memory,omitempty"` + OS *OSInfo `json:"os,omitempty" yaml:"os,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_plan.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_plan.go new file mode 100644 index 000000000..4bf3c78a7 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_plan.go @@ -0,0 +1,14 @@ +package client + +const ( + NodePlanType = "nodePlan" + NodePlanFieldAgentCheckInterval = "agentCheckInterval" + NodePlanFieldPlan = "plan" + NodePlanFieldVersion = "version" +) + +type NodePlan struct { + AgentCheckInterval int64 `json:"agentCheckInterval,omitempty" yaml:"agentCheckInterval,omitempty"` + Plan *RKEConfigNodePlan `json:"plan,omitempty" yaml:"plan,omitempty"` + Version int64 `json:"version,omitempty" yaml:"version,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_pool.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_pool.go new file mode 100644 index 000000000..345acd27a --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_pool.go @@ -0,0 +1,156 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + NodePoolType = "nodePool" + NodePoolFieldAnnotations = "annotations" + NodePoolFieldClusterID = "clusterId" + NodePoolFieldControlPlane = "controlPlane" + NodePoolFieldCreated = "created" + NodePoolFieldCreatorID = "creatorId" + NodePoolFieldDeleteNotReadyAfterSecs = "deleteNotReadyAfterSecs" + NodePoolFieldDisplayName = "displayName" + NodePoolFieldDrainBeforeDelete = "drainBeforeDelete" + NodePoolFieldDriver = "driver" + NodePoolFieldEtcd = "etcd" + NodePoolFieldHostnamePrefix = "hostnamePrefix" + NodePoolFieldLabels = "labels" + NodePoolFieldName = "name" + NodePoolFieldNamespaceId = "namespaceId" + NodePoolFieldNodeAnnotations = "nodeAnnotations" + NodePoolFieldNodeLabels = "nodeLabels" + NodePoolFieldNodeTaints = "nodeTaints" + NodePoolFieldNodeTemplateID = "nodeTemplateId" + NodePoolFieldOwnerReferences = "ownerReferences" + NodePoolFieldQuantity = "quantity" + NodePoolFieldRemoved = "removed" + NodePoolFieldState = "state" + NodePoolFieldStatus = "status" + NodePoolFieldTransitioning = "transitioning" + NodePoolFieldTransitioningMessage = "transitioningMessage" + NodePoolFieldUUID = "uuid" + NodePoolFieldWorker = "worker" +) + +type NodePool struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + ClusterID string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"` + ControlPlane bool `json:"controlPlane,omitempty" yaml:"controlPlane,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + DeleteNotReadyAfterSecs int64 `json:"deleteNotReadyAfterSecs,omitempty" yaml:"deleteNotReadyAfterSecs,omitempty"` + DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"` + DrainBeforeDelete bool `json:"drainBeforeDelete,omitempty" yaml:"drainBeforeDelete,omitempty"` + Driver string `json:"driver,omitempty" yaml:"driver,omitempty"` + Etcd bool `json:"etcd,omitempty" yaml:"etcd,omitempty"` + HostnamePrefix string `json:"hostnamePrefix,omitempty" yaml:"hostnamePrefix,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NamespaceId string `json:"namespaceId,omitempty" yaml:"namespaceId,omitempty"` + NodeAnnotations map[string]string `json:"nodeAnnotations,omitempty" yaml:"nodeAnnotations,omitempty"` + NodeLabels map[string]string `json:"nodeLabels,omitempty" yaml:"nodeLabels,omitempty"` + NodeTaints []Taint `json:"nodeTaints,omitempty" yaml:"nodeTaints,omitempty"` + NodeTemplateID string `json:"nodeTemplateId,omitempty" yaml:"nodeTemplateId,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Quantity int64 `json:"quantity,omitempty" yaml:"quantity,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Status *NodePoolStatus `json:"status,omitempty" yaml:"status,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + Worker bool `json:"worker,omitempty" yaml:"worker,omitempty"` +} + +type NodePoolCollection struct { + types.Collection + Data []NodePool `json:"data,omitempty"` + client *NodePoolClient +} + +type NodePoolClient struct { + apiClient *Client +} + +type NodePoolOperations interface { + List(opts *types.ListOpts) (*NodePoolCollection, error) + ListAll(opts *types.ListOpts) (*NodePoolCollection, error) + Create(opts *NodePool) (*NodePool, error) + Update(existing *NodePool, updates interface{}) (*NodePool, error) + Replace(existing *NodePool) (*NodePool, error) + ByID(id string) (*NodePool, error) + Delete(container *NodePool) error +} + +func newNodePoolClient(apiClient *Client) *NodePoolClient { + return &NodePoolClient{ + apiClient: apiClient, + } +} + +func (c *NodePoolClient) Create(container *NodePool) (*NodePool, error) { + resp := &NodePool{} + err := c.apiClient.Ops.DoCreate(NodePoolType, container, resp) + return resp, err +} + +func (c *NodePoolClient) Update(existing *NodePool, updates interface{}) (*NodePool, error) { + resp := &NodePool{} + err := c.apiClient.Ops.DoUpdate(NodePoolType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *NodePoolClient) Replace(obj *NodePool) (*NodePool, error) { + resp := &NodePool{} + err := c.apiClient.Ops.DoReplace(NodePoolType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *NodePoolClient) List(opts *types.ListOpts) (*NodePoolCollection, error) { + resp := &NodePoolCollection{} + err := c.apiClient.Ops.DoList(NodePoolType, opts, resp) + resp.client = c + return resp, err +} + +func (c *NodePoolClient) ListAll(opts *types.ListOpts) (*NodePoolCollection, error) { + resp := &NodePoolCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *NodePoolCollection) Next() (*NodePoolCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &NodePoolCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *NodePoolClient) ByID(id string) (*NodePool, error) { + resp := &NodePool{} + err := c.apiClient.Ops.DoByID(NodePoolType, id, resp) + return resp, err +} + +func (c *NodePoolClient) Delete(container *NodePool) error { + return c.apiClient.Ops.DoResourceDelete(NodePoolType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_pool_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_pool_spec.go new file mode 100644 index 000000000..408463fcd --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_pool_spec.go @@ -0,0 +1,34 @@ +package client + +const ( + NodePoolSpecType = "nodePoolSpec" + NodePoolSpecFieldClusterID = "clusterId" + NodePoolSpecFieldControlPlane = "controlPlane" + NodePoolSpecFieldDeleteNotReadyAfterSecs = "deleteNotReadyAfterSecs" + NodePoolSpecFieldDisplayName = "displayName" + NodePoolSpecFieldDrainBeforeDelete = "drainBeforeDelete" + NodePoolSpecFieldEtcd = "etcd" + NodePoolSpecFieldHostnamePrefix = "hostnamePrefix" + NodePoolSpecFieldNodeAnnotations = "nodeAnnotations" + NodePoolSpecFieldNodeLabels = "nodeLabels" + NodePoolSpecFieldNodeTaints = "nodeTaints" + NodePoolSpecFieldNodeTemplateID = "nodeTemplateId" + NodePoolSpecFieldQuantity = "quantity" + NodePoolSpecFieldWorker = "worker" +) + +type NodePoolSpec struct { + ClusterID string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"` + ControlPlane bool `json:"controlPlane,omitempty" yaml:"controlPlane,omitempty"` + DeleteNotReadyAfterSecs int64 `json:"deleteNotReadyAfterSecs,omitempty" yaml:"deleteNotReadyAfterSecs,omitempty"` + DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"` + DrainBeforeDelete bool `json:"drainBeforeDelete,omitempty" yaml:"drainBeforeDelete,omitempty"` + Etcd bool `json:"etcd,omitempty" yaml:"etcd,omitempty"` + HostnamePrefix string `json:"hostnamePrefix,omitempty" yaml:"hostnamePrefix,omitempty"` + NodeAnnotations map[string]string `json:"nodeAnnotations,omitempty" yaml:"nodeAnnotations,omitempty"` + NodeLabels map[string]string `json:"nodeLabels,omitempty" yaml:"nodeLabels,omitempty"` + NodeTaints []Taint `json:"nodeTaints,omitempty" yaml:"nodeTaints,omitempty"` + NodeTemplateID string `json:"nodeTemplateId,omitempty" yaml:"nodeTemplateId,omitempty"` + Quantity int64 `json:"quantity,omitempty" yaml:"quantity,omitempty"` + Worker bool `json:"worker,omitempty" yaml:"worker,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_pool_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_pool_status.go new file mode 100644 index 000000000..f5c7ed7da --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_pool_status.go @@ -0,0 +1,10 @@ +package client + +const ( + NodePoolStatusType = "nodePoolStatus" + NodePoolStatusFieldConditions = "conditions" +) + +type NodePoolStatus struct { + Conditions []Condition `json:"conditions,omitempty" yaml:"conditions,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_runtime_handler.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_runtime_handler.go new file mode 100644 index 000000000..500e2c91f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_runtime_handler.go @@ -0,0 +1,12 @@ +package client + +const ( + NodeRuntimeHandlerType = "nodeRuntimeHandler" + NodeRuntimeHandlerFieldFeatures = "features" + NodeRuntimeHandlerFieldName = "name" +) + +type NodeRuntimeHandler struct { + Features *NodeRuntimeHandlerFeatures `json:"features,omitempty" yaml:"features,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_runtime_handler_features.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_runtime_handler_features.go new file mode 100644 index 000000000..dda38ddee --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_runtime_handler_features.go @@ -0,0 +1,10 @@ +package client + +const ( + NodeRuntimeHandlerFeaturesType = "nodeRuntimeHandlerFeatures" + NodeRuntimeHandlerFeaturesFieldRecursiveReadOnlyMounts = "recursiveReadOnlyMounts" +) + +type NodeRuntimeHandlerFeatures struct { + RecursiveReadOnlyMounts *bool `json:"recursiveReadOnlyMounts,omitempty" yaml:"recursiveReadOnlyMounts,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_selector.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_selector.go new file mode 100644 index 000000000..721a16f4b --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_selector.go @@ -0,0 +1,10 @@ +package client + +const ( + NodeSelectorType = "nodeSelector" + NodeSelectorFieldNodeSelectorTerms = "nodeSelectorTerms" +) + +type NodeSelector struct { + NodeSelectorTerms []NodeSelectorTerm `json:"nodeSelectorTerms,omitempty" yaml:"nodeSelectorTerms,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_selector_requirement.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_selector_requirement.go new file mode 100644 index 000000000..9338a8c86 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_selector_requirement.go @@ -0,0 +1,14 @@ +package client + +const ( + NodeSelectorRequirementType = "nodeSelectorRequirement" + NodeSelectorRequirementFieldKey = "key" + NodeSelectorRequirementFieldOperator = "operator" + NodeSelectorRequirementFieldValues = "values" +) + +type NodeSelectorRequirement struct { + Key string `json:"key,omitempty" yaml:"key,omitempty"` + Operator string `json:"operator,omitempty" yaml:"operator,omitempty"` + Values []string `json:"values,omitempty" yaml:"values,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_selector_term.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_selector_term.go new file mode 100644 index 000000000..11bf2562b --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_selector_term.go @@ -0,0 +1,12 @@ +package client + +const ( + NodeSelectorTermType = "nodeSelectorTerm" + NodeSelectorTermFieldMatchExpressions = "matchExpressions" + NodeSelectorTermFieldMatchFields = "matchFields" +) + +type NodeSelectorTerm struct { + MatchExpressions []NodeSelectorRequirement `json:"matchExpressions,omitempty" yaml:"matchExpressions,omitempty"` + MatchFields []NodeSelectorRequirement `json:"matchFields,omitempty" yaml:"matchFields,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_spec.go new file mode 100644 index 000000000..f2f6eefe2 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_spec.go @@ -0,0 +1,50 @@ +package client + +const ( + NodeSpecType = "nodeSpec" + NodeSpecFieldControlPlane = "controlPlane" + NodeSpecFieldCustomConfig = "customConfig" + NodeSpecFieldDescription = "description" + NodeSpecFieldDesiredNodeTaints = "desiredNodeTaints" + NodeSpecFieldDesiredNodeUnschedulable = "desiredNodeUnschedulable" + NodeSpecFieldDisplayName = "displayName" + NodeSpecFieldEtcd = "etcd" + NodeSpecFieldImported = "imported" + NodeSpecFieldMetadataUpdate = "metadataUpdate" + NodeSpecFieldNodeDrainInput = "nodeDrainInput" + NodeSpecFieldNodePoolID = "nodePoolId" + NodeSpecFieldNodeTemplateID = "nodeTemplateId" + NodeSpecFieldPodCidr = "podCidr" + NodeSpecFieldPodCidrs = "podCidrs" + NodeSpecFieldProviderId = "providerId" + NodeSpecFieldRequestedHostname = "requestedHostname" + NodeSpecFieldScaledownTime = "scaledownTime" + NodeSpecFieldTaints = "taints" + NodeSpecFieldUnschedulable = "unschedulable" + NodeSpecFieldUpdateTaintsFromAPI = "updateTaintsFromAPI" + NodeSpecFieldWorker = "worker" +) + +type NodeSpec struct { + ControlPlane bool `json:"controlPlane,omitempty" yaml:"controlPlane,omitempty"` + CustomConfig *CustomConfig `json:"customConfig,omitempty" yaml:"customConfig,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + DesiredNodeTaints []Taint `json:"desiredNodeTaints,omitempty" yaml:"desiredNodeTaints,omitempty"` + DesiredNodeUnschedulable string `json:"desiredNodeUnschedulable,omitempty" yaml:"desiredNodeUnschedulable,omitempty"` + DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"` + Etcd bool `json:"etcd,omitempty" yaml:"etcd,omitempty"` + Imported bool `json:"imported,omitempty" yaml:"imported,omitempty"` + MetadataUpdate *MetadataUpdate `json:"metadataUpdate,omitempty" yaml:"metadataUpdate,omitempty"` + NodeDrainInput *NodeDrainInput `json:"nodeDrainInput,omitempty" yaml:"nodeDrainInput,omitempty"` + NodePoolID string `json:"nodePoolId,omitempty" yaml:"nodePoolId,omitempty"` + NodeTemplateID string `json:"nodeTemplateId,omitempty" yaml:"nodeTemplateId,omitempty"` + PodCidr string `json:"podCidr,omitempty" yaml:"podCidr,omitempty"` + PodCidrs []string `json:"podCidrs,omitempty" yaml:"podCidrs,omitempty"` + ProviderId string `json:"providerId,omitempty" yaml:"providerId,omitempty"` + RequestedHostname string `json:"requestedHostname,omitempty" yaml:"requestedHostname,omitempty"` + ScaledownTime string `json:"scaledownTime,omitempty" yaml:"scaledownTime,omitempty"` + Taints []Taint `json:"taints,omitempty" yaml:"taints,omitempty"` + Unschedulable bool `json:"unschedulable,omitempty" yaml:"unschedulable,omitempty"` + UpdateTaintsFromAPI *bool `json:"updateTaintsFromAPI,omitempty" yaml:"updateTaintsFromAPI,omitempty"` + Worker bool `json:"worker,omitempty" yaml:"worker,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_status.go new file mode 100644 index 000000000..99a1754c5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_status.go @@ -0,0 +1,48 @@ +package client + +const ( + NodeStatusType = "nodeStatus" + NodeStatusFieldAllocatable = "allocatable" + NodeStatusFieldAppliedNodeVersion = "appliedNodeVersion" + NodeStatusFieldCapacity = "capacity" + NodeStatusFieldConditions = "conditions" + NodeStatusFieldDockerInfo = "dockerInfo" + NodeStatusFieldExternalIPAddress = "externalIpAddress" + NodeStatusFieldHostname = "hostname" + NodeStatusFieldIPAddress = "ipAddress" + NodeStatusFieldInfo = "info" + NodeStatusFieldLimits = "limits" + NodeStatusFieldNodeAnnotations = "nodeAnnotations" + NodeStatusFieldNodeConfig = "rkeNode" + NodeStatusFieldNodeLabels = "nodeLabels" + NodeStatusFieldNodeName = "nodeName" + NodeStatusFieldNodePlan = "nodePlan" + NodeStatusFieldNodeTaints = "nodeTaints" + NodeStatusFieldRequested = "requested" + NodeStatusFieldRuntimeHandlers = "runtimeHandlers" + NodeStatusFieldVolumesAttached = "volumesAttached" + NodeStatusFieldVolumesInUse = "volumesInUse" +) + +type NodeStatus struct { + Allocatable map[string]string `json:"allocatable,omitempty" yaml:"allocatable,omitempty"` + AppliedNodeVersion int64 `json:"appliedNodeVersion,omitempty" yaml:"appliedNodeVersion,omitempty"` + Capacity map[string]string `json:"capacity,omitempty" yaml:"capacity,omitempty"` + Conditions []NodeCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + DockerInfo *DockerInfo `json:"dockerInfo,omitempty" yaml:"dockerInfo,omitempty"` + ExternalIPAddress string `json:"externalIpAddress,omitempty" yaml:"externalIpAddress,omitempty"` + Hostname string `json:"hostname,omitempty" yaml:"hostname,omitempty"` + IPAddress string `json:"ipAddress,omitempty" yaml:"ipAddress,omitempty"` + Info *NodeInfo `json:"info,omitempty" yaml:"info,omitempty"` + Limits map[string]string `json:"limits,omitempty" yaml:"limits,omitempty"` + NodeAnnotations map[string]string `json:"nodeAnnotations,omitempty" yaml:"nodeAnnotations,omitempty"` + NodeConfig *RKEConfigNode `json:"rkeNode,omitempty" yaml:"rkeNode,omitempty"` + NodeLabels map[string]string `json:"nodeLabels,omitempty" yaml:"nodeLabels,omitempty"` + NodeName string `json:"nodeName,omitempty" yaml:"nodeName,omitempty"` + NodePlan *NodePlan `json:"nodePlan,omitempty" yaml:"nodePlan,omitempty"` + NodeTaints []Taint `json:"nodeTaints,omitempty" yaml:"nodeTaints,omitempty"` + Requested map[string]string `json:"requested,omitempty" yaml:"requested,omitempty"` + RuntimeHandlers []NodeRuntimeHandler `json:"runtimeHandlers,omitempty" yaml:"runtimeHandlers,omitempty"` + VolumesAttached map[string]AttachedVolume `json:"volumesAttached,omitempty" yaml:"volumesAttached,omitempty"` + VolumesInUse []string `json:"volumesInUse,omitempty" yaml:"volumesInUse,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_system_info.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_system_info.go new file mode 100644 index 000000000..c5632f827 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_system_info.go @@ -0,0 +1,28 @@ +package client + +const ( + NodeSystemInfoType = "nodeSystemInfo" + NodeSystemInfoFieldArchitecture = "architecture" + NodeSystemInfoFieldBootID = "bootID" + NodeSystemInfoFieldContainerRuntimeVersion = "containerRuntimeVersion" + NodeSystemInfoFieldKernelVersion = "kernelVersion" + NodeSystemInfoFieldKubeProxyVersion = "kubeProxyVersion" + NodeSystemInfoFieldKubeletVersion = "kubeletVersion" + NodeSystemInfoFieldMachineID = "machineID" + NodeSystemInfoFieldOSImage = "osImage" + NodeSystemInfoFieldOperatingSystem = "operatingSystem" + NodeSystemInfoFieldSystemUUID = "systemUUID" +) + +type NodeSystemInfo struct { + Architecture string `json:"architecture,omitempty" yaml:"architecture,omitempty"` + BootID string `json:"bootID,omitempty" yaml:"bootID,omitempty"` + ContainerRuntimeVersion string `json:"containerRuntimeVersion,omitempty" yaml:"containerRuntimeVersion,omitempty"` + KernelVersion string `json:"kernelVersion,omitempty" yaml:"kernelVersion,omitempty"` + KubeProxyVersion string `json:"kubeProxyVersion,omitempty" yaml:"kubeProxyVersion,omitempty"` + KubeletVersion string `json:"kubeletVersion,omitempty" yaml:"kubeletVersion,omitempty"` + MachineID string `json:"machineID,omitempty" yaml:"machineID,omitempty"` + OSImage string `json:"osImage,omitempty" yaml:"osImage,omitempty"` + OperatingSystem string `json:"operatingSystem,omitempty" yaml:"operatingSystem,omitempty"` + SystemUUID string `json:"systemUUID,omitempty" yaml:"systemUUID,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_template.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_template.go new file mode 100644 index 000000000..bd6ce9c3e --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_template.go @@ -0,0 +1,160 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + NodeTemplateType = "nodeTemplate" + NodeTemplateFieldAnnotations = "annotations" + NodeTemplateFieldAuthCertificateAuthority = "authCertificateAuthority" + NodeTemplateFieldAuthKey = "authKey" + NodeTemplateFieldCloudCredentialID = "cloudCredentialId" + NodeTemplateFieldCreated = "created" + NodeTemplateFieldCreatorID = "creatorId" + NodeTemplateFieldDescription = "description" + NodeTemplateFieldDockerVersion = "dockerVersion" + NodeTemplateFieldDriver = "driver" + NodeTemplateFieldEngineEnv = "engineEnv" + NodeTemplateFieldEngineInsecureRegistry = "engineInsecureRegistry" + NodeTemplateFieldEngineInstallURL = "engineInstallURL" + NodeTemplateFieldEngineLabel = "engineLabel" + NodeTemplateFieldEngineOpt = "engineOpt" + NodeTemplateFieldEngineRegistryMirror = "engineRegistryMirror" + NodeTemplateFieldEngineStorageDriver = "engineStorageDriver" + NodeTemplateFieldLabels = "labels" + NodeTemplateFieldLogOpt = "logOpt" + NodeTemplateFieldName = "name" + NodeTemplateFieldNodeTaints = "nodeTaints" + NodeTemplateFieldOwnerReferences = "ownerReferences" + NodeTemplateFieldRemoved = "removed" + NodeTemplateFieldState = "state" + NodeTemplateFieldStatus = "status" + NodeTemplateFieldStorageOpt = "storageOpt" + NodeTemplateFieldTransitioning = "transitioning" + NodeTemplateFieldTransitioningMessage = "transitioningMessage" + NodeTemplateFieldUUID = "uuid" + NodeTemplateFieldUseInternalIPAddress = "useInternalIpAddress" +) + +type NodeTemplate struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + AuthCertificateAuthority string `json:"authCertificateAuthority,omitempty" yaml:"authCertificateAuthority,omitempty"` + AuthKey string `json:"authKey,omitempty" yaml:"authKey,omitempty"` + CloudCredentialID string `json:"cloudCredentialId,omitempty" yaml:"cloudCredentialId,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + DockerVersion string `json:"dockerVersion,omitempty" yaml:"dockerVersion,omitempty"` + Driver string `json:"driver,omitempty" yaml:"driver,omitempty"` + EngineEnv map[string]string `json:"engineEnv,omitempty" yaml:"engineEnv,omitempty"` + EngineInsecureRegistry []string `json:"engineInsecureRegistry,omitempty" yaml:"engineInsecureRegistry,omitempty"` + EngineInstallURL string `json:"engineInstallURL,omitempty" yaml:"engineInstallURL,omitempty"` + EngineLabel map[string]string `json:"engineLabel,omitempty" yaml:"engineLabel,omitempty"` + EngineOpt map[string]string `json:"engineOpt,omitempty" yaml:"engineOpt,omitempty"` + EngineRegistryMirror []string `json:"engineRegistryMirror,omitempty" yaml:"engineRegistryMirror,omitempty"` + EngineStorageDriver string `json:"engineStorageDriver,omitempty" yaml:"engineStorageDriver,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + LogOpt map[string]string `json:"logOpt,omitempty" yaml:"logOpt,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NodeTaints []Taint `json:"nodeTaints,omitempty" yaml:"nodeTaints,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Status *NodeTemplateStatus `json:"status,omitempty" yaml:"status,omitempty"` + StorageOpt map[string]string `json:"storageOpt,omitempty" yaml:"storageOpt,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UseInternalIPAddress *bool `json:"useInternalIpAddress,omitempty" yaml:"useInternalIpAddress,omitempty"` +} + +type NodeTemplateCollection struct { + types.Collection + Data []NodeTemplate `json:"data,omitempty"` + client *NodeTemplateClient +} + +type NodeTemplateClient struct { + apiClient *Client +} + +type NodeTemplateOperations interface { + List(opts *types.ListOpts) (*NodeTemplateCollection, error) + ListAll(opts *types.ListOpts) (*NodeTemplateCollection, error) + Create(opts *NodeTemplate) (*NodeTemplate, error) + Update(existing *NodeTemplate, updates interface{}) (*NodeTemplate, error) + Replace(existing *NodeTemplate) (*NodeTemplate, error) + ByID(id string) (*NodeTemplate, error) + Delete(container *NodeTemplate) error +} + +func newNodeTemplateClient(apiClient *Client) *NodeTemplateClient { + return &NodeTemplateClient{ + apiClient: apiClient, + } +} + +func (c *NodeTemplateClient) Create(container *NodeTemplate) (*NodeTemplate, error) { + resp := &NodeTemplate{} + err := c.apiClient.Ops.DoCreate(NodeTemplateType, container, resp) + return resp, err +} + +func (c *NodeTemplateClient) Update(existing *NodeTemplate, updates interface{}) (*NodeTemplate, error) { + resp := &NodeTemplate{} + err := c.apiClient.Ops.DoUpdate(NodeTemplateType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *NodeTemplateClient) Replace(obj *NodeTemplate) (*NodeTemplate, error) { + resp := &NodeTemplate{} + err := c.apiClient.Ops.DoReplace(NodeTemplateType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *NodeTemplateClient) List(opts *types.ListOpts) (*NodeTemplateCollection, error) { + resp := &NodeTemplateCollection{} + err := c.apiClient.Ops.DoList(NodeTemplateType, opts, resp) + resp.client = c + return resp, err +} + +func (c *NodeTemplateClient) ListAll(opts *types.ListOpts) (*NodeTemplateCollection, error) { + resp := &NodeTemplateCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *NodeTemplateCollection) Next() (*NodeTemplateCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &NodeTemplateCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *NodeTemplateClient) ByID(id string) (*NodeTemplate, error) { + resp := &NodeTemplate{} + err := c.apiClient.Ops.DoByID(NodeTemplateType, id, resp) + return resp, err +} + +func (c *NodeTemplateClient) Delete(container *NodeTemplate) error { + return c.apiClient.Ops.DoResourceDelete(NodeTemplateType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_template_condition.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_template_condition.go new file mode 100644 index 000000000..c3b3fe97a --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_template_condition.go @@ -0,0 +1,18 @@ +package client + +const ( + NodeTemplateConditionType = "nodeTemplateCondition" + NodeTemplateConditionFieldLastTransitionTime = "lastTransitionTime" + NodeTemplateConditionFieldLastUpdateTime = "lastUpdateTime" + NodeTemplateConditionFieldReason = "reason" + NodeTemplateConditionFieldStatus = "status" + NodeTemplateConditionFieldType = "type" +) + +type NodeTemplateCondition struct { + LastTransitionTime string `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"` + LastUpdateTime string `json:"lastUpdateTime,omitempty" yaml:"lastUpdateTime,omitempty"` + Reason string `json:"reason,omitempty" yaml:"reason,omitempty"` + Status string `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_template_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_template_spec.go new file mode 100644 index 000000000..e93072202 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_template_spec.go @@ -0,0 +1,44 @@ +package client + +const ( + NodeTemplateSpecType = "nodeTemplateSpec" + NodeTemplateSpecFieldAuthCertificateAuthority = "authCertificateAuthority" + NodeTemplateSpecFieldAuthKey = "authKey" + NodeTemplateSpecFieldCloudCredentialID = "cloudCredentialId" + NodeTemplateSpecFieldDescription = "description" + NodeTemplateSpecFieldDisplayName = "displayName" + NodeTemplateSpecFieldDockerVersion = "dockerVersion" + NodeTemplateSpecFieldDriver = "driver" + NodeTemplateSpecFieldEngineEnv = "engineEnv" + NodeTemplateSpecFieldEngineInsecureRegistry = "engineInsecureRegistry" + NodeTemplateSpecFieldEngineInstallURL = "engineInstallURL" + NodeTemplateSpecFieldEngineLabel = "engineLabel" + NodeTemplateSpecFieldEngineOpt = "engineOpt" + NodeTemplateSpecFieldEngineRegistryMirror = "engineRegistryMirror" + NodeTemplateSpecFieldEngineStorageDriver = "engineStorageDriver" + NodeTemplateSpecFieldLogOpt = "logOpt" + NodeTemplateSpecFieldNodeTaints = "nodeTaints" + NodeTemplateSpecFieldStorageOpt = "storageOpt" + NodeTemplateSpecFieldUseInternalIPAddress = "useInternalIpAddress" +) + +type NodeTemplateSpec struct { + AuthCertificateAuthority string `json:"authCertificateAuthority,omitempty" yaml:"authCertificateAuthority,omitempty"` + AuthKey string `json:"authKey,omitempty" yaml:"authKey,omitempty"` + CloudCredentialID string `json:"cloudCredentialId,omitempty" yaml:"cloudCredentialId,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"` + DockerVersion string `json:"dockerVersion,omitempty" yaml:"dockerVersion,omitempty"` + Driver string `json:"driver,omitempty" yaml:"driver,omitempty"` + EngineEnv map[string]string `json:"engineEnv,omitempty" yaml:"engineEnv,omitempty"` + EngineInsecureRegistry []string `json:"engineInsecureRegistry,omitempty" yaml:"engineInsecureRegistry,omitempty"` + EngineInstallURL string `json:"engineInstallURL,omitempty" yaml:"engineInstallURL,omitempty"` + EngineLabel map[string]string `json:"engineLabel,omitempty" yaml:"engineLabel,omitempty"` + EngineOpt map[string]string `json:"engineOpt,omitempty" yaml:"engineOpt,omitempty"` + EngineRegistryMirror []string `json:"engineRegistryMirror,omitempty" yaml:"engineRegistryMirror,omitempty"` + EngineStorageDriver string `json:"engineStorageDriver,omitempty" yaml:"engineStorageDriver,omitempty"` + LogOpt map[string]string `json:"logOpt,omitempty" yaml:"logOpt,omitempty"` + NodeTaints []Taint `json:"nodeTaints,omitempty" yaml:"nodeTaints,omitempty"` + StorageOpt map[string]string `json:"storageOpt,omitempty" yaml:"storageOpt,omitempty"` + UseInternalIPAddress *bool `json:"useInternalIpAddress,omitempty" yaml:"useInternalIpAddress,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_template_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_template_status.go new file mode 100644 index 000000000..c8b5d713b --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_template_status.go @@ -0,0 +1,10 @@ +package client + +const ( + NodeTemplateStatusType = "nodeTemplateStatus" + NodeTemplateStatusFieldConditions = "conditions" +) + +type NodeTemplateStatus struct { + Conditions []NodeTemplateCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_upgrade_strategy.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_upgrade_strategy.go new file mode 100644 index 000000000..3e6106c32 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_node_upgrade_strategy.go @@ -0,0 +1,16 @@ +package client + +const ( + NodeUpgradeStrategyType = "nodeUpgradeStrategy" + NodeUpgradeStrategyFieldDrain = "drain" + NodeUpgradeStrategyFieldDrainInput = "nodeDrainInput" + NodeUpgradeStrategyFieldMaxUnavailableControlplane = "maxUnavailableControlplane" + NodeUpgradeStrategyFieldMaxUnavailableWorker = "maxUnavailableWorker" +) + +type NodeUpgradeStrategy struct { + Drain *bool `json:"drain,omitempty" yaml:"drain,omitempty"` + DrainInput *NodeDrainInput `json:"nodeDrainInput,omitempty" yaml:"nodeDrainInput,omitempty"` + MaxUnavailableControlplane string `json:"maxUnavailableControlplane,omitempty" yaml:"maxUnavailableControlplane,omitempty"` + MaxUnavailableWorker string `json:"maxUnavailableWorker,omitempty" yaml:"maxUnavailableWorker,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_nodelocal.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_nodelocal.go new file mode 100644 index 000000000..392249ccb --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_nodelocal.go @@ -0,0 +1,16 @@ +package client + +const ( + NodelocalType = "nodelocal" + NodelocalFieldIPAddress = "ipAddress" + NodelocalFieldNodeLocalDNSPriorityClassName = "nodeLocalDnsPriorityClassName" + NodelocalFieldNodeSelector = "nodeSelector" + NodelocalFieldUpdateStrategy = "updateStrategy" +) + +type Nodelocal struct { + IPAddress string `json:"ipAddress,omitempty" yaml:"ipAddress,omitempty"` + NodeLocalDNSPriorityClassName string `json:"nodeLocalDnsPriorityClassName,omitempty" yaml:"nodeLocalDnsPriorityClassName,omitempty"` + NodeSelector map[string]string `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty"` + UpdateStrategy *DaemonSetUpdateStrategy `json:"updateStrategy,omitempty" yaml:"updateStrategy,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_object_field_selector.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_object_field_selector.go new file mode 100644 index 000000000..4951d2af7 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_object_field_selector.go @@ -0,0 +1,12 @@ +package client + +const ( + ObjectFieldSelectorType = "objectFieldSelector" + ObjectFieldSelectorFieldAPIVersion = "apiVersion" + ObjectFieldSelectorFieldFieldPath = "fieldPath" +) + +type ObjectFieldSelector struct { + APIVersion string `json:"apiVersion,omitempty" yaml:"apiVersion,omitempty"` + FieldPath string `json:"fieldPath,omitempty" yaml:"fieldPath,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_object_meta.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_object_meta.go new file mode 100644 index 000000000..29f79630f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_object_meta.go @@ -0,0 +1,28 @@ +package client + +const ( + ObjectMetaType = "objectMeta" + ObjectMetaFieldAnnotations = "annotations" + ObjectMetaFieldCreated = "created" + ObjectMetaFieldFinalizers = "finalizers" + ObjectMetaFieldLabels = "labels" + ObjectMetaFieldName = "name" + ObjectMetaFieldNamespace = "namespace" + ObjectMetaFieldOwnerReferences = "ownerReferences" + ObjectMetaFieldRemoved = "removed" + ObjectMetaFieldSelfLink = "selfLink" + ObjectMetaFieldUUID = "uuid" +) + +type ObjectMeta struct { + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + Finalizers []string `json:"finalizers,omitempty" yaml:"finalizers,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + SelfLink string `json:"selfLink,omitempty" yaml:"selfLink,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_oidc_apply_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_oidc_apply_input.go new file mode 100644 index 000000000..cc73a7708 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_oidc_apply_input.go @@ -0,0 +1,14 @@ +package client + +const ( + OIDCApplyInputType = "oidcApplyInput" + OIDCApplyInputFieldCode = "code" + OIDCApplyInputFieldEnabled = "enabled" + OIDCApplyInputFieldOIDCConfig = "oidcConfig" +) + +type OIDCApplyInput struct { + Code string `json:"code,omitempty" yaml:"code,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + OIDCConfig *OIDCConfig `json:"oidcConfig,omitempty" yaml:"oidcConfig,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_oidc_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_oidc_config.go new file mode 100644 index 000000000..c8a5c21ce --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_oidc_config.go @@ -0,0 +1,62 @@ +package client + +const ( + OIDCConfigType = "oidcConfig" + OIDCConfigFieldAccessMode = "accessMode" + OIDCConfigFieldAcrValue = "acrValue" + OIDCConfigFieldAllowedPrincipalIDs = "allowedPrincipalIds" + OIDCConfigFieldAnnotations = "annotations" + OIDCConfigFieldAuthEndpoint = "authEndpoint" + OIDCConfigFieldCertificate = "certificate" + OIDCConfigFieldClientID = "clientId" + OIDCConfigFieldClientSecret = "clientSecret" + OIDCConfigFieldCreated = "created" + OIDCConfigFieldCreatorID = "creatorId" + OIDCConfigFieldEnabled = "enabled" + OIDCConfigFieldGroupSearchEnabled = "groupSearchEnabled" + OIDCConfigFieldGroupsClaim = "groupsClaim" + OIDCConfigFieldIssuer = "issuer" + OIDCConfigFieldJWKSUrl = "jwksUrl" + OIDCConfigFieldLabels = "labels" + OIDCConfigFieldName = "name" + OIDCConfigFieldOwnerReferences = "ownerReferences" + OIDCConfigFieldPrivateKey = "privateKey" + OIDCConfigFieldRancherURL = "rancherUrl" + OIDCConfigFieldRemoved = "removed" + OIDCConfigFieldScopes = "scope" + OIDCConfigFieldStatus = "status" + OIDCConfigFieldTokenEndpoint = "tokenEndpoint" + OIDCConfigFieldType = "type" + OIDCConfigFieldUUID = "uuid" + OIDCConfigFieldUserInfoEndpoint = "userInfoEndpoint" +) + +type OIDCConfig struct { + AccessMode string `json:"accessMode,omitempty" yaml:"accessMode,omitempty"` + AcrValue string `json:"acrValue,omitempty" yaml:"acrValue,omitempty"` + AllowedPrincipalIDs []string `json:"allowedPrincipalIds,omitempty" yaml:"allowedPrincipalIds,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + AuthEndpoint string `json:"authEndpoint,omitempty" yaml:"authEndpoint,omitempty"` + Certificate string `json:"certificate,omitempty" yaml:"certificate,omitempty"` + ClientID string `json:"clientId,omitempty" yaml:"clientId,omitempty"` + ClientSecret string `json:"clientSecret,omitempty" yaml:"clientSecret,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + GroupSearchEnabled *bool `json:"groupSearchEnabled,omitempty" yaml:"groupSearchEnabled,omitempty"` + GroupsClaim string `json:"groupsClaim,omitempty" yaml:"groupsClaim,omitempty"` + Issuer string `json:"issuer,omitempty" yaml:"issuer,omitempty"` + JWKSUrl string `json:"jwksUrl,omitempty" yaml:"jwksUrl,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + PrivateKey string `json:"privateKey,omitempty" yaml:"privateKey,omitempty"` + RancherURL string `json:"rancherUrl,omitempty" yaml:"rancherUrl,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + Scopes string `json:"scope,omitempty" yaml:"scope,omitempty"` + Status *AuthConfigStatus `json:"status,omitempty" yaml:"status,omitempty"` + TokenEndpoint string `json:"tokenEndpoint,omitempty" yaml:"tokenEndpoint,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UserInfoEndpoint string `json:"userInfoEndpoint,omitempty" yaml:"userInfoEndpoint,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_oidc_test_output.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_oidc_test_output.go new file mode 100644 index 000000000..db930c861 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_oidc_test_output.go @@ -0,0 +1,10 @@ +package client + +const ( + OIDCTestOutputType = "oidcTestOutput" + OIDCTestOutputFieldRedirectURL = "redirectUrl" +) + +type OIDCTestOutput struct { + RedirectURL string `json:"redirectUrl,omitempty" yaml:"redirectUrl,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_okta_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_okta_config.go new file mode 100644 index 000000000..4279acbc0 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_okta_config.go @@ -0,0 +1,54 @@ +package client + +const ( + OKTAConfigType = "oktaConfig" + OKTAConfigFieldAccessMode = "accessMode" + OKTAConfigFieldAllowedPrincipalIDs = "allowedPrincipalIds" + OKTAConfigFieldAnnotations = "annotations" + OKTAConfigFieldCreated = "created" + OKTAConfigFieldCreatorID = "creatorId" + OKTAConfigFieldDisplayNameField = "displayNameField" + OKTAConfigFieldEnabled = "enabled" + OKTAConfigFieldEntityID = "entityID" + OKTAConfigFieldGroupsField = "groupsField" + OKTAConfigFieldIDPMetadataContent = "idpMetadataContent" + OKTAConfigFieldLabels = "labels" + OKTAConfigFieldName = "name" + OKTAConfigFieldOpenLdapConfig = "openLdapConfig" + OKTAConfigFieldOwnerReferences = "ownerReferences" + OKTAConfigFieldRancherAPIHost = "rancherApiHost" + OKTAConfigFieldRemoved = "removed" + OKTAConfigFieldSpCert = "spCert" + OKTAConfigFieldSpKey = "spKey" + OKTAConfigFieldStatus = "status" + OKTAConfigFieldType = "type" + OKTAConfigFieldUIDField = "uidField" + OKTAConfigFieldUUID = "uuid" + OKTAConfigFieldUserNameField = "userNameField" +) + +type OKTAConfig struct { + AccessMode string `json:"accessMode,omitempty" yaml:"accessMode,omitempty"` + AllowedPrincipalIDs []string `json:"allowedPrincipalIds,omitempty" yaml:"allowedPrincipalIds,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + DisplayNameField string `json:"displayNameField,omitempty" yaml:"displayNameField,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + EntityID string `json:"entityID,omitempty" yaml:"entityID,omitempty"` + GroupsField string `json:"groupsField,omitempty" yaml:"groupsField,omitempty"` + IDPMetadataContent string `json:"idpMetadataContent,omitempty" yaml:"idpMetadataContent,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OpenLdapConfig *LdapFields `json:"openLdapConfig,omitempty" yaml:"openLdapConfig,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + RancherAPIHost string `json:"rancherApiHost,omitempty" yaml:"rancherApiHost,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + SpCert string `json:"spCert,omitempty" yaml:"spCert,omitempty"` + SpKey string `json:"spKey,omitempty" yaml:"spKey,omitempty"` + Status *AuthConfigStatus `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + UIDField string `json:"uidField,omitempty" yaml:"uidField,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UserNameField string `json:"userNameField,omitempty" yaml:"userNameField,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_open_ldap_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_open_ldap_config.go new file mode 100644 index 000000000..36af1a48a --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_open_ldap_config.go @@ -0,0 +1,86 @@ +package client + +const ( + OpenLdapConfigType = "openLdapConfig" + OpenLdapConfigFieldAccessMode = "accessMode" + OpenLdapConfigFieldAllowedPrincipalIDs = "allowedPrincipalIds" + OpenLdapConfigFieldAnnotations = "annotations" + OpenLdapConfigFieldCertificate = "certificate" + OpenLdapConfigFieldConnectionTimeout = "connectionTimeout" + OpenLdapConfigFieldCreated = "created" + OpenLdapConfigFieldCreatorID = "creatorId" + OpenLdapConfigFieldEnabled = "enabled" + OpenLdapConfigFieldGroupDNAttribute = "groupDNAttribute" + OpenLdapConfigFieldGroupMemberMappingAttribute = "groupMemberMappingAttribute" + OpenLdapConfigFieldGroupMemberUserAttribute = "groupMemberUserAttribute" + OpenLdapConfigFieldGroupNameAttribute = "groupNameAttribute" + OpenLdapConfigFieldGroupObjectClass = "groupObjectClass" + OpenLdapConfigFieldGroupSearchAttribute = "groupSearchAttribute" + OpenLdapConfigFieldGroupSearchBase = "groupSearchBase" + OpenLdapConfigFieldGroupSearchFilter = "groupSearchFilter" + OpenLdapConfigFieldLabels = "labels" + OpenLdapConfigFieldName = "name" + OpenLdapConfigFieldNestedGroupMembershipEnabled = "nestedGroupMembershipEnabled" + OpenLdapConfigFieldOwnerReferences = "ownerReferences" + OpenLdapConfigFieldPort = "port" + OpenLdapConfigFieldRemoved = "removed" + OpenLdapConfigFieldServers = "servers" + OpenLdapConfigFieldServiceAccountDistinguishedName = "serviceAccountDistinguishedName" + OpenLdapConfigFieldServiceAccountPassword = "serviceAccountPassword" + OpenLdapConfigFieldStartTLS = "starttls" + OpenLdapConfigFieldStatus = "status" + OpenLdapConfigFieldTLS = "tls" + OpenLdapConfigFieldType = "type" + OpenLdapConfigFieldUUID = "uuid" + OpenLdapConfigFieldUserDisabledBitMask = "userDisabledBitMask" + OpenLdapConfigFieldUserEnabledAttribute = "userEnabledAttribute" + OpenLdapConfigFieldUserLoginAttribute = "userLoginAttribute" + OpenLdapConfigFieldUserMemberAttribute = "userMemberAttribute" + OpenLdapConfigFieldUserNameAttribute = "userNameAttribute" + OpenLdapConfigFieldUserObjectClass = "userObjectClass" + OpenLdapConfigFieldUserSearchAttribute = "userSearchAttribute" + OpenLdapConfigFieldUserSearchBase = "userSearchBase" + OpenLdapConfigFieldUserSearchFilter = "userSearchFilter" +) + +type OpenLdapConfig struct { + AccessMode string `json:"accessMode,omitempty" yaml:"accessMode,omitempty"` + AllowedPrincipalIDs []string `json:"allowedPrincipalIds,omitempty" yaml:"allowedPrincipalIds,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Certificate string `json:"certificate,omitempty" yaml:"certificate,omitempty"` + ConnectionTimeout int64 `json:"connectionTimeout,omitempty" yaml:"connectionTimeout,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + GroupDNAttribute string `json:"groupDNAttribute,omitempty" yaml:"groupDNAttribute,omitempty"` + GroupMemberMappingAttribute string `json:"groupMemberMappingAttribute,omitempty" yaml:"groupMemberMappingAttribute,omitempty"` + GroupMemberUserAttribute string `json:"groupMemberUserAttribute,omitempty" yaml:"groupMemberUserAttribute,omitempty"` + GroupNameAttribute string `json:"groupNameAttribute,omitempty" yaml:"groupNameAttribute,omitempty"` + GroupObjectClass string `json:"groupObjectClass,omitempty" yaml:"groupObjectClass,omitempty"` + GroupSearchAttribute string `json:"groupSearchAttribute,omitempty" yaml:"groupSearchAttribute,omitempty"` + GroupSearchBase string `json:"groupSearchBase,omitempty" yaml:"groupSearchBase,omitempty"` + GroupSearchFilter string `json:"groupSearchFilter,omitempty" yaml:"groupSearchFilter,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NestedGroupMembershipEnabled bool `json:"nestedGroupMembershipEnabled,omitempty" yaml:"nestedGroupMembershipEnabled,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Port int64 `json:"port,omitempty" yaml:"port,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + Servers []string `json:"servers,omitempty" yaml:"servers,omitempty"` + ServiceAccountDistinguishedName string `json:"serviceAccountDistinguishedName,omitempty" yaml:"serviceAccountDistinguishedName,omitempty"` + ServiceAccountPassword string `json:"serviceAccountPassword,omitempty" yaml:"serviceAccountPassword,omitempty"` + StartTLS bool `json:"starttls,omitempty" yaml:"starttls,omitempty"` + Status *AuthConfigStatus `json:"status,omitempty" yaml:"status,omitempty"` + TLS bool `json:"tls,omitempty" yaml:"tls,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UserDisabledBitMask int64 `json:"userDisabledBitMask,omitempty" yaml:"userDisabledBitMask,omitempty"` + UserEnabledAttribute string `json:"userEnabledAttribute,omitempty" yaml:"userEnabledAttribute,omitempty"` + UserLoginAttribute string `json:"userLoginAttribute,omitempty" yaml:"userLoginAttribute,omitempty"` + UserMemberAttribute string `json:"userMemberAttribute,omitempty" yaml:"userMemberAttribute,omitempty"` + UserNameAttribute string `json:"userNameAttribute,omitempty" yaml:"userNameAttribute,omitempty"` + UserObjectClass string `json:"userObjectClass,omitempty" yaml:"userObjectClass,omitempty"` + UserSearchAttribute string `json:"userSearchAttribute,omitempty" yaml:"userSearchAttribute,omitempty"` + UserSearchBase string `json:"userSearchBase,omitempty" yaml:"userSearchBase,omitempty"` + UserSearchFilter string `json:"userSearchFilter,omitempty" yaml:"userSearchFilter,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_open_ldap_test_and_apply_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_open_ldap_test_and_apply_input.go new file mode 100644 index 000000000..29c48f160 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_open_ldap_test_and_apply_input.go @@ -0,0 +1,14 @@ +package client + +const ( + OpenLdapTestAndApplyInputType = "openLdapTestAndApplyInput" + OpenLdapTestAndApplyInputFieldLdapConfig = "ldapConfig" + OpenLdapTestAndApplyInputFieldPassword = "password" + OpenLdapTestAndApplyInputFieldUsername = "username" +) + +type OpenLdapTestAndApplyInput struct { + LdapConfig *LdapConfig `json:"ldapConfig,omitempty" yaml:"ldapConfig,omitempty"` + Password string `json:"password,omitempty" yaml:"password,omitempty"` + Username string `json:"username,omitempty" yaml:"username,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_openstack_cloud_provider.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_openstack_cloud_provider.go new file mode 100644 index 000000000..6d883ff22 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_openstack_cloud_provider.go @@ -0,0 +1,18 @@ +package client + +const ( + OpenstackCloudProviderType = "openstackCloudProvider" + OpenstackCloudProviderFieldBlockStorage = "blockStorage" + OpenstackCloudProviderFieldGlobal = "global" + OpenstackCloudProviderFieldLoadBalancer = "loadBalancer" + OpenstackCloudProviderFieldMetadata = "metadata" + OpenstackCloudProviderFieldRoute = "route" +) + +type OpenstackCloudProvider struct { + BlockStorage *BlockStorageOpenstackOpts `json:"blockStorage,omitempty" yaml:"blockStorage,omitempty"` + Global *GlobalOpenstackOpts `json:"global,omitempty" yaml:"global,omitempty"` + LoadBalancer *LoadBalancerOpenstackOpts `json:"loadBalancer,omitempty" yaml:"loadBalancer,omitempty"` + Metadata *MetadataOpenstackOpts `json:"metadata,omitempty" yaml:"metadata,omitempty"` + Route *RouteOpenstackOpts `json:"route,omitempty" yaml:"route,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_os_info.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_os_info.go new file mode 100644 index 000000000..c2c503cea --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_os_info.go @@ -0,0 +1,14 @@ +package client + +const ( + OSInfoType = "osInfo" + OSInfoFieldDockerVersion = "dockerVersion" + OSInfoFieldKernelVersion = "kernelVersion" + OSInfoFieldOperatingSystem = "operatingSystem" +) + +type OSInfo struct { + DockerVersion string `json:"dockerVersion,omitempty" yaml:"dockerVersion,omitempty"` + KernelVersion string `json:"kernelVersion,omitempty" yaml:"kernelVersion,omitempty"` + OperatingSystem string `json:"operatingSystem,omitempty" yaml:"operatingSystem,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_owner_reference.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_owner_reference.go new file mode 100644 index 000000000..5f4436b64 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_owner_reference.go @@ -0,0 +1,20 @@ +package client + +const ( + OwnerReferenceType = "ownerReference" + OwnerReferenceFieldAPIVersion = "apiVersion" + OwnerReferenceFieldBlockOwnerDeletion = "blockOwnerDeletion" + OwnerReferenceFieldController = "controller" + OwnerReferenceFieldKind = "kind" + OwnerReferenceFieldName = "name" + OwnerReferenceFieldUID = "uid" +) + +type OwnerReference struct { + APIVersion string `json:"apiVersion,omitempty" yaml:"apiVersion,omitempty"` + BlockOwnerDeletion *bool `json:"blockOwnerDeletion,omitempty" yaml:"blockOwnerDeletion,omitempty"` + Controller *bool `json:"controller,omitempty" yaml:"controller,omitempty"` + Kind string `json:"kind,omitempty" yaml:"kind,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + UID string `json:"uid,omitempty" yaml:"uid,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_persistent_volume_claim_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_persistent_volume_claim_spec.go new file mode 100644 index 000000000..b3f2c1648 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_persistent_volume_claim_spec.go @@ -0,0 +1,26 @@ +package client + +const ( + PersistentVolumeClaimSpecType = "persistentVolumeClaimSpec" + PersistentVolumeClaimSpecFieldAccessModes = "accessModes" + PersistentVolumeClaimSpecFieldDataSource = "dataSource" + PersistentVolumeClaimSpecFieldDataSourceRef = "dataSourceRef" + PersistentVolumeClaimSpecFieldResources = "resources" + PersistentVolumeClaimSpecFieldSelector = "selector" + PersistentVolumeClaimSpecFieldStorageClassName = "storageClassName" + PersistentVolumeClaimSpecFieldVolumeAttributesClassName = "volumeAttributesClassName" + PersistentVolumeClaimSpecFieldVolumeMode = "volumeMode" + PersistentVolumeClaimSpecFieldVolumeName = "volumeName" +) + +type PersistentVolumeClaimSpec struct { + AccessModes []string `json:"accessModes,omitempty" yaml:"accessModes,omitempty"` + DataSource *TypedLocalObjectReference `json:"dataSource,omitempty" yaml:"dataSource,omitempty"` + DataSourceRef *TypedObjectReference `json:"dataSourceRef,omitempty" yaml:"dataSourceRef,omitempty"` + Resources *VolumeResourceRequirements `json:"resources,omitempty" yaml:"resources,omitempty"` + Selector *LabelSelector `json:"selector,omitempty" yaml:"selector,omitempty"` + StorageClassName string `json:"storageClassName,omitempty" yaml:"storageClassName,omitempty"` + VolumeAttributesClassName string `json:"volumeAttributesClassName,omitempty" yaml:"volumeAttributesClassName,omitempty"` + VolumeMode string `json:"volumeMode,omitempty" yaml:"volumeMode,omitempty"` + VolumeName string `json:"volumeName,omitempty" yaml:"volumeName,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_persistent_volume_claim_template.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_persistent_volume_claim_template.go new file mode 100644 index 000000000..1eed7b41d --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_persistent_volume_claim_template.go @@ -0,0 +1,12 @@ +package client + +const ( + PersistentVolumeClaimTemplateType = "persistentVolumeClaimTemplate" + PersistentVolumeClaimTemplateFieldObjectMeta = "metadata" + PersistentVolumeClaimTemplateFieldSpec = "spec" +) + +type PersistentVolumeClaimTemplate struct { + ObjectMeta *ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"` + Spec *PersistentVolumeClaimSpec `json:"spec,omitempty" yaml:"spec,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_persistent_volume_claim_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_persistent_volume_claim_volume_source.go new file mode 100644 index 000000000..1b4ae4bb0 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_persistent_volume_claim_volume_source.go @@ -0,0 +1,12 @@ +package client + +const ( + PersistentVolumeClaimVolumeSourceType = "persistentVolumeClaimVolumeSource" + PersistentVolumeClaimVolumeSourceFieldClaimName = "claimName" + PersistentVolumeClaimVolumeSourceFieldReadOnly = "readOnly" +) + +type PersistentVolumeClaimVolumeSource struct { + ClaimName string `json:"claimName,omitempty" yaml:"claimName,omitempty"` + ReadOnly bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_photon_persistent_disk_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_photon_persistent_disk_volume_source.go new file mode 100644 index 000000000..d6e8ffd30 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_photon_persistent_disk_volume_source.go @@ -0,0 +1,12 @@ +package client + +const ( + PhotonPersistentDiskVolumeSourceType = "photonPersistentDiskVolumeSource" + PhotonPersistentDiskVolumeSourceFieldFSType = "fsType" + PhotonPersistentDiskVolumeSourceFieldPdID = "pdID" +) + +type PhotonPersistentDiskVolumeSource struct { + FSType string `json:"fsType,omitempty" yaml:"fsType,omitempty"` + PdID string `json:"pdID,omitempty" yaml:"pdID,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ping_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ping_config.go new file mode 100644 index 000000000..3905905b2 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_ping_config.go @@ -0,0 +1,52 @@ +package client + +const ( + PingConfigType = "pingConfig" + PingConfigFieldAccessMode = "accessMode" + PingConfigFieldAllowedPrincipalIDs = "allowedPrincipalIds" + PingConfigFieldAnnotations = "annotations" + PingConfigFieldCreated = "created" + PingConfigFieldCreatorID = "creatorId" + PingConfigFieldDisplayNameField = "displayNameField" + PingConfigFieldEnabled = "enabled" + PingConfigFieldEntityID = "entityID" + PingConfigFieldGroupsField = "groupsField" + PingConfigFieldIDPMetadataContent = "idpMetadataContent" + PingConfigFieldLabels = "labels" + PingConfigFieldName = "name" + PingConfigFieldOwnerReferences = "ownerReferences" + PingConfigFieldRancherAPIHost = "rancherApiHost" + PingConfigFieldRemoved = "removed" + PingConfigFieldSpCert = "spCert" + PingConfigFieldSpKey = "spKey" + PingConfigFieldStatus = "status" + PingConfigFieldType = "type" + PingConfigFieldUIDField = "uidField" + PingConfigFieldUUID = "uuid" + PingConfigFieldUserNameField = "userNameField" +) + +type PingConfig struct { + AccessMode string `json:"accessMode,omitempty" yaml:"accessMode,omitempty"` + AllowedPrincipalIDs []string `json:"allowedPrincipalIds,omitempty" yaml:"allowedPrincipalIds,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + DisplayNameField string `json:"displayNameField,omitempty" yaml:"displayNameField,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + EntityID string `json:"entityID,omitempty" yaml:"entityID,omitempty"` + GroupsField string `json:"groupsField,omitempty" yaml:"groupsField,omitempty"` + IDPMetadataContent string `json:"idpMetadataContent,omitempty" yaml:"idpMetadataContent,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + RancherAPIHost string `json:"rancherApiHost,omitempty" yaml:"rancherApiHost,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + SpCert string `json:"spCert,omitempty" yaml:"spCert,omitempty"` + SpKey string `json:"spKey,omitempty" yaml:"spKey,omitempty"` + Status *AuthConfigStatus `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + UIDField string `json:"uidField,omitempty" yaml:"uidField,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UserNameField string `json:"userNameField,omitempty" yaml:"userNameField,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_affinity.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_affinity.go new file mode 100644 index 000000000..ebe2958ee --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_affinity.go @@ -0,0 +1,12 @@ +package client + +const ( + PodAffinityType = "podAffinity" + PodAffinityFieldPreferredDuringSchedulingIgnoredDuringExecution = "preferredDuringSchedulingIgnoredDuringExecution" + PodAffinityFieldRequiredDuringSchedulingIgnoredDuringExecution = "requiredDuringSchedulingIgnoredDuringExecution" +) + +type PodAffinity struct { + PreferredDuringSchedulingIgnoredDuringExecution []WeightedPodAffinityTerm `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty" yaml:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"` + RequiredDuringSchedulingIgnoredDuringExecution []PodAffinityTerm `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty" yaml:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_affinity_term.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_affinity_term.go new file mode 100644 index 000000000..aa1478e0b --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_affinity_term.go @@ -0,0 +1,20 @@ +package client + +const ( + PodAffinityTermType = "podAffinityTerm" + PodAffinityTermFieldLabelSelector = "labelSelector" + PodAffinityTermFieldMatchLabelKeys = "matchLabelKeys" + PodAffinityTermFieldMismatchLabelKeys = "mismatchLabelKeys" + PodAffinityTermFieldNamespaceSelector = "namespaceSelector" + PodAffinityTermFieldNamespaces = "namespaces" + PodAffinityTermFieldTopologyKey = "topologyKey" +) + +type PodAffinityTerm struct { + LabelSelector *LabelSelector `json:"labelSelector,omitempty" yaml:"labelSelector,omitempty"` + MatchLabelKeys []string `json:"matchLabelKeys,omitempty" yaml:"matchLabelKeys,omitempty"` + MismatchLabelKeys []string `json:"mismatchLabelKeys,omitempty" yaml:"mismatchLabelKeys,omitempty"` + NamespaceSelector *LabelSelector `json:"namespaceSelector,omitempty" yaml:"namespaceSelector,omitempty"` + Namespaces []string `json:"namespaces,omitempty" yaml:"namespaces,omitempty"` + TopologyKey string `json:"topologyKey,omitempty" yaml:"topologyKey,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_anti_affinity.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_anti_affinity.go new file mode 100644 index 000000000..47fdd692e --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_anti_affinity.go @@ -0,0 +1,12 @@ +package client + +const ( + PodAntiAffinityType = "podAntiAffinity" + PodAntiAffinityFieldPreferredDuringSchedulingIgnoredDuringExecution = "preferredDuringSchedulingIgnoredDuringExecution" + PodAntiAffinityFieldRequiredDuringSchedulingIgnoredDuringExecution = "requiredDuringSchedulingIgnoredDuringExecution" +) + +type PodAntiAffinity struct { + PreferredDuringSchedulingIgnoredDuringExecution []WeightedPodAffinityTerm `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty" yaml:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"` + RequiredDuringSchedulingIgnoredDuringExecution []PodAffinityTerm `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty" yaml:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_security_admission_configuration_template.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_security_admission_configuration_template.go new file mode 100644 index 000000000..5fc4e6c64 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_security_admission_configuration_template.go @@ -0,0 +1,122 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + PodSecurityAdmissionConfigurationTemplateType = "podSecurityAdmissionConfigurationTemplate" + PodSecurityAdmissionConfigurationTemplateFieldAnnotations = "annotations" + PodSecurityAdmissionConfigurationTemplateFieldConfiguration = "configuration" + PodSecurityAdmissionConfigurationTemplateFieldCreated = "created" + PodSecurityAdmissionConfigurationTemplateFieldCreatorID = "creatorId" + PodSecurityAdmissionConfigurationTemplateFieldDescription = "description" + PodSecurityAdmissionConfigurationTemplateFieldLabels = "labels" + PodSecurityAdmissionConfigurationTemplateFieldName = "name" + PodSecurityAdmissionConfigurationTemplateFieldOwnerReferences = "ownerReferences" + PodSecurityAdmissionConfigurationTemplateFieldRemoved = "removed" + PodSecurityAdmissionConfigurationTemplateFieldUUID = "uuid" +) + +type PodSecurityAdmissionConfigurationTemplate struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Configuration *PodSecurityAdmissionConfigurationTemplateSpec `json:"configuration,omitempty" yaml:"configuration,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type PodSecurityAdmissionConfigurationTemplateCollection struct { + types.Collection + Data []PodSecurityAdmissionConfigurationTemplate `json:"data,omitempty"` + client *PodSecurityAdmissionConfigurationTemplateClient +} + +type PodSecurityAdmissionConfigurationTemplateClient struct { + apiClient *Client +} + +type PodSecurityAdmissionConfigurationTemplateOperations interface { + List(opts *types.ListOpts) (*PodSecurityAdmissionConfigurationTemplateCollection, error) + ListAll(opts *types.ListOpts) (*PodSecurityAdmissionConfigurationTemplateCollection, error) + Create(opts *PodSecurityAdmissionConfigurationTemplate) (*PodSecurityAdmissionConfigurationTemplate, error) + Update(existing *PodSecurityAdmissionConfigurationTemplate, updates interface{}) (*PodSecurityAdmissionConfigurationTemplate, error) + Replace(existing *PodSecurityAdmissionConfigurationTemplate) (*PodSecurityAdmissionConfigurationTemplate, error) + ByID(id string) (*PodSecurityAdmissionConfigurationTemplate, error) + Delete(container *PodSecurityAdmissionConfigurationTemplate) error +} + +func newPodSecurityAdmissionConfigurationTemplateClient(apiClient *Client) *PodSecurityAdmissionConfigurationTemplateClient { + return &PodSecurityAdmissionConfigurationTemplateClient{ + apiClient: apiClient, + } +} + +func (c *PodSecurityAdmissionConfigurationTemplateClient) Create(container *PodSecurityAdmissionConfigurationTemplate) (*PodSecurityAdmissionConfigurationTemplate, error) { + resp := &PodSecurityAdmissionConfigurationTemplate{} + err := c.apiClient.Ops.DoCreate(PodSecurityAdmissionConfigurationTemplateType, container, resp) + return resp, err +} + +func (c *PodSecurityAdmissionConfigurationTemplateClient) Update(existing *PodSecurityAdmissionConfigurationTemplate, updates interface{}) (*PodSecurityAdmissionConfigurationTemplate, error) { + resp := &PodSecurityAdmissionConfigurationTemplate{} + err := c.apiClient.Ops.DoUpdate(PodSecurityAdmissionConfigurationTemplateType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *PodSecurityAdmissionConfigurationTemplateClient) Replace(obj *PodSecurityAdmissionConfigurationTemplate) (*PodSecurityAdmissionConfigurationTemplate, error) { + resp := &PodSecurityAdmissionConfigurationTemplate{} + err := c.apiClient.Ops.DoReplace(PodSecurityAdmissionConfigurationTemplateType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *PodSecurityAdmissionConfigurationTemplateClient) List(opts *types.ListOpts) (*PodSecurityAdmissionConfigurationTemplateCollection, error) { + resp := &PodSecurityAdmissionConfigurationTemplateCollection{} + err := c.apiClient.Ops.DoList(PodSecurityAdmissionConfigurationTemplateType, opts, resp) + resp.client = c + return resp, err +} + +func (c *PodSecurityAdmissionConfigurationTemplateClient) ListAll(opts *types.ListOpts) (*PodSecurityAdmissionConfigurationTemplateCollection, error) { + resp := &PodSecurityAdmissionConfigurationTemplateCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *PodSecurityAdmissionConfigurationTemplateCollection) Next() (*PodSecurityAdmissionConfigurationTemplateCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &PodSecurityAdmissionConfigurationTemplateCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *PodSecurityAdmissionConfigurationTemplateClient) ByID(id string) (*PodSecurityAdmissionConfigurationTemplate, error) { + resp := &PodSecurityAdmissionConfigurationTemplate{} + err := c.apiClient.Ops.DoByID(PodSecurityAdmissionConfigurationTemplateType, id, resp) + return resp, err +} + +func (c *PodSecurityAdmissionConfigurationTemplateClient) Delete(container *PodSecurityAdmissionConfigurationTemplate) error { + return c.apiClient.Ops.DoResourceDelete(PodSecurityAdmissionConfigurationTemplateType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_security_admission_configuration_template_defaults.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_security_admission_configuration_template_defaults.go new file mode 100644 index 000000000..f2fc1d83a --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_security_admission_configuration_template_defaults.go @@ -0,0 +1,20 @@ +package client + +const ( + PodSecurityAdmissionConfigurationTemplateDefaultsType = "podSecurityAdmissionConfigurationTemplateDefaults" + PodSecurityAdmissionConfigurationTemplateDefaultsFieldAudit = "audit" + PodSecurityAdmissionConfigurationTemplateDefaultsFieldAuditVersion = "audit-version" + PodSecurityAdmissionConfigurationTemplateDefaultsFieldEnforce = "enforce" + PodSecurityAdmissionConfigurationTemplateDefaultsFieldEnforceVersion = "enforce-version" + PodSecurityAdmissionConfigurationTemplateDefaultsFieldWarn = "warn" + PodSecurityAdmissionConfigurationTemplateDefaultsFieldWarnVersion = "warn-version" +) + +type PodSecurityAdmissionConfigurationTemplateDefaults struct { + Audit string `json:"audit,omitempty" yaml:"audit,omitempty"` + AuditVersion string `json:"audit-version,omitempty" yaml:"audit-version,omitempty"` + Enforce string `json:"enforce,omitempty" yaml:"enforce,omitempty"` + EnforceVersion string `json:"enforce-version,omitempty" yaml:"enforce-version,omitempty"` + Warn string `json:"warn,omitempty" yaml:"warn,omitempty"` + WarnVersion string `json:"warn-version,omitempty" yaml:"warn-version,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_security_admission_configuration_template_exemptions.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_security_admission_configuration_template_exemptions.go new file mode 100644 index 000000000..392c5c4e7 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_security_admission_configuration_template_exemptions.go @@ -0,0 +1,14 @@ +package client + +const ( + PodSecurityAdmissionConfigurationTemplateExemptionsType = "podSecurityAdmissionConfigurationTemplateExemptions" + PodSecurityAdmissionConfigurationTemplateExemptionsFieldNamespaces = "namespaces" + PodSecurityAdmissionConfigurationTemplateExemptionsFieldRuntimeClasses = "runtimeClasses" + PodSecurityAdmissionConfigurationTemplateExemptionsFieldUsernames = "usernames" +) + +type PodSecurityAdmissionConfigurationTemplateExemptions struct { + Namespaces []string `json:"namespaces,omitempty" yaml:"namespaces,omitempty"` + RuntimeClasses []string `json:"runtimeClasses,omitempty" yaml:"runtimeClasses,omitempty"` + Usernames []string `json:"usernames,omitempty" yaml:"usernames,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_security_admission_configuration_template_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_security_admission_configuration_template_spec.go new file mode 100644 index 000000000..afe2ef0df --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_pod_security_admission_configuration_template_spec.go @@ -0,0 +1,12 @@ +package client + +const ( + PodSecurityAdmissionConfigurationTemplateSpecType = "podSecurityAdmissionConfigurationTemplateSpec" + PodSecurityAdmissionConfigurationTemplateSpecFieldDefaults = "defaults" + PodSecurityAdmissionConfigurationTemplateSpecFieldExemptions = "exemptions" +) + +type PodSecurityAdmissionConfigurationTemplateSpec struct { + Defaults *PodSecurityAdmissionConfigurationTemplateDefaults `json:"defaults,omitempty" yaml:"defaults,omitempty"` + Exemptions *PodSecurityAdmissionConfigurationTemplateExemptions `json:"exemptions,omitempty" yaml:"exemptions,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_policy_rule.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_policy_rule.go new file mode 100644 index 000000000..b7a51ca27 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_policy_rule.go @@ -0,0 +1,18 @@ +package client + +const ( + PolicyRuleType = "policyRule" + PolicyRuleFieldAPIGroups = "apiGroups" + PolicyRuleFieldNonResourceURLs = "nonResourceURLs" + PolicyRuleFieldResourceNames = "resourceNames" + PolicyRuleFieldResources = "resources" + PolicyRuleFieldVerbs = "verbs" +) + +type PolicyRule struct { + APIGroups []string `json:"apiGroups,omitempty" yaml:"apiGroups,omitempty"` + NonResourceURLs []string `json:"nonResourceURLs,omitempty" yaml:"nonResourceURLs,omitempty"` + ResourceNames []string `json:"resourceNames,omitempty" yaml:"resourceNames,omitempty"` + Resources []string `json:"resources,omitempty" yaml:"resources,omitempty"` + Verbs []string `json:"verbs,omitempty" yaml:"verbs,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_port_check.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_port_check.go new file mode 100644 index 000000000..2e9c37e59 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_port_check.go @@ -0,0 +1,14 @@ +package client + +const ( + PortCheckType = "portCheck" + PortCheckFieldAddress = "address" + PortCheckFieldPort = "port" + PortCheckFieldProtocol = "protocol" +) + +type PortCheck struct { + Address string `json:"address,omitempty" yaml:"address,omitempty"` + Port int64 `json:"port,omitempty" yaml:"port,omitempty"` + Protocol string `json:"protocol,omitempty" yaml:"protocol,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_portworx_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_portworx_volume_source.go new file mode 100644 index 000000000..cbe98c652 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_portworx_volume_source.go @@ -0,0 +1,14 @@ +package client + +const ( + PortworxVolumeSourceType = "portworxVolumeSource" + PortworxVolumeSourceFieldFSType = "fsType" + PortworxVolumeSourceFieldReadOnly = "readOnly" + PortworxVolumeSourceFieldVolumeID = "volumeID" +) + +type PortworxVolumeSource struct { + FSType string `json:"fsType,omitempty" yaml:"fsType,omitempty"` + ReadOnly bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` + VolumeID string `json:"volumeID,omitempty" yaml:"volumeID,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_preference.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_preference.go new file mode 100644 index 000000000..5028069c4 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_preference.go @@ -0,0 +1,122 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + PreferenceType = "preference" + PreferenceFieldAnnotations = "annotations" + PreferenceFieldCreated = "created" + PreferenceFieldCreatorID = "creatorId" + PreferenceFieldLabels = "labels" + PreferenceFieldName = "name" + PreferenceFieldNamespaceId = "namespaceId" + PreferenceFieldOwnerReferences = "ownerReferences" + PreferenceFieldRemoved = "removed" + PreferenceFieldUUID = "uuid" + PreferenceFieldValue = "value" +) + +type Preference struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NamespaceId string `json:"namespaceId,omitempty" yaml:"namespaceId,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + Value string `json:"value,omitempty" yaml:"value,omitempty"` +} + +type PreferenceCollection struct { + types.Collection + Data []Preference `json:"data,omitempty"` + client *PreferenceClient +} + +type PreferenceClient struct { + apiClient *Client +} + +type PreferenceOperations interface { + List(opts *types.ListOpts) (*PreferenceCollection, error) + ListAll(opts *types.ListOpts) (*PreferenceCollection, error) + Create(opts *Preference) (*Preference, error) + Update(existing *Preference, updates interface{}) (*Preference, error) + Replace(existing *Preference) (*Preference, error) + ByID(id string) (*Preference, error) + Delete(container *Preference) error +} + +func newPreferenceClient(apiClient *Client) *PreferenceClient { + return &PreferenceClient{ + apiClient: apiClient, + } +} + +func (c *PreferenceClient) Create(container *Preference) (*Preference, error) { + resp := &Preference{} + err := c.apiClient.Ops.DoCreate(PreferenceType, container, resp) + return resp, err +} + +func (c *PreferenceClient) Update(existing *Preference, updates interface{}) (*Preference, error) { + resp := &Preference{} + err := c.apiClient.Ops.DoUpdate(PreferenceType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *PreferenceClient) Replace(obj *Preference) (*Preference, error) { + resp := &Preference{} + err := c.apiClient.Ops.DoReplace(PreferenceType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *PreferenceClient) List(opts *types.ListOpts) (*PreferenceCollection, error) { + resp := &PreferenceCollection{} + err := c.apiClient.Ops.DoList(PreferenceType, opts, resp) + resp.client = c + return resp, err +} + +func (c *PreferenceClient) ListAll(opts *types.ListOpts) (*PreferenceCollection, error) { + resp := &PreferenceCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *PreferenceCollection) Next() (*PreferenceCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &PreferenceCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *PreferenceClient) ByID(id string) (*Preference, error) { + resp := &Preference{} + err := c.apiClient.Ops.DoByID(PreferenceType, id, resp) + return resp, err +} + +func (c *PreferenceClient) Delete(container *Preference) error { + return c.apiClient.Ops.DoResourceDelete(PreferenceType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_preferred_scheduling_term.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_preferred_scheduling_term.go new file mode 100644 index 000000000..b5be217c2 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_preferred_scheduling_term.go @@ -0,0 +1,12 @@ +package client + +const ( + PreferredSchedulingTermType = "preferredSchedulingTerm" + PreferredSchedulingTermFieldPreference = "preference" + PreferredSchedulingTermFieldWeight = "weight" +) + +type PreferredSchedulingTerm struct { + Preference *NodeSelectorTerm `json:"preference,omitempty" yaml:"preference,omitempty"` + Weight int64 `json:"weight,omitempty" yaml:"weight,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_principal.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_principal.go new file mode 100644 index 000000000..1f51a8b12 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_principal.go @@ -0,0 +1,142 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + PrincipalType = "principal" + PrincipalFieldAnnotations = "annotations" + PrincipalFieldCreated = "created" + PrincipalFieldCreatorID = "creatorId" + PrincipalFieldExtraInfo = "extraInfo" + PrincipalFieldLabels = "labels" + PrincipalFieldLoginName = "loginName" + PrincipalFieldMe = "me" + PrincipalFieldMemberOf = "memberOf" + PrincipalFieldName = "name" + PrincipalFieldOwnerReferences = "ownerReferences" + PrincipalFieldPrincipalType = "principalType" + PrincipalFieldProfilePicture = "profilePicture" + PrincipalFieldProfileURL = "profileURL" + PrincipalFieldProvider = "provider" + PrincipalFieldRemoved = "removed" + PrincipalFieldUUID = "uuid" +) + +type Principal struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + ExtraInfo map[string]string `json:"extraInfo,omitempty" yaml:"extraInfo,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + LoginName string `json:"loginName,omitempty" yaml:"loginName,omitempty"` + Me bool `json:"me,omitempty" yaml:"me,omitempty"` + MemberOf bool `json:"memberOf,omitempty" yaml:"memberOf,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + PrincipalType string `json:"principalType,omitempty" yaml:"principalType,omitempty"` + ProfilePicture string `json:"profilePicture,omitempty" yaml:"profilePicture,omitempty"` + ProfileURL string `json:"profileURL,omitempty" yaml:"profileURL,omitempty"` + Provider string `json:"provider,omitempty" yaml:"provider,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type PrincipalCollection struct { + types.Collection + Data []Principal `json:"data,omitempty"` + client *PrincipalClient +} + +type PrincipalClient struct { + apiClient *Client +} + +type PrincipalOperations interface { + List(opts *types.ListOpts) (*PrincipalCollection, error) + ListAll(opts *types.ListOpts) (*PrincipalCollection, error) + Create(opts *Principal) (*Principal, error) + Update(existing *Principal, updates interface{}) (*Principal, error) + Replace(existing *Principal) (*Principal, error) + ByID(id string) (*Principal, error) + Delete(container *Principal) error + + CollectionActionSearch(resource *PrincipalCollection, input *SearchPrincipalsInput) (*PrincipalCollection, error) +} + +func newPrincipalClient(apiClient *Client) *PrincipalClient { + return &PrincipalClient{ + apiClient: apiClient, + } +} + +func (c *PrincipalClient) Create(container *Principal) (*Principal, error) { + resp := &Principal{} + err := c.apiClient.Ops.DoCreate(PrincipalType, container, resp) + return resp, err +} + +func (c *PrincipalClient) Update(existing *Principal, updates interface{}) (*Principal, error) { + resp := &Principal{} + err := c.apiClient.Ops.DoUpdate(PrincipalType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *PrincipalClient) Replace(obj *Principal) (*Principal, error) { + resp := &Principal{} + err := c.apiClient.Ops.DoReplace(PrincipalType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *PrincipalClient) List(opts *types.ListOpts) (*PrincipalCollection, error) { + resp := &PrincipalCollection{} + err := c.apiClient.Ops.DoList(PrincipalType, opts, resp) + resp.client = c + return resp, err +} + +func (c *PrincipalClient) ListAll(opts *types.ListOpts) (*PrincipalCollection, error) { + resp := &PrincipalCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *PrincipalCollection) Next() (*PrincipalCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &PrincipalCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *PrincipalClient) ByID(id string) (*Principal, error) { + resp := &Principal{} + err := c.apiClient.Ops.DoByID(PrincipalType, id, resp) + return resp, err +} + +func (c *PrincipalClient) Delete(container *Principal) error { + return c.apiClient.Ops.DoResourceDelete(PrincipalType, &container.Resource) +} + +func (c *PrincipalClient) CollectionActionSearch(resource *PrincipalCollection, input *SearchPrincipalsInput) (*PrincipalCollection, error) { + resp := &PrincipalCollection{} + err := c.apiClient.Ops.DoCollectionAction(PrincipalType, "search", &resource.Collection, input, resp) + return resp, err +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_private_registry.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_private_registry.go new file mode 100644 index 000000000..1f6f19991 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_private_registry.go @@ -0,0 +1,18 @@ +package client + +const ( + PrivateRegistryType = "privateRegistry" + PrivateRegistryFieldECRCredentialPlugin = "ecrCredentialPlugin" + PrivateRegistryFieldIsDefault = "isDefault" + PrivateRegistryFieldPassword = "password" + PrivateRegistryFieldURL = "url" + PrivateRegistryFieldUser = "user" +) + +type PrivateRegistry struct { + ECRCredentialPlugin *ECRCredentialPlugin `json:"ecrCredentialPlugin,omitempty" yaml:"ecrCredentialPlugin,omitempty"` + IsDefault bool `json:"isDefault,omitempty" yaml:"isDefault,omitempty"` + Password string `json:"password,omitempty" yaml:"password,omitempty"` + URL string `json:"url,omitempty" yaml:"url,omitempty"` + User string `json:"user,omitempty" yaml:"user,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_process.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_process.go new file mode 100644 index 000000000..425fd657d --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_process.go @@ -0,0 +1,40 @@ +package client + +const ( + ProcessType = "process" + ProcessFieldArgs = "args" + ProcessFieldBinds = "binds" + ProcessFieldCommand = "command" + ProcessFieldEnv = "env" + ProcessFieldHealthCheck = "healthCheck" + ProcessFieldImage = "image" + ProcessFieldImageRegistryAuthConfig = "imageRegistryAuthConfig" + ProcessFieldLabels = "labels" + ProcessFieldName = "name" + ProcessFieldNetworkMode = "networkMode" + ProcessFieldPidMode = "pidMode" + ProcessFieldPrivileged = "privileged" + ProcessFieldPublish = "publish" + ProcessFieldRestartPolicy = "restartPolicy" + ProcessFieldUser = "user" + ProcessFieldVolumesFrom = "volumesFrom" +) + +type Process struct { + Args []string `json:"args,omitempty" yaml:"args,omitempty"` + Binds []string `json:"binds,omitempty" yaml:"binds,omitempty"` + Command []string `json:"command,omitempty" yaml:"command,omitempty"` + Env []string `json:"env,omitempty" yaml:"env,omitempty"` + HealthCheck *HealthCheck `json:"healthCheck,omitempty" yaml:"healthCheck,omitempty"` + Image string `json:"image,omitempty" yaml:"image,omitempty"` + ImageRegistryAuthConfig string `json:"imageRegistryAuthConfig,omitempty" yaml:"imageRegistryAuthConfig,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NetworkMode string `json:"networkMode,omitempty" yaml:"networkMode,omitempty"` + PidMode string `json:"pidMode,omitempty" yaml:"pidMode,omitempty"` + Privileged bool `json:"privileged,omitempty" yaml:"privileged,omitempty"` + Publish []string `json:"publish,omitempty" yaml:"publish,omitempty"` + RestartPolicy string `json:"restartPolicy,omitempty" yaml:"restartPolicy,omitempty"` + User string `json:"user,omitempty" yaml:"user,omitempty"` + VolumesFrom []string `json:"volumesFrom,omitempty" yaml:"volumesFrom,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project.go new file mode 100644 index 000000000..63ae4240f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project.go @@ -0,0 +1,145 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + ProjectType = "project" + ProjectFieldAnnotations = "annotations" + ProjectFieldClusterID = "clusterId" + ProjectFieldConditions = "conditions" + ProjectFieldContainerDefaultResourceLimit = "containerDefaultResourceLimit" + ProjectFieldCreated = "created" + ProjectFieldCreatorID = "creatorId" + ProjectFieldDescription = "description" + ProjectFieldLabels = "labels" + ProjectFieldName = "name" + ProjectFieldNamespaceDefaultResourceQuota = "namespaceDefaultResourceQuota" + ProjectFieldNamespaceId = "namespaceId" + ProjectFieldOwnerReferences = "ownerReferences" + ProjectFieldRemoved = "removed" + ProjectFieldResourceQuota = "resourceQuota" + ProjectFieldState = "state" + ProjectFieldTransitioning = "transitioning" + ProjectFieldTransitioningMessage = "transitioningMessage" + ProjectFieldUUID = "uuid" +) + +type Project struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + ClusterID string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"` + Conditions []ProjectCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + ContainerDefaultResourceLimit *ContainerResourceLimit `json:"containerDefaultResourceLimit,omitempty" yaml:"containerDefaultResourceLimit,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NamespaceDefaultResourceQuota *NamespaceResourceQuota `json:"namespaceDefaultResourceQuota,omitempty" yaml:"namespaceDefaultResourceQuota,omitempty"` + NamespaceId string `json:"namespaceId,omitempty" yaml:"namespaceId,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + ResourceQuota *ProjectResourceQuota `json:"resourceQuota,omitempty" yaml:"resourceQuota,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type ProjectCollection struct { + types.Collection + Data []Project `json:"data,omitempty"` + client *ProjectClient +} + +type ProjectClient struct { + apiClient *Client +} + +type ProjectOperations interface { + List(opts *types.ListOpts) (*ProjectCollection, error) + ListAll(opts *types.ListOpts) (*ProjectCollection, error) + Create(opts *Project) (*Project, error) + Update(existing *Project, updates interface{}) (*Project, error) + Replace(existing *Project) (*Project, error) + ByID(id string) (*Project, error) + Delete(container *Project) error + + ActionExportYaml(resource *Project) error +} + +func newProjectClient(apiClient *Client) *ProjectClient { + return &ProjectClient{ + apiClient: apiClient, + } +} + +func (c *ProjectClient) Create(container *Project) (*Project, error) { + resp := &Project{} + err := c.apiClient.Ops.DoCreate(ProjectType, container, resp) + return resp, err +} + +func (c *ProjectClient) Update(existing *Project, updates interface{}) (*Project, error) { + resp := &Project{} + err := c.apiClient.Ops.DoUpdate(ProjectType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *ProjectClient) Replace(obj *Project) (*Project, error) { + resp := &Project{} + err := c.apiClient.Ops.DoReplace(ProjectType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *ProjectClient) List(opts *types.ListOpts) (*ProjectCollection, error) { + resp := &ProjectCollection{} + err := c.apiClient.Ops.DoList(ProjectType, opts, resp) + resp.client = c + return resp, err +} + +func (c *ProjectClient) ListAll(opts *types.ListOpts) (*ProjectCollection, error) { + resp := &ProjectCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *ProjectCollection) Next() (*ProjectCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &ProjectCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *ProjectClient) ByID(id string) (*Project, error) { + resp := &Project{} + err := c.apiClient.Ops.DoByID(ProjectType, id, resp) + return resp, err +} + +func (c *ProjectClient) Delete(container *Project) error { + return c.apiClient.Ops.DoResourceDelete(ProjectType, &container.Resource) +} + +func (c *ProjectClient) ActionExportYaml(resource *Project) error { + err := c.apiClient.Ops.DoAction(ProjectType, "exportYaml", &resource.Resource, nil, nil) + return err +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_catalog.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_catalog.go new file mode 100644 index 000000000..2185abe09 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_catalog.go @@ -0,0 +1,168 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + ProjectCatalogType = "projectCatalog" + ProjectCatalogFieldAnnotations = "annotations" + ProjectCatalogFieldBranch = "branch" + ProjectCatalogFieldCatalogSecrets = "catalogSecrets" + ProjectCatalogFieldCommit = "commit" + ProjectCatalogFieldConditions = "conditions" + ProjectCatalogFieldCreated = "created" + ProjectCatalogFieldCreatorID = "creatorId" + ProjectCatalogFieldCredentialSecret = "credentialSecret" + ProjectCatalogFieldDescription = "description" + ProjectCatalogFieldHelmVersion = "helmVersion" + ProjectCatalogFieldKind = "kind" + ProjectCatalogFieldLabels = "labels" + ProjectCatalogFieldLastRefreshTimestamp = "lastRefreshTimestamp" + ProjectCatalogFieldName = "name" + ProjectCatalogFieldNamespaceId = "namespaceId" + ProjectCatalogFieldOwnerReferences = "ownerReferences" + ProjectCatalogFieldPassword = "password" + ProjectCatalogFieldProjectID = "projectId" + ProjectCatalogFieldRemoved = "removed" + ProjectCatalogFieldState = "state" + ProjectCatalogFieldTransitioning = "transitioning" + ProjectCatalogFieldTransitioningMessage = "transitioningMessage" + ProjectCatalogFieldURL = "url" + ProjectCatalogFieldUUID = "uuid" + ProjectCatalogFieldUsername = "username" +) + +type ProjectCatalog struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Branch string `json:"branch,omitempty" yaml:"branch,omitempty"` + CatalogSecrets *CatalogSecrets `json:"catalogSecrets,omitempty" yaml:"catalogSecrets,omitempty"` + Commit string `json:"commit,omitempty" yaml:"commit,omitempty"` + Conditions []CatalogCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + CredentialSecret string `json:"credentialSecret,omitempty" yaml:"credentialSecret,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + HelmVersion string `json:"helmVersion,omitempty" yaml:"helmVersion,omitempty"` + Kind string `json:"kind,omitempty" yaml:"kind,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + LastRefreshTimestamp string `json:"lastRefreshTimestamp,omitempty" yaml:"lastRefreshTimestamp,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NamespaceId string `json:"namespaceId,omitempty" yaml:"namespaceId,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Password string `json:"password,omitempty" yaml:"password,omitempty"` + ProjectID string `json:"projectId,omitempty" yaml:"projectId,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + URL string `json:"url,omitempty" yaml:"url,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + Username string `json:"username,omitempty" yaml:"username,omitempty"` +} + +type ProjectCatalogCollection struct { + types.Collection + Data []ProjectCatalog `json:"data,omitempty"` + client *ProjectCatalogClient +} + +type ProjectCatalogClient struct { + apiClient *Client +} + +type ProjectCatalogOperations interface { + List(opts *types.ListOpts) (*ProjectCatalogCollection, error) + ListAll(opts *types.ListOpts) (*ProjectCatalogCollection, error) + Create(opts *ProjectCatalog) (*ProjectCatalog, error) + Update(existing *ProjectCatalog, updates interface{}) (*ProjectCatalog, error) + Replace(existing *ProjectCatalog) (*ProjectCatalog, error) + ByID(id string) (*ProjectCatalog, error) + Delete(container *ProjectCatalog) error + + ActionRefresh(resource *ProjectCatalog) (*CatalogRefresh, error) + + CollectionActionRefresh(resource *ProjectCatalogCollection) (*CatalogRefresh, error) +} + +func newProjectCatalogClient(apiClient *Client) *ProjectCatalogClient { + return &ProjectCatalogClient{ + apiClient: apiClient, + } +} + +func (c *ProjectCatalogClient) Create(container *ProjectCatalog) (*ProjectCatalog, error) { + resp := &ProjectCatalog{} + err := c.apiClient.Ops.DoCreate(ProjectCatalogType, container, resp) + return resp, err +} + +func (c *ProjectCatalogClient) Update(existing *ProjectCatalog, updates interface{}) (*ProjectCatalog, error) { + resp := &ProjectCatalog{} + err := c.apiClient.Ops.DoUpdate(ProjectCatalogType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *ProjectCatalogClient) Replace(obj *ProjectCatalog) (*ProjectCatalog, error) { + resp := &ProjectCatalog{} + err := c.apiClient.Ops.DoReplace(ProjectCatalogType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *ProjectCatalogClient) List(opts *types.ListOpts) (*ProjectCatalogCollection, error) { + resp := &ProjectCatalogCollection{} + err := c.apiClient.Ops.DoList(ProjectCatalogType, opts, resp) + resp.client = c + return resp, err +} + +func (c *ProjectCatalogClient) ListAll(opts *types.ListOpts) (*ProjectCatalogCollection, error) { + resp := &ProjectCatalogCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *ProjectCatalogCollection) Next() (*ProjectCatalogCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &ProjectCatalogCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *ProjectCatalogClient) ByID(id string) (*ProjectCatalog, error) { + resp := &ProjectCatalog{} + err := c.apiClient.Ops.DoByID(ProjectCatalogType, id, resp) + return resp, err +} + +func (c *ProjectCatalogClient) Delete(container *ProjectCatalog) error { + return c.apiClient.Ops.DoResourceDelete(ProjectCatalogType, &container.Resource) +} + +func (c *ProjectCatalogClient) ActionRefresh(resource *ProjectCatalog) (*CatalogRefresh, error) { + resp := &CatalogRefresh{} + err := c.apiClient.Ops.DoAction(ProjectCatalogType, "refresh", &resource.Resource, nil, resp) + return resp, err +} + +func (c *ProjectCatalogClient) CollectionActionRefresh(resource *ProjectCatalogCollection) (*CatalogRefresh, error) { + resp := &CatalogRefresh{} + err := c.apiClient.Ops.DoCollectionAction(ProjectCatalogType, "refresh", &resource.Collection, nil, resp) + return resp, err +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_condition.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_condition.go new file mode 100644 index 000000000..b0907cfb8 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_condition.go @@ -0,0 +1,20 @@ +package client + +const ( + ProjectConditionType = "projectCondition" + ProjectConditionFieldLastTransitionTime = "lastTransitionTime" + ProjectConditionFieldLastUpdateTime = "lastUpdateTime" + ProjectConditionFieldMessage = "message" + ProjectConditionFieldReason = "reason" + ProjectConditionFieldStatus = "status" + ProjectConditionFieldType = "type" +) + +type ProjectCondition struct { + LastTransitionTime string `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"` + LastUpdateTime string `json:"lastUpdateTime,omitempty" yaml:"lastUpdateTime,omitempty"` + Message string `json:"message,omitempty" yaml:"message,omitempty"` + Reason string `json:"reason,omitempty" yaml:"reason,omitempty"` + Status string `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_network_policy.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_network_policy.go new file mode 100644 index 000000000..0df489f8b --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_network_policy.go @@ -0,0 +1,132 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + ProjectNetworkPolicyType = "projectNetworkPolicy" + ProjectNetworkPolicyFieldAnnotations = "annotations" + ProjectNetworkPolicyFieldCreated = "created" + ProjectNetworkPolicyFieldCreatorID = "creatorId" + ProjectNetworkPolicyFieldDescription = "description" + ProjectNetworkPolicyFieldLabels = "labels" + ProjectNetworkPolicyFieldName = "name" + ProjectNetworkPolicyFieldNamespaceId = "namespaceId" + ProjectNetworkPolicyFieldOwnerReferences = "ownerReferences" + ProjectNetworkPolicyFieldProjectID = "projectId" + ProjectNetworkPolicyFieldRemoved = "removed" + ProjectNetworkPolicyFieldState = "state" + ProjectNetworkPolicyFieldStatus = "status" + ProjectNetworkPolicyFieldTransitioning = "transitioning" + ProjectNetworkPolicyFieldTransitioningMessage = "transitioningMessage" + ProjectNetworkPolicyFieldUUID = "uuid" +) + +type ProjectNetworkPolicy struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NamespaceId string `json:"namespaceId,omitempty" yaml:"namespaceId,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + ProjectID string `json:"projectId,omitempty" yaml:"projectId,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Status *ProjectNetworkPolicyStatus `json:"status,omitempty" yaml:"status,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type ProjectNetworkPolicyCollection struct { + types.Collection + Data []ProjectNetworkPolicy `json:"data,omitempty"` + client *ProjectNetworkPolicyClient +} + +type ProjectNetworkPolicyClient struct { + apiClient *Client +} + +type ProjectNetworkPolicyOperations interface { + List(opts *types.ListOpts) (*ProjectNetworkPolicyCollection, error) + ListAll(opts *types.ListOpts) (*ProjectNetworkPolicyCollection, error) + Create(opts *ProjectNetworkPolicy) (*ProjectNetworkPolicy, error) + Update(existing *ProjectNetworkPolicy, updates interface{}) (*ProjectNetworkPolicy, error) + Replace(existing *ProjectNetworkPolicy) (*ProjectNetworkPolicy, error) + ByID(id string) (*ProjectNetworkPolicy, error) + Delete(container *ProjectNetworkPolicy) error +} + +func newProjectNetworkPolicyClient(apiClient *Client) *ProjectNetworkPolicyClient { + return &ProjectNetworkPolicyClient{ + apiClient: apiClient, + } +} + +func (c *ProjectNetworkPolicyClient) Create(container *ProjectNetworkPolicy) (*ProjectNetworkPolicy, error) { + resp := &ProjectNetworkPolicy{} + err := c.apiClient.Ops.DoCreate(ProjectNetworkPolicyType, container, resp) + return resp, err +} + +func (c *ProjectNetworkPolicyClient) Update(existing *ProjectNetworkPolicy, updates interface{}) (*ProjectNetworkPolicy, error) { + resp := &ProjectNetworkPolicy{} + err := c.apiClient.Ops.DoUpdate(ProjectNetworkPolicyType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *ProjectNetworkPolicyClient) Replace(obj *ProjectNetworkPolicy) (*ProjectNetworkPolicy, error) { + resp := &ProjectNetworkPolicy{} + err := c.apiClient.Ops.DoReplace(ProjectNetworkPolicyType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *ProjectNetworkPolicyClient) List(opts *types.ListOpts) (*ProjectNetworkPolicyCollection, error) { + resp := &ProjectNetworkPolicyCollection{} + err := c.apiClient.Ops.DoList(ProjectNetworkPolicyType, opts, resp) + resp.client = c + return resp, err +} + +func (c *ProjectNetworkPolicyClient) ListAll(opts *types.ListOpts) (*ProjectNetworkPolicyCollection, error) { + resp := &ProjectNetworkPolicyCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *ProjectNetworkPolicyCollection) Next() (*ProjectNetworkPolicyCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &ProjectNetworkPolicyCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *ProjectNetworkPolicyClient) ByID(id string) (*ProjectNetworkPolicy, error) { + resp := &ProjectNetworkPolicy{} + err := c.apiClient.Ops.DoByID(ProjectNetworkPolicyType, id, resp) + return resp, err +} + +func (c *ProjectNetworkPolicyClient) Delete(container *ProjectNetworkPolicy) error { + return c.apiClient.Ops.DoResourceDelete(ProjectNetworkPolicyType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_network_policy_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_network_policy_spec.go new file mode 100644 index 000000000..6875efbd5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_network_policy_spec.go @@ -0,0 +1,12 @@ +package client + +const ( + ProjectNetworkPolicySpecType = "projectNetworkPolicySpec" + ProjectNetworkPolicySpecFieldDescription = "description" + ProjectNetworkPolicySpecFieldProjectID = "projectId" +) + +type ProjectNetworkPolicySpec struct { + Description string `json:"description,omitempty" yaml:"description,omitempty"` + ProjectID string `json:"projectId,omitempty" yaml:"projectId,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_network_policy_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_network_policy_status.go new file mode 100644 index 000000000..cef3c1639 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_network_policy_status.go @@ -0,0 +1,8 @@ +package client + +const ( + ProjectNetworkPolicyStatusType = "projectNetworkPolicyStatus" +) + +type ProjectNetworkPolicyStatus struct { +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_resource_quota.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_resource_quota.go new file mode 100644 index 000000000..05f736609 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_resource_quota.go @@ -0,0 +1,12 @@ +package client + +const ( + ProjectResourceQuotaType = "projectResourceQuota" + ProjectResourceQuotaFieldLimit = "limit" + ProjectResourceQuotaFieldUsedLimit = "usedLimit" +) + +type ProjectResourceQuota struct { + Limit *ResourceQuotaLimit `json:"limit,omitempty" yaml:"limit,omitempty"` + UsedLimit *ResourceQuotaLimit `json:"usedLimit,omitempty" yaml:"usedLimit,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_role_template_binding.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_role_template_binding.go new file mode 100644 index 000000000..47237560b --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_role_template_binding.go @@ -0,0 +1,134 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + ProjectRoleTemplateBindingType = "projectRoleTemplateBinding" + ProjectRoleTemplateBindingFieldAnnotations = "annotations" + ProjectRoleTemplateBindingFieldCreated = "created" + ProjectRoleTemplateBindingFieldCreatorID = "creatorId" + ProjectRoleTemplateBindingFieldGroupID = "groupId" + ProjectRoleTemplateBindingFieldGroupPrincipalID = "groupPrincipalId" + ProjectRoleTemplateBindingFieldLabels = "labels" + ProjectRoleTemplateBindingFieldName = "name" + ProjectRoleTemplateBindingFieldNamespaceId = "namespaceId" + ProjectRoleTemplateBindingFieldOwnerReferences = "ownerReferences" + ProjectRoleTemplateBindingFieldProjectID = "projectId" + ProjectRoleTemplateBindingFieldRemoved = "removed" + ProjectRoleTemplateBindingFieldRoleTemplateID = "roleTemplateId" + ProjectRoleTemplateBindingFieldServiceAccount = "serviceAccount" + ProjectRoleTemplateBindingFieldUUID = "uuid" + ProjectRoleTemplateBindingFieldUserID = "userId" + ProjectRoleTemplateBindingFieldUserPrincipalID = "userPrincipalId" +) + +type ProjectRoleTemplateBinding struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + GroupID string `json:"groupId,omitempty" yaml:"groupId,omitempty"` + GroupPrincipalID string `json:"groupPrincipalId,omitempty" yaml:"groupPrincipalId,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NamespaceId string `json:"namespaceId,omitempty" yaml:"namespaceId,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + ProjectID string `json:"projectId,omitempty" yaml:"projectId,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + RoleTemplateID string `json:"roleTemplateId,omitempty" yaml:"roleTemplateId,omitempty"` + ServiceAccount string `json:"serviceAccount,omitempty" yaml:"serviceAccount,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UserID string `json:"userId,omitempty" yaml:"userId,omitempty"` + UserPrincipalID string `json:"userPrincipalId,omitempty" yaml:"userPrincipalId,omitempty"` +} + +type ProjectRoleTemplateBindingCollection struct { + types.Collection + Data []ProjectRoleTemplateBinding `json:"data,omitempty"` + client *ProjectRoleTemplateBindingClient +} + +type ProjectRoleTemplateBindingClient struct { + apiClient *Client +} + +type ProjectRoleTemplateBindingOperations interface { + List(opts *types.ListOpts) (*ProjectRoleTemplateBindingCollection, error) + ListAll(opts *types.ListOpts) (*ProjectRoleTemplateBindingCollection, error) + Create(opts *ProjectRoleTemplateBinding) (*ProjectRoleTemplateBinding, error) + Update(existing *ProjectRoleTemplateBinding, updates interface{}) (*ProjectRoleTemplateBinding, error) + Replace(existing *ProjectRoleTemplateBinding) (*ProjectRoleTemplateBinding, error) + ByID(id string) (*ProjectRoleTemplateBinding, error) + Delete(container *ProjectRoleTemplateBinding) error +} + +func newProjectRoleTemplateBindingClient(apiClient *Client) *ProjectRoleTemplateBindingClient { + return &ProjectRoleTemplateBindingClient{ + apiClient: apiClient, + } +} + +func (c *ProjectRoleTemplateBindingClient) Create(container *ProjectRoleTemplateBinding) (*ProjectRoleTemplateBinding, error) { + resp := &ProjectRoleTemplateBinding{} + err := c.apiClient.Ops.DoCreate(ProjectRoleTemplateBindingType, container, resp) + return resp, err +} + +func (c *ProjectRoleTemplateBindingClient) Update(existing *ProjectRoleTemplateBinding, updates interface{}) (*ProjectRoleTemplateBinding, error) { + resp := &ProjectRoleTemplateBinding{} + err := c.apiClient.Ops.DoUpdate(ProjectRoleTemplateBindingType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *ProjectRoleTemplateBindingClient) Replace(obj *ProjectRoleTemplateBinding) (*ProjectRoleTemplateBinding, error) { + resp := &ProjectRoleTemplateBinding{} + err := c.apiClient.Ops.DoReplace(ProjectRoleTemplateBindingType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *ProjectRoleTemplateBindingClient) List(opts *types.ListOpts) (*ProjectRoleTemplateBindingCollection, error) { + resp := &ProjectRoleTemplateBindingCollection{} + err := c.apiClient.Ops.DoList(ProjectRoleTemplateBindingType, opts, resp) + resp.client = c + return resp, err +} + +func (c *ProjectRoleTemplateBindingClient) ListAll(opts *types.ListOpts) (*ProjectRoleTemplateBindingCollection, error) { + resp := &ProjectRoleTemplateBindingCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *ProjectRoleTemplateBindingCollection) Next() (*ProjectRoleTemplateBindingCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &ProjectRoleTemplateBindingCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *ProjectRoleTemplateBindingClient) ByID(id string) (*ProjectRoleTemplateBinding, error) { + resp := &ProjectRoleTemplateBinding{} + err := c.apiClient.Ops.DoByID(ProjectRoleTemplateBindingType, id, resp) + return resp, err +} + +func (c *ProjectRoleTemplateBindingClient) Delete(container *ProjectRoleTemplateBinding) error { + return c.apiClient.Ops.DoResourceDelete(ProjectRoleTemplateBindingType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_spec.go new file mode 100644 index 000000000..e1e940bc1 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_spec.go @@ -0,0 +1,20 @@ +package client + +const ( + ProjectSpecType = "projectSpec" + ProjectSpecFieldClusterID = "clusterId" + ProjectSpecFieldContainerDefaultResourceLimit = "containerDefaultResourceLimit" + ProjectSpecFieldDescription = "description" + ProjectSpecFieldDisplayName = "displayName" + ProjectSpecFieldNamespaceDefaultResourceQuota = "namespaceDefaultResourceQuota" + ProjectSpecFieldResourceQuota = "resourceQuota" +) + +type ProjectSpec struct { + ClusterID string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"` + ContainerDefaultResourceLimit *ContainerResourceLimit `json:"containerDefaultResourceLimit,omitempty" yaml:"containerDefaultResourceLimit,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"` + NamespaceDefaultResourceQuota *NamespaceResourceQuota `json:"namespaceDefaultResourceQuota,omitempty" yaml:"namespaceDefaultResourceQuota,omitempty"` + ResourceQuota *ProjectResourceQuota `json:"resourceQuota,omitempty" yaml:"resourceQuota,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_status.go new file mode 100644 index 000000000..7806c91b4 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_project_status.go @@ -0,0 +1,10 @@ +package client + +const ( + ProjectStatusType = "projectStatus" + ProjectStatusFieldConditions = "conditions" +) + +type ProjectStatus struct { + Conditions []ProjectCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_projected_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_projected_volume_source.go new file mode 100644 index 000000000..f90539eef --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_projected_volume_source.go @@ -0,0 +1,12 @@ +package client + +const ( + ProjectedVolumeSourceType = "projectedVolumeSource" + ProjectedVolumeSourceFieldDefaultMode = "defaultMode" + ProjectedVolumeSourceFieldSources = "sources" +) + +type ProjectedVolumeSource struct { + DefaultMode *int64 `json:"defaultMode,omitempty" yaml:"defaultMode,omitempty"` + Sources []VolumeProjection `json:"sources,omitempty" yaml:"sources,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_provider_configuration.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_provider_configuration.go new file mode 100644 index 000000000..4a29cfdff --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_provider_configuration.go @@ -0,0 +1,18 @@ +package client + +const ( + ProviderConfigurationType = "providerConfiguration" + ProviderConfigurationFieldAESCBC = "aescbc" + ProviderConfigurationFieldAESGCM = "aesgcm" + ProviderConfigurationFieldIdentity = "identity" + ProviderConfigurationFieldKMS = "kms" + ProviderConfigurationFieldSecretbox = "secretbox" +) + +type ProviderConfiguration struct { + AESCBC *AESConfiguration `json:"aescbc,omitempty" yaml:"aescbc,omitempty"` + AESGCM *AESConfiguration `json:"aesgcm,omitempty" yaml:"aesgcm,omitempty"` + Identity *IdentityConfiguration `json:"identity,omitempty" yaml:"identity,omitempty"` + KMS *KMSConfiguration `json:"kms,omitempty" yaml:"kms,omitempty"` + Secretbox *SecretboxConfiguration `json:"secretbox,omitempty" yaml:"secretbox,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_public_endpoint.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_public_endpoint.go new file mode 100644 index 000000000..85844aac7 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_public_endpoint.go @@ -0,0 +1,28 @@ +package client + +const ( + PublicEndpointType = "publicEndpoint" + PublicEndpointFieldAddresses = "addresses" + PublicEndpointFieldAllNodes = "allNodes" + PublicEndpointFieldHostname = "hostname" + PublicEndpointFieldIngressID = "ingressId" + PublicEndpointFieldNodeID = "nodeId" + PublicEndpointFieldPath = "path" + PublicEndpointFieldPodID = "podId" + PublicEndpointFieldPort = "port" + PublicEndpointFieldProtocol = "protocol" + PublicEndpointFieldServiceID = "serviceId" +) + +type PublicEndpoint struct { + Addresses []string `json:"addresses,omitempty" yaml:"addresses,omitempty"` + AllNodes bool `json:"allNodes,omitempty" yaml:"allNodes,omitempty"` + Hostname string `json:"hostname,omitempty" yaml:"hostname,omitempty"` + IngressID string `json:"ingressId,omitempty" yaml:"ingressId,omitempty"` + NodeID string `json:"nodeId,omitempty" yaml:"nodeId,omitempty"` + Path string `json:"path,omitempty" yaml:"path,omitempty"` + PodID string `json:"podId,omitempty" yaml:"podId,omitempty"` + Port int64 `json:"port,omitempty" yaml:"port,omitempty"` + Protocol string `json:"protocol,omitempty" yaml:"protocol,omitempty"` + ServiceID string `json:"serviceId,omitempty" yaml:"serviceId,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_question.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_question.go new file mode 100644 index 000000000..60426833d --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_question.go @@ -0,0 +1,44 @@ +package client + +const ( + QuestionType = "question" + QuestionFieldDefault = "default" + QuestionFieldDescription = "description" + QuestionFieldGroup = "group" + QuestionFieldInvalidChars = "invalidChars" + QuestionFieldLabel = "label" + QuestionFieldMax = "max" + QuestionFieldMaxLength = "maxLength" + QuestionFieldMin = "min" + QuestionFieldMinLength = "minLength" + QuestionFieldOptions = "options" + QuestionFieldRequired = "required" + QuestionFieldSatisfies = "satisfies" + QuestionFieldShowIf = "showIf" + QuestionFieldShowSubquestionIf = "showSubquestionIf" + QuestionFieldSubquestions = "subquestions" + QuestionFieldType = "type" + QuestionFieldValidChars = "validChars" + QuestionFieldVariable = "variable" +) + +type Question struct { + Default string `json:"default,omitempty" yaml:"default,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + Group string `json:"group,omitempty" yaml:"group,omitempty"` + InvalidChars string `json:"invalidChars,omitempty" yaml:"invalidChars,omitempty"` + Label string `json:"label,omitempty" yaml:"label,omitempty"` + Max int64 `json:"max,omitempty" yaml:"max,omitempty"` + MaxLength int64 `json:"maxLength,omitempty" yaml:"maxLength,omitempty"` + Min int64 `json:"min,omitempty" yaml:"min,omitempty"` + MinLength int64 `json:"minLength,omitempty" yaml:"minLength,omitempty"` + Options []string `json:"options,omitempty" yaml:"options,omitempty"` + Required bool `json:"required,omitempty" yaml:"required,omitempty"` + Satisfies string `json:"satisfies,omitempty" yaml:"satisfies,omitempty"` + ShowIf string `json:"showIf,omitempty" yaml:"showIf,omitempty"` + ShowSubquestionIf string `json:"showSubquestionIf,omitempty" yaml:"showSubquestionIf,omitempty"` + Subquestions []SubQuestion `json:"subquestions,omitempty" yaml:"subquestions,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + ValidChars string `json:"validChars,omitempty" yaml:"validChars,omitempty"` + Variable string `json:"variable,omitempty" yaml:"variable,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_quobyte_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_quobyte_volume_source.go new file mode 100644 index 000000000..41e308d3b --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_quobyte_volume_source.go @@ -0,0 +1,20 @@ +package client + +const ( + QuobyteVolumeSourceType = "quobyteVolumeSource" + QuobyteVolumeSourceFieldGroup = "group" + QuobyteVolumeSourceFieldReadOnly = "readOnly" + QuobyteVolumeSourceFieldRegistry = "registry" + QuobyteVolumeSourceFieldTenant = "tenant" + QuobyteVolumeSourceFieldUser = "user" + QuobyteVolumeSourceFieldVolume = "volume" +) + +type QuobyteVolumeSource struct { + Group string `json:"group,omitempty" yaml:"group,omitempty"` + ReadOnly bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` + Registry string `json:"registry,omitempty" yaml:"registry,omitempty"` + Tenant string `json:"tenant,omitempty" yaml:"tenant,omitempty"` + User string `json:"user,omitempty" yaml:"user,omitempty"` + Volume string `json:"volume,omitempty" yaml:"volume,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rancher_kubernetes_engine_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rancher_kubernetes_engine_config.go new file mode 100644 index 000000000..19d33699c --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rancher_kubernetes_engine_config.go @@ -0,0 +1,62 @@ +package client + +const ( + RancherKubernetesEngineConfigType = "rancherKubernetesEngineConfig" + RancherKubernetesEngineConfigFieldAddonJobTimeout = "addonJobTimeout" + RancherKubernetesEngineConfigFieldAddons = "addons" + RancherKubernetesEngineConfigFieldAddonsInclude = "addonsInclude" + RancherKubernetesEngineConfigFieldAuthentication = "authentication" + RancherKubernetesEngineConfigFieldAuthorization = "authorization" + RancherKubernetesEngineConfigFieldBastionHost = "bastionHost" + RancherKubernetesEngineConfigFieldCloudProvider = "cloudProvider" + RancherKubernetesEngineConfigFieldClusterName = "clusterName" + RancherKubernetesEngineConfigFieldDNS = "dns" + RancherKubernetesEngineConfigFieldEnableCRIDockerd = "enableCriDockerd" + RancherKubernetesEngineConfigFieldIgnoreDockerVersion = "ignoreDockerVersion" + RancherKubernetesEngineConfigFieldIngress = "ingress" + RancherKubernetesEngineConfigFieldMonitoring = "monitoring" + RancherKubernetesEngineConfigFieldNetwork = "network" + RancherKubernetesEngineConfigFieldNodes = "nodes" + RancherKubernetesEngineConfigFieldPrefixPath = "prefixPath" + RancherKubernetesEngineConfigFieldPrivateRegistries = "privateRegistries" + RancherKubernetesEngineConfigFieldRestore = "restore" + RancherKubernetesEngineConfigFieldRotateCertificates = "rotateCertificates" + RancherKubernetesEngineConfigFieldRotateEncryptionKey = "rotateEncryptionKey" + RancherKubernetesEngineConfigFieldSSHAgentAuth = "sshAgentAuth" + RancherKubernetesEngineConfigFieldSSHCertPath = "sshCertPath" + RancherKubernetesEngineConfigFieldSSHKeyPath = "sshKeyPath" + RancherKubernetesEngineConfigFieldServices = "services" + RancherKubernetesEngineConfigFieldUpgradeStrategy = "upgradeStrategy" + RancherKubernetesEngineConfigFieldVersion = "kubernetesVersion" + RancherKubernetesEngineConfigFieldWindowsPrefixPath = "winPrefixPath" +) + +type RancherKubernetesEngineConfig struct { + AddonJobTimeout int64 `json:"addonJobTimeout,omitempty" yaml:"addonJobTimeout,omitempty"` + Addons string `json:"addons,omitempty" yaml:"addons,omitempty"` + AddonsInclude []string `json:"addonsInclude,omitempty" yaml:"addonsInclude,omitempty"` + Authentication *AuthnConfig `json:"authentication,omitempty" yaml:"authentication,omitempty"` + Authorization *AuthzConfig `json:"authorization,omitempty" yaml:"authorization,omitempty"` + BastionHost *BastionHost `json:"bastionHost,omitempty" yaml:"bastionHost,omitempty"` + CloudProvider *CloudProvider `json:"cloudProvider,omitempty" yaml:"cloudProvider,omitempty"` + ClusterName string `json:"clusterName,omitempty" yaml:"clusterName,omitempty"` + DNS *DNSConfig `json:"dns,omitempty" yaml:"dns,omitempty"` + EnableCRIDockerd *bool `json:"enableCriDockerd,omitempty" yaml:"enableCriDockerd,omitempty"` + IgnoreDockerVersion *bool `json:"ignoreDockerVersion,omitempty" yaml:"ignoreDockerVersion,omitempty"` + Ingress *IngressConfig `json:"ingress,omitempty" yaml:"ingress,omitempty"` + Monitoring *MonitoringConfig `json:"monitoring,omitempty" yaml:"monitoring,omitempty"` + Network *NetworkConfig `json:"network,omitempty" yaml:"network,omitempty"` + Nodes []RKEConfigNode `json:"nodes,omitempty" yaml:"nodes,omitempty"` + PrefixPath string `json:"prefixPath,omitempty" yaml:"prefixPath,omitempty"` + PrivateRegistries []PrivateRegistry `json:"privateRegistries,omitempty" yaml:"privateRegistries,omitempty"` + Restore *RestoreConfig `json:"restore,omitempty" yaml:"restore,omitempty"` + RotateCertificates *RotateCertificates `json:"rotateCertificates,omitempty" yaml:"rotateCertificates,omitempty"` + RotateEncryptionKey bool `json:"rotateEncryptionKey,omitempty" yaml:"rotateEncryptionKey,omitempty"` + SSHAgentAuth bool `json:"sshAgentAuth,omitempty" yaml:"sshAgentAuth,omitempty"` + SSHCertPath string `json:"sshCertPath,omitempty" yaml:"sshCertPath,omitempty"` + SSHKeyPath string `json:"sshKeyPath,omitempty" yaml:"sshKeyPath,omitempty"` + Services *RKEConfigServices `json:"services,omitempty" yaml:"services,omitempty"` + UpgradeStrategy *NodeUpgradeStrategy `json:"upgradeStrategy,omitempty" yaml:"upgradeStrategy,omitempty"` + Version string `json:"kubernetesVersion,omitempty" yaml:"kubernetesVersion,omitempty"` + WindowsPrefixPath string `json:"winPrefixPath,omitempty" yaml:"winPrefixPath,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rancher_user_notification.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rancher_user_notification.go new file mode 100644 index 000000000..8fa289e62 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rancher_user_notification.go @@ -0,0 +1,122 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + RancherUserNotificationType = "rancherUserNotification" + RancherUserNotificationFieldAnnotations = "annotations" + RancherUserNotificationFieldComponentName = "componentName" + RancherUserNotificationFieldCreated = "created" + RancherUserNotificationFieldCreatorID = "creatorId" + RancherUserNotificationFieldLabels = "labels" + RancherUserNotificationFieldMessage = "message" + RancherUserNotificationFieldName = "name" + RancherUserNotificationFieldOwnerReferences = "ownerReferences" + RancherUserNotificationFieldRemoved = "removed" + RancherUserNotificationFieldUUID = "uuid" +) + +type RancherUserNotification struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + ComponentName string `json:"componentName,omitempty" yaml:"componentName,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Message string `json:"message,omitempty" yaml:"message,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type RancherUserNotificationCollection struct { + types.Collection + Data []RancherUserNotification `json:"data,omitempty"` + client *RancherUserNotificationClient +} + +type RancherUserNotificationClient struct { + apiClient *Client +} + +type RancherUserNotificationOperations interface { + List(opts *types.ListOpts) (*RancherUserNotificationCollection, error) + ListAll(opts *types.ListOpts) (*RancherUserNotificationCollection, error) + Create(opts *RancherUserNotification) (*RancherUserNotification, error) + Update(existing *RancherUserNotification, updates interface{}) (*RancherUserNotification, error) + Replace(existing *RancherUserNotification) (*RancherUserNotification, error) + ByID(id string) (*RancherUserNotification, error) + Delete(container *RancherUserNotification) error +} + +func newRancherUserNotificationClient(apiClient *Client) *RancherUserNotificationClient { + return &RancherUserNotificationClient{ + apiClient: apiClient, + } +} + +func (c *RancherUserNotificationClient) Create(container *RancherUserNotification) (*RancherUserNotification, error) { + resp := &RancherUserNotification{} + err := c.apiClient.Ops.DoCreate(RancherUserNotificationType, container, resp) + return resp, err +} + +func (c *RancherUserNotificationClient) Update(existing *RancherUserNotification, updates interface{}) (*RancherUserNotification, error) { + resp := &RancherUserNotification{} + err := c.apiClient.Ops.DoUpdate(RancherUserNotificationType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *RancherUserNotificationClient) Replace(obj *RancherUserNotification) (*RancherUserNotification, error) { + resp := &RancherUserNotification{} + err := c.apiClient.Ops.DoReplace(RancherUserNotificationType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *RancherUserNotificationClient) List(opts *types.ListOpts) (*RancherUserNotificationCollection, error) { + resp := &RancherUserNotificationCollection{} + err := c.apiClient.Ops.DoList(RancherUserNotificationType, opts, resp) + resp.client = c + return resp, err +} + +func (c *RancherUserNotificationClient) ListAll(opts *types.ListOpts) (*RancherUserNotificationCollection, error) { + resp := &RancherUserNotificationCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *RancherUserNotificationCollection) Next() (*RancherUserNotificationCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &RancherUserNotificationCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *RancherUserNotificationClient) ByID(id string) (*RancherUserNotification, error) { + resp := &RancherUserNotification{} + err := c.apiClient.Ops.DoByID(RancherUserNotificationType, id, resp) + return resp, err +} + +func (c *RancherUserNotificationClient) Delete(container *RancherUserNotification) error { + return c.apiClient.Ops.DoResourceDelete(RancherUserNotificationType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rbd_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rbd_volume_source.go new file mode 100644 index 000000000..436a8b73b --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rbd_volume_source.go @@ -0,0 +1,24 @@ +package client + +const ( + RBDVolumeSourceType = "rbdVolumeSource" + RBDVolumeSourceFieldCephMonitors = "monitors" + RBDVolumeSourceFieldFSType = "fsType" + RBDVolumeSourceFieldKeyring = "keyring" + RBDVolumeSourceFieldRBDImage = "image" + RBDVolumeSourceFieldRBDPool = "pool" + RBDVolumeSourceFieldRadosUser = "user" + RBDVolumeSourceFieldReadOnly = "readOnly" + RBDVolumeSourceFieldSecretRef = "secretRef" +) + +type RBDVolumeSource struct { + CephMonitors []string `json:"monitors,omitempty" yaml:"monitors,omitempty"` + FSType string `json:"fsType,omitempty" yaml:"fsType,omitempty"` + Keyring string `json:"keyring,omitempty" yaml:"keyring,omitempty"` + RBDImage string `json:"image,omitempty" yaml:"image,omitempty"` + RBDPool string `json:"pool,omitempty" yaml:"pool,omitempty"` + RadosUser string `json:"user,omitempty" yaml:"user,omitempty"` + ReadOnly bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` + SecretRef *LocalObjectReference `json:"secretRef,omitempty" yaml:"secretRef,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_claim.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_claim.go new file mode 100644 index 000000000..1ef8e0a54 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_claim.go @@ -0,0 +1,10 @@ +package client + +const ( + ResourceClaimType = "resourceClaim" + ResourceClaimFieldName = "name" +) + +type ResourceClaim struct { + Name string `json:"name,omitempty" yaml:"name,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_configuration.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_configuration.go new file mode 100644 index 000000000..3c09f763b --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_configuration.go @@ -0,0 +1,12 @@ +package client + +const ( + ResourceConfigurationType = "resourceConfiguration" + ResourceConfigurationFieldProviders = "providers" + ResourceConfigurationFieldResources = "resources" +) + +type ResourceConfiguration struct { + Providers []ProviderConfiguration `json:"providers,omitempty" yaml:"providers,omitempty"` + Resources []string `json:"resources,omitempty" yaml:"resources,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_field_selector.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_field_selector.go new file mode 100644 index 000000000..d9c0c92e5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_field_selector.go @@ -0,0 +1,14 @@ +package client + +const ( + ResourceFieldSelectorType = "resourceFieldSelector" + ResourceFieldSelectorFieldContainerName = "containerName" + ResourceFieldSelectorFieldDivisor = "divisor" + ResourceFieldSelectorFieldResource = "resource" +) + +type ResourceFieldSelector struct { + ContainerName string `json:"containerName,omitempty" yaml:"containerName,omitempty"` + Divisor string `json:"divisor,omitempty" yaml:"divisor,omitempty"` + Resource string `json:"resource,omitempty" yaml:"resource,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_quota_limit.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_quota_limit.go new file mode 100644 index 000000000..4bc04abf4 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_quota_limit.go @@ -0,0 +1,34 @@ +package client + +const ( + ResourceQuotaLimitType = "resourceQuotaLimit" + ResourceQuotaLimitFieldConfigMaps = "configMaps" + ResourceQuotaLimitFieldLimitsCPU = "limitsCpu" + ResourceQuotaLimitFieldLimitsMemory = "limitsMemory" + ResourceQuotaLimitFieldPersistentVolumeClaims = "persistentVolumeClaims" + ResourceQuotaLimitFieldPods = "pods" + ResourceQuotaLimitFieldReplicationControllers = "replicationControllers" + ResourceQuotaLimitFieldRequestsCPU = "requestsCpu" + ResourceQuotaLimitFieldRequestsMemory = "requestsMemory" + ResourceQuotaLimitFieldRequestsStorage = "requestsStorage" + ResourceQuotaLimitFieldSecrets = "secrets" + ResourceQuotaLimitFieldServices = "services" + ResourceQuotaLimitFieldServicesLoadBalancers = "servicesLoadBalancers" + ResourceQuotaLimitFieldServicesNodePorts = "servicesNodePorts" +) + +type ResourceQuotaLimit struct { + ConfigMaps string `json:"configMaps,omitempty" yaml:"configMaps,omitempty"` + LimitsCPU string `json:"limitsCpu,omitempty" yaml:"limitsCpu,omitempty"` + LimitsMemory string `json:"limitsMemory,omitempty" yaml:"limitsMemory,omitempty"` + PersistentVolumeClaims string `json:"persistentVolumeClaims,omitempty" yaml:"persistentVolumeClaims,omitempty"` + Pods string `json:"pods,omitempty" yaml:"pods,omitempty"` + ReplicationControllers string `json:"replicationControllers,omitempty" yaml:"replicationControllers,omitempty"` + RequestsCPU string `json:"requestsCpu,omitempty" yaml:"requestsCpu,omitempty"` + RequestsMemory string `json:"requestsMemory,omitempty" yaml:"requestsMemory,omitempty"` + RequestsStorage string `json:"requestsStorage,omitempty" yaml:"requestsStorage,omitempty"` + Secrets string `json:"secrets,omitempty" yaml:"secrets,omitempty"` + Services string `json:"services,omitempty" yaml:"services,omitempty"` + ServicesLoadBalancers string `json:"servicesLoadBalancers,omitempty" yaml:"servicesLoadBalancers,omitempty"` + ServicesNodePorts string `json:"servicesNodePorts,omitempty" yaml:"servicesNodePorts,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_requirements.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_requirements.go new file mode 100644 index 000000000..5fe765a54 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_resource_requirements.go @@ -0,0 +1,14 @@ +package client + +const ( + ResourceRequirementsType = "resourceRequirements" + ResourceRequirementsFieldClaims = "claims" + ResourceRequirementsFieldLimits = "limits" + ResourceRequirementsFieldRequests = "requests" +) + +type ResourceRequirements struct { + Claims []ResourceClaim `json:"claims,omitempty" yaml:"claims,omitempty"` + Limits map[string]string `json:"limits,omitempty" yaml:"limits,omitempty"` + Requests map[string]string `json:"requests,omitempty" yaml:"requests,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_restore_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_restore_config.go new file mode 100644 index 000000000..8370f96f3 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_restore_config.go @@ -0,0 +1,12 @@ +package client + +const ( + RestoreConfigType = "restoreConfig" + RestoreConfigFieldRestore = "restore" + RestoreConfigFieldSnapshotName = "snapshotName" +) + +type RestoreConfig struct { + Restore bool `json:"restore,omitempty" yaml:"restore,omitempty"` + SnapshotName string `json:"snapshotName,omitempty" yaml:"snapshotName,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_restore_from_etcd_backup_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_restore_from_etcd_backup_input.go new file mode 100644 index 000000000..7bd5f59f9 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_restore_from_etcd_backup_input.go @@ -0,0 +1,12 @@ +package client + +const ( + RestoreFromEtcdBackupInputType = "restoreFromEtcdBackupInput" + RestoreFromEtcdBackupInputFieldEtcdBackupID = "etcdBackupId" + RestoreFromEtcdBackupInputFieldRestoreRkeConfig = "restoreRkeConfig" +) + +type RestoreFromEtcdBackupInput struct { + EtcdBackupID string `json:"etcdBackupId,omitempty" yaml:"etcdBackupId,omitempty"` + RestoreRkeConfig string `json:"restoreRkeConfig,omitempty" yaml:"restoreRkeConfig,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke2config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke2config.go new file mode 100644 index 000000000..3e355a9a5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke2config.go @@ -0,0 +1,12 @@ +package client + +const ( + Rke2ConfigType = "rke2Config" + Rke2ConfigFieldClusterUpgradeStrategy = "rke2upgradeStrategy" + Rke2ConfigFieldVersion = "kubernetesVersion" +) + +type Rke2Config struct { + ClusterUpgradeStrategy *ClusterUpgradeStrategy `json:"rke2upgradeStrategy,omitempty" yaml:"rke2upgradeStrategy,omitempty"` + Version string `json:"kubernetesVersion,omitempty" yaml:"kubernetesVersion,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_addon.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_addon.go new file mode 100644 index 000000000..67719eedd --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_addon.go @@ -0,0 +1,120 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + RkeAddonType = "rkeAddon" + RkeAddonFieldAnnotations = "annotations" + RkeAddonFieldCreated = "created" + RkeAddonFieldCreatorID = "creatorId" + RkeAddonFieldLabels = "labels" + RkeAddonFieldName = "name" + RkeAddonFieldOwnerReferences = "ownerReferences" + RkeAddonFieldRemoved = "removed" + RkeAddonFieldTemplate = "template" + RkeAddonFieldUUID = "uuid" +) + +type RkeAddon struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + Template string `json:"template,omitempty" yaml:"template,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type RkeAddonCollection struct { + types.Collection + Data []RkeAddon `json:"data,omitempty"` + client *RkeAddonClient +} + +type RkeAddonClient struct { + apiClient *Client +} + +type RkeAddonOperations interface { + List(opts *types.ListOpts) (*RkeAddonCollection, error) + ListAll(opts *types.ListOpts) (*RkeAddonCollection, error) + Create(opts *RkeAddon) (*RkeAddon, error) + Update(existing *RkeAddon, updates interface{}) (*RkeAddon, error) + Replace(existing *RkeAddon) (*RkeAddon, error) + ByID(id string) (*RkeAddon, error) + Delete(container *RkeAddon) error +} + +func newRkeAddonClient(apiClient *Client) *RkeAddonClient { + return &RkeAddonClient{ + apiClient: apiClient, + } +} + +func (c *RkeAddonClient) Create(container *RkeAddon) (*RkeAddon, error) { + resp := &RkeAddon{} + err := c.apiClient.Ops.DoCreate(RkeAddonType, container, resp) + return resp, err +} + +func (c *RkeAddonClient) Update(existing *RkeAddon, updates interface{}) (*RkeAddon, error) { + resp := &RkeAddon{} + err := c.apiClient.Ops.DoUpdate(RkeAddonType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *RkeAddonClient) Replace(obj *RkeAddon) (*RkeAddon, error) { + resp := &RkeAddon{} + err := c.apiClient.Ops.DoReplace(RkeAddonType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *RkeAddonClient) List(opts *types.ListOpts) (*RkeAddonCollection, error) { + resp := &RkeAddonCollection{} + err := c.apiClient.Ops.DoList(RkeAddonType, opts, resp) + resp.client = c + return resp, err +} + +func (c *RkeAddonClient) ListAll(opts *types.ListOpts) (*RkeAddonCollection, error) { + resp := &RkeAddonCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *RkeAddonCollection) Next() (*RkeAddonCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &RkeAddonCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *RkeAddonClient) ByID(id string) (*RkeAddon, error) { + resp := &RkeAddon{} + err := c.apiClient.Ops.DoByID(RkeAddonType, id, resp) + return resp, err +} + +func (c *RkeAddonClient) Delete(container *RkeAddon) error { + return c.apiClient.Ops.DoResourceDelete(RkeAddonType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_config_node.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_config_node.go new file mode 100644 index 000000000..a8a2c20ab --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_config_node.go @@ -0,0 +1,38 @@ +package client + +const ( + RKEConfigNodeType = "rkeConfigNode" + RKEConfigNodeFieldAddress = "address" + RKEConfigNodeFieldDockerSocket = "dockerSocket" + RKEConfigNodeFieldHostnameOverride = "hostnameOverride" + RKEConfigNodeFieldInternalAddress = "internalAddress" + RKEConfigNodeFieldLabels = "labels" + RKEConfigNodeFieldNodeID = "nodeId" + RKEConfigNodeFieldPort = "port" + RKEConfigNodeFieldRole = "role" + RKEConfigNodeFieldSSHAgentAuth = "sshAgentAuth" + RKEConfigNodeFieldSSHCert = "sshCert" + RKEConfigNodeFieldSSHCertPath = "sshCertPath" + RKEConfigNodeFieldSSHKey = "sshKey" + RKEConfigNodeFieldSSHKeyPath = "sshKeyPath" + RKEConfigNodeFieldTaints = "taints" + RKEConfigNodeFieldUser = "user" +) + +type RKEConfigNode struct { + Address string `json:"address,omitempty" yaml:"address,omitempty"` + DockerSocket string `json:"dockerSocket,omitempty" yaml:"dockerSocket,omitempty"` + HostnameOverride string `json:"hostnameOverride,omitempty" yaml:"hostnameOverride,omitempty"` + InternalAddress string `json:"internalAddress,omitempty" yaml:"internalAddress,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + NodeID string `json:"nodeId,omitempty" yaml:"nodeId,omitempty"` + Port string `json:"port,omitempty" yaml:"port,omitempty"` + Role []string `json:"role,omitempty" yaml:"role,omitempty"` + SSHAgentAuth bool `json:"sshAgentAuth,omitempty" yaml:"sshAgentAuth,omitempty"` + SSHCert string `json:"sshCert,omitempty" yaml:"sshCert,omitempty"` + SSHCertPath string `json:"sshCertPath,omitempty" yaml:"sshCertPath,omitempty"` + SSHKey string `json:"sshKey,omitempty" yaml:"sshKey,omitempty"` + SSHKeyPath string `json:"sshKeyPath,omitempty" yaml:"sshKeyPath,omitempty"` + Taints []RKETaint `json:"taints,omitempty" yaml:"taints,omitempty"` + User string `json:"user,omitempty" yaml:"user,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_config_node_plan.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_config_node_plan.go new file mode 100644 index 000000000..fd9224fed --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_config_node_plan.go @@ -0,0 +1,22 @@ +package client + +const ( + RKEConfigNodePlanType = "rkeConfigNodePlan" + RKEConfigNodePlanFieldAddress = "address" + RKEConfigNodePlanFieldAnnotations = "annotations" + RKEConfigNodePlanFieldFiles = "files" + RKEConfigNodePlanFieldLabels = "labels" + RKEConfigNodePlanFieldPortChecks = "portChecks" + RKEConfigNodePlanFieldProcesses = "processes" + RKEConfigNodePlanFieldTaints = "taints" +) + +type RKEConfigNodePlan struct { + Address string `json:"address,omitempty" yaml:"address,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Files []File `json:"files,omitempty" yaml:"files,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + PortChecks []PortCheck `json:"portChecks,omitempty" yaml:"portChecks,omitempty"` + Processes map[string]Process `json:"processes,omitempty" yaml:"processes,omitempty"` + Taints []RKETaint `json:"taints,omitempty" yaml:"taints,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_config_services.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_config_services.go new file mode 100644 index 000000000..16086f60e --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_config_services.go @@ -0,0 +1,20 @@ +package client + +const ( + RKEConfigServicesType = "rkeConfigServices" + RKEConfigServicesFieldEtcd = "etcd" + RKEConfigServicesFieldKubeAPI = "kubeApi" + RKEConfigServicesFieldKubeController = "kubeController" + RKEConfigServicesFieldKubelet = "kubelet" + RKEConfigServicesFieldKubeproxy = "kubeproxy" + RKEConfigServicesFieldScheduler = "scheduler" +) + +type RKEConfigServices struct { + Etcd *ETCDService `json:"etcd,omitempty" yaml:"etcd,omitempty"` + KubeAPI *KubeAPIService `json:"kubeApi,omitempty" yaml:"kubeApi,omitempty"` + KubeController *KubeControllerService `json:"kubeController,omitempty" yaml:"kubeController,omitempty"` + Kubelet *KubeletService `json:"kubelet,omitempty" yaml:"kubelet,omitempty"` + Kubeproxy *KubeproxyService `json:"kubeproxy,omitempty" yaml:"kubeproxy,omitempty"` + Scheduler *SchedulerService `json:"scheduler,omitempty" yaml:"scheduler,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_k8s_service_option.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_k8s_service_option.go new file mode 100644 index 000000000..6c5173f0f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_k8s_service_option.go @@ -0,0 +1,120 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + RkeK8sServiceOptionType = "rkeK8sServiceOption" + RkeK8sServiceOptionFieldAnnotations = "annotations" + RkeK8sServiceOptionFieldCreated = "created" + RkeK8sServiceOptionFieldCreatorID = "creatorId" + RkeK8sServiceOptionFieldLabels = "labels" + RkeK8sServiceOptionFieldName = "name" + RkeK8sServiceOptionFieldOwnerReferences = "ownerReferences" + RkeK8sServiceOptionFieldRemoved = "removed" + RkeK8sServiceOptionFieldServiceOptions = "serviceOptions" + RkeK8sServiceOptionFieldUUID = "uuid" +) + +type RkeK8sServiceOption struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + ServiceOptions *KubernetesServicesOptions `json:"serviceOptions,omitempty" yaml:"serviceOptions,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type RkeK8sServiceOptionCollection struct { + types.Collection + Data []RkeK8sServiceOption `json:"data,omitempty"` + client *RkeK8sServiceOptionClient +} + +type RkeK8sServiceOptionClient struct { + apiClient *Client +} + +type RkeK8sServiceOptionOperations interface { + List(opts *types.ListOpts) (*RkeK8sServiceOptionCollection, error) + ListAll(opts *types.ListOpts) (*RkeK8sServiceOptionCollection, error) + Create(opts *RkeK8sServiceOption) (*RkeK8sServiceOption, error) + Update(existing *RkeK8sServiceOption, updates interface{}) (*RkeK8sServiceOption, error) + Replace(existing *RkeK8sServiceOption) (*RkeK8sServiceOption, error) + ByID(id string) (*RkeK8sServiceOption, error) + Delete(container *RkeK8sServiceOption) error +} + +func newRkeK8sServiceOptionClient(apiClient *Client) *RkeK8sServiceOptionClient { + return &RkeK8sServiceOptionClient{ + apiClient: apiClient, + } +} + +func (c *RkeK8sServiceOptionClient) Create(container *RkeK8sServiceOption) (*RkeK8sServiceOption, error) { + resp := &RkeK8sServiceOption{} + err := c.apiClient.Ops.DoCreate(RkeK8sServiceOptionType, container, resp) + return resp, err +} + +func (c *RkeK8sServiceOptionClient) Update(existing *RkeK8sServiceOption, updates interface{}) (*RkeK8sServiceOption, error) { + resp := &RkeK8sServiceOption{} + err := c.apiClient.Ops.DoUpdate(RkeK8sServiceOptionType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *RkeK8sServiceOptionClient) Replace(obj *RkeK8sServiceOption) (*RkeK8sServiceOption, error) { + resp := &RkeK8sServiceOption{} + err := c.apiClient.Ops.DoReplace(RkeK8sServiceOptionType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *RkeK8sServiceOptionClient) List(opts *types.ListOpts) (*RkeK8sServiceOptionCollection, error) { + resp := &RkeK8sServiceOptionCollection{} + err := c.apiClient.Ops.DoList(RkeK8sServiceOptionType, opts, resp) + resp.client = c + return resp, err +} + +func (c *RkeK8sServiceOptionClient) ListAll(opts *types.ListOpts) (*RkeK8sServiceOptionCollection, error) { + resp := &RkeK8sServiceOptionCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *RkeK8sServiceOptionCollection) Next() (*RkeK8sServiceOptionCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &RkeK8sServiceOptionCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *RkeK8sServiceOptionClient) ByID(id string) (*RkeK8sServiceOption, error) { + resp := &RkeK8sServiceOption{} + err := c.apiClient.Ops.DoByID(RkeK8sServiceOptionType, id, resp) + return resp, err +} + +func (c *RkeK8sServiceOptionClient) Delete(container *RkeK8sServiceOption) error { + return c.apiClient.Ops.DoResourceDelete(RkeK8sServiceOptionType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_k8s_system_image.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_k8s_system_image.go new file mode 100644 index 000000000..3fb0e153f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_k8s_system_image.go @@ -0,0 +1,120 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + RkeK8sSystemImageType = "rkeK8sSystemImage" + RkeK8sSystemImageFieldAnnotations = "annotations" + RkeK8sSystemImageFieldCreated = "created" + RkeK8sSystemImageFieldCreatorID = "creatorId" + RkeK8sSystemImageFieldLabels = "labels" + RkeK8sSystemImageFieldName = "name" + RkeK8sSystemImageFieldOwnerReferences = "ownerReferences" + RkeK8sSystemImageFieldRemoved = "removed" + RkeK8sSystemImageFieldSystemImages = "systemImages" + RkeK8sSystemImageFieldUUID = "uuid" +) + +type RkeK8sSystemImage struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + SystemImages *RKESystemImages `json:"systemImages,omitempty" yaml:"systemImages,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type RkeK8sSystemImageCollection struct { + types.Collection + Data []RkeK8sSystemImage `json:"data,omitempty"` + client *RkeK8sSystemImageClient +} + +type RkeK8sSystemImageClient struct { + apiClient *Client +} + +type RkeK8sSystemImageOperations interface { + List(opts *types.ListOpts) (*RkeK8sSystemImageCollection, error) + ListAll(opts *types.ListOpts) (*RkeK8sSystemImageCollection, error) + Create(opts *RkeK8sSystemImage) (*RkeK8sSystemImage, error) + Update(existing *RkeK8sSystemImage, updates interface{}) (*RkeK8sSystemImage, error) + Replace(existing *RkeK8sSystemImage) (*RkeK8sSystemImage, error) + ByID(id string) (*RkeK8sSystemImage, error) + Delete(container *RkeK8sSystemImage) error +} + +func newRkeK8sSystemImageClient(apiClient *Client) *RkeK8sSystemImageClient { + return &RkeK8sSystemImageClient{ + apiClient: apiClient, + } +} + +func (c *RkeK8sSystemImageClient) Create(container *RkeK8sSystemImage) (*RkeK8sSystemImage, error) { + resp := &RkeK8sSystemImage{} + err := c.apiClient.Ops.DoCreate(RkeK8sSystemImageType, container, resp) + return resp, err +} + +func (c *RkeK8sSystemImageClient) Update(existing *RkeK8sSystemImage, updates interface{}) (*RkeK8sSystemImage, error) { + resp := &RkeK8sSystemImage{} + err := c.apiClient.Ops.DoUpdate(RkeK8sSystemImageType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *RkeK8sSystemImageClient) Replace(obj *RkeK8sSystemImage) (*RkeK8sSystemImage, error) { + resp := &RkeK8sSystemImage{} + err := c.apiClient.Ops.DoReplace(RkeK8sSystemImageType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *RkeK8sSystemImageClient) List(opts *types.ListOpts) (*RkeK8sSystemImageCollection, error) { + resp := &RkeK8sSystemImageCollection{} + err := c.apiClient.Ops.DoList(RkeK8sSystemImageType, opts, resp) + resp.client = c + return resp, err +} + +func (c *RkeK8sSystemImageClient) ListAll(opts *types.ListOpts) (*RkeK8sSystemImageCollection, error) { + resp := &RkeK8sSystemImageCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *RkeK8sSystemImageCollection) Next() (*RkeK8sSystemImageCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &RkeK8sSystemImageCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *RkeK8sSystemImageClient) ByID(id string) (*RkeK8sSystemImage, error) { + resp := &RkeK8sSystemImage{} + err := c.apiClient.Ops.DoByID(RkeK8sSystemImageType, id, resp) + return resp, err +} + +func (c *RkeK8sSystemImageClient) Delete(container *RkeK8sSystemImage) error { + return c.apiClient.Ops.DoResourceDelete(RkeK8sSystemImageType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_system_images.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_system_images.go new file mode 100644 index 000000000..185a3f077 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_system_images.go @@ -0,0 +1,90 @@ +package client + +const ( + RKESystemImagesType = "rkeSystemImages" + RKESystemImagesFieldAciCniDeployContainer = "aciCniDeployContainer" + RKESystemImagesFieldAciControllerContainer = "aciControllerContainer" + RKESystemImagesFieldAciGbpServerContainer = "aciGbpServerContainer" + RKESystemImagesFieldAciHostContainer = "aciHostContainer" + RKESystemImagesFieldAciMcastContainer = "aciMcastContainer" + RKESystemImagesFieldAciOpenvSwitchContainer = "aciOvsContainer" + RKESystemImagesFieldAciOpflexContainer = "aciOpflexContainer" + RKESystemImagesFieldAciOpflexServerContainer = "aciOpflexServerContainer" + RKESystemImagesFieldAlpine = "alpine" + RKESystemImagesFieldCalicoCNI = "calicoCni" + RKESystemImagesFieldCalicoControllers = "calicoControllers" + RKESystemImagesFieldCalicoCtl = "calicoCtl" + RKESystemImagesFieldCalicoFlexVol = "calicoFlexVol" + RKESystemImagesFieldCalicoNode = "calicoNode" + RKESystemImagesFieldCanalCNI = "canalCni" + RKESystemImagesFieldCanalControllers = "canalControllers" + RKESystemImagesFieldCanalFlannel = "canalFlannel" + RKESystemImagesFieldCanalFlexVol = "canalFlexVol" + RKESystemImagesFieldCanalNode = "canalNode" + RKESystemImagesFieldCertDownloader = "certDownloader" + RKESystemImagesFieldCoreDNS = "coredns" + RKESystemImagesFieldCoreDNSAutoscaler = "corednsAutoscaler" + RKESystemImagesFieldDNSmasq = "dnsmasq" + RKESystemImagesFieldEtcd = "etcd" + RKESystemImagesFieldFlannel = "flannel" + RKESystemImagesFieldFlannelCNI = "flannelCni" + RKESystemImagesFieldIngress = "ingress" + RKESystemImagesFieldIngressBackend = "ingressBackend" + RKESystemImagesFieldIngressWebhook = "ingressWebhook" + RKESystemImagesFieldKubeDNS = "kubedns" + RKESystemImagesFieldKubeDNSAutoscaler = "kubednsAutoscaler" + RKESystemImagesFieldKubeDNSSidecar = "kubednsSidecar" + RKESystemImagesFieldKubernetes = "kubernetes" + RKESystemImagesFieldKubernetesServicesSidecar = "kubernetesServicesSidecar" + RKESystemImagesFieldMetricsServer = "metricsServer" + RKESystemImagesFieldNginxProxy = "nginxProxy" + RKESystemImagesFieldNodelocal = "nodelocal" + RKESystemImagesFieldPodInfraContainer = "podInfraContainer" + RKESystemImagesFieldWeaveCNI = "weaveCni" + RKESystemImagesFieldWeaveNode = "weaveNode" + RKESystemImagesFieldWindowsPodInfraContainer = "windowsPodInfraContainer" +) + +type RKESystemImages struct { + AciCniDeployContainer string `json:"aciCniDeployContainer,omitempty" yaml:"aciCniDeployContainer,omitempty"` + AciControllerContainer string `json:"aciControllerContainer,omitempty" yaml:"aciControllerContainer,omitempty"` + AciGbpServerContainer string `json:"aciGbpServerContainer,omitempty" yaml:"aciGbpServerContainer,omitempty"` + AciHostContainer string `json:"aciHostContainer,omitempty" yaml:"aciHostContainer,omitempty"` + AciMcastContainer string `json:"aciMcastContainer,omitempty" yaml:"aciMcastContainer,omitempty"` + AciOpenvSwitchContainer string `json:"aciOvsContainer,omitempty" yaml:"aciOvsContainer,omitempty"` + AciOpflexContainer string `json:"aciOpflexContainer,omitempty" yaml:"aciOpflexContainer,omitempty"` + AciOpflexServerContainer string `json:"aciOpflexServerContainer,omitempty" yaml:"aciOpflexServerContainer,omitempty"` + Alpine string `json:"alpine,omitempty" yaml:"alpine,omitempty"` + CalicoCNI string `json:"calicoCni,omitempty" yaml:"calicoCni,omitempty"` + CalicoControllers string `json:"calicoControllers,omitempty" yaml:"calicoControllers,omitempty"` + CalicoCtl string `json:"calicoCtl,omitempty" yaml:"calicoCtl,omitempty"` + CalicoFlexVol string `json:"calicoFlexVol,omitempty" yaml:"calicoFlexVol,omitempty"` + CalicoNode string `json:"calicoNode,omitempty" yaml:"calicoNode,omitempty"` + CanalCNI string `json:"canalCni,omitempty" yaml:"canalCni,omitempty"` + CanalControllers string `json:"canalControllers,omitempty" yaml:"canalControllers,omitempty"` + CanalFlannel string `json:"canalFlannel,omitempty" yaml:"canalFlannel,omitempty"` + CanalFlexVol string `json:"canalFlexVol,omitempty" yaml:"canalFlexVol,omitempty"` + CanalNode string `json:"canalNode,omitempty" yaml:"canalNode,omitempty"` + CertDownloader string `json:"certDownloader,omitempty" yaml:"certDownloader,omitempty"` + CoreDNS string `json:"coredns,omitempty" yaml:"coredns,omitempty"` + CoreDNSAutoscaler string `json:"corednsAutoscaler,omitempty" yaml:"corednsAutoscaler,omitempty"` + DNSmasq string `json:"dnsmasq,omitempty" yaml:"dnsmasq,omitempty"` + Etcd string `json:"etcd,omitempty" yaml:"etcd,omitempty"` + Flannel string `json:"flannel,omitempty" yaml:"flannel,omitempty"` + FlannelCNI string `json:"flannelCni,omitempty" yaml:"flannelCni,omitempty"` + Ingress string `json:"ingress,omitempty" yaml:"ingress,omitempty"` + IngressBackend string `json:"ingressBackend,omitempty" yaml:"ingressBackend,omitempty"` + IngressWebhook string `json:"ingressWebhook,omitempty" yaml:"ingressWebhook,omitempty"` + KubeDNS string `json:"kubedns,omitempty" yaml:"kubedns,omitempty"` + KubeDNSAutoscaler string `json:"kubednsAutoscaler,omitempty" yaml:"kubednsAutoscaler,omitempty"` + KubeDNSSidecar string `json:"kubednsSidecar,omitempty" yaml:"kubednsSidecar,omitempty"` + Kubernetes string `json:"kubernetes,omitempty" yaml:"kubernetes,omitempty"` + KubernetesServicesSidecar string `json:"kubernetesServicesSidecar,omitempty" yaml:"kubernetesServicesSidecar,omitempty"` + MetricsServer string `json:"metricsServer,omitempty" yaml:"metricsServer,omitempty"` + NginxProxy string `json:"nginxProxy,omitempty" yaml:"nginxProxy,omitempty"` + Nodelocal string `json:"nodelocal,omitempty" yaml:"nodelocal,omitempty"` + PodInfraContainer string `json:"podInfraContainer,omitempty" yaml:"podInfraContainer,omitempty"` + WeaveCNI string `json:"weaveCni,omitempty" yaml:"weaveCni,omitempty"` + WeaveNode string `json:"weaveNode,omitempty" yaml:"weaveNode,omitempty"` + WindowsPodInfraContainer string `json:"windowsPodInfraContainer,omitempty" yaml:"windowsPodInfraContainer,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_taint.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_taint.go new file mode 100644 index 000000000..8cd196fab --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rke_taint.go @@ -0,0 +1,16 @@ +package client + +const ( + RKETaintType = "rkeTaint" + RKETaintFieldEffect = "effect" + RKETaintFieldKey = "key" + RKETaintFieldTimeAdded = "timeAdded" + RKETaintFieldValue = "value" +) + +type RKETaint struct { + Effect string `json:"effect,omitempty" yaml:"effect,omitempty"` + Key string `json:"key,omitempty" yaml:"key,omitempty"` + TimeAdded string `json:"timeAdded,omitempty" yaml:"timeAdded,omitempty"` + Value string `json:"value,omitempty" yaml:"value,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_role_template.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_role_template.go new file mode 100644 index 000000000..ed746083c --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_role_template.go @@ -0,0 +1,142 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + RoleTemplateType = "roleTemplate" + RoleTemplateFieldAdministrative = "administrative" + RoleTemplateFieldAnnotations = "annotations" + RoleTemplateFieldBuiltin = "builtin" + RoleTemplateFieldClusterCreatorDefault = "clusterCreatorDefault" + RoleTemplateFieldContext = "context" + RoleTemplateFieldCreated = "created" + RoleTemplateFieldCreatorID = "creatorId" + RoleTemplateFieldDescription = "description" + RoleTemplateFieldExternal = "external" + RoleTemplateFieldExternalRules = "externalRules" + RoleTemplateFieldHidden = "hidden" + RoleTemplateFieldLabels = "labels" + RoleTemplateFieldLocked = "locked" + RoleTemplateFieldName = "name" + RoleTemplateFieldOwnerReferences = "ownerReferences" + RoleTemplateFieldProjectCreatorDefault = "projectCreatorDefault" + RoleTemplateFieldRemoved = "removed" + RoleTemplateFieldRoleTemplateIDs = "roleTemplateIds" + RoleTemplateFieldRules = "rules" + RoleTemplateFieldUUID = "uuid" +) + +type RoleTemplate struct { + types.Resource + Administrative bool `json:"administrative,omitempty" yaml:"administrative,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Builtin bool `json:"builtin,omitempty" yaml:"builtin,omitempty"` + ClusterCreatorDefault bool `json:"clusterCreatorDefault,omitempty" yaml:"clusterCreatorDefault,omitempty"` + Context string `json:"context,omitempty" yaml:"context,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + External bool `json:"external,omitempty" yaml:"external,omitempty"` + ExternalRules []PolicyRule `json:"externalRules,omitempty" yaml:"externalRules,omitempty"` + Hidden bool `json:"hidden,omitempty" yaml:"hidden,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Locked bool `json:"locked,omitempty" yaml:"locked,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + ProjectCreatorDefault bool `json:"projectCreatorDefault,omitempty" yaml:"projectCreatorDefault,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + RoleTemplateIDs []string `json:"roleTemplateIds,omitempty" yaml:"roleTemplateIds,omitempty"` + Rules []PolicyRule `json:"rules,omitempty" yaml:"rules,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type RoleTemplateCollection struct { + types.Collection + Data []RoleTemplate `json:"data,omitempty"` + client *RoleTemplateClient +} + +type RoleTemplateClient struct { + apiClient *Client +} + +type RoleTemplateOperations interface { + List(opts *types.ListOpts) (*RoleTemplateCollection, error) + ListAll(opts *types.ListOpts) (*RoleTemplateCollection, error) + Create(opts *RoleTemplate) (*RoleTemplate, error) + Update(existing *RoleTemplate, updates interface{}) (*RoleTemplate, error) + Replace(existing *RoleTemplate) (*RoleTemplate, error) + ByID(id string) (*RoleTemplate, error) + Delete(container *RoleTemplate) error +} + +func newRoleTemplateClient(apiClient *Client) *RoleTemplateClient { + return &RoleTemplateClient{ + apiClient: apiClient, + } +} + +func (c *RoleTemplateClient) Create(container *RoleTemplate) (*RoleTemplate, error) { + resp := &RoleTemplate{} + err := c.apiClient.Ops.DoCreate(RoleTemplateType, container, resp) + return resp, err +} + +func (c *RoleTemplateClient) Update(existing *RoleTemplate, updates interface{}) (*RoleTemplate, error) { + resp := &RoleTemplate{} + err := c.apiClient.Ops.DoUpdate(RoleTemplateType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *RoleTemplateClient) Replace(obj *RoleTemplate) (*RoleTemplate, error) { + resp := &RoleTemplate{} + err := c.apiClient.Ops.DoReplace(RoleTemplateType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *RoleTemplateClient) List(opts *types.ListOpts) (*RoleTemplateCollection, error) { + resp := &RoleTemplateCollection{} + err := c.apiClient.Ops.DoList(RoleTemplateType, opts, resp) + resp.client = c + return resp, err +} + +func (c *RoleTemplateClient) ListAll(opts *types.ListOpts) (*RoleTemplateCollection, error) { + resp := &RoleTemplateCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *RoleTemplateCollection) Next() (*RoleTemplateCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &RoleTemplateCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *RoleTemplateClient) ByID(id string) (*RoleTemplate, error) { + resp := &RoleTemplate{} + err := c.apiClient.Ops.DoByID(RoleTemplateType, id, resp) + return resp, err +} + +func (c *RoleTemplateClient) Delete(container *RoleTemplate) error { + return c.apiClient.Ops.DoResourceDelete(RoleTemplateType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rolling_update.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rolling_update.go new file mode 100644 index 000000000..180f638b9 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rolling_update.go @@ -0,0 +1,12 @@ +package client + +const ( + RollingUpdateType = "rollingUpdate" + RollingUpdateFieldBatchSize = "batchSize" + RollingUpdateFieldInterval = "interval" +) + +type RollingUpdate struct { + BatchSize int64 `json:"batchSize,omitempty" yaml:"batchSize,omitempty"` + Interval int64 `json:"interval,omitempty" yaml:"interval,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rolling_update_daemon_set.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rolling_update_daemon_set.go new file mode 100644 index 000000000..f6c2e12b2 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rolling_update_daemon_set.go @@ -0,0 +1,16 @@ +package client + +import ( + "k8s.io/apimachinery/pkg/util/intstr" +) + +const ( + RollingUpdateDaemonSetType = "rollingUpdateDaemonSet" + RollingUpdateDaemonSetFieldMaxSurge = "maxSurge" + RollingUpdateDaemonSetFieldMaxUnavailable = "maxUnavailable" +) + +type RollingUpdateDaemonSet struct { + MaxSurge intstr.IntOrString `json:"maxSurge,omitempty" yaml:"maxSurge,omitempty"` + MaxUnavailable intstr.IntOrString `json:"maxUnavailable,omitempty" yaml:"maxUnavailable,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rolling_update_deployment.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rolling_update_deployment.go new file mode 100644 index 000000000..535fb36fa --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rolling_update_deployment.go @@ -0,0 +1,16 @@ +package client + +import ( + "k8s.io/apimachinery/pkg/util/intstr" +) + +const ( + RollingUpdateDeploymentType = "rollingUpdateDeployment" + RollingUpdateDeploymentFieldMaxSurge = "maxSurge" + RollingUpdateDeploymentFieldMaxUnavailable = "maxUnavailable" +) + +type RollingUpdateDeployment struct { + MaxSurge intstr.IntOrString `json:"maxSurge,omitempty" yaml:"maxSurge,omitempty"` + MaxUnavailable intstr.IntOrString `json:"maxUnavailable,omitempty" yaml:"maxUnavailable,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rotate_certificate_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rotate_certificate_input.go new file mode 100644 index 000000000..e82747620 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rotate_certificate_input.go @@ -0,0 +1,12 @@ +package client + +const ( + RotateCertificateInputType = "rotateCertificateInput" + RotateCertificateInputFieldCACertificates = "caCertificates" + RotateCertificateInputFieldServices = "services" +) + +type RotateCertificateInput struct { + CACertificates bool `json:"caCertificates,omitempty" yaml:"caCertificates,omitempty"` + Services string `json:"services,omitempty" yaml:"services,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rotate_certificate_output.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rotate_certificate_output.go new file mode 100644 index 000000000..47c50ec82 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rotate_certificate_output.go @@ -0,0 +1,10 @@ +package client + +const ( + RotateCertificateOutputType = "rotateCertificateOutput" + RotateCertificateOutputFieldMessage = "message" +) + +type RotateCertificateOutput struct { + Message string `json:"message,omitempty" yaml:"message,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rotate_certificates.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rotate_certificates.go new file mode 100644 index 000000000..219450f86 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rotate_certificates.go @@ -0,0 +1,12 @@ +package client + +const ( + RotateCertificatesType = "rotateCertificates" + RotateCertificatesFieldCACertificates = "caCertificates" + RotateCertificatesFieldServices = "services" +) + +type RotateCertificates struct { + CACertificates bool `json:"caCertificates,omitempty" yaml:"caCertificates,omitempty"` + Services string `json:"services,omitempty" yaml:"services,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rotate_encryption_key_output.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rotate_encryption_key_output.go new file mode 100644 index 000000000..23360d02f --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_rotate_encryption_key_output.go @@ -0,0 +1,10 @@ +package client + +const ( + RotateEncryptionKeyOutputType = "rotateEncryptionKeyOutput" + RotateEncryptionKeyOutputFieldMessage = "message" +) + +type RotateEncryptionKeyOutput struct { + Message string `json:"message,omitempty" yaml:"message,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_route53provider_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_route53provider_config.go new file mode 100644 index 000000000..0932c3f52 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_route53provider_config.go @@ -0,0 +1,22 @@ +package client + +const ( + Route53ProviderConfigType = "route53ProviderConfig" + Route53ProviderConfigFieldAccessKey = "accessKey" + Route53ProviderConfigFieldAdditionalOptions = "additionalOptions" + Route53ProviderConfigFieldCredentialsPath = "credentialsPath" + Route53ProviderConfigFieldRegion = "region" + Route53ProviderConfigFieldRoleArn = "roleArn" + Route53ProviderConfigFieldSecretKey = "secretKey" + Route53ProviderConfigFieldZoneType = "zoneType" +) + +type Route53ProviderConfig struct { + AccessKey string `json:"accessKey,omitempty" yaml:"accessKey,omitempty"` + AdditionalOptions map[string]string `json:"additionalOptions,omitempty" yaml:"additionalOptions,omitempty"` + CredentialsPath string `json:"credentialsPath,omitempty" yaml:"credentialsPath,omitempty"` + Region string `json:"region,omitempty" yaml:"region,omitempty"` + RoleArn string `json:"roleArn,omitempty" yaml:"roleArn,omitempty"` + SecretKey string `json:"secretKey,omitempty" yaml:"secretKey,omitempty"` + ZoneType string `json:"zoneType,omitempty" yaml:"zoneType,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_route_openstack_opts.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_route_openstack_opts.go new file mode 100644 index 000000000..ad6f9882e --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_route_openstack_opts.go @@ -0,0 +1,10 @@ +package client + +const ( + RouteOpenstackOptsType = "routeOpenstackOpts" + RouteOpenstackOptsFieldRouterID = "router-id" +) + +type RouteOpenstackOpts struct { + RouterID string `json:"router-id,omitempty" yaml:"router-id,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_s3backup_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_s3backup_config.go new file mode 100644 index 000000000..14ea58749 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_s3backup_config.go @@ -0,0 +1,22 @@ +package client + +const ( + S3BackupConfigType = "s3BackupConfig" + S3BackupConfigFieldAccessKey = "accessKey" + S3BackupConfigFieldBucketName = "bucketName" + S3BackupConfigFieldCustomCA = "customCa" + S3BackupConfigFieldEndpoint = "endpoint" + S3BackupConfigFieldFolder = "folder" + S3BackupConfigFieldRegion = "region" + S3BackupConfigFieldSecretKey = "secretKey" +) + +type S3BackupConfig struct { + AccessKey string `json:"accessKey,omitempty" yaml:"accessKey,omitempty"` + BucketName string `json:"bucketName,omitempty" yaml:"bucketName,omitempty"` + CustomCA string `json:"customCa,omitempty" yaml:"customCa,omitempty"` + Endpoint string `json:"endpoint,omitempty" yaml:"endpoint,omitempty"` + Folder string `json:"folder,omitempty" yaml:"folder,omitempty"` + Region string `json:"region,omitempty" yaml:"region,omitempty"` + SecretKey string `json:"secretKey,omitempty" yaml:"secretKey,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_s3credential_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_s3credential_config.go new file mode 100644 index 000000000..f351e8a3b --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_s3credential_config.go @@ -0,0 +1,24 @@ +package client + +const ( + S3CredentialConfigType = "s3CredentialConfig" + S3CredentialConfigFieldAccessKey = "accessKey" + S3CredentialConfigFieldDefaultBucket = "defaultBucket" + S3CredentialConfigFieldDefaultEndpoint = "defaultEndpoint" + S3CredentialConfigFieldDefaultEndpointCA = "defaultEndpointCA" + S3CredentialConfigFieldDefaultFolder = "defaultFolder" + S3CredentialConfigFieldDefaultRegion = "defaultRegion" + S3CredentialConfigFieldDefaultSkipSSLVerify = "defaultSkipSSLVerify" + S3CredentialConfigFieldSecretKey = "secretKey" +) + +type S3CredentialConfig struct { + AccessKey string `json:"accessKey,omitempty" yaml:"accessKey,omitempty"` + DefaultBucket string `json:"defaultBucket,omitempty" yaml:"defaultBucket,omitempty"` + DefaultEndpoint string `json:"defaultEndpoint,omitempty" yaml:"defaultEndpoint,omitempty"` + DefaultEndpointCA string `json:"defaultEndpointCA,omitempty" yaml:"defaultEndpointCA,omitempty"` + DefaultFolder string `json:"defaultFolder,omitempty" yaml:"defaultFolder,omitempty"` + DefaultRegion string `json:"defaultRegion,omitempty" yaml:"defaultRegion,omitempty"` + DefaultSkipSSLVerify string `json:"defaultSkipSSLVerify,omitempty" yaml:"defaultSkipSSLVerify,omitempty"` + SecretKey string `json:"secretKey,omitempty" yaml:"secretKey,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_saml_config_test_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_saml_config_test_input.go new file mode 100644 index 000000000..a7d31f937 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_saml_config_test_input.go @@ -0,0 +1,10 @@ +package client + +const ( + SamlConfigTestInputType = "samlConfigTestInput" + SamlConfigTestInputFieldFinalRedirectURL = "finalRedirectUrl" +) + +type SamlConfigTestInput struct { + FinalRedirectURL string `json:"finalRedirectUrl,omitempty" yaml:"finalRedirectUrl,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_saml_config_test_output.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_saml_config_test_output.go new file mode 100644 index 000000000..e9e5b95bc --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_saml_config_test_output.go @@ -0,0 +1,10 @@ +package client + +const ( + SamlConfigTestOutputType = "samlConfigTestOutput" + SamlConfigTestOutputFieldIdpRedirectURL = "idpRedirectUrl" +) + +type SamlConfigTestOutput struct { + IdpRedirectURL string `json:"idpRedirectUrl,omitempty" yaml:"idpRedirectUrl,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_saml_token.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_saml_token.go new file mode 100644 index 000000000..91f0fb3ce --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_saml_token.go @@ -0,0 +1,124 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + SamlTokenType = "samlToken" + SamlTokenFieldAnnotations = "annotations" + SamlTokenFieldCreated = "created" + SamlTokenFieldCreatorID = "creatorId" + SamlTokenFieldExpiresAt = "expiresAt" + SamlTokenFieldLabels = "labels" + SamlTokenFieldName = "name" + SamlTokenFieldNamespaceId = "namespaceId" + SamlTokenFieldOwnerReferences = "ownerReferences" + SamlTokenFieldRemoved = "removed" + SamlTokenFieldToken = "token" + SamlTokenFieldUUID = "uuid" +) + +type SamlToken struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + ExpiresAt string `json:"expiresAt,omitempty" yaml:"expiresAt,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NamespaceId string `json:"namespaceId,omitempty" yaml:"namespaceId,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + Token string `json:"token,omitempty" yaml:"token,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type SamlTokenCollection struct { + types.Collection + Data []SamlToken `json:"data,omitempty"` + client *SamlTokenClient +} + +type SamlTokenClient struct { + apiClient *Client +} + +type SamlTokenOperations interface { + List(opts *types.ListOpts) (*SamlTokenCollection, error) + ListAll(opts *types.ListOpts) (*SamlTokenCollection, error) + Create(opts *SamlToken) (*SamlToken, error) + Update(existing *SamlToken, updates interface{}) (*SamlToken, error) + Replace(existing *SamlToken) (*SamlToken, error) + ByID(id string) (*SamlToken, error) + Delete(container *SamlToken) error +} + +func newSamlTokenClient(apiClient *Client) *SamlTokenClient { + return &SamlTokenClient{ + apiClient: apiClient, + } +} + +func (c *SamlTokenClient) Create(container *SamlToken) (*SamlToken, error) { + resp := &SamlToken{} + err := c.apiClient.Ops.DoCreate(SamlTokenType, container, resp) + return resp, err +} + +func (c *SamlTokenClient) Update(existing *SamlToken, updates interface{}) (*SamlToken, error) { + resp := &SamlToken{} + err := c.apiClient.Ops.DoUpdate(SamlTokenType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *SamlTokenClient) Replace(obj *SamlToken) (*SamlToken, error) { + resp := &SamlToken{} + err := c.apiClient.Ops.DoReplace(SamlTokenType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *SamlTokenClient) List(opts *types.ListOpts) (*SamlTokenCollection, error) { + resp := &SamlTokenCollection{} + err := c.apiClient.Ops.DoList(SamlTokenType, opts, resp) + resp.client = c + return resp, err +} + +func (c *SamlTokenClient) ListAll(opts *types.ListOpts) (*SamlTokenCollection, error) { + resp := &SamlTokenCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *SamlTokenCollection) Next() (*SamlTokenCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &SamlTokenCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *SamlTokenClient) ByID(id string) (*SamlToken, error) { + resp := &SamlToken{} + err := c.apiClient.Ops.DoByID(SamlTokenType, id, resp) + return resp, err +} + +func (c *SamlTokenClient) Delete(container *SamlToken) error { + return c.apiClient.Ops.DoResourceDelete(SamlTokenType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_save_as_template_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_save_as_template_input.go new file mode 100644 index 000000000..b756e4fea --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_save_as_template_input.go @@ -0,0 +1,12 @@ +package client + +const ( + SaveAsTemplateInputType = "saveAsTemplateInput" + SaveAsTemplateInputFieldClusterTemplateName = "clusterTemplateName" + SaveAsTemplateInputFieldClusterTemplateRevisionName = "clusterTemplateRevisionName" +) + +type SaveAsTemplateInput struct { + ClusterTemplateName string `json:"clusterTemplateName,omitempty" yaml:"clusterTemplateName,omitempty"` + ClusterTemplateRevisionName string `json:"clusterTemplateRevisionName,omitempty" yaml:"clusterTemplateRevisionName,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_save_as_template_output.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_save_as_template_output.go new file mode 100644 index 000000000..e50901051 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_save_as_template_output.go @@ -0,0 +1,12 @@ +package client + +const ( + SaveAsTemplateOutputType = "saveAsTemplateOutput" + SaveAsTemplateOutputFieldClusterTemplateName = "clusterTemplateName" + SaveAsTemplateOutputFieldClusterTemplateRevisionName = "clusterTemplateRevisionName" +) + +type SaveAsTemplateOutput struct { + ClusterTemplateName string `json:"clusterTemplateName,omitempty" yaml:"clusterTemplateName,omitempty"` + ClusterTemplateRevisionName string `json:"clusterTemplateRevisionName,omitempty" yaml:"clusterTemplateRevisionName,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_scale_iovolume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_scale_iovolume_source.go new file mode 100644 index 000000000..58e000917 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_scale_iovolume_source.go @@ -0,0 +1,28 @@ +package client + +const ( + ScaleIOVolumeSourceType = "scaleIOVolumeSource" + ScaleIOVolumeSourceFieldFSType = "fsType" + ScaleIOVolumeSourceFieldGateway = "gateway" + ScaleIOVolumeSourceFieldProtectionDomain = "protectionDomain" + ScaleIOVolumeSourceFieldReadOnly = "readOnly" + ScaleIOVolumeSourceFieldSSLEnabled = "sslEnabled" + ScaleIOVolumeSourceFieldSecretRef = "secretRef" + ScaleIOVolumeSourceFieldStorageMode = "storageMode" + ScaleIOVolumeSourceFieldStoragePool = "storagePool" + ScaleIOVolumeSourceFieldSystem = "system" + ScaleIOVolumeSourceFieldVolumeName = "volumeName" +) + +type ScaleIOVolumeSource struct { + FSType string `json:"fsType,omitempty" yaml:"fsType,omitempty"` + Gateway string `json:"gateway,omitempty" yaml:"gateway,omitempty"` + ProtectionDomain string `json:"protectionDomain,omitempty" yaml:"protectionDomain,omitempty"` + ReadOnly bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` + SSLEnabled bool `json:"sslEnabled,omitempty" yaml:"sslEnabled,omitempty"` + SecretRef *LocalObjectReference `json:"secretRef,omitempty" yaml:"secretRef,omitempty"` + StorageMode string `json:"storageMode,omitempty" yaml:"storageMode,omitempty"` + StoragePool string `json:"storagePool,omitempty" yaml:"storagePool,omitempty"` + System string `json:"system,omitempty" yaml:"system,omitempty"` + VolumeName string `json:"volumeName,omitempty" yaml:"volumeName,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_scheduler_service.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_scheduler_service.go new file mode 100644 index 000000000..1af88decf --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_scheduler_service.go @@ -0,0 +1,26 @@ +package client + +const ( + SchedulerServiceType = "schedulerService" + SchedulerServiceFieldExtraArgs = "extraArgs" + SchedulerServiceFieldExtraArgsArray = "extraArgsArray" + SchedulerServiceFieldExtraBinds = "extraBinds" + SchedulerServiceFieldExtraEnv = "extraEnv" + SchedulerServiceFieldImage = "image" + SchedulerServiceFieldWindowsExtraArgs = "winExtraArgs" + SchedulerServiceFieldWindowsExtraArgsArray = "winExtraArgsArray" + SchedulerServiceFieldWindowsExtraBinds = "winExtraBinds" + SchedulerServiceFieldWindowsExtraEnv = "winExtraEnv" +) + +type SchedulerService struct { + ExtraArgs map[string]string `json:"extraArgs,omitempty" yaml:"extraArgs,omitempty"` + ExtraArgsArray map[string][]string `json:"extraArgsArray,omitempty" yaml:"extraArgsArray,omitempty"` + ExtraBinds []string `json:"extraBinds,omitempty" yaml:"extraBinds,omitempty"` + ExtraEnv []string `json:"extraEnv,omitempty" yaml:"extraEnv,omitempty"` + Image string `json:"image,omitempty" yaml:"image,omitempty"` + WindowsExtraArgs map[string]string `json:"winExtraArgs,omitempty" yaml:"winExtraArgs,omitempty"` + WindowsExtraArgsArray map[string][]string `json:"winExtraArgsArray,omitempty" yaml:"winExtraArgsArray,omitempty"` + WindowsExtraBinds []string `json:"winExtraBinds,omitempty" yaml:"winExtraBinds,omitempty"` + WindowsExtraEnv []string `json:"winExtraEnv,omitempty" yaml:"winExtraEnv,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_search_principals_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_search_principals_input.go new file mode 100644 index 000000000..c486b4c2d --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_search_principals_input.go @@ -0,0 +1,12 @@ +package client + +const ( + SearchPrincipalsInputType = "searchPrincipalsInput" + SearchPrincipalsInputFieldName = "name" + SearchPrincipalsInputFieldPrincipalType = "principalType" +) + +type SearchPrincipalsInput struct { + Name string `json:"name,omitempty" yaml:"name,omitempty"` + PrincipalType string `json:"principalType,omitempty" yaml:"principalType,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secret_key_selector.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secret_key_selector.go new file mode 100644 index 000000000..9a236419e --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secret_key_selector.go @@ -0,0 +1,14 @@ +package client + +const ( + SecretKeySelectorType = "secretKeySelector" + SecretKeySelectorFieldKey = "key" + SecretKeySelectorFieldName = "name" + SecretKeySelectorFieldOptional = "optional" +) + +type SecretKeySelector struct { + Key string `json:"key,omitempty" yaml:"key,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + Optional *bool `json:"optional,omitempty" yaml:"optional,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secret_projection.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secret_projection.go new file mode 100644 index 000000000..684b025c3 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secret_projection.go @@ -0,0 +1,14 @@ +package client + +const ( + SecretProjectionType = "secretProjection" + SecretProjectionFieldItems = "items" + SecretProjectionFieldName = "name" + SecretProjectionFieldOptional = "optional" +) + +type SecretProjection struct { + Items []KeyToPath `json:"items,omitempty" yaml:"items,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + Optional *bool `json:"optional,omitempty" yaml:"optional,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secret_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secret_volume_source.go new file mode 100644 index 000000000..bdb5109b1 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secret_volume_source.go @@ -0,0 +1,16 @@ +package client + +const ( + SecretVolumeSourceType = "secretVolumeSource" + SecretVolumeSourceFieldDefaultMode = "defaultMode" + SecretVolumeSourceFieldItems = "items" + SecretVolumeSourceFieldOptional = "optional" + SecretVolumeSourceFieldSecretName = "secretName" +) + +type SecretVolumeSource struct { + DefaultMode *int64 `json:"defaultMode,omitempty" yaml:"defaultMode,omitempty"` + Items []KeyToPath `json:"items,omitempty" yaml:"items,omitempty"` + Optional *bool `json:"optional,omitempty" yaml:"optional,omitempty"` + SecretName string `json:"secretName,omitempty" yaml:"secretName,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secretbox_configuration.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secretbox_configuration.go new file mode 100644 index 000000000..c913985ab --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secretbox_configuration.go @@ -0,0 +1,10 @@ +package client + +const ( + SecretboxConfigurationType = "secretboxConfiguration" + SecretboxConfigurationFieldKeys = "keys" +) + +type SecretboxConfiguration struct { + Keys []Key `json:"keys,omitempty" yaml:"keys,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secrets_encryption_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secrets_encryption_config.go new file mode 100644 index 000000000..658ff6b5a --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_secrets_encryption_config.go @@ -0,0 +1,12 @@ +package client + +const ( + SecretsEncryptionConfigType = "secretsEncryptionConfig" + SecretsEncryptionConfigFieldCustomConfig = "customConfig" + SecretsEncryptionConfigFieldEnabled = "enabled" +) + +type SecretsEncryptionConfig struct { + CustomConfig *EncryptionConfiguration `json:"customConfig,omitempty" yaml:"customConfig,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_service_account_token_projection.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_service_account_token_projection.go new file mode 100644 index 000000000..7d2e880ec --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_service_account_token_projection.go @@ -0,0 +1,14 @@ +package client + +const ( + ServiceAccountTokenProjectionType = "serviceAccountTokenProjection" + ServiceAccountTokenProjectionFieldAudience = "audience" + ServiceAccountTokenProjectionFieldExpirationSeconds = "expirationSeconds" + ServiceAccountTokenProjectionFieldPath = "path" +) + +type ServiceAccountTokenProjection struct { + Audience string `json:"audience,omitempty" yaml:"audience,omitempty"` + ExpirationSeconds *int64 `json:"expirationSeconds,omitempty" yaml:"expirationSeconds,omitempty"` + Path string `json:"path,omitempty" yaml:"path,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_service_override.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_service_override.go new file mode 100644 index 000000000..96ed63c04 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_service_override.go @@ -0,0 +1,20 @@ +package client + +const ( + ServiceOverrideType = "serviceOverride" + ServiceOverrideFieldRegion = "region" + ServiceOverrideFieldService = "service" + ServiceOverrideFieldSigningMethod = "signing-method" + ServiceOverrideFieldSigningName = "signing-name" + ServiceOverrideFieldSigningRegion = "signing-region" + ServiceOverrideFieldURL = "url" +) + +type ServiceOverride struct { + Region string `json:"region,omitempty" yaml:"region,omitempty"` + Service string `json:"service,omitempty" yaml:"service,omitempty"` + SigningMethod string `json:"signing-method,omitempty" yaml:"signing-method,omitempty"` + SigningName string `json:"signing-name,omitempty" yaml:"signing-name,omitempty"` + SigningRegion string `json:"signing-region,omitempty" yaml:"signing-region,omitempty"` + URL string `json:"url,omitempty" yaml:"url,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_set_password_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_set_password_input.go new file mode 100644 index 000000000..4dc32d6c9 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_set_password_input.go @@ -0,0 +1,10 @@ +package client + +const ( + SetPasswordInputType = "setPasswordInput" + SetPasswordInputFieldNewPassword = "newPassword" +) + +type SetPasswordInput struct { + NewPassword string `json:"newPassword,omitempty" yaml:"newPassword,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_setting.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_setting.go new file mode 100644 index 000000000..6ea352ba2 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_setting.go @@ -0,0 +1,126 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + SettingType = "setting" + SettingFieldAnnotations = "annotations" + SettingFieldCreated = "created" + SettingFieldCreatorID = "creatorId" + SettingFieldCustomized = "customized" + SettingFieldDefault = "default" + SettingFieldLabels = "labels" + SettingFieldName = "name" + SettingFieldOwnerReferences = "ownerReferences" + SettingFieldRemoved = "removed" + SettingFieldSource = "source" + SettingFieldUUID = "uuid" + SettingFieldValue = "value" +) + +type Setting struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Customized bool `json:"customized,omitempty" yaml:"customized,omitempty"` + Default string `json:"default,omitempty" yaml:"default,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + Source string `json:"source,omitempty" yaml:"source,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + Value string `json:"value,omitempty" yaml:"value,omitempty"` +} + +type SettingCollection struct { + types.Collection + Data []Setting `json:"data,omitempty"` + client *SettingClient +} + +type SettingClient struct { + apiClient *Client +} + +type SettingOperations interface { + List(opts *types.ListOpts) (*SettingCollection, error) + ListAll(opts *types.ListOpts) (*SettingCollection, error) + Create(opts *Setting) (*Setting, error) + Update(existing *Setting, updates interface{}) (*Setting, error) + Replace(existing *Setting) (*Setting, error) + ByID(id string) (*Setting, error) + Delete(container *Setting) error +} + +func newSettingClient(apiClient *Client) *SettingClient { + return &SettingClient{ + apiClient: apiClient, + } +} + +func (c *SettingClient) Create(container *Setting) (*Setting, error) { + resp := &Setting{} + err := c.apiClient.Ops.DoCreate(SettingType, container, resp) + return resp, err +} + +func (c *SettingClient) Update(existing *Setting, updates interface{}) (*Setting, error) { + resp := &Setting{} + err := c.apiClient.Ops.DoUpdate(SettingType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *SettingClient) Replace(obj *Setting) (*Setting, error) { + resp := &Setting{} + err := c.apiClient.Ops.DoReplace(SettingType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *SettingClient) List(opts *types.ListOpts) (*SettingCollection, error) { + resp := &SettingCollection{} + err := c.apiClient.Ops.DoList(SettingType, opts, resp) + resp.client = c + return resp, err +} + +func (c *SettingClient) ListAll(opts *types.ListOpts) (*SettingCollection, error) { + resp := &SettingCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *SettingCollection) Next() (*SettingCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &SettingCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *SettingClient) ByID(id string) (*Setting, error) { + resp := &Setting{} + err := c.apiClient.Ops.DoByID(SettingType, id, resp) + return resp, err +} + +func (c *SettingClient) Delete(container *Setting) error { + return c.apiClient.Ops.DoResourceDelete(SettingType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_shibboleth_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_shibboleth_config.go new file mode 100644 index 000000000..8ab4b89af --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_shibboleth_config.go @@ -0,0 +1,54 @@ +package client + +const ( + ShibbolethConfigType = "shibbolethConfig" + ShibbolethConfigFieldAccessMode = "accessMode" + ShibbolethConfigFieldAllowedPrincipalIDs = "allowedPrincipalIds" + ShibbolethConfigFieldAnnotations = "annotations" + ShibbolethConfigFieldCreated = "created" + ShibbolethConfigFieldCreatorID = "creatorId" + ShibbolethConfigFieldDisplayNameField = "displayNameField" + ShibbolethConfigFieldEnabled = "enabled" + ShibbolethConfigFieldEntityID = "entityID" + ShibbolethConfigFieldGroupsField = "groupsField" + ShibbolethConfigFieldIDPMetadataContent = "idpMetadataContent" + ShibbolethConfigFieldLabels = "labels" + ShibbolethConfigFieldName = "name" + ShibbolethConfigFieldOpenLdapConfig = "openLdapConfig" + ShibbolethConfigFieldOwnerReferences = "ownerReferences" + ShibbolethConfigFieldRancherAPIHost = "rancherApiHost" + ShibbolethConfigFieldRemoved = "removed" + ShibbolethConfigFieldSpCert = "spCert" + ShibbolethConfigFieldSpKey = "spKey" + ShibbolethConfigFieldStatus = "status" + ShibbolethConfigFieldType = "type" + ShibbolethConfigFieldUIDField = "uidField" + ShibbolethConfigFieldUUID = "uuid" + ShibbolethConfigFieldUserNameField = "userNameField" +) + +type ShibbolethConfig struct { + AccessMode string `json:"accessMode,omitempty" yaml:"accessMode,omitempty"` + AllowedPrincipalIDs []string `json:"allowedPrincipalIds,omitempty" yaml:"allowedPrincipalIds,omitempty"` + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + DisplayNameField string `json:"displayNameField,omitempty" yaml:"displayNameField,omitempty"` + Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + EntityID string `json:"entityID,omitempty" yaml:"entityID,omitempty"` + GroupsField string `json:"groupsField,omitempty" yaml:"groupsField,omitempty"` + IDPMetadataContent string `json:"idpMetadataContent,omitempty" yaml:"idpMetadataContent,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OpenLdapConfig *LdapFields `json:"openLdapConfig,omitempty" yaml:"openLdapConfig,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + RancherAPIHost string `json:"rancherApiHost,omitempty" yaml:"rancherApiHost,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + SpCert string `json:"spCert,omitempty" yaml:"spCert,omitempty"` + SpKey string `json:"spKey,omitempty" yaml:"spKey,omitempty"` + Status *AuthConfigStatus `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + UIDField string `json:"uidField,omitempty" yaml:"uidField,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UserNameField string `json:"userNameField,omitempty" yaml:"userNameField,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_storage_osvolume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_storage_osvolume_source.go new file mode 100644 index 000000000..46dc40fd3 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_storage_osvolume_source.go @@ -0,0 +1,18 @@ +package client + +const ( + StorageOSVolumeSourceType = "storageOSVolumeSource" + StorageOSVolumeSourceFieldFSType = "fsType" + StorageOSVolumeSourceFieldReadOnly = "readOnly" + StorageOSVolumeSourceFieldSecretRef = "secretRef" + StorageOSVolumeSourceFieldVolumeName = "volumeName" + StorageOSVolumeSourceFieldVolumeNamespace = "volumeNamespace" +) + +type StorageOSVolumeSource struct { + FSType string `json:"fsType,omitempty" yaml:"fsType,omitempty"` + ReadOnly bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"` + SecretRef *LocalObjectReference `json:"secretRef,omitempty" yaml:"secretRef,omitempty"` + VolumeName string `json:"volumeName,omitempty" yaml:"volumeName,omitempty"` + VolumeNamespace string `json:"volumeNamespace,omitempty" yaml:"volumeNamespace,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_sub_question.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_sub_question.go new file mode 100644 index 000000000..f0a47e0a3 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_sub_question.go @@ -0,0 +1,40 @@ +package client + +const ( + SubQuestionType = "subQuestion" + SubQuestionFieldDefault = "default" + SubQuestionFieldDescription = "description" + SubQuestionFieldGroup = "group" + SubQuestionFieldInvalidChars = "invalidChars" + SubQuestionFieldLabel = "label" + SubQuestionFieldMax = "max" + SubQuestionFieldMaxLength = "maxLength" + SubQuestionFieldMin = "min" + SubQuestionFieldMinLength = "minLength" + SubQuestionFieldOptions = "options" + SubQuestionFieldRequired = "required" + SubQuestionFieldSatisfies = "satisfies" + SubQuestionFieldShowIf = "showIf" + SubQuestionFieldType = "type" + SubQuestionFieldValidChars = "validChars" + SubQuestionFieldVariable = "variable" +) + +type SubQuestion struct { + Default string `json:"default,omitempty" yaml:"default,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + Group string `json:"group,omitempty" yaml:"group,omitempty"` + InvalidChars string `json:"invalidChars,omitempty" yaml:"invalidChars,omitempty"` + Label string `json:"label,omitempty" yaml:"label,omitempty"` + Max int64 `json:"max,omitempty" yaml:"max,omitempty"` + MaxLength int64 `json:"maxLength,omitempty" yaml:"maxLength,omitempty"` + Min int64 `json:"min,omitempty" yaml:"min,omitempty"` + MinLength int64 `json:"minLength,omitempty" yaml:"minLength,omitempty"` + Options []string `json:"options,omitempty" yaml:"options,omitempty"` + Required bool `json:"required,omitempty" yaml:"required,omitempty"` + Satisfies string `json:"satisfies,omitempty" yaml:"satisfies,omitempty"` + ShowIf string `json:"showIf,omitempty" yaml:"showIf,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` + ValidChars string `json:"validChars,omitempty" yaml:"validChars,omitempty"` + Variable string `json:"variable,omitempty" yaml:"variable,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_taint.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_taint.go new file mode 100644 index 000000000..cec2b5ff7 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_taint.go @@ -0,0 +1,16 @@ +package client + +const ( + TaintType = "taint" + TaintFieldEffect = "effect" + TaintFieldKey = "key" + TaintFieldTimeAdded = "timeAdded" + TaintFieldValue = "value" +) + +type Taint struct { + Effect string `json:"effect,omitempty" yaml:"effect,omitempty"` + Key string `json:"key,omitempty" yaml:"key,omitempty"` + TimeAdded string `json:"timeAdded,omitempty" yaml:"timeAdded,omitempty"` + Value string `json:"value,omitempty" yaml:"value,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_target.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_target.go new file mode 100644 index 000000000..cd8d72820 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_target.go @@ -0,0 +1,16 @@ +package client + +const ( + TargetType = "target" + TargetFieldAppID = "appId" + TargetFieldHealthstate = "healthState" + TargetFieldProjectID = "projectId" + TargetFieldState = "state" +) + +type Target struct { + AppID string `json:"appId,omitempty" yaml:"appId,omitempty"` + Healthstate string `json:"healthState,omitempty" yaml:"healthState,omitempty"` + ProjectID string `json:"projectId,omitempty" yaml:"projectId,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template.go new file mode 100644 index 000000000..9b1556300 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template.go @@ -0,0 +1,166 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + TemplateType = "template" + TemplateFieldAnnotations = "annotations" + TemplateFieldCatalogID = "catalogId" + TemplateFieldCategories = "categories" + TemplateFieldCategory = "category" + TemplateFieldClusterCatalogID = "clusterCatalogId" + TemplateFieldClusterID = "clusterId" + TemplateFieldCreated = "created" + TemplateFieldCreatorID = "creatorId" + TemplateFieldDefaultTemplateVersionID = "defaultTemplateVersionId" + TemplateFieldDefaultVersion = "defaultVersion" + TemplateFieldDescription = "description" + TemplateFieldFolderName = "folderName" + TemplateFieldIcon = "icon" + TemplateFieldIconFilename = "iconFilename" + TemplateFieldLabels = "labels" + TemplateFieldMaintainer = "maintainer" + TemplateFieldName = "name" + TemplateFieldOwnerReferences = "ownerReferences" + TemplateFieldPath = "path" + TemplateFieldProjectCatalogID = "projectCatalogId" + TemplateFieldProjectID = "projectId" + TemplateFieldProjectURL = "projectURL" + TemplateFieldReadme = "readme" + TemplateFieldRemoved = "removed" + TemplateFieldState = "state" + TemplateFieldStatus = "status" + TemplateFieldTransitioning = "transitioning" + TemplateFieldTransitioningMessage = "transitioningMessage" + TemplateFieldUUID = "uuid" + TemplateFieldUpgradeFrom = "upgradeFrom" + TemplateFieldVersionLinks = "versionLinks" + TemplateFieldVersions = "versions" +) + +type Template struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + CatalogID string `json:"catalogId,omitempty" yaml:"catalogId,omitempty"` + Categories []string `json:"categories,omitempty" yaml:"categories,omitempty"` + Category string `json:"category,omitempty" yaml:"category,omitempty"` + ClusterCatalogID string `json:"clusterCatalogId,omitempty" yaml:"clusterCatalogId,omitempty"` + ClusterID string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + DefaultTemplateVersionID string `json:"defaultTemplateVersionId,omitempty" yaml:"defaultTemplateVersionId,omitempty"` + DefaultVersion string `json:"defaultVersion,omitempty" yaml:"defaultVersion,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + FolderName string `json:"folderName,omitempty" yaml:"folderName,omitempty"` + Icon string `json:"icon,omitempty" yaml:"icon,omitempty"` + IconFilename string `json:"iconFilename,omitempty" yaml:"iconFilename,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Maintainer string `json:"maintainer,omitempty" yaml:"maintainer,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Path string `json:"path,omitempty" yaml:"path,omitempty"` + ProjectCatalogID string `json:"projectCatalogId,omitempty" yaml:"projectCatalogId,omitempty"` + ProjectID string `json:"projectId,omitempty" yaml:"projectId,omitempty"` + ProjectURL string `json:"projectURL,omitempty" yaml:"projectURL,omitempty"` + Readme string `json:"readme,omitempty" yaml:"readme,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Status *TemplateStatus `json:"status,omitempty" yaml:"status,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UpgradeFrom string `json:"upgradeFrom,omitempty" yaml:"upgradeFrom,omitempty"` + VersionLinks map[string]string `json:"versionLinks,omitempty" yaml:"versionLinks,omitempty"` + Versions []TemplateVersionSpec `json:"versions,omitempty" yaml:"versions,omitempty"` +} + +type TemplateCollection struct { + types.Collection + Data []Template `json:"data,omitempty"` + client *TemplateClient +} + +type TemplateClient struct { + apiClient *Client +} + +type TemplateOperations interface { + List(opts *types.ListOpts) (*TemplateCollection, error) + ListAll(opts *types.ListOpts) (*TemplateCollection, error) + Create(opts *Template) (*Template, error) + Update(existing *Template, updates interface{}) (*Template, error) + Replace(existing *Template) (*Template, error) + ByID(id string) (*Template, error) + Delete(container *Template) error +} + +func newTemplateClient(apiClient *Client) *TemplateClient { + return &TemplateClient{ + apiClient: apiClient, + } +} + +func (c *TemplateClient) Create(container *Template) (*Template, error) { + resp := &Template{} + err := c.apiClient.Ops.DoCreate(TemplateType, container, resp) + return resp, err +} + +func (c *TemplateClient) Update(existing *Template, updates interface{}) (*Template, error) { + resp := &Template{} + err := c.apiClient.Ops.DoUpdate(TemplateType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *TemplateClient) Replace(obj *Template) (*Template, error) { + resp := &Template{} + err := c.apiClient.Ops.DoReplace(TemplateType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *TemplateClient) List(opts *types.ListOpts) (*TemplateCollection, error) { + resp := &TemplateCollection{} + err := c.apiClient.Ops.DoList(TemplateType, opts, resp) + resp.client = c + return resp, err +} + +func (c *TemplateClient) ListAll(opts *types.ListOpts) (*TemplateCollection, error) { + resp := &TemplateCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *TemplateCollection) Next() (*TemplateCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &TemplateCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *TemplateClient) ByID(id string) (*Template, error) { + resp := &Template{} + err := c.apiClient.Ops.DoByID(TemplateType, id, resp) + return resp, err +} + +func (c *TemplateClient) Delete(container *Template) error { + return c.apiClient.Ops.DoResourceDelete(TemplateType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_content.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_content.go new file mode 100644 index 000000000..14061ba7b --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_content.go @@ -0,0 +1,120 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + TemplateContentType = "templateContent" + TemplateContentFieldAnnotations = "annotations" + TemplateContentFieldCreated = "created" + TemplateContentFieldCreatorID = "creatorId" + TemplateContentFieldData = "data" + TemplateContentFieldLabels = "labels" + TemplateContentFieldName = "name" + TemplateContentFieldOwnerReferences = "ownerReferences" + TemplateContentFieldRemoved = "removed" + TemplateContentFieldUUID = "uuid" +) + +type TemplateContent struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Data string `json:"data,omitempty" yaml:"data,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` +} + +type TemplateContentCollection struct { + types.Collection + Data []TemplateContent `json:"data,omitempty"` + client *TemplateContentClient +} + +type TemplateContentClient struct { + apiClient *Client +} + +type TemplateContentOperations interface { + List(opts *types.ListOpts) (*TemplateContentCollection, error) + ListAll(opts *types.ListOpts) (*TemplateContentCollection, error) + Create(opts *TemplateContent) (*TemplateContent, error) + Update(existing *TemplateContent, updates interface{}) (*TemplateContent, error) + Replace(existing *TemplateContent) (*TemplateContent, error) + ByID(id string) (*TemplateContent, error) + Delete(container *TemplateContent) error +} + +func newTemplateContentClient(apiClient *Client) *TemplateContentClient { + return &TemplateContentClient{ + apiClient: apiClient, + } +} + +func (c *TemplateContentClient) Create(container *TemplateContent) (*TemplateContent, error) { + resp := &TemplateContent{} + err := c.apiClient.Ops.DoCreate(TemplateContentType, container, resp) + return resp, err +} + +func (c *TemplateContentClient) Update(existing *TemplateContent, updates interface{}) (*TemplateContent, error) { + resp := &TemplateContent{} + err := c.apiClient.Ops.DoUpdate(TemplateContentType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *TemplateContentClient) Replace(obj *TemplateContent) (*TemplateContent, error) { + resp := &TemplateContent{} + err := c.apiClient.Ops.DoReplace(TemplateContentType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *TemplateContentClient) List(opts *types.ListOpts) (*TemplateContentCollection, error) { + resp := &TemplateContentCollection{} + err := c.apiClient.Ops.DoList(TemplateContentType, opts, resp) + resp.client = c + return resp, err +} + +func (c *TemplateContentClient) ListAll(opts *types.ListOpts) (*TemplateContentCollection, error) { + resp := &TemplateContentCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *TemplateContentCollection) Next() (*TemplateContentCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &TemplateContentCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *TemplateContentClient) ByID(id string) (*TemplateContent, error) { + resp := &TemplateContent{} + err := c.apiClient.Ops.DoByID(TemplateContentType, id, resp) + return resp, err +} + +func (c *TemplateContentClient) Delete(container *TemplateContent) error { + return c.apiClient.Ops.DoResourceDelete(TemplateContentType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_spec.go new file mode 100644 index 000000000..dbce148ad --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_spec.go @@ -0,0 +1,48 @@ +package client + +const ( + TemplateSpecType = "templateSpec" + TemplateSpecFieldCatalogID = "catalogId" + TemplateSpecFieldCategories = "categories" + TemplateSpecFieldCategory = "category" + TemplateSpecFieldClusterCatalogID = "clusterCatalogId" + TemplateSpecFieldClusterID = "clusterId" + TemplateSpecFieldDefaultTemplateVersionID = "defaultTemplateVersionId" + TemplateSpecFieldDefaultVersion = "defaultVersion" + TemplateSpecFieldDescription = "description" + TemplateSpecFieldDisplayName = "displayName" + TemplateSpecFieldFolderName = "folderName" + TemplateSpecFieldIcon = "icon" + TemplateSpecFieldIconFilename = "iconFilename" + TemplateSpecFieldMaintainer = "maintainer" + TemplateSpecFieldPath = "path" + TemplateSpecFieldProjectCatalogID = "projectCatalogId" + TemplateSpecFieldProjectID = "projectId" + TemplateSpecFieldProjectURL = "projectURL" + TemplateSpecFieldReadme = "readme" + TemplateSpecFieldUpgradeFrom = "upgradeFrom" + TemplateSpecFieldVersions = "versions" +) + +type TemplateSpec struct { + CatalogID string `json:"catalogId,omitempty" yaml:"catalogId,omitempty"` + Categories []string `json:"categories,omitempty" yaml:"categories,omitempty"` + Category string `json:"category,omitempty" yaml:"category,omitempty"` + ClusterCatalogID string `json:"clusterCatalogId,omitempty" yaml:"clusterCatalogId,omitempty"` + ClusterID string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"` + DefaultTemplateVersionID string `json:"defaultTemplateVersionId,omitempty" yaml:"defaultTemplateVersionId,omitempty"` + DefaultVersion string `json:"defaultVersion,omitempty" yaml:"defaultVersion,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"` + FolderName string `json:"folderName,omitempty" yaml:"folderName,omitempty"` + Icon string `json:"icon,omitempty" yaml:"icon,omitempty"` + IconFilename string `json:"iconFilename,omitempty" yaml:"iconFilename,omitempty"` + Maintainer string `json:"maintainer,omitempty" yaml:"maintainer,omitempty"` + Path string `json:"path,omitempty" yaml:"path,omitempty"` + ProjectCatalogID string `json:"projectCatalogId,omitempty" yaml:"projectCatalogId,omitempty"` + ProjectID string `json:"projectId,omitempty" yaml:"projectId,omitempty"` + ProjectURL string `json:"projectURL,omitempty" yaml:"projectURL,omitempty"` + Readme string `json:"readme,omitempty" yaml:"readme,omitempty"` + UpgradeFrom string `json:"upgradeFrom,omitempty" yaml:"upgradeFrom,omitempty"` + Versions []TemplateVersionSpec `json:"versions,omitempty" yaml:"versions,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_status.go new file mode 100644 index 000000000..573947c56 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_status.go @@ -0,0 +1,10 @@ +package client + +const ( + TemplateStatusType = "templateStatus" + TemplateStatusFieldHelmVersion = "helmVersion" +) + +type TemplateStatus struct { + HelmVersion string `json:"helmVersion,omitempty" yaml:"helmVersion,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_version.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_version.go new file mode 100644 index 000000000..f981e2c84 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_version.go @@ -0,0 +1,158 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + TemplateVersionType = "templateVersion" + TemplateVersionFieldAnnotations = "annotations" + TemplateVersionFieldAppReadme = "appReadme" + TemplateVersionFieldCreated = "created" + TemplateVersionFieldCreatorID = "creatorId" + TemplateVersionFieldDigest = "digest" + TemplateVersionFieldExternalID = "externalId" + TemplateVersionFieldFiles = "files" + TemplateVersionFieldKubeVersion = "kubeVersion" + TemplateVersionFieldLabels = "labels" + TemplateVersionFieldName = "name" + TemplateVersionFieldOwnerReferences = "ownerReferences" + TemplateVersionFieldQuestions = "questions" + TemplateVersionFieldRancherMaxVersion = "rancherMaxVersion" + TemplateVersionFieldRancherMinVersion = "rancherMinVersion" + TemplateVersionFieldRancherVersion = "rancherVersion" + TemplateVersionFieldReadme = "readme" + TemplateVersionFieldRemoved = "removed" + TemplateVersionFieldRequiredNamespace = "requiredNamespace" + TemplateVersionFieldState = "state" + TemplateVersionFieldStatus = "status" + TemplateVersionFieldTransitioning = "transitioning" + TemplateVersionFieldTransitioningMessage = "transitioningMessage" + TemplateVersionFieldUUID = "uuid" + TemplateVersionFieldUpgradeVersionLinks = "upgradeVersionLinks" + TemplateVersionFieldVersion = "version" + TemplateVersionFieldVersionDir = "versionDir" + TemplateVersionFieldVersionName = "versionName" + TemplateVersionFieldVersionURLs = "versionUrls" +) + +type TemplateVersion struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + AppReadme string `json:"appReadme,omitempty" yaml:"appReadme,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Digest string `json:"digest,omitempty" yaml:"digest,omitempty"` + ExternalID string `json:"externalId,omitempty" yaml:"externalId,omitempty"` + Files map[string]string `json:"files,omitempty" yaml:"files,omitempty"` + KubeVersion string `json:"kubeVersion,omitempty" yaml:"kubeVersion,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Questions []Question `json:"questions,omitempty" yaml:"questions,omitempty"` + RancherMaxVersion string `json:"rancherMaxVersion,omitempty" yaml:"rancherMaxVersion,omitempty"` + RancherMinVersion string `json:"rancherMinVersion,omitempty" yaml:"rancherMinVersion,omitempty"` + RancherVersion string `json:"rancherVersion,omitempty" yaml:"rancherVersion,omitempty"` + Readme string `json:"readme,omitempty" yaml:"readme,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + RequiredNamespace string `json:"requiredNamespace,omitempty" yaml:"requiredNamespace,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Status *TemplateVersionStatus `json:"status,omitempty" yaml:"status,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UpgradeVersionLinks map[string]string `json:"upgradeVersionLinks,omitempty" yaml:"upgradeVersionLinks,omitempty"` + Version string `json:"version,omitempty" yaml:"version,omitempty"` + VersionDir string `json:"versionDir,omitempty" yaml:"versionDir,omitempty"` + VersionName string `json:"versionName,omitempty" yaml:"versionName,omitempty"` + VersionURLs []string `json:"versionUrls,omitempty" yaml:"versionUrls,omitempty"` +} + +type TemplateVersionCollection struct { + types.Collection + Data []TemplateVersion `json:"data,omitempty"` + client *TemplateVersionClient +} + +type TemplateVersionClient struct { + apiClient *Client +} + +type TemplateVersionOperations interface { + List(opts *types.ListOpts) (*TemplateVersionCollection, error) + ListAll(opts *types.ListOpts) (*TemplateVersionCollection, error) + Create(opts *TemplateVersion) (*TemplateVersion, error) + Update(existing *TemplateVersion, updates interface{}) (*TemplateVersion, error) + Replace(existing *TemplateVersion) (*TemplateVersion, error) + ByID(id string) (*TemplateVersion, error) + Delete(container *TemplateVersion) error +} + +func newTemplateVersionClient(apiClient *Client) *TemplateVersionClient { + return &TemplateVersionClient{ + apiClient: apiClient, + } +} + +func (c *TemplateVersionClient) Create(container *TemplateVersion) (*TemplateVersion, error) { + resp := &TemplateVersion{} + err := c.apiClient.Ops.DoCreate(TemplateVersionType, container, resp) + return resp, err +} + +func (c *TemplateVersionClient) Update(existing *TemplateVersion, updates interface{}) (*TemplateVersion, error) { + resp := &TemplateVersion{} + err := c.apiClient.Ops.DoUpdate(TemplateVersionType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *TemplateVersionClient) Replace(obj *TemplateVersion) (*TemplateVersion, error) { + resp := &TemplateVersion{} + err := c.apiClient.Ops.DoReplace(TemplateVersionType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *TemplateVersionClient) List(opts *types.ListOpts) (*TemplateVersionCollection, error) { + resp := &TemplateVersionCollection{} + err := c.apiClient.Ops.DoList(TemplateVersionType, opts, resp) + resp.client = c + return resp, err +} + +func (c *TemplateVersionClient) ListAll(opts *types.ListOpts) (*TemplateVersionCollection, error) { + resp := &TemplateVersionCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *TemplateVersionCollection) Next() (*TemplateVersionCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &TemplateVersionCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *TemplateVersionClient) ByID(id string) (*TemplateVersion, error) { + resp := &TemplateVersion{} + err := c.apiClient.Ops.DoByID(TemplateVersionType, id, resp) + return resp, err +} + +func (c *TemplateVersionClient) Delete(container *TemplateVersion) error { + return c.apiClient.Ops.DoResourceDelete(TemplateVersionType, &container.Resource) +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_version_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_version_spec.go new file mode 100644 index 000000000..ba9dd9fe5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_version_spec.go @@ -0,0 +1,40 @@ +package client + +const ( + TemplateVersionSpecType = "templateVersionSpec" + TemplateVersionSpecFieldAppReadme = "appReadme" + TemplateVersionSpecFieldDigest = "digest" + TemplateVersionSpecFieldExternalID = "externalId" + TemplateVersionSpecFieldFiles = "files" + TemplateVersionSpecFieldKubeVersion = "kubeVersion" + TemplateVersionSpecFieldQuestions = "questions" + TemplateVersionSpecFieldRancherMaxVersion = "rancherMaxVersion" + TemplateVersionSpecFieldRancherMinVersion = "rancherMinVersion" + TemplateVersionSpecFieldRancherVersion = "rancherVersion" + TemplateVersionSpecFieldReadme = "readme" + TemplateVersionSpecFieldRequiredNamespace = "requiredNamespace" + TemplateVersionSpecFieldUpgradeVersionLinks = "upgradeVersionLinks" + TemplateVersionSpecFieldVersion = "version" + TemplateVersionSpecFieldVersionDir = "versionDir" + TemplateVersionSpecFieldVersionName = "versionName" + TemplateVersionSpecFieldVersionURLs = "versionUrls" +) + +type TemplateVersionSpec struct { + AppReadme string `json:"appReadme,omitempty" yaml:"appReadme,omitempty"` + Digest string `json:"digest,omitempty" yaml:"digest,omitempty"` + ExternalID string `json:"externalId,omitempty" yaml:"externalId,omitempty"` + Files map[string]string `json:"files,omitempty" yaml:"files,omitempty"` + KubeVersion string `json:"kubeVersion,omitempty" yaml:"kubeVersion,omitempty"` + Questions []Question `json:"questions,omitempty" yaml:"questions,omitempty"` + RancherMaxVersion string `json:"rancherMaxVersion,omitempty" yaml:"rancherMaxVersion,omitempty"` + RancherMinVersion string `json:"rancherMinVersion,omitempty" yaml:"rancherMinVersion,omitempty"` + RancherVersion string `json:"rancherVersion,omitempty" yaml:"rancherVersion,omitempty"` + Readme string `json:"readme,omitempty" yaml:"readme,omitempty"` + RequiredNamespace string `json:"requiredNamespace,omitempty" yaml:"requiredNamespace,omitempty"` + UpgradeVersionLinks map[string]string `json:"upgradeVersionLinks,omitempty" yaml:"upgradeVersionLinks,omitempty"` + Version string `json:"version,omitempty" yaml:"version,omitempty"` + VersionDir string `json:"versionDir,omitempty" yaml:"versionDir,omitempty"` + VersionName string `json:"versionName,omitempty" yaml:"versionName,omitempty"` + VersionURLs []string `json:"versionUrls,omitempty" yaml:"versionUrls,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_version_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_version_status.go new file mode 100644 index 000000000..ea736ff6c --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_template_version_status.go @@ -0,0 +1,10 @@ +package client + +const ( + TemplateVersionStatusType = "templateVersionStatus" + TemplateVersionStatusFieldHelmVersion = "helmVersion" +) + +type TemplateVersionStatus struct { + HelmVersion string `json:"helmVersion,omitempty" yaml:"helmVersion,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_token.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_token.go new file mode 100644 index 000000000..40c591dd0 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_token.go @@ -0,0 +1,155 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + TokenType = "token" + TokenFieldAnnotations = "annotations" + TokenFieldAuthProvider = "authProvider" + TokenFieldClusterID = "clusterId" + TokenFieldCreated = "created" + TokenFieldCreatorID = "creatorId" + TokenFieldCurrent = "current" + TokenFieldDescription = "description" + TokenFieldEnabled = "enabled" + TokenFieldExpired = "expired" + TokenFieldExpiresAt = "expiresAt" + TokenFieldGroupPrincipals = "groupPrincipals" + TokenFieldIsDerived = "isDerived" + TokenFieldLabels = "labels" + TokenFieldLastUpdateTime = "lastUpdateTime" + TokenFieldName = "name" + TokenFieldOwnerReferences = "ownerReferences" + TokenFieldProviderInfo = "providerInfo" + TokenFieldRemoved = "removed" + TokenFieldTTLMillis = "ttl" + TokenFieldToken = "token" + TokenFieldUUID = "uuid" + TokenFieldUserID = "userId" + TokenFieldUserPrincipal = "userPrincipal" +) + +type Token struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + AuthProvider string `json:"authProvider,omitempty" yaml:"authProvider,omitempty"` + ClusterID string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Current bool `json:"current,omitempty" yaml:"current,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + Expired bool `json:"expired,omitempty" yaml:"expired,omitempty"` + ExpiresAt string `json:"expiresAt,omitempty" yaml:"expiresAt,omitempty"` + GroupPrincipals []string `json:"groupPrincipals,omitempty" yaml:"groupPrincipals,omitempty"` + IsDerived bool `json:"isDerived,omitempty" yaml:"isDerived,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + LastUpdateTime string `json:"lastUpdateTime,omitempty" yaml:"lastUpdateTime,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + ProviderInfo map[string]string `json:"providerInfo,omitempty" yaml:"providerInfo,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + TTLMillis int64 `json:"ttl,omitempty" yaml:"ttl,omitempty"` + Token string `json:"token,omitempty" yaml:"token,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UserID string `json:"userId,omitempty" yaml:"userId,omitempty"` + UserPrincipal string `json:"userPrincipal,omitempty" yaml:"userPrincipal,omitempty"` +} + +type TokenCollection struct { + types.Collection + Data []Token `json:"data,omitempty"` + client *TokenClient +} + +type TokenClient struct { + apiClient *Client +} + +type TokenOperations interface { + List(opts *types.ListOpts) (*TokenCollection, error) + ListAll(opts *types.ListOpts) (*TokenCollection, error) + Create(opts *Token) (*Token, error) + Update(existing *Token, updates interface{}) (*Token, error) + Replace(existing *Token) (*Token, error) + ByID(id string) (*Token, error) + Delete(container *Token) error + + CollectionActionLogout(resource *TokenCollection) error +} + +func newTokenClient(apiClient *Client) *TokenClient { + return &TokenClient{ + apiClient: apiClient, + } +} + +func (c *TokenClient) Create(container *Token) (*Token, error) { + resp := &Token{} + err := c.apiClient.Ops.DoCreate(TokenType, container, resp) + return resp, err +} + +func (c *TokenClient) Update(existing *Token, updates interface{}) (*Token, error) { + resp := &Token{} + err := c.apiClient.Ops.DoUpdate(TokenType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *TokenClient) Replace(obj *Token) (*Token, error) { + resp := &Token{} + err := c.apiClient.Ops.DoReplace(TokenType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *TokenClient) List(opts *types.ListOpts) (*TokenCollection, error) { + resp := &TokenCollection{} + err := c.apiClient.Ops.DoList(TokenType, opts, resp) + resp.client = c + return resp, err +} + +func (c *TokenClient) ListAll(opts *types.ListOpts) (*TokenCollection, error) { + resp := &TokenCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *TokenCollection) Next() (*TokenCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &TokenCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *TokenClient) ByID(id string) (*Token, error) { + resp := &Token{} + err := c.apiClient.Ops.DoByID(TokenType, id, resp) + return resp, err +} + +func (c *TokenClient) Delete(container *Token) error { + return c.apiClient.Ops.DoResourceDelete(TokenType, &container.Resource) +} + +func (c *TokenClient) CollectionActionLogout(resource *TokenCollection) error { + err := c.apiClient.Ops.DoCollectionAction(TokenType, "logout", &resource.Collection, nil, nil) + return err +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_toleration.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_toleration.go new file mode 100644 index 000000000..eabdd9d9b --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_toleration.go @@ -0,0 +1,18 @@ +package client + +const ( + TolerationType = "toleration" + TolerationFieldEffect = "effect" + TolerationFieldKey = "key" + TolerationFieldOperator = "operator" + TolerationFieldTolerationSeconds = "tolerationSeconds" + TolerationFieldValue = "value" +) + +type Toleration struct { + Effect string `json:"effect,omitempty" yaml:"effect,omitempty"` + Key string `json:"key,omitempty" yaml:"key,omitempty"` + Operator string `json:"operator,omitempty" yaml:"operator,omitempty"` + TolerationSeconds *int64 `json:"tolerationSeconds,omitempty" yaml:"tolerationSeconds,omitempty"` + Value string `json:"value,omitempty" yaml:"value,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_typed_local_object_reference.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_typed_local_object_reference.go new file mode 100644 index 000000000..0de2ebea0 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_typed_local_object_reference.go @@ -0,0 +1,14 @@ +package client + +const ( + TypedLocalObjectReferenceType = "typedLocalObjectReference" + TypedLocalObjectReferenceFieldAPIGroup = "apiGroup" + TypedLocalObjectReferenceFieldKind = "kind" + TypedLocalObjectReferenceFieldName = "name" +) + +type TypedLocalObjectReference struct { + APIGroup string `json:"apiGroup,omitempty" yaml:"apiGroup,omitempty"` + Kind string `json:"kind,omitempty" yaml:"kind,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_typed_object_reference.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_typed_object_reference.go new file mode 100644 index 000000000..d60df80ad --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_typed_object_reference.go @@ -0,0 +1,16 @@ +package client + +const ( + TypedObjectReferenceType = "typedObjectReference" + TypedObjectReferenceFieldAPIGroup = "apiGroup" + TypedObjectReferenceFieldKind = "kind" + TypedObjectReferenceFieldName = "name" + TypedObjectReferenceFieldNamespace = "namespace" +) + +type TypedObjectReference struct { + APIGroup string `json:"apiGroup,omitempty" yaml:"apiGroup,omitempty"` + Kind string `json:"kind,omitempty" yaml:"kind,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_update_global_dnstargets_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_update_global_dnstargets_input.go new file mode 100644 index 000000000..5aec4f78e --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_update_global_dnstargets_input.go @@ -0,0 +1,10 @@ +package client + +const ( + UpdateGlobalDNSTargetsInputType = "updateGlobalDNSTargetsInput" + UpdateGlobalDNSTargetsInputFieldProjectIDs = "projectIds" +) + +type UpdateGlobalDNSTargetsInput struct { + ProjectIDs []string `json:"projectIds,omitempty" yaml:"projectIds,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_update_multi_cluster_app_targets_input.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_update_multi_cluster_app_targets_input.go new file mode 100644 index 000000000..8ccaf6a12 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_update_multi_cluster_app_targets_input.go @@ -0,0 +1,12 @@ +package client + +const ( + UpdateMultiClusterAppTargetsInputType = "updateMultiClusterAppTargetsInput" + UpdateMultiClusterAppTargetsInputFieldAnswers = "answers" + UpdateMultiClusterAppTargetsInputFieldProjects = "projects" +) + +type UpdateMultiClusterAppTargetsInput struct { + Answers []Answer `json:"answers,omitempty" yaml:"answers,omitempty"` + Projects []string `json:"projects,omitempty" yaml:"projects,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_upgrade_strategy.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_upgrade_strategy.go new file mode 100644 index 000000000..1bd375c9c --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_upgrade_strategy.go @@ -0,0 +1,10 @@ +package client + +const ( + UpgradeStrategyType = "upgradeStrategy" + UpgradeStrategyFieldRollingUpdate = "rollingUpdate" +) + +type UpgradeStrategy struct { + RollingUpdate *RollingUpdate `json:"rollingUpdate,omitempty" yaml:"rollingUpdate,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user.go new file mode 100644 index 000000000..454a2965a --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user.go @@ -0,0 +1,169 @@ +package client + +import ( + "github.com/rancher/norman/types" +) + +const ( + UserType = "user" + UserFieldAnnotations = "annotations" + UserFieldConditions = "conditions" + UserFieldCreated = "created" + UserFieldCreatorID = "creatorId" + UserFieldDescription = "description" + UserFieldEnabled = "enabled" + UserFieldLabels = "labels" + UserFieldMe = "me" + UserFieldMustChangePassword = "mustChangePassword" + UserFieldName = "name" + UserFieldOwnerReferences = "ownerReferences" + UserFieldPassword = "password" + UserFieldPrincipalIDs = "principalIds" + UserFieldRemoved = "removed" + UserFieldState = "state" + UserFieldTransitioning = "transitioning" + UserFieldTransitioningMessage = "transitioningMessage" + UserFieldUUID = "uuid" + UserFieldUsername = "username" +) + +type User struct { + types.Resource + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Conditions []UserCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + Description string `json:"description,omitempty" yaml:"description,omitempty"` + Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + Me bool `json:"me,omitempty" yaml:"me,omitempty"` + MustChangePassword bool `json:"mustChangePassword,omitempty" yaml:"mustChangePassword,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Password string `json:"password,omitempty" yaml:"password,omitempty"` + PrincipalIDs []string `json:"principalIds,omitempty" yaml:"principalIds,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + State string `json:"state,omitempty" yaml:"state,omitempty"` + Transitioning string `json:"transitioning,omitempty" yaml:"transitioning,omitempty"` + TransitioningMessage string `json:"transitioningMessage,omitempty" yaml:"transitioningMessage,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + Username string `json:"username,omitempty" yaml:"username,omitempty"` +} + +type UserCollection struct { + types.Collection + Data []User `json:"data,omitempty"` + client *UserClient +} + +type UserClient struct { + apiClient *Client +} + +type UserOperations interface { + List(opts *types.ListOpts) (*UserCollection, error) + ListAll(opts *types.ListOpts) (*UserCollection, error) + Create(opts *User) (*User, error) + Update(existing *User, updates interface{}) (*User, error) + Replace(existing *User) (*User, error) + ByID(id string) (*User, error) + Delete(container *User) error + + ActionRefreshauthprovideraccess(resource *User) error + + ActionSetpassword(resource *User, input *SetPasswordInput) (*User, error) + + CollectionActionChangepassword(resource *UserCollection, input *ChangePasswordInput) error + + CollectionActionRefreshauthprovideraccess(resource *UserCollection) error +} + +func newUserClient(apiClient *Client) *UserClient { + return &UserClient{ + apiClient: apiClient, + } +} + +func (c *UserClient) Create(container *User) (*User, error) { + resp := &User{} + err := c.apiClient.Ops.DoCreate(UserType, container, resp) + return resp, err +} + +func (c *UserClient) Update(existing *User, updates interface{}) (*User, error) { + resp := &User{} + err := c.apiClient.Ops.DoUpdate(UserType, &existing.Resource, updates, resp) + return resp, err +} + +func (c *UserClient) Replace(obj *User) (*User, error) { + resp := &User{} + err := c.apiClient.Ops.DoReplace(UserType, &obj.Resource, obj, resp) + return resp, err +} + +func (c *UserClient) List(opts *types.ListOpts) (*UserCollection, error) { + resp := &UserCollection{} + err := c.apiClient.Ops.DoList(UserType, opts, resp) + resp.client = c + return resp, err +} + +func (c *UserClient) ListAll(opts *types.ListOpts) (*UserCollection, error) { + resp := &UserCollection{} + resp, err := c.List(opts) + if err != nil { + return resp, err + } + data := resp.Data + for next, err := resp.Next(); next != nil && err == nil; next, err = next.Next() { + data = append(data, next.Data...) + resp = next + resp.Data = data + } + if err != nil { + return resp, err + } + return resp, err +} + +func (cc *UserCollection) Next() (*UserCollection, error) { + if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" { + resp := &UserCollection{} + err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp) + resp.client = cc.client + return resp, err + } + return nil, nil +} + +func (c *UserClient) ByID(id string) (*User, error) { + resp := &User{} + err := c.apiClient.Ops.DoByID(UserType, id, resp) + return resp, err +} + +func (c *UserClient) Delete(container *User) error { + return c.apiClient.Ops.DoResourceDelete(UserType, &container.Resource) +} + +func (c *UserClient) ActionRefreshauthprovideraccess(resource *User) error { + err := c.apiClient.Ops.DoAction(UserType, "refreshauthprovideraccess", &resource.Resource, nil, nil) + return err +} + +func (c *UserClient) ActionSetpassword(resource *User, input *SetPasswordInput) (*User, error) { + resp := &User{} + err := c.apiClient.Ops.DoAction(UserType, "setpassword", &resource.Resource, input, resp) + return resp, err +} + +func (c *UserClient) CollectionActionChangepassword(resource *UserCollection, input *ChangePasswordInput) error { + err := c.apiClient.Ops.DoCollectionAction(UserType, "changepassword", &resource.Collection, input, nil) + return err +} + +func (c *UserClient) CollectionActionRefreshauthprovideraccess(resource *UserCollection) error { + err := c.apiClient.Ops.DoCollectionAction(UserType, "refreshauthprovideraccess", &resource.Collection, nil, nil) + return err +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user_attribute.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user_attribute.go new file mode 100644 index 000000000..16ce8aad1 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user_attribute.go @@ -0,0 +1,40 @@ +package client + +const ( + UserAttributeType = "userAttribute" + UserAttributeFieldAnnotations = "annotations" + UserAttributeFieldCreated = "created" + UserAttributeFieldCreatorID = "creatorId" + UserAttributeFieldDeleteAfter = "deleteAfter" + UserAttributeFieldDisableAfter = "disableAfter" + UserAttributeFieldExtraByProvider = "extraByProvider" + UserAttributeFieldGroupPrincipals = "groupPrincipals" + UserAttributeFieldLabels = "labels" + UserAttributeFieldLastLogin = "lastLogin" + UserAttributeFieldLastRefresh = "lastRefresh" + UserAttributeFieldName = "name" + UserAttributeFieldNeedsRefresh = "needsRefresh" + UserAttributeFieldOwnerReferences = "ownerReferences" + UserAttributeFieldRemoved = "removed" + UserAttributeFieldUUID = "uuid" + UserAttributeFieldUserName = "userName" +) + +type UserAttribute struct { + Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + Created string `json:"created,omitempty" yaml:"created,omitempty"` + CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` + DeleteAfter string `json:"deleteAfter,omitempty" yaml:"deleteAfter,omitempty"` + DisableAfter string `json:"disableAfter,omitempty" yaml:"disableAfter,omitempty"` + ExtraByProvider map[string]map[string][]string `json:"extraByProvider,omitempty" yaml:"extraByProvider,omitempty"` + GroupPrincipals map[string]Principal `json:"groupPrincipals,omitempty" yaml:"groupPrincipals,omitempty"` + Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + LastLogin string `json:"lastLogin,omitempty" yaml:"lastLogin,omitempty"` + LastRefresh string `json:"lastRefresh,omitempty" yaml:"lastRefresh,omitempty"` + Name string `json:"name,omitempty" yaml:"name,omitempty"` + NeedsRefresh bool `json:"needsRefresh,omitempty" yaml:"needsRefresh,omitempty"` + OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"` + Removed string `json:"removed,omitempty" yaml:"removed,omitempty"` + UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"` + UserName string `json:"userName,omitempty" yaml:"userName,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user_condition.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user_condition.go new file mode 100644 index 000000000..7d19141d1 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user_condition.go @@ -0,0 +1,20 @@ +package client + +const ( + UserConditionType = "userCondition" + UserConditionFieldLastTransitionTime = "lastTransitionTime" + UserConditionFieldLastUpdateTime = "lastUpdateTime" + UserConditionFieldMessage = "message" + UserConditionFieldReason = "reason" + UserConditionFieldStatus = "status" + UserConditionFieldType = "type" +) + +type UserCondition struct { + LastTransitionTime string `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"` + LastUpdateTime string `json:"lastUpdateTime,omitempty" yaml:"lastUpdateTime,omitempty"` + Message string `json:"message,omitempty" yaml:"message,omitempty"` + Reason string `json:"reason,omitempty" yaml:"reason,omitempty"` + Status string `json:"status,omitempty" yaml:"status,omitempty"` + Type string `json:"type,omitempty" yaml:"type,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user_spec.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user_spec.go new file mode 100644 index 000000000..a3b927d32 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user_spec.go @@ -0,0 +1,8 @@ +package client + +const ( + UserSpecType = "userSpec" +) + +type UserSpec struct { +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user_status.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user_status.go new file mode 100644 index 000000000..a42c797d6 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_user_status.go @@ -0,0 +1,10 @@ +package client + +const ( + UserStatusType = "userStatus" + UserStatusFieldConditions = "conditions" +) + +type UserStatus struct { + Conditions []UserCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_values.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_values.go new file mode 100644 index 000000000..f8b87ddb0 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_values.go @@ -0,0 +1,16 @@ +package client + +const ( + ValuesType = "values" + ValuesFieldBoolValue = "boolValue" + ValuesFieldIntValue = "intValue" + ValuesFieldStringSliceValue = "stringSliceValue" + ValuesFieldStringValue = "stringValue" +) + +type Values struct { + BoolValue bool `json:"boolValue,omitempty" yaml:"boolValue,omitempty"` + IntValue int64 `json:"intValue,omitempty" yaml:"intValue,omitempty"` + StringSliceValue []string `json:"stringSliceValue,omitempty" yaml:"stringSliceValue,omitempty"` + StringValue string `json:"stringValue,omitempty" yaml:"stringValue,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_version_commits.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_version_commits.go new file mode 100644 index 000000000..493b1e1e6 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_version_commits.go @@ -0,0 +1,10 @@ +package client + +const ( + VersionCommitsType = "versionCommits" + VersionCommitsFieldValue = "Value" +) + +type VersionCommits struct { + Value map[string]string `json:"Value,omitempty" yaml:"Value,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_virtual_center_config.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_virtual_center_config.go new file mode 100644 index 000000000..b29d74df5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_virtual_center_config.go @@ -0,0 +1,18 @@ +package client + +const ( + VirtualCenterConfigType = "virtualCenterConfig" + VirtualCenterConfigFieldDatacenters = "datacenters" + VirtualCenterConfigFieldPassword = "password" + VirtualCenterConfigFieldRoundTripperCount = "soap-roundtrip-count" + VirtualCenterConfigFieldUser = "user" + VirtualCenterConfigFieldVCenterPort = "port" +) + +type VirtualCenterConfig struct { + Datacenters string `json:"datacenters,omitempty" yaml:"datacenters,omitempty"` + Password string `json:"password,omitempty" yaml:"password,omitempty"` + RoundTripperCount int64 `json:"soap-roundtrip-count,omitempty" yaml:"soap-roundtrip-count,omitempty"` + User string `json:"user,omitempty" yaml:"user,omitempty"` + VCenterPort string `json:"port,omitempty" yaml:"port,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_volume_projection.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_volume_projection.go new file mode 100644 index 000000000..d67ed14c8 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_volume_projection.go @@ -0,0 +1,18 @@ +package client + +const ( + VolumeProjectionType = "volumeProjection" + VolumeProjectionFieldClusterTrustBundle = "clusterTrustBundle" + VolumeProjectionFieldConfigMap = "configMap" + VolumeProjectionFieldDownwardAPI = "downwardAPI" + VolumeProjectionFieldSecret = "secret" + VolumeProjectionFieldServiceAccountToken = "serviceAccountToken" +) + +type VolumeProjection struct { + ClusterTrustBundle *ClusterTrustBundleProjection `json:"clusterTrustBundle,omitempty" yaml:"clusterTrustBundle,omitempty"` + ConfigMap *ConfigMapProjection `json:"configMap,omitempty" yaml:"configMap,omitempty"` + DownwardAPI *DownwardAPIProjection `json:"downwardAPI,omitempty" yaml:"downwardAPI,omitempty"` + Secret *SecretProjection `json:"secret,omitempty" yaml:"secret,omitempty"` + ServiceAccountToken *ServiceAccountTokenProjection `json:"serviceAccountToken,omitempty" yaml:"serviceAccountToken,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_volume_resource_requirements.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_volume_resource_requirements.go new file mode 100644 index 000000000..780368bba --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_volume_resource_requirements.go @@ -0,0 +1,12 @@ +package client + +const ( + VolumeResourceRequirementsType = "volumeResourceRequirements" + VolumeResourceRequirementsFieldLimits = "limits" + VolumeResourceRequirementsFieldRequests = "requests" +) + +type VolumeResourceRequirements struct { + Limits map[string]string `json:"limits,omitempty" yaml:"limits,omitempty"` + Requests map[string]string `json:"requests,omitempty" yaml:"requests,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_vsphere_cloud_provider.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_vsphere_cloud_provider.go new file mode 100644 index 000000000..63bbae2d5 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_vsphere_cloud_provider.go @@ -0,0 +1,18 @@ +package client + +const ( + VsphereCloudProviderType = "vsphereCloudProvider" + VsphereCloudProviderFieldDisk = "disk" + VsphereCloudProviderFieldGlobal = "global" + VsphereCloudProviderFieldNetwork = "network" + VsphereCloudProviderFieldVirtualCenter = "virtualCenter" + VsphereCloudProviderFieldWorkspace = "workspace" +) + +type VsphereCloudProvider struct { + Disk *DiskVsphereOpts `json:"disk,omitempty" yaml:"disk,omitempty"` + Global *GlobalVsphereOpts `json:"global,omitempty" yaml:"global,omitempty"` + Network *NetworkVshpereOpts `json:"network,omitempty" yaml:"network,omitempty"` + VirtualCenter map[string]VirtualCenterConfig `json:"virtualCenter,omitempty" yaml:"virtualCenter,omitempty"` + Workspace *WorkspaceVsphereOpts `json:"workspace,omitempty" yaml:"workspace,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_vsphere_virtual_disk_volume_source.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_vsphere_virtual_disk_volume_source.go new file mode 100644 index 000000000..ed671ad47 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_vsphere_virtual_disk_volume_source.go @@ -0,0 +1,16 @@ +package client + +const ( + VsphereVirtualDiskVolumeSourceType = "vsphereVirtualDiskVolumeSource" + VsphereVirtualDiskVolumeSourceFieldFSType = "fsType" + VsphereVirtualDiskVolumeSourceFieldStoragePolicyID = "storagePolicyID" + VsphereVirtualDiskVolumeSourceFieldStoragePolicyName = "storagePolicyName" + VsphereVirtualDiskVolumeSourceFieldVolumePath = "volumePath" +) + +type VsphereVirtualDiskVolumeSource struct { + FSType string `json:"fsType,omitempty" yaml:"fsType,omitempty"` + StoragePolicyID string `json:"storagePolicyID,omitempty" yaml:"storagePolicyID,omitempty"` + StoragePolicyName string `json:"storagePolicyName,omitempty" yaml:"storagePolicyName,omitempty"` + VolumePath string `json:"volumePath,omitempty" yaml:"volumePath,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_weave_network_provider.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_weave_network_provider.go new file mode 100644 index 000000000..2cd7b6fa0 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_weave_network_provider.go @@ -0,0 +1,10 @@ +package client + +const ( + WeaveNetworkProviderType = "weaveNetworkProvider" + WeaveNetworkProviderFieldPassword = "password" +) + +type WeaveNetworkProvider struct { + Password string `json:"password,omitempty" yaml:"password,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_weighted_pod_affinity_term.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_weighted_pod_affinity_term.go new file mode 100644 index 000000000..a046f5ae2 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_weighted_pod_affinity_term.go @@ -0,0 +1,12 @@ +package client + +const ( + WeightedPodAffinityTermType = "weightedPodAffinityTerm" + WeightedPodAffinityTermFieldPodAffinityTerm = "podAffinityTerm" + WeightedPodAffinityTermFieldWeight = "weight" +) + +type WeightedPodAffinityTerm struct { + PodAffinityTerm *PodAffinityTerm `json:"podAffinityTerm,omitempty" yaml:"podAffinityTerm,omitempty"` + Weight int64 `json:"weight,omitempty" yaml:"weight,omitempty"` +} diff --git a/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_workspace_vsphere_opts.go b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_workspace_vsphere_opts.go new file mode 100644 index 000000000..3f13897e9 --- /dev/null +++ b/vendor/github.com/rancher/rancher/pkg/client/generated/management/v3/zz_generated_workspace_vsphere_opts.go @@ -0,0 +1,18 @@ +package client + +const ( + WorkspaceVsphereOptsType = "workspaceVsphereOpts" + WorkspaceVsphereOptsFieldDatacenter = "datacenter" + WorkspaceVsphereOptsFieldDefaultDatastore = "default-datastore" + WorkspaceVsphereOptsFieldFolder = "folder" + WorkspaceVsphereOptsFieldResourcePoolPath = "resourcepool-path" + WorkspaceVsphereOptsFieldVCenterIP = "server" +) + +type WorkspaceVsphereOpts struct { + Datacenter string `json:"datacenter,omitempty" yaml:"datacenter,omitempty"` + DefaultDatastore string `json:"default-datastore,omitempty" yaml:"default-datastore,omitempty"` + Folder string `json:"folder,omitempty" yaml:"folder,omitempty"` + ResourcePoolPath string `json:"resourcepool-path,omitempty" yaml:"resourcepool-path,omitempty"` + VCenterIP string `json:"server,omitempty" yaml:"server,omitempty"` +} diff --git a/vendor/github.com/rancher/wrangler/v3/LICENSE b/vendor/github.com/rancher/wrangler/v3/LICENSE new file mode 100644 index 000000000..e454a5258 --- /dev/null +++ b/vendor/github.com/rancher/wrangler/v3/LICENSE @@ -0,0 +1,178 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + diff --git a/vendor/github.com/rancher/wrangler/v3/pkg/name/name.go b/vendor/github.com/rancher/wrangler/v3/pkg/name/name.go new file mode 100644 index 000000000..99161dffa --- /dev/null +++ b/vendor/github.com/rancher/wrangler/v3/pkg/name/name.go @@ -0,0 +1,75 @@ +package name + +import ( + "crypto/md5" + "crypto/sha256" + "encoding/hex" + "fmt" + "strings" +) + +// GuessPluralName attempts to pluralize a noun. +func GuessPluralName(name string) string { + if name == "" { + return name + } + + if strings.EqualFold(name, "Endpoints") { + return name + } + + if suffix(name, "s") || suffix(name, "ch") || suffix(name, "x") || suffix(name, "sh") { + return name + "es" + } + + if suffix(name, "f") || suffix(name, "fe") { + return name + "ves" + } + + if suffix(name, "y") && len(name) > 2 && !strings.ContainsAny(name[len(name)-2:len(name)-1], "[aeiou]") { + return name[0:len(name)-1] + "ies" + } + + return name + "s" +} + +func suffix(str, end string) bool { + return strings.HasSuffix(str, end) +} + +// Limit the length of a string to count characters. If the string's length is +// greater or equal to count, it will be truncated and a hash will be appended +// to the end. +// Warning: runtime error for count <= 5: https://go.dev/play/p/UAbpZIOvIYo +func Limit(s string, count int) string { + if len(s) < count { + return s + } + return fmt.Sprintf("%s-%s", s[:count-6], Hex(s, 5)) +} + +// Hex gets the checksum of s, encodes it to hexadecimal and returns the first n characters of that hexadecimal. +// Warning: runtime error for n > 32 or n < 0. +func Hex(s string, n int) string { + h := md5.Sum([]byte(s)) + d := hex.EncodeToString(h[:]) + return d[:n] +} + +// SafeConcatName concatenates the given strings and ensures the returned name is under 64 characters +// by cutting the string off at 57 characters and setting the last 6 with an encoded version of the concatenated string. +func SafeConcatName(name ...string) string { + fullPath := strings.Join(name, "-") + if len(fullPath) < 64 { + return fullPath + } + digest := sha256.Sum256([]byte(fullPath)) + // since we cut the string in the middle, the last char may not be compatible with what is expected in k8s + // we are checking and if necessary removing the last char + c := fullPath[56] + if 'a' <= c && c <= 'z' || '0' <= c && c <= '9' { + return fullPath[0:57] + "-" + hex.EncodeToString(digest[0:])[0:5] + } + + return fullPath[0:56] + "-" + hex.EncodeToString(digest[0:])[0:6] +} diff --git a/vendor/github.com/sirupsen/logrus/.gitignore b/vendor/github.com/sirupsen/logrus/.gitignore new file mode 100644 index 000000000..1fb13abeb --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/.gitignore @@ -0,0 +1,4 @@ +logrus +vendor + +.idea/ diff --git a/vendor/github.com/sirupsen/logrus/.golangci.yml b/vendor/github.com/sirupsen/logrus/.golangci.yml new file mode 100644 index 000000000..65dc28503 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/.golangci.yml @@ -0,0 +1,40 @@ +run: + # do not run on test files yet + tests: false + +# all available settings of specific linters +linters-settings: + errcheck: + # report about not checking of errors in type assetions: `a := b.(MyStruct)`; + # default is false: such cases aren't reported by default. + check-type-assertions: false + + # report about assignment of errors to blank identifier: `num, _ := strconv.Atoi(numStr)`; + # default is false: such cases aren't reported by default. + check-blank: false + + lll: + line-length: 100 + tab-width: 4 + + prealloc: + simple: false + range-loops: false + for-loops: false + + whitespace: + multi-if: false # Enforces newlines (or comments) after every multi-line if statement + multi-func: false # Enforces newlines (or comments) after every multi-line function signature + +linters: + enable: + - megacheck + - govet + disable: + - maligned + - prealloc + disable-all: false + presets: + - bugs + - unused + fast: false diff --git a/vendor/github.com/sirupsen/logrus/.travis.yml b/vendor/github.com/sirupsen/logrus/.travis.yml new file mode 100644 index 000000000..c1dbd5a3a --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/.travis.yml @@ -0,0 +1,15 @@ +language: go +go_import_path: github.com/sirupsen/logrus +git: + depth: 1 +env: + - GO111MODULE=on +go: 1.15.x +os: linux +install: + - ./travis/install.sh +script: + - cd ci + - go run mage.go -v -w ../ crossBuild + - go run mage.go -v -w ../ lint + - go run mage.go -v -w ../ test diff --git a/vendor/github.com/sirupsen/logrus/CHANGELOG.md b/vendor/github.com/sirupsen/logrus/CHANGELOG.md new file mode 100644 index 000000000..7567f6128 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/CHANGELOG.md @@ -0,0 +1,259 @@ +# 1.8.1 +Code quality: + * move magefile in its own subdir/submodule to remove magefile dependency on logrus consumer + * improve timestamp format documentation + +Fixes: + * fix race condition on logger hooks + + +# 1.8.0 + +Correct versioning number replacing v1.7.1. + +# 1.7.1 + +Beware this release has introduced a new public API and its semver is therefore incorrect. + +Code quality: + * use go 1.15 in travis + * use magefile as task runner + +Fixes: + * small fixes about new go 1.13 error formatting system + * Fix for long time race condiction with mutating data hooks + +Features: + * build support for zos + +# 1.7.0 +Fixes: + * the dependency toward a windows terminal library has been removed + +Features: + * a new buffer pool management API has been added + * a set of `Fn()` functions have been added + +# 1.6.0 +Fixes: + * end of line cleanup + * revert the entry concurrency bug fix whic leads to deadlock under some circumstances + * update dependency on go-windows-terminal-sequences to fix a crash with go 1.14 + +Features: + * add an option to the `TextFormatter` to completely disable fields quoting + +# 1.5.0 +Code quality: + * add golangci linter run on travis + +Fixes: + * add mutex for hooks concurrent access on `Entry` data + * caller function field for go1.14 + * fix build issue for gopherjs target + +Feature: + * add an hooks/writer sub-package whose goal is to split output on different stream depending on the trace level + * add a `DisableHTMLEscape` option in the `JSONFormatter` + * add `ForceQuote` and `PadLevelText` options in the `TextFormatter` + +# 1.4.2 + * Fixes build break for plan9, nacl, solaris +# 1.4.1 +This new release introduces: + * Enhance TextFormatter to not print caller information when they are empty (#944) + * Remove dependency on golang.org/x/crypto (#932, #943) + +Fixes: + * Fix Entry.WithContext method to return a copy of the initial entry (#941) + +# 1.4.0 +This new release introduces: + * Add `DeferExitHandler`, similar to `RegisterExitHandler` but prepending the handler to the list of handlers (semantically like `defer`) (#848). + * Add `CallerPrettyfier` to `JSONFormatter` and `TextFormatter` (#909, #911) + * Add `Entry.WithContext()` and `Entry.Context`, to set a context on entries to be used e.g. in hooks (#919). + +Fixes: + * Fix wrong method calls `Logger.Print` and `Logger.Warningln` (#893). + * Update `Entry.Logf` to not do string formatting unless the log level is enabled (#903) + * Fix infinite recursion on unknown `Level.String()` (#907) + * Fix race condition in `getCaller` (#916). + + +# 1.3.0 +This new release introduces: + * Log, Logf, Logln functions for Logger and Entry that take a Level + +Fixes: + * Building prometheus node_exporter on AIX (#840) + * Race condition in TextFormatter (#468) + * Travis CI import path (#868) + * Remove coloured output on Windows (#862) + * Pointer to func as field in JSONFormatter (#870) + * Properly marshal Levels (#873) + +# 1.2.0 +This new release introduces: + * A new method `SetReportCaller` in the `Logger` to enable the file, line and calling function from which the trace has been issued + * A new trace level named `Trace` whose level is below `Debug` + * A configurable exit function to be called upon a Fatal trace + * The `Level` object now implements `encoding.TextUnmarshaler` interface + +# 1.1.1 +This is a bug fix release. + * fix the build break on Solaris + * don't drop a whole trace in JSONFormatter when a field param is a function pointer which can not be serialized + +# 1.1.0 +This new release introduces: + * several fixes: + * a fix for a race condition on entry formatting + * proper cleanup of previously used entries before putting them back in the pool + * the extra new line at the end of message in text formatter has been removed + * a new global public API to check if a level is activated: IsLevelEnabled + * the following methods have been added to the Logger object + * IsLevelEnabled + * SetFormatter + * SetOutput + * ReplaceHooks + * introduction of go module + * an indent configuration for the json formatter + * output colour support for windows + * the field sort function is now configurable for text formatter + * the CLICOLOR and CLICOLOR\_FORCE environment variable support in text formater + +# 1.0.6 + +This new release introduces: + * a new api WithTime which allows to easily force the time of the log entry + which is mostly useful for logger wrapper + * a fix reverting the immutability of the entry given as parameter to the hooks + a new configuration field of the json formatter in order to put all the fields + in a nested dictionnary + * a new SetOutput method in the Logger + * a new configuration of the textformatter to configure the name of the default keys + * a new configuration of the text formatter to disable the level truncation + +# 1.0.5 + +* Fix hooks race (#707) +* Fix panic deadlock (#695) + +# 1.0.4 + +* Fix race when adding hooks (#612) +* Fix terminal check in AppEngine (#635) + +# 1.0.3 + +* Replace example files with testable examples + +# 1.0.2 + +* bug: quote non-string values in text formatter (#583) +* Make (*Logger) SetLevel a public method + +# 1.0.1 + +* bug: fix escaping in text formatter (#575) + +# 1.0.0 + +* Officially changed name to lower-case +* bug: colors on Windows 10 (#541) +* bug: fix race in accessing level (#512) + +# 0.11.5 + +* feature: add writer and writerlevel to entry (#372) + +# 0.11.4 + +* bug: fix undefined variable on solaris (#493) + +# 0.11.3 + +* formatter: configure quoting of empty values (#484) +* formatter: configure quoting character (default is `"`) (#484) +* bug: fix not importing io correctly in non-linux environments (#481) + +# 0.11.2 + +* bug: fix windows terminal detection (#476) + +# 0.11.1 + +* bug: fix tty detection with custom out (#471) + +# 0.11.0 + +* performance: Use bufferpool to allocate (#370) +* terminal: terminal detection for app-engine (#343) +* feature: exit handler (#375) + +# 0.10.0 + +* feature: Add a test hook (#180) +* feature: `ParseLevel` is now case-insensitive (#326) +* feature: `FieldLogger` interface that generalizes `Logger` and `Entry` (#308) +* performance: avoid re-allocations on `WithFields` (#335) + +# 0.9.0 + +* logrus/text_formatter: don't emit empty msg +* logrus/hooks/airbrake: move out of main repository +* logrus/hooks/sentry: move out of main repository +* logrus/hooks/papertrail: move out of main repository +* logrus/hooks/bugsnag: move out of main repository +* logrus/core: run tests with `-race` +* logrus/core: detect TTY based on `stderr` +* logrus/core: support `WithError` on logger +* logrus/core: Solaris support + +# 0.8.7 + +* logrus/core: fix possible race (#216) +* logrus/doc: small typo fixes and doc improvements + + +# 0.8.6 + +* hooks/raven: allow passing an initialized client + +# 0.8.5 + +* logrus/core: revert #208 + +# 0.8.4 + +* formatter/text: fix data race (#218) + +# 0.8.3 + +* logrus/core: fix entry log level (#208) +* logrus/core: improve performance of text formatter by 40% +* logrus/core: expose `LevelHooks` type +* logrus/core: add support for DragonflyBSD and NetBSD +* formatter/text: print structs more verbosely + +# 0.8.2 + +* logrus: fix more Fatal family functions + +# 0.8.1 + +* logrus: fix not exiting on `Fatalf` and `Fatalln` + +# 0.8.0 + +* logrus: defaults to stderr instead of stdout +* hooks/sentry: add special field for `*http.Request` +* formatter/text: ignore Windows for colors + +# 0.7.3 + +* formatter/\*: allow configuration of timestamp layout + +# 0.7.2 + +* formatter/text: Add configuration option for time format (#158) diff --git a/vendor/github.com/sirupsen/logrus/LICENSE b/vendor/github.com/sirupsen/logrus/LICENSE new file mode 100644 index 000000000..f090cb42f --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Simon Eskildsen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/sirupsen/logrus/README.md b/vendor/github.com/sirupsen/logrus/README.md new file mode 100644 index 000000000..d1d4a85fd --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/README.md @@ -0,0 +1,515 @@ +# Logrus :walrus: [![Build Status](https://github.com/sirupsen/logrus/workflows/CI/badge.svg)](https://github.com/sirupsen/logrus/actions?query=workflow%3ACI) [![Build Status](https://travis-ci.org/sirupsen/logrus.svg?branch=master)](https://travis-ci.org/sirupsen/logrus) [![Go Reference](https://pkg.go.dev/badge/github.com/sirupsen/logrus.svg)](https://pkg.go.dev/github.com/sirupsen/logrus) + +Logrus is a structured logger for Go (golang), completely API compatible with +the standard library logger. + +**Logrus is in maintenance-mode.** We will not be introducing new features. It's +simply too hard to do in a way that won't break many people's projects, which is +the last thing you want from your Logging library (again...). + +This does not mean Logrus is dead. Logrus will continue to be maintained for +security, (backwards compatible) bug fixes, and performance (where we are +limited by the interface). + +I believe Logrus' biggest contribution is to have played a part in today's +widespread use of structured logging in Golang. There doesn't seem to be a +reason to do a major, breaking iteration into Logrus V2, since the fantastic Go +community has built those independently. Many fantastic alternatives have sprung +up. Logrus would look like those, had it been re-designed with what we know +about structured logging in Go today. Check out, for example, +[Zerolog][zerolog], [Zap][zap], and [Apex][apex]. + +[zerolog]: https://github.com/rs/zerolog +[zap]: https://github.com/uber-go/zap +[apex]: https://github.com/apex/log + +**Seeing weird case-sensitive problems?** It's in the past been possible to +import Logrus as both upper- and lower-case. Due to the Go package environment, +this caused issues in the community and we needed a standard. Some environments +experienced problems with the upper-case variant, so the lower-case was decided. +Everything using `logrus` will need to use the lower-case: +`github.com/sirupsen/logrus`. Any package that isn't, should be changed. + +To fix Glide, see [these +comments](https://github.com/sirupsen/logrus/issues/553#issuecomment-306591437). +For an in-depth explanation of the casing issue, see [this +comment](https://github.com/sirupsen/logrus/issues/570#issuecomment-313933276). + +Nicely color-coded in development (when a TTY is attached, otherwise just +plain text): + +![Colored](http://i.imgur.com/PY7qMwd.png) + +With `log.SetFormatter(&log.JSONFormatter{})`, for easy parsing by logstash +or Splunk: + +```text +{"animal":"walrus","level":"info","msg":"A group of walrus emerges from the +ocean","size":10,"time":"2014-03-10 19:57:38.562264131 -0400 EDT"} + +{"level":"warning","msg":"The group's number increased tremendously!", +"number":122,"omg":true,"time":"2014-03-10 19:57:38.562471297 -0400 EDT"} + +{"animal":"walrus","level":"info","msg":"A giant walrus appears!", +"size":10,"time":"2014-03-10 19:57:38.562500591 -0400 EDT"} + +{"animal":"walrus","level":"info","msg":"Tremendously sized cow enters the ocean.", +"size":9,"time":"2014-03-10 19:57:38.562527896 -0400 EDT"} + +{"level":"fatal","msg":"The ice breaks!","number":100,"omg":true, +"time":"2014-03-10 19:57:38.562543128 -0400 EDT"} +``` + +With the default `log.SetFormatter(&log.TextFormatter{})` when a TTY is not +attached, the output is compatible with the +[logfmt](http://godoc.org/github.com/kr/logfmt) format: + +```text +time="2015-03-26T01:27:38-04:00" level=debug msg="Started observing beach" animal=walrus number=8 +time="2015-03-26T01:27:38-04:00" level=info msg="A group of walrus emerges from the ocean" animal=walrus size=10 +time="2015-03-26T01:27:38-04:00" level=warning msg="The group's number increased tremendously!" number=122 omg=true +time="2015-03-26T01:27:38-04:00" level=debug msg="Temperature changes" temperature=-4 +time="2015-03-26T01:27:38-04:00" level=panic msg="It's over 9000!" animal=orca size=9009 +time="2015-03-26T01:27:38-04:00" level=fatal msg="The ice breaks!" err=&{0x2082280c0 map[animal:orca size:9009] 2015-03-26 01:27:38.441574009 -0400 EDT panic It's over 9000!} number=100 omg=true +``` +To ensure this behaviour even if a TTY is attached, set your formatter as follows: + +```go + log.SetFormatter(&log.TextFormatter{ + DisableColors: true, + FullTimestamp: true, + }) +``` + +#### Logging Method Name + +If you wish to add the calling method as a field, instruct the logger via: +```go +log.SetReportCaller(true) +``` +This adds the caller as 'method' like so: + +```json +{"animal":"penguin","level":"fatal","method":"github.com/sirupsen/arcticcreatures.migrate","msg":"a penguin swims by", +"time":"2014-03-10 19:57:38.562543129 -0400 EDT"} +``` + +```text +time="2015-03-26T01:27:38-04:00" level=fatal method=github.com/sirupsen/arcticcreatures.migrate msg="a penguin swims by" animal=penguin +``` +Note that this does add measurable overhead - the cost will depend on the version of Go, but is +between 20 and 40% in recent tests with 1.6 and 1.7. You can validate this in your +environment via benchmarks: +``` +go test -bench=.*CallerTracing +``` + + +#### Case-sensitivity + +The organization's name was changed to lower-case--and this will not be changed +back. If you are getting import conflicts due to case sensitivity, please use +the lower-case import: `github.com/sirupsen/logrus`. + +#### Example + +The simplest way to use Logrus is simply the package-level exported logger: + +```go +package main + +import ( + log "github.com/sirupsen/logrus" +) + +func main() { + log.WithFields(log.Fields{ + "animal": "walrus", + }).Info("A walrus appears") +} +``` + +Note that it's completely api-compatible with the stdlib logger, so you can +replace your `log` imports everywhere with `log "github.com/sirupsen/logrus"` +and you'll now have the flexibility of Logrus. You can customize it all you +want: + +```go +package main + +import ( + "os" + log "github.com/sirupsen/logrus" +) + +func init() { + // Log as JSON instead of the default ASCII formatter. + log.SetFormatter(&log.JSONFormatter{}) + + // Output to stdout instead of the default stderr + // Can be any io.Writer, see below for File example + log.SetOutput(os.Stdout) + + // Only log the warning severity or above. + log.SetLevel(log.WarnLevel) +} + +func main() { + log.WithFields(log.Fields{ + "animal": "walrus", + "size": 10, + }).Info("A group of walrus emerges from the ocean") + + log.WithFields(log.Fields{ + "omg": true, + "number": 122, + }).Warn("The group's number increased tremendously!") + + log.WithFields(log.Fields{ + "omg": true, + "number": 100, + }).Fatal("The ice breaks!") + + // A common pattern is to re-use fields between logging statements by re-using + // the logrus.Entry returned from WithFields() + contextLogger := log.WithFields(log.Fields{ + "common": "this is a common field", + "other": "I also should be logged always", + }) + + contextLogger.Info("I'll be logged with common and other field") + contextLogger.Info("Me too") +} +``` + +For more advanced usage such as logging to multiple locations from the same +application, you can also create an instance of the `logrus` Logger: + +```go +package main + +import ( + "os" + "github.com/sirupsen/logrus" +) + +// Create a new instance of the logger. You can have any number of instances. +var log = logrus.New() + +func main() { + // The API for setting attributes is a little different than the package level + // exported logger. See Godoc. + log.Out = os.Stdout + + // You could set this to any `io.Writer` such as a file + // file, err := os.OpenFile("logrus.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) + // if err == nil { + // log.Out = file + // } else { + // log.Info("Failed to log to file, using default stderr") + // } + + log.WithFields(logrus.Fields{ + "animal": "walrus", + "size": 10, + }).Info("A group of walrus emerges from the ocean") +} +``` + +#### Fields + +Logrus encourages careful, structured logging through logging fields instead of +long, unparseable error messages. For example, instead of: `log.Fatalf("Failed +to send event %s to topic %s with key %d")`, you should log the much more +discoverable: + +```go +log.WithFields(log.Fields{ + "event": event, + "topic": topic, + "key": key, +}).Fatal("Failed to send event") +``` + +We've found this API forces you to think about logging in a way that produces +much more useful logging messages. We've been in countless situations where just +a single added field to a log statement that was already there would've saved us +hours. The `WithFields` call is optional. + +In general, with Logrus using any of the `printf`-family functions should be +seen as a hint you should add a field, however, you can still use the +`printf`-family functions with Logrus. + +#### Default Fields + +Often it's helpful to have fields _always_ attached to log statements in an +application or parts of one. For example, you may want to always log the +`request_id` and `user_ip` in the context of a request. Instead of writing +`log.WithFields(log.Fields{"request_id": request_id, "user_ip": user_ip})` on +every line, you can create a `logrus.Entry` to pass around instead: + +```go +requestLogger := log.WithFields(log.Fields{"request_id": request_id, "user_ip": user_ip}) +requestLogger.Info("something happened on that request") # will log request_id and user_ip +requestLogger.Warn("something not great happened") +``` + +#### Hooks + +You can add hooks for logging levels. For example to send errors to an exception +tracking service on `Error`, `Fatal` and `Panic`, info to StatsD or log to +multiple places simultaneously, e.g. syslog. + +Logrus comes with [built-in hooks](hooks/). Add those, or your custom hook, in +`init`: + +```go +import ( + log "github.com/sirupsen/logrus" + "gopkg.in/gemnasium/logrus-airbrake-hook.v2" // the package is named "airbrake" + logrus_syslog "github.com/sirupsen/logrus/hooks/syslog" + "log/syslog" +) + +func init() { + + // Use the Airbrake hook to report errors that have Error severity or above to + // an exception tracker. You can create custom hooks, see the Hooks section. + log.AddHook(airbrake.NewHook(123, "xyz", "production")) + + hook, err := logrus_syslog.NewSyslogHook("udp", "localhost:514", syslog.LOG_INFO, "") + if err != nil { + log.Error("Unable to connect to local syslog daemon") + } else { + log.AddHook(hook) + } +} +``` +Note: Syslog hook also support connecting to local syslog (Ex. "/dev/log" or "/var/run/syslog" or "/var/run/log"). For the detail, please check the [syslog hook README](hooks/syslog/README.md). + +A list of currently known service hooks can be found in this wiki [page](https://github.com/sirupsen/logrus/wiki/Hooks) + + +#### Level logging + +Logrus has seven logging levels: Trace, Debug, Info, Warning, Error, Fatal and Panic. + +```go +log.Trace("Something very low level.") +log.Debug("Useful debugging information.") +log.Info("Something noteworthy happened!") +log.Warn("You should probably take a look at this.") +log.Error("Something failed but I'm not quitting.") +// Calls os.Exit(1) after logging +log.Fatal("Bye.") +// Calls panic() after logging +log.Panic("I'm bailing.") +``` + +You can set the logging level on a `Logger`, then it will only log entries with +that severity or anything above it: + +```go +// Will log anything that is info or above (warn, error, fatal, panic). Default. +log.SetLevel(log.InfoLevel) +``` + +It may be useful to set `log.Level = logrus.DebugLevel` in a debug or verbose +environment if your application has that. + +Note: If you want different log levels for global (`log.SetLevel(...)`) and syslog logging, please check the [syslog hook README](hooks/syslog/README.md#different-log-levels-for-local-and-remote-logging). + +#### Entries + +Besides the fields added with `WithField` or `WithFields` some fields are +automatically added to all logging events: + +1. `time`. The timestamp when the entry was created. +2. `msg`. The logging message passed to `{Info,Warn,Error,Fatal,Panic}` after + the `AddFields` call. E.g. `Failed to send event.` +3. `level`. The logging level. E.g. `info`. + +#### Environments + +Logrus has no notion of environment. + +If you wish for hooks and formatters to only be used in specific environments, +you should handle that yourself. For example, if your application has a global +variable `Environment`, which is a string representation of the environment you +could do: + +```go +import ( + log "github.com/sirupsen/logrus" +) + +func init() { + // do something here to set environment depending on an environment variable + // or command-line flag + if Environment == "production" { + log.SetFormatter(&log.JSONFormatter{}) + } else { + // The TextFormatter is default, you don't actually have to do this. + log.SetFormatter(&log.TextFormatter{}) + } +} +``` + +This configuration is how `logrus` was intended to be used, but JSON in +production is mostly only useful if you do log aggregation with tools like +Splunk or Logstash. + +#### Formatters + +The built-in logging formatters are: + +* `logrus.TextFormatter`. Logs the event in colors if stdout is a tty, otherwise + without colors. + * *Note:* to force colored output when there is no TTY, set the `ForceColors` + field to `true`. To force no colored output even if there is a TTY set the + `DisableColors` field to `true`. For Windows, see + [github.com/mattn/go-colorable](https://github.com/mattn/go-colorable). + * When colors are enabled, levels are truncated to 4 characters by default. To disable + truncation set the `DisableLevelTruncation` field to `true`. + * When outputting to a TTY, it's often helpful to visually scan down a column where all the levels are the same width. Setting the `PadLevelText` field to `true` enables this behavior, by adding padding to the level text. + * All options are listed in the [generated docs](https://godoc.org/github.com/sirupsen/logrus#TextFormatter). +* `logrus.JSONFormatter`. Logs fields as JSON. + * All options are listed in the [generated docs](https://godoc.org/github.com/sirupsen/logrus#JSONFormatter). + +Third party logging formatters: + +* [`FluentdFormatter`](https://github.com/joonix/log). Formats entries that can be parsed by Kubernetes and Google Container Engine. +* [`GELF`](https://github.com/fabienm/go-logrus-formatters). Formats entries so they comply to Graylog's [GELF 1.1 specification](http://docs.graylog.org/en/2.4/pages/gelf.html). +* [`logstash`](https://github.com/bshuster-repo/logrus-logstash-hook). Logs fields as [Logstash](http://logstash.net) Events. +* [`prefixed`](https://github.com/x-cray/logrus-prefixed-formatter). Displays log entry source along with alternative layout. +* [`zalgo`](https://github.com/aybabtme/logzalgo). Invoking the Power of Zalgo. +* [`nested-logrus-formatter`](https://github.com/antonfisher/nested-logrus-formatter). Converts logrus fields to a nested structure. +* [`powerful-logrus-formatter`](https://github.com/zput/zxcTool). get fileName, log's line number and the latest function's name when print log; Sava log to files. +* [`caption-json-formatter`](https://github.com/nolleh/caption_json_formatter). logrus's message json formatter with human-readable caption added. + +You can define your formatter by implementing the `Formatter` interface, +requiring a `Format` method. `Format` takes an `*Entry`. `entry.Data` is a +`Fields` type (`map[string]interface{}`) with all your fields as well as the +default ones (see Entries section above): + +```go +type MyJSONFormatter struct { +} + +log.SetFormatter(new(MyJSONFormatter)) + +func (f *MyJSONFormatter) Format(entry *Entry) ([]byte, error) { + // Note this doesn't include Time, Level and Message which are available on + // the Entry. Consult `godoc` on information about those fields or read the + // source of the official loggers. + serialized, err := json.Marshal(entry.Data) + if err != nil { + return nil, fmt.Errorf("Failed to marshal fields to JSON, %w", err) + } + return append(serialized, '\n'), nil +} +``` + +#### Logger as an `io.Writer` + +Logrus can be transformed into an `io.Writer`. That writer is the end of an `io.Pipe` and it is your responsibility to close it. + +```go +w := logger.Writer() +defer w.Close() + +srv := http.Server{ + // create a stdlib log.Logger that writes to + // logrus.Logger. + ErrorLog: log.New(w, "", 0), +} +``` + +Each line written to that writer will be printed the usual way, using formatters +and hooks. The level for those entries is `info`. + +This means that we can override the standard library logger easily: + +```go +logger := logrus.New() +logger.Formatter = &logrus.JSONFormatter{} + +// Use logrus for standard log output +// Note that `log` here references stdlib's log +// Not logrus imported under the name `log`. +log.SetOutput(logger.Writer()) +``` + +#### Rotation + +Log rotation is not provided with Logrus. Log rotation should be done by an +external program (like `logrotate(8)`) that can compress and delete old log +entries. It should not be a feature of the application-level logger. + +#### Tools + +| Tool | Description | +| ---- | ----------- | +|[Logrus Mate](https://github.com/gogap/logrus_mate)|Logrus mate is a tool for Logrus to manage loggers, you can initial logger's level, hook and formatter by config file, the logger will be generated with different configs in different environments.| +|[Logrus Viper Helper](https://github.com/heirko/go-contrib/tree/master/logrusHelper)|An Helper around Logrus to wrap with spf13/Viper to load configuration with fangs! And to simplify Logrus configuration use some behavior of [Logrus Mate](https://github.com/gogap/logrus_mate). [sample](https://github.com/heirko/iris-contrib/blob/master/middleware/logrus-logger/example) | + +#### Testing + +Logrus has a built in facility for asserting the presence of log messages. This is implemented through the `test` hook and provides: + +* decorators for existing logger (`test.NewLocal` and `test.NewGlobal`) which basically just adds the `test` hook +* a test logger (`test.NewNullLogger`) that just records log messages (and does not output any): + +```go +import( + "github.com/sirupsen/logrus" + "github.com/sirupsen/logrus/hooks/test" + "github.com/stretchr/testify/assert" + "testing" +) + +func TestSomething(t*testing.T){ + logger, hook := test.NewNullLogger() + logger.Error("Helloerror") + + assert.Equal(t, 1, len(hook.Entries)) + assert.Equal(t, logrus.ErrorLevel, hook.LastEntry().Level) + assert.Equal(t, "Helloerror", hook.LastEntry().Message) + + hook.Reset() + assert.Nil(t, hook.LastEntry()) +} +``` + +#### Fatal handlers + +Logrus can register one or more functions that will be called when any `fatal` +level message is logged. The registered handlers will be executed before +logrus performs an `os.Exit(1)`. This behavior may be helpful if callers need +to gracefully shutdown. Unlike a `panic("Something went wrong...")` call which can be intercepted with a deferred `recover` a call to `os.Exit(1)` can not be intercepted. + +``` +... +handler := func() { + // gracefully shutdown something... +} +logrus.RegisterExitHandler(handler) +... +``` + +#### Thread safety + +By default, Logger is protected by a mutex for concurrent writes. The mutex is held when calling hooks and writing logs. +If you are sure such locking is not needed, you can call logger.SetNoLock() to disable the locking. + +Situation when locking is not needed includes: + +* You have no hooks registered, or hooks calling is already thread-safe. + +* Writing to logger.Out is already thread-safe, for example: + + 1) logger.Out is protected by locks. + + 2) logger.Out is an os.File handler opened with `O_APPEND` flag, and every write is smaller than 4k. (This allows multi-thread/multi-process writing) + + (Refer to http://www.notthewizard.com/2014/06/17/are-files-appends-really-atomic/) diff --git a/vendor/github.com/sirupsen/logrus/alt_exit.go b/vendor/github.com/sirupsen/logrus/alt_exit.go new file mode 100644 index 000000000..8fd189e1c --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/alt_exit.go @@ -0,0 +1,76 @@ +package logrus + +// The following code was sourced and modified from the +// https://github.com/tebeka/atexit package governed by the following license: +// +// Copyright (c) 2012 Miki Tebeka . +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +// the Software, and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +import ( + "fmt" + "os" +) + +var handlers = []func(){} + +func runHandler(handler func()) { + defer func() { + if err := recover(); err != nil { + fmt.Fprintln(os.Stderr, "Error: Logrus exit handler error:", err) + } + }() + + handler() +} + +func runHandlers() { + for _, handler := range handlers { + runHandler(handler) + } +} + +// Exit runs all the Logrus atexit handlers and then terminates the program using os.Exit(code) +func Exit(code int) { + runHandlers() + os.Exit(code) +} + +// RegisterExitHandler appends a Logrus Exit handler to the list of handlers, +// call logrus.Exit to invoke all handlers. The handlers will also be invoked when +// any Fatal log entry is made. +// +// This method is useful when a caller wishes to use logrus to log a fatal +// message but also needs to gracefully shutdown. An example usecase could be +// closing database connections, or sending a alert that the application is +// closing. +func RegisterExitHandler(handler func()) { + handlers = append(handlers, handler) +} + +// DeferExitHandler prepends a Logrus Exit handler to the list of handlers, +// call logrus.Exit to invoke all handlers. The handlers will also be invoked when +// any Fatal log entry is made. +// +// This method is useful when a caller wishes to use logrus to log a fatal +// message but also needs to gracefully shutdown. An example usecase could be +// closing database connections, or sending a alert that the application is +// closing. +func DeferExitHandler(handler func()) { + handlers = append([]func(){handler}, handlers...) +} diff --git a/vendor/github.com/sirupsen/logrus/appveyor.yml b/vendor/github.com/sirupsen/logrus/appveyor.yml new file mode 100644 index 000000000..df9d65c3a --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/appveyor.yml @@ -0,0 +1,14 @@ +version: "{build}" +platform: x64 +clone_folder: c:\gopath\src\github.com\sirupsen\logrus +environment: + GOPATH: c:\gopath +branches: + only: + - master +install: + - set PATH=%GOPATH%\bin;c:\go\bin;%PATH% + - go version +build_script: + - go get -t + - go test diff --git a/vendor/github.com/sirupsen/logrus/buffer_pool.go b/vendor/github.com/sirupsen/logrus/buffer_pool.go new file mode 100644 index 000000000..c7787f77c --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/buffer_pool.go @@ -0,0 +1,43 @@ +package logrus + +import ( + "bytes" + "sync" +) + +var ( + bufferPool BufferPool +) + +type BufferPool interface { + Put(*bytes.Buffer) + Get() *bytes.Buffer +} + +type defaultPool struct { + pool *sync.Pool +} + +func (p *defaultPool) Put(buf *bytes.Buffer) { + p.pool.Put(buf) +} + +func (p *defaultPool) Get() *bytes.Buffer { + return p.pool.Get().(*bytes.Buffer) +} + +// SetBufferPool allows to replace the default logrus buffer pool +// to better meets the specific needs of an application. +func SetBufferPool(bp BufferPool) { + bufferPool = bp +} + +func init() { + SetBufferPool(&defaultPool{ + pool: &sync.Pool{ + New: func() interface{} { + return new(bytes.Buffer) + }, + }, + }) +} diff --git a/vendor/github.com/sirupsen/logrus/doc.go b/vendor/github.com/sirupsen/logrus/doc.go new file mode 100644 index 000000000..da67aba06 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/doc.go @@ -0,0 +1,26 @@ +/* +Package logrus is a structured logger for Go, completely API compatible with the standard library logger. + + +The simplest way to use Logrus is simply the package-level exported logger: + + package main + + import ( + log "github.com/sirupsen/logrus" + ) + + func main() { + log.WithFields(log.Fields{ + "animal": "walrus", + "number": 1, + "size": 10, + }).Info("A walrus appears") + } + +Output: + time="2015-09-07T08:48:33Z" level=info msg="A walrus appears" animal=walrus number=1 size=10 + +For a full guide visit https://github.com/sirupsen/logrus +*/ +package logrus diff --git a/vendor/github.com/sirupsen/logrus/entry.go b/vendor/github.com/sirupsen/logrus/entry.go new file mode 100644 index 000000000..71cdbbc35 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/entry.go @@ -0,0 +1,442 @@ +package logrus + +import ( + "bytes" + "context" + "fmt" + "os" + "reflect" + "runtime" + "strings" + "sync" + "time" +) + +var ( + + // qualified package name, cached at first use + logrusPackage string + + // Positions in the call stack when tracing to report the calling method + minimumCallerDepth int + + // Used for caller information initialisation + callerInitOnce sync.Once +) + +const ( + maximumCallerDepth int = 25 + knownLogrusFrames int = 4 +) + +func init() { + // start at the bottom of the stack before the package-name cache is primed + minimumCallerDepth = 1 +} + +// Defines the key when adding errors using WithError. +var ErrorKey = "error" + +// An entry is the final or intermediate Logrus logging entry. It contains all +// the fields passed with WithField{,s}. It's finally logged when Trace, Debug, +// Info, Warn, Error, Fatal or Panic is called on it. These objects can be +// reused and passed around as much as you wish to avoid field duplication. +type Entry struct { + Logger *Logger + + // Contains all the fields set by the user. + Data Fields + + // Time at which the log entry was created + Time time.Time + + // Level the log entry was logged at: Trace, Debug, Info, Warn, Error, Fatal or Panic + // This field will be set on entry firing and the value will be equal to the one in Logger struct field. + Level Level + + // Calling method, with package name + Caller *runtime.Frame + + // Message passed to Trace, Debug, Info, Warn, Error, Fatal or Panic + Message string + + // When formatter is called in entry.log(), a Buffer may be set to entry + Buffer *bytes.Buffer + + // Contains the context set by the user. Useful for hook processing etc. + Context context.Context + + // err may contain a field formatting error + err string +} + +func NewEntry(logger *Logger) *Entry { + return &Entry{ + Logger: logger, + // Default is three fields, plus one optional. Give a little extra room. + Data: make(Fields, 6), + } +} + +func (entry *Entry) Dup() *Entry { + data := make(Fields, len(entry.Data)) + for k, v := range entry.Data { + data[k] = v + } + return &Entry{Logger: entry.Logger, Data: data, Time: entry.Time, Context: entry.Context, err: entry.err} +} + +// Returns the bytes representation of this entry from the formatter. +func (entry *Entry) Bytes() ([]byte, error) { + return entry.Logger.Formatter.Format(entry) +} + +// Returns the string representation from the reader and ultimately the +// formatter. +func (entry *Entry) String() (string, error) { + serialized, err := entry.Bytes() + if err != nil { + return "", err + } + str := string(serialized) + return str, nil +} + +// Add an error as single field (using the key defined in ErrorKey) to the Entry. +func (entry *Entry) WithError(err error) *Entry { + return entry.WithField(ErrorKey, err) +} + +// Add a context to the Entry. +func (entry *Entry) WithContext(ctx context.Context) *Entry { + dataCopy := make(Fields, len(entry.Data)) + for k, v := range entry.Data { + dataCopy[k] = v + } + return &Entry{Logger: entry.Logger, Data: dataCopy, Time: entry.Time, err: entry.err, Context: ctx} +} + +// Add a single field to the Entry. +func (entry *Entry) WithField(key string, value interface{}) *Entry { + return entry.WithFields(Fields{key: value}) +} + +// Add a map of fields to the Entry. +func (entry *Entry) WithFields(fields Fields) *Entry { + data := make(Fields, len(entry.Data)+len(fields)) + for k, v := range entry.Data { + data[k] = v + } + fieldErr := entry.err + for k, v := range fields { + isErrField := false + if t := reflect.TypeOf(v); t != nil { + switch { + case t.Kind() == reflect.Func, t.Kind() == reflect.Ptr && t.Elem().Kind() == reflect.Func: + isErrField = true + } + } + if isErrField { + tmp := fmt.Sprintf("can not add field %q", k) + if fieldErr != "" { + fieldErr = entry.err + ", " + tmp + } else { + fieldErr = tmp + } + } else { + data[k] = v + } + } + return &Entry{Logger: entry.Logger, Data: data, Time: entry.Time, err: fieldErr, Context: entry.Context} +} + +// Overrides the time of the Entry. +func (entry *Entry) WithTime(t time.Time) *Entry { + dataCopy := make(Fields, len(entry.Data)) + for k, v := range entry.Data { + dataCopy[k] = v + } + return &Entry{Logger: entry.Logger, Data: dataCopy, Time: t, err: entry.err, Context: entry.Context} +} + +// getPackageName reduces a fully qualified function name to the package name +// There really ought to be to be a better way... +func getPackageName(f string) string { + for { + lastPeriod := strings.LastIndex(f, ".") + lastSlash := strings.LastIndex(f, "/") + if lastPeriod > lastSlash { + f = f[:lastPeriod] + } else { + break + } + } + + return f +} + +// getCaller retrieves the name of the first non-logrus calling function +func getCaller() *runtime.Frame { + // cache this package's fully-qualified name + callerInitOnce.Do(func() { + pcs := make([]uintptr, maximumCallerDepth) + _ = runtime.Callers(0, pcs) + + // dynamic get the package name and the minimum caller depth + for i := 0; i < maximumCallerDepth; i++ { + funcName := runtime.FuncForPC(pcs[i]).Name() + if strings.Contains(funcName, "getCaller") { + logrusPackage = getPackageName(funcName) + break + } + } + + minimumCallerDepth = knownLogrusFrames + }) + + // Restrict the lookback frames to avoid runaway lookups + pcs := make([]uintptr, maximumCallerDepth) + depth := runtime.Callers(minimumCallerDepth, pcs) + frames := runtime.CallersFrames(pcs[:depth]) + + for f, again := frames.Next(); again; f, again = frames.Next() { + pkg := getPackageName(f.Function) + + // If the caller isn't part of this package, we're done + if pkg != logrusPackage { + return &f //nolint:scopelint + } + } + + // if we got here, we failed to find the caller's context + return nil +} + +func (entry Entry) HasCaller() (has bool) { + return entry.Logger != nil && + entry.Logger.ReportCaller && + entry.Caller != nil +} + +func (entry *Entry) log(level Level, msg string) { + var buffer *bytes.Buffer + + newEntry := entry.Dup() + + if newEntry.Time.IsZero() { + newEntry.Time = time.Now() + } + + newEntry.Level = level + newEntry.Message = msg + + newEntry.Logger.mu.Lock() + reportCaller := newEntry.Logger.ReportCaller + bufPool := newEntry.getBufferPool() + newEntry.Logger.mu.Unlock() + + if reportCaller { + newEntry.Caller = getCaller() + } + + newEntry.fireHooks() + buffer = bufPool.Get() + defer func() { + newEntry.Buffer = nil + buffer.Reset() + bufPool.Put(buffer) + }() + buffer.Reset() + newEntry.Buffer = buffer + + newEntry.write() + + newEntry.Buffer = nil + + // To avoid Entry#log() returning a value that only would make sense for + // panic() to use in Entry#Panic(), we avoid the allocation by checking + // directly here. + if level <= PanicLevel { + panic(newEntry) + } +} + +func (entry *Entry) getBufferPool() (pool BufferPool) { + if entry.Logger.BufferPool != nil { + return entry.Logger.BufferPool + } + return bufferPool +} + +func (entry *Entry) fireHooks() { + var tmpHooks LevelHooks + entry.Logger.mu.Lock() + tmpHooks = make(LevelHooks, len(entry.Logger.Hooks)) + for k, v := range entry.Logger.Hooks { + tmpHooks[k] = v + } + entry.Logger.mu.Unlock() + + err := tmpHooks.Fire(entry.Level, entry) + if err != nil { + fmt.Fprintf(os.Stderr, "Failed to fire hook: %v\n", err) + } +} + +func (entry *Entry) write() { + entry.Logger.mu.Lock() + defer entry.Logger.mu.Unlock() + serialized, err := entry.Logger.Formatter.Format(entry) + if err != nil { + fmt.Fprintf(os.Stderr, "Failed to obtain reader, %v\n", err) + return + } + if _, err := entry.Logger.Out.Write(serialized); err != nil { + fmt.Fprintf(os.Stderr, "Failed to write to log, %v\n", err) + } +} + +// Log will log a message at the level given as parameter. +// Warning: using Log at Panic or Fatal level will not respectively Panic nor Exit. +// For this behaviour Entry.Panic or Entry.Fatal should be used instead. +func (entry *Entry) Log(level Level, args ...interface{}) { + if entry.Logger.IsLevelEnabled(level) { + entry.log(level, fmt.Sprint(args...)) + } +} + +func (entry *Entry) Trace(args ...interface{}) { + entry.Log(TraceLevel, args...) +} + +func (entry *Entry) Debug(args ...interface{}) { + entry.Log(DebugLevel, args...) +} + +func (entry *Entry) Print(args ...interface{}) { + entry.Info(args...) +} + +func (entry *Entry) Info(args ...interface{}) { + entry.Log(InfoLevel, args...) +} + +func (entry *Entry) Warn(args ...interface{}) { + entry.Log(WarnLevel, args...) +} + +func (entry *Entry) Warning(args ...interface{}) { + entry.Warn(args...) +} + +func (entry *Entry) Error(args ...interface{}) { + entry.Log(ErrorLevel, args...) +} + +func (entry *Entry) Fatal(args ...interface{}) { + entry.Log(FatalLevel, args...) + entry.Logger.Exit(1) +} + +func (entry *Entry) Panic(args ...interface{}) { + entry.Log(PanicLevel, args...) +} + +// Entry Printf family functions + +func (entry *Entry) Logf(level Level, format string, args ...interface{}) { + if entry.Logger.IsLevelEnabled(level) { + entry.Log(level, fmt.Sprintf(format, args...)) + } +} + +func (entry *Entry) Tracef(format string, args ...interface{}) { + entry.Logf(TraceLevel, format, args...) +} + +func (entry *Entry) Debugf(format string, args ...interface{}) { + entry.Logf(DebugLevel, format, args...) +} + +func (entry *Entry) Infof(format string, args ...interface{}) { + entry.Logf(InfoLevel, format, args...) +} + +func (entry *Entry) Printf(format string, args ...interface{}) { + entry.Infof(format, args...) +} + +func (entry *Entry) Warnf(format string, args ...interface{}) { + entry.Logf(WarnLevel, format, args...) +} + +func (entry *Entry) Warningf(format string, args ...interface{}) { + entry.Warnf(format, args...) +} + +func (entry *Entry) Errorf(format string, args ...interface{}) { + entry.Logf(ErrorLevel, format, args...) +} + +func (entry *Entry) Fatalf(format string, args ...interface{}) { + entry.Logf(FatalLevel, format, args...) + entry.Logger.Exit(1) +} + +func (entry *Entry) Panicf(format string, args ...interface{}) { + entry.Logf(PanicLevel, format, args...) +} + +// Entry Println family functions + +func (entry *Entry) Logln(level Level, args ...interface{}) { + if entry.Logger.IsLevelEnabled(level) { + entry.Log(level, entry.sprintlnn(args...)) + } +} + +func (entry *Entry) Traceln(args ...interface{}) { + entry.Logln(TraceLevel, args...) +} + +func (entry *Entry) Debugln(args ...interface{}) { + entry.Logln(DebugLevel, args...) +} + +func (entry *Entry) Infoln(args ...interface{}) { + entry.Logln(InfoLevel, args...) +} + +func (entry *Entry) Println(args ...interface{}) { + entry.Infoln(args...) +} + +func (entry *Entry) Warnln(args ...interface{}) { + entry.Logln(WarnLevel, args...) +} + +func (entry *Entry) Warningln(args ...interface{}) { + entry.Warnln(args...) +} + +func (entry *Entry) Errorln(args ...interface{}) { + entry.Logln(ErrorLevel, args...) +} + +func (entry *Entry) Fatalln(args ...interface{}) { + entry.Logln(FatalLevel, args...) + entry.Logger.Exit(1) +} + +func (entry *Entry) Panicln(args ...interface{}) { + entry.Logln(PanicLevel, args...) +} + +// Sprintlnn => Sprint no newline. This is to get the behavior of how +// fmt.Sprintln where spaces are always added between operands, regardless of +// their type. Instead of vendoring the Sprintln implementation to spare a +// string allocation, we do the simplest thing. +func (entry *Entry) sprintlnn(args ...interface{}) string { + msg := fmt.Sprintln(args...) + return msg[:len(msg)-1] +} diff --git a/vendor/github.com/sirupsen/logrus/exported.go b/vendor/github.com/sirupsen/logrus/exported.go new file mode 100644 index 000000000..017c30ce6 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/exported.go @@ -0,0 +1,270 @@ +package logrus + +import ( + "context" + "io" + "time" +) + +var ( + // std is the name of the standard logger in stdlib `log` + std = New() +) + +func StandardLogger() *Logger { + return std +} + +// SetOutput sets the standard logger output. +func SetOutput(out io.Writer) { + std.SetOutput(out) +} + +// SetFormatter sets the standard logger formatter. +func SetFormatter(formatter Formatter) { + std.SetFormatter(formatter) +} + +// SetReportCaller sets whether the standard logger will include the calling +// method as a field. +func SetReportCaller(include bool) { + std.SetReportCaller(include) +} + +// SetLevel sets the standard logger level. +func SetLevel(level Level) { + std.SetLevel(level) +} + +// GetLevel returns the standard logger level. +func GetLevel() Level { + return std.GetLevel() +} + +// IsLevelEnabled checks if the log level of the standard logger is greater than the level param +func IsLevelEnabled(level Level) bool { + return std.IsLevelEnabled(level) +} + +// AddHook adds a hook to the standard logger hooks. +func AddHook(hook Hook) { + std.AddHook(hook) +} + +// WithError creates an entry from the standard logger and adds an error to it, using the value defined in ErrorKey as key. +func WithError(err error) *Entry { + return std.WithField(ErrorKey, err) +} + +// WithContext creates an entry from the standard logger and adds a context to it. +func WithContext(ctx context.Context) *Entry { + return std.WithContext(ctx) +} + +// WithField creates an entry from the standard logger and adds a field to +// it. If you want multiple fields, use `WithFields`. +// +// Note that it doesn't log until you call Debug, Print, Info, Warn, Fatal +// or Panic on the Entry it returns. +func WithField(key string, value interface{}) *Entry { + return std.WithField(key, value) +} + +// WithFields creates an entry from the standard logger and adds multiple +// fields to it. This is simply a helper for `WithField`, invoking it +// once for each field. +// +// Note that it doesn't log until you call Debug, Print, Info, Warn, Fatal +// or Panic on the Entry it returns. +func WithFields(fields Fields) *Entry { + return std.WithFields(fields) +} + +// WithTime creates an entry from the standard logger and overrides the time of +// logs generated with it. +// +// Note that it doesn't log until you call Debug, Print, Info, Warn, Fatal +// or Panic on the Entry it returns. +func WithTime(t time.Time) *Entry { + return std.WithTime(t) +} + +// Trace logs a message at level Trace on the standard logger. +func Trace(args ...interface{}) { + std.Trace(args...) +} + +// Debug logs a message at level Debug on the standard logger. +func Debug(args ...interface{}) { + std.Debug(args...) +} + +// Print logs a message at level Info on the standard logger. +func Print(args ...interface{}) { + std.Print(args...) +} + +// Info logs a message at level Info on the standard logger. +func Info(args ...interface{}) { + std.Info(args...) +} + +// Warn logs a message at level Warn on the standard logger. +func Warn(args ...interface{}) { + std.Warn(args...) +} + +// Warning logs a message at level Warn on the standard logger. +func Warning(args ...interface{}) { + std.Warning(args...) +} + +// Error logs a message at level Error on the standard logger. +func Error(args ...interface{}) { + std.Error(args...) +} + +// Panic logs a message at level Panic on the standard logger. +func Panic(args ...interface{}) { + std.Panic(args...) +} + +// Fatal logs a message at level Fatal on the standard logger then the process will exit with status set to 1. +func Fatal(args ...interface{}) { + std.Fatal(args...) +} + +// TraceFn logs a message from a func at level Trace on the standard logger. +func TraceFn(fn LogFunction) { + std.TraceFn(fn) +} + +// DebugFn logs a message from a func at level Debug on the standard logger. +func DebugFn(fn LogFunction) { + std.DebugFn(fn) +} + +// PrintFn logs a message from a func at level Info on the standard logger. +func PrintFn(fn LogFunction) { + std.PrintFn(fn) +} + +// InfoFn logs a message from a func at level Info on the standard logger. +func InfoFn(fn LogFunction) { + std.InfoFn(fn) +} + +// WarnFn logs a message from a func at level Warn on the standard logger. +func WarnFn(fn LogFunction) { + std.WarnFn(fn) +} + +// WarningFn logs a message from a func at level Warn on the standard logger. +func WarningFn(fn LogFunction) { + std.WarningFn(fn) +} + +// ErrorFn logs a message from a func at level Error on the standard logger. +func ErrorFn(fn LogFunction) { + std.ErrorFn(fn) +} + +// PanicFn logs a message from a func at level Panic on the standard logger. +func PanicFn(fn LogFunction) { + std.PanicFn(fn) +} + +// FatalFn logs a message from a func at level Fatal on the standard logger then the process will exit with status set to 1. +func FatalFn(fn LogFunction) { + std.FatalFn(fn) +} + +// Tracef logs a message at level Trace on the standard logger. +func Tracef(format string, args ...interface{}) { + std.Tracef(format, args...) +} + +// Debugf logs a message at level Debug on the standard logger. +func Debugf(format string, args ...interface{}) { + std.Debugf(format, args...) +} + +// Printf logs a message at level Info on the standard logger. +func Printf(format string, args ...interface{}) { + std.Printf(format, args...) +} + +// Infof logs a message at level Info on the standard logger. +func Infof(format string, args ...interface{}) { + std.Infof(format, args...) +} + +// Warnf logs a message at level Warn on the standard logger. +func Warnf(format string, args ...interface{}) { + std.Warnf(format, args...) +} + +// Warningf logs a message at level Warn on the standard logger. +func Warningf(format string, args ...interface{}) { + std.Warningf(format, args...) +} + +// Errorf logs a message at level Error on the standard logger. +func Errorf(format string, args ...interface{}) { + std.Errorf(format, args...) +} + +// Panicf logs a message at level Panic on the standard logger. +func Panicf(format string, args ...interface{}) { + std.Panicf(format, args...) +} + +// Fatalf logs a message at level Fatal on the standard logger then the process will exit with status set to 1. +func Fatalf(format string, args ...interface{}) { + std.Fatalf(format, args...) +} + +// Traceln logs a message at level Trace on the standard logger. +func Traceln(args ...interface{}) { + std.Traceln(args...) +} + +// Debugln logs a message at level Debug on the standard logger. +func Debugln(args ...interface{}) { + std.Debugln(args...) +} + +// Println logs a message at level Info on the standard logger. +func Println(args ...interface{}) { + std.Println(args...) +} + +// Infoln logs a message at level Info on the standard logger. +func Infoln(args ...interface{}) { + std.Infoln(args...) +} + +// Warnln logs a message at level Warn on the standard logger. +func Warnln(args ...interface{}) { + std.Warnln(args...) +} + +// Warningln logs a message at level Warn on the standard logger. +func Warningln(args ...interface{}) { + std.Warningln(args...) +} + +// Errorln logs a message at level Error on the standard logger. +func Errorln(args ...interface{}) { + std.Errorln(args...) +} + +// Panicln logs a message at level Panic on the standard logger. +func Panicln(args ...interface{}) { + std.Panicln(args...) +} + +// Fatalln logs a message at level Fatal on the standard logger then the process will exit with status set to 1. +func Fatalln(args ...interface{}) { + std.Fatalln(args...) +} diff --git a/vendor/github.com/sirupsen/logrus/formatter.go b/vendor/github.com/sirupsen/logrus/formatter.go new file mode 100644 index 000000000..408883773 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/formatter.go @@ -0,0 +1,78 @@ +package logrus + +import "time" + +// Default key names for the default fields +const ( + defaultTimestampFormat = time.RFC3339 + FieldKeyMsg = "msg" + FieldKeyLevel = "level" + FieldKeyTime = "time" + FieldKeyLogrusError = "logrus_error" + FieldKeyFunc = "func" + FieldKeyFile = "file" +) + +// The Formatter interface is used to implement a custom Formatter. It takes an +// `Entry`. It exposes all the fields, including the default ones: +// +// * `entry.Data["msg"]`. The message passed from Info, Warn, Error .. +// * `entry.Data["time"]`. The timestamp. +// * `entry.Data["level"]. The level the entry was logged at. +// +// Any additional fields added with `WithField` or `WithFields` are also in +// `entry.Data`. Format is expected to return an array of bytes which are then +// logged to `logger.Out`. +type Formatter interface { + Format(*Entry) ([]byte, error) +} + +// This is to not silently overwrite `time`, `msg`, `func` and `level` fields when +// dumping it. If this code wasn't there doing: +// +// logrus.WithField("level", 1).Info("hello") +// +// Would just silently drop the user provided level. Instead with this code +// it'll logged as: +// +// {"level": "info", "fields.level": 1, "msg": "hello", "time": "..."} +// +// It's not exported because it's still using Data in an opinionated way. It's to +// avoid code duplication between the two default formatters. +func prefixFieldClashes(data Fields, fieldMap FieldMap, reportCaller bool) { + timeKey := fieldMap.resolve(FieldKeyTime) + if t, ok := data[timeKey]; ok { + data["fields."+timeKey] = t + delete(data, timeKey) + } + + msgKey := fieldMap.resolve(FieldKeyMsg) + if m, ok := data[msgKey]; ok { + data["fields."+msgKey] = m + delete(data, msgKey) + } + + levelKey := fieldMap.resolve(FieldKeyLevel) + if l, ok := data[levelKey]; ok { + data["fields."+levelKey] = l + delete(data, levelKey) + } + + logrusErrKey := fieldMap.resolve(FieldKeyLogrusError) + if l, ok := data[logrusErrKey]; ok { + data["fields."+logrusErrKey] = l + delete(data, logrusErrKey) + } + + // If reportCaller is not set, 'func' will not conflict. + if reportCaller { + funcKey := fieldMap.resolve(FieldKeyFunc) + if l, ok := data[funcKey]; ok { + data["fields."+funcKey] = l + } + fileKey := fieldMap.resolve(FieldKeyFile) + if l, ok := data[fileKey]; ok { + data["fields."+fileKey] = l + } + } +} diff --git a/vendor/github.com/sirupsen/logrus/hooks.go b/vendor/github.com/sirupsen/logrus/hooks.go new file mode 100644 index 000000000..3f151cdc3 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/hooks.go @@ -0,0 +1,34 @@ +package logrus + +// A hook to be fired when logging on the logging levels returned from +// `Levels()` on your implementation of the interface. Note that this is not +// fired in a goroutine or a channel with workers, you should handle such +// functionality yourself if your call is non-blocking and you don't wish for +// the logging calls for levels returned from `Levels()` to block. +type Hook interface { + Levels() []Level + Fire(*Entry) error +} + +// Internal type for storing the hooks on a logger instance. +type LevelHooks map[Level][]Hook + +// Add a hook to an instance of logger. This is called with +// `log.Hooks.Add(new(MyHook))` where `MyHook` implements the `Hook` interface. +func (hooks LevelHooks) Add(hook Hook) { + for _, level := range hook.Levels() { + hooks[level] = append(hooks[level], hook) + } +} + +// Fire all the hooks for the passed level. Used by `entry.log` to fire +// appropriate hooks for a log entry. +func (hooks LevelHooks) Fire(level Level, entry *Entry) error { + for _, hook := range hooks[level] { + if err := hook.Fire(entry); err != nil { + return err + } + } + + return nil +} diff --git a/vendor/github.com/sirupsen/logrus/json_formatter.go b/vendor/github.com/sirupsen/logrus/json_formatter.go new file mode 100644 index 000000000..c96dc5636 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/json_formatter.go @@ -0,0 +1,128 @@ +package logrus + +import ( + "bytes" + "encoding/json" + "fmt" + "runtime" +) + +type fieldKey string + +// FieldMap allows customization of the key names for default fields. +type FieldMap map[fieldKey]string + +func (f FieldMap) resolve(key fieldKey) string { + if k, ok := f[key]; ok { + return k + } + + return string(key) +} + +// JSONFormatter formats logs into parsable json +type JSONFormatter struct { + // TimestampFormat sets the format used for marshaling timestamps. + // The format to use is the same than for time.Format or time.Parse from the standard + // library. + // The standard Library already provides a set of predefined format. + TimestampFormat string + + // DisableTimestamp allows disabling automatic timestamps in output + DisableTimestamp bool + + // DisableHTMLEscape allows disabling html escaping in output + DisableHTMLEscape bool + + // DataKey allows users to put all the log entry parameters into a nested dictionary at a given key. + DataKey string + + // FieldMap allows users to customize the names of keys for default fields. + // As an example: + // formatter := &JSONFormatter{ + // FieldMap: FieldMap{ + // FieldKeyTime: "@timestamp", + // FieldKeyLevel: "@level", + // FieldKeyMsg: "@message", + // FieldKeyFunc: "@caller", + // }, + // } + FieldMap FieldMap + + // CallerPrettyfier can be set by the user to modify the content + // of the function and file keys in the json data when ReportCaller is + // activated. If any of the returned value is the empty string the + // corresponding key will be removed from json fields. + CallerPrettyfier func(*runtime.Frame) (function string, file string) + + // PrettyPrint will indent all json logs + PrettyPrint bool +} + +// Format renders a single log entry +func (f *JSONFormatter) Format(entry *Entry) ([]byte, error) { + data := make(Fields, len(entry.Data)+4) + for k, v := range entry.Data { + switch v := v.(type) { + case error: + // Otherwise errors are ignored by `encoding/json` + // https://github.com/sirupsen/logrus/issues/137 + data[k] = v.Error() + default: + data[k] = v + } + } + + if f.DataKey != "" { + newData := make(Fields, 4) + newData[f.DataKey] = data + data = newData + } + + prefixFieldClashes(data, f.FieldMap, entry.HasCaller()) + + timestampFormat := f.TimestampFormat + if timestampFormat == "" { + timestampFormat = defaultTimestampFormat + } + + if entry.err != "" { + data[f.FieldMap.resolve(FieldKeyLogrusError)] = entry.err + } + if !f.DisableTimestamp { + data[f.FieldMap.resolve(FieldKeyTime)] = entry.Time.Format(timestampFormat) + } + data[f.FieldMap.resolve(FieldKeyMsg)] = entry.Message + data[f.FieldMap.resolve(FieldKeyLevel)] = entry.Level.String() + if entry.HasCaller() { + funcVal := entry.Caller.Function + fileVal := fmt.Sprintf("%s:%d", entry.Caller.File, entry.Caller.Line) + if f.CallerPrettyfier != nil { + funcVal, fileVal = f.CallerPrettyfier(entry.Caller) + } + if funcVal != "" { + data[f.FieldMap.resolve(FieldKeyFunc)] = funcVal + } + if fileVal != "" { + data[f.FieldMap.resolve(FieldKeyFile)] = fileVal + } + } + + var b *bytes.Buffer + if entry.Buffer != nil { + b = entry.Buffer + } else { + b = &bytes.Buffer{} + } + + encoder := json.NewEncoder(b) + encoder.SetEscapeHTML(!f.DisableHTMLEscape) + if f.PrettyPrint { + encoder.SetIndent("", " ") + } + if err := encoder.Encode(data); err != nil { + return nil, fmt.Errorf("failed to marshal fields to JSON, %w", err) + } + + return b.Bytes(), nil +} diff --git a/vendor/github.com/sirupsen/logrus/logger.go b/vendor/github.com/sirupsen/logrus/logger.go new file mode 100644 index 000000000..5ff0aef6d --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/logger.go @@ -0,0 +1,417 @@ +package logrus + +import ( + "context" + "io" + "os" + "sync" + "sync/atomic" + "time" +) + +// LogFunction For big messages, it can be more efficient to pass a function +// and only call it if the log level is actually enables rather than +// generating the log message and then checking if the level is enabled +type LogFunction func() []interface{} + +type Logger struct { + // The logs are `io.Copy`'d to this in a mutex. It's common to set this to a + // file, or leave it default which is `os.Stderr`. You can also set this to + // something more adventurous, such as logging to Kafka. + Out io.Writer + // Hooks for the logger instance. These allow firing events based on logging + // levels and log entries. For example, to send errors to an error tracking + // service, log to StatsD or dump the core on fatal errors. + Hooks LevelHooks + // All log entries pass through the formatter before logged to Out. The + // included formatters are `TextFormatter` and `JSONFormatter` for which + // TextFormatter is the default. In development (when a TTY is attached) it + // logs with colors, but to a file it wouldn't. You can easily implement your + // own that implements the `Formatter` interface, see the `README` or included + // formatters for examples. + Formatter Formatter + + // Flag for whether to log caller info (off by default) + ReportCaller bool + + // The logging level the logger should log at. This is typically (and defaults + // to) `logrus.Info`, which allows Info(), Warn(), Error() and Fatal() to be + // logged. + Level Level + // Used to sync writing to the log. Locking is enabled by Default + mu MutexWrap + // Reusable empty entry + entryPool sync.Pool + // Function to exit the application, defaults to `os.Exit()` + ExitFunc exitFunc + // The buffer pool used to format the log. If it is nil, the default global + // buffer pool will be used. + BufferPool BufferPool +} + +type exitFunc func(int) + +type MutexWrap struct { + lock sync.Mutex + disabled bool +} + +func (mw *MutexWrap) Lock() { + if !mw.disabled { + mw.lock.Lock() + } +} + +func (mw *MutexWrap) Unlock() { + if !mw.disabled { + mw.lock.Unlock() + } +} + +func (mw *MutexWrap) Disable() { + mw.disabled = true +} + +// Creates a new logger. Configuration should be set by changing `Formatter`, +// `Out` and `Hooks` directly on the default logger instance. You can also just +// instantiate your own: +// +// var log = &logrus.Logger{ +// Out: os.Stderr, +// Formatter: new(logrus.TextFormatter), +// Hooks: make(logrus.LevelHooks), +// Level: logrus.DebugLevel, +// } +// +// It's recommended to make this a global instance called `log`. +func New() *Logger { + return &Logger{ + Out: os.Stderr, + Formatter: new(TextFormatter), + Hooks: make(LevelHooks), + Level: InfoLevel, + ExitFunc: os.Exit, + ReportCaller: false, + } +} + +func (logger *Logger) newEntry() *Entry { + entry, ok := logger.entryPool.Get().(*Entry) + if ok { + return entry + } + return NewEntry(logger) +} + +func (logger *Logger) releaseEntry(entry *Entry) { + entry.Data = map[string]interface{}{} + logger.entryPool.Put(entry) +} + +// WithField allocates a new entry and adds a field to it. +// Debug, Print, Info, Warn, Error, Fatal or Panic must be then applied to +// this new returned entry. +// If you want multiple fields, use `WithFields`. +func (logger *Logger) WithField(key string, value interface{}) *Entry { + entry := logger.newEntry() + defer logger.releaseEntry(entry) + return entry.WithField(key, value) +} + +// Adds a struct of fields to the log entry. All it does is call `WithField` for +// each `Field`. +func (logger *Logger) WithFields(fields Fields) *Entry { + entry := logger.newEntry() + defer logger.releaseEntry(entry) + return entry.WithFields(fields) +} + +// Add an error as single field to the log entry. All it does is call +// `WithError` for the given `error`. +func (logger *Logger) WithError(err error) *Entry { + entry := logger.newEntry() + defer logger.releaseEntry(entry) + return entry.WithError(err) +} + +// Add a context to the log entry. +func (logger *Logger) WithContext(ctx context.Context) *Entry { + entry := logger.newEntry() + defer logger.releaseEntry(entry) + return entry.WithContext(ctx) +} + +// Overrides the time of the log entry. +func (logger *Logger) WithTime(t time.Time) *Entry { + entry := logger.newEntry() + defer logger.releaseEntry(entry) + return entry.WithTime(t) +} + +func (logger *Logger) Logf(level Level, format string, args ...interface{}) { + if logger.IsLevelEnabled(level) { + entry := logger.newEntry() + entry.Logf(level, format, args...) + logger.releaseEntry(entry) + } +} + +func (logger *Logger) Tracef(format string, args ...interface{}) { + logger.Logf(TraceLevel, format, args...) +} + +func (logger *Logger) Debugf(format string, args ...interface{}) { + logger.Logf(DebugLevel, format, args...) +} + +func (logger *Logger) Infof(format string, args ...interface{}) { + logger.Logf(InfoLevel, format, args...) +} + +func (logger *Logger) Printf(format string, args ...interface{}) { + entry := logger.newEntry() + entry.Printf(format, args...) + logger.releaseEntry(entry) +} + +func (logger *Logger) Warnf(format string, args ...interface{}) { + logger.Logf(WarnLevel, format, args...) +} + +func (logger *Logger) Warningf(format string, args ...interface{}) { + logger.Warnf(format, args...) +} + +func (logger *Logger) Errorf(format string, args ...interface{}) { + logger.Logf(ErrorLevel, format, args...) +} + +func (logger *Logger) Fatalf(format string, args ...interface{}) { + logger.Logf(FatalLevel, format, args...) + logger.Exit(1) +} + +func (logger *Logger) Panicf(format string, args ...interface{}) { + logger.Logf(PanicLevel, format, args...) +} + +// Log will log a message at the level given as parameter. +// Warning: using Log at Panic or Fatal level will not respectively Panic nor Exit. +// For this behaviour Logger.Panic or Logger.Fatal should be used instead. +func (logger *Logger) Log(level Level, args ...interface{}) { + if logger.IsLevelEnabled(level) { + entry := logger.newEntry() + entry.Log(level, args...) + logger.releaseEntry(entry) + } +} + +func (logger *Logger) LogFn(level Level, fn LogFunction) { + if logger.IsLevelEnabled(level) { + entry := logger.newEntry() + entry.Log(level, fn()...) + logger.releaseEntry(entry) + } +} + +func (logger *Logger) Trace(args ...interface{}) { + logger.Log(TraceLevel, args...) +} + +func (logger *Logger) Debug(args ...interface{}) { + logger.Log(DebugLevel, args...) +} + +func (logger *Logger) Info(args ...interface{}) { + logger.Log(InfoLevel, args...) +} + +func (logger *Logger) Print(args ...interface{}) { + entry := logger.newEntry() + entry.Print(args...) + logger.releaseEntry(entry) +} + +func (logger *Logger) Warn(args ...interface{}) { + logger.Log(WarnLevel, args...) +} + +func (logger *Logger) Warning(args ...interface{}) { + logger.Warn(args...) +} + +func (logger *Logger) Error(args ...interface{}) { + logger.Log(ErrorLevel, args...) +} + +func (logger *Logger) Fatal(args ...interface{}) { + logger.Log(FatalLevel, args...) + logger.Exit(1) +} + +func (logger *Logger) Panic(args ...interface{}) { + logger.Log(PanicLevel, args...) +} + +func (logger *Logger) TraceFn(fn LogFunction) { + logger.LogFn(TraceLevel, fn) +} + +func (logger *Logger) DebugFn(fn LogFunction) { + logger.LogFn(DebugLevel, fn) +} + +func (logger *Logger) InfoFn(fn LogFunction) { + logger.LogFn(InfoLevel, fn) +} + +func (logger *Logger) PrintFn(fn LogFunction) { + entry := logger.newEntry() + entry.Print(fn()...) + logger.releaseEntry(entry) +} + +func (logger *Logger) WarnFn(fn LogFunction) { + logger.LogFn(WarnLevel, fn) +} + +func (logger *Logger) WarningFn(fn LogFunction) { + logger.WarnFn(fn) +} + +func (logger *Logger) ErrorFn(fn LogFunction) { + logger.LogFn(ErrorLevel, fn) +} + +func (logger *Logger) FatalFn(fn LogFunction) { + logger.LogFn(FatalLevel, fn) + logger.Exit(1) +} + +func (logger *Logger) PanicFn(fn LogFunction) { + logger.LogFn(PanicLevel, fn) +} + +func (logger *Logger) Logln(level Level, args ...interface{}) { + if logger.IsLevelEnabled(level) { + entry := logger.newEntry() + entry.Logln(level, args...) + logger.releaseEntry(entry) + } +} + +func (logger *Logger) Traceln(args ...interface{}) { + logger.Logln(TraceLevel, args...) +} + +func (logger *Logger) Debugln(args ...interface{}) { + logger.Logln(DebugLevel, args...) +} + +func (logger *Logger) Infoln(args ...interface{}) { + logger.Logln(InfoLevel, args...) +} + +func (logger *Logger) Println(args ...interface{}) { + entry := logger.newEntry() + entry.Println(args...) + logger.releaseEntry(entry) +} + +func (logger *Logger) Warnln(args ...interface{}) { + logger.Logln(WarnLevel, args...) +} + +func (logger *Logger) Warningln(args ...interface{}) { + logger.Warnln(args...) +} + +func (logger *Logger) Errorln(args ...interface{}) { + logger.Logln(ErrorLevel, args...) +} + +func (logger *Logger) Fatalln(args ...interface{}) { + logger.Logln(FatalLevel, args...) + logger.Exit(1) +} + +func (logger *Logger) Panicln(args ...interface{}) { + logger.Logln(PanicLevel, args...) +} + +func (logger *Logger) Exit(code int) { + runHandlers() + if logger.ExitFunc == nil { + logger.ExitFunc = os.Exit + } + logger.ExitFunc(code) +} + +//When file is opened with appending mode, it's safe to +//write concurrently to a file (within 4k message on Linux). +//In these cases user can choose to disable the lock. +func (logger *Logger) SetNoLock() { + logger.mu.Disable() +} + +func (logger *Logger) level() Level { + return Level(atomic.LoadUint32((*uint32)(&logger.Level))) +} + +// SetLevel sets the logger level. +func (logger *Logger) SetLevel(level Level) { + atomic.StoreUint32((*uint32)(&logger.Level), uint32(level)) +} + +// GetLevel returns the logger level. +func (logger *Logger) GetLevel() Level { + return logger.level() +} + +// AddHook adds a hook to the logger hooks. +func (logger *Logger) AddHook(hook Hook) { + logger.mu.Lock() + defer logger.mu.Unlock() + logger.Hooks.Add(hook) +} + +// IsLevelEnabled checks if the log level of the logger is greater than the level param +func (logger *Logger) IsLevelEnabled(level Level) bool { + return logger.level() >= level +} + +// SetFormatter sets the logger formatter. +func (logger *Logger) SetFormatter(formatter Formatter) { + logger.mu.Lock() + defer logger.mu.Unlock() + logger.Formatter = formatter +} + +// SetOutput sets the logger output. +func (logger *Logger) SetOutput(output io.Writer) { + logger.mu.Lock() + defer logger.mu.Unlock() + logger.Out = output +} + +func (logger *Logger) SetReportCaller(reportCaller bool) { + logger.mu.Lock() + defer logger.mu.Unlock() + logger.ReportCaller = reportCaller +} + +// ReplaceHooks replaces the logger hooks and returns the old ones +func (logger *Logger) ReplaceHooks(hooks LevelHooks) LevelHooks { + logger.mu.Lock() + oldHooks := logger.Hooks + logger.Hooks = hooks + logger.mu.Unlock() + return oldHooks +} + +// SetBufferPool sets the logger buffer pool. +func (logger *Logger) SetBufferPool(pool BufferPool) { + logger.mu.Lock() + defer logger.mu.Unlock() + logger.BufferPool = pool +} diff --git a/vendor/github.com/sirupsen/logrus/logrus.go b/vendor/github.com/sirupsen/logrus/logrus.go new file mode 100644 index 000000000..2f16224cb --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/logrus.go @@ -0,0 +1,186 @@ +package logrus + +import ( + "fmt" + "log" + "strings" +) + +// Fields type, used to pass to `WithFields`. +type Fields map[string]interface{} + +// Level type +type Level uint32 + +// Convert the Level to a string. E.g. PanicLevel becomes "panic". +func (level Level) String() string { + if b, err := level.MarshalText(); err == nil { + return string(b) + } else { + return "unknown" + } +} + +// ParseLevel takes a string level and returns the Logrus log level constant. +func ParseLevel(lvl string) (Level, error) { + switch strings.ToLower(lvl) { + case "panic": + return PanicLevel, nil + case "fatal": + return FatalLevel, nil + case "error": + return ErrorLevel, nil + case "warn", "warning": + return WarnLevel, nil + case "info": + return InfoLevel, nil + case "debug": + return DebugLevel, nil + case "trace": + return TraceLevel, nil + } + + var l Level + return l, fmt.Errorf("not a valid logrus Level: %q", lvl) +} + +// UnmarshalText implements encoding.TextUnmarshaler. +func (level *Level) UnmarshalText(text []byte) error { + l, err := ParseLevel(string(text)) + if err != nil { + return err + } + + *level = l + + return nil +} + +func (level Level) MarshalText() ([]byte, error) { + switch level { + case TraceLevel: + return []byte("trace"), nil + case DebugLevel: + return []byte("debug"), nil + case InfoLevel: + return []byte("info"), nil + case WarnLevel: + return []byte("warning"), nil + case ErrorLevel: + return []byte("error"), nil + case FatalLevel: + return []byte("fatal"), nil + case PanicLevel: + return []byte("panic"), nil + } + + return nil, fmt.Errorf("not a valid logrus level %d", level) +} + +// A constant exposing all logging levels +var AllLevels = []Level{ + PanicLevel, + FatalLevel, + ErrorLevel, + WarnLevel, + InfoLevel, + DebugLevel, + TraceLevel, +} + +// These are the different logging levels. You can set the logging level to log +// on your instance of logger, obtained with `logrus.New()`. +const ( + // PanicLevel level, highest level of severity. Logs and then calls panic with the + // message passed to Debug, Info, ... + PanicLevel Level = iota + // FatalLevel level. Logs and then calls `logger.Exit(1)`. It will exit even if the + // logging level is set to Panic. + FatalLevel + // ErrorLevel level. Logs. Used for errors that should definitely be noted. + // Commonly used for hooks to send errors to an error tracking service. + ErrorLevel + // WarnLevel level. Non-critical entries that deserve eyes. + WarnLevel + // InfoLevel level. General operational entries about what's going on inside the + // application. + InfoLevel + // DebugLevel level. Usually only enabled when debugging. Very verbose logging. + DebugLevel + // TraceLevel level. Designates finer-grained informational events than the Debug. + TraceLevel +) + +// Won't compile if StdLogger can't be realized by a log.Logger +var ( + _ StdLogger = &log.Logger{} + _ StdLogger = &Entry{} + _ StdLogger = &Logger{} +) + +// StdLogger is what your logrus-enabled library should take, that way +// it'll accept a stdlib logger and a logrus logger. There's no standard +// interface, this is the closest we get, unfortunately. +type StdLogger interface { + Print(...interface{}) + Printf(string, ...interface{}) + Println(...interface{}) + + Fatal(...interface{}) + Fatalf(string, ...interface{}) + Fatalln(...interface{}) + + Panic(...interface{}) + Panicf(string, ...interface{}) + Panicln(...interface{}) +} + +// The FieldLogger interface generalizes the Entry and Logger types +type FieldLogger interface { + WithField(key string, value interface{}) *Entry + WithFields(fields Fields) *Entry + WithError(err error) *Entry + + Debugf(format string, args ...interface{}) + Infof(format string, args ...interface{}) + Printf(format string, args ...interface{}) + Warnf(format string, args ...interface{}) + Warningf(format string, args ...interface{}) + Errorf(format string, args ...interface{}) + Fatalf(format string, args ...interface{}) + Panicf(format string, args ...interface{}) + + Debug(args ...interface{}) + Info(args ...interface{}) + Print(args ...interface{}) + Warn(args ...interface{}) + Warning(args ...interface{}) + Error(args ...interface{}) + Fatal(args ...interface{}) + Panic(args ...interface{}) + + Debugln(args ...interface{}) + Infoln(args ...interface{}) + Println(args ...interface{}) + Warnln(args ...interface{}) + Warningln(args ...interface{}) + Errorln(args ...interface{}) + Fatalln(args ...interface{}) + Panicln(args ...interface{}) + + // IsDebugEnabled() bool + // IsInfoEnabled() bool + // IsWarnEnabled() bool + // IsErrorEnabled() bool + // IsFatalEnabled() bool + // IsPanicEnabled() bool +} + +// Ext1FieldLogger (the first extension to FieldLogger) is superfluous, it is +// here for consistancy. Do not use. Use Logger or Entry instead. +type Ext1FieldLogger interface { + FieldLogger + Tracef(format string, args ...interface{}) + Trace(args ...interface{}) + Traceln(args ...interface{}) +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_appengine.go b/vendor/github.com/sirupsen/logrus/terminal_check_appengine.go new file mode 100644 index 000000000..2403de981 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_appengine.go @@ -0,0 +1,11 @@ +// +build appengine + +package logrus + +import ( + "io" +) + +func checkIfTerminal(w io.Writer) bool { + return true +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_bsd.go b/vendor/github.com/sirupsen/logrus/terminal_check_bsd.go new file mode 100644 index 000000000..499789984 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_bsd.go @@ -0,0 +1,13 @@ +// +build darwin dragonfly freebsd netbsd openbsd +// +build !js + +package logrus + +import "golang.org/x/sys/unix" + +const ioctlReadTermios = unix.TIOCGETA + +func isTerminal(fd int) bool { + _, err := unix.IoctlGetTermios(fd, ioctlReadTermios) + return err == nil +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_js.go b/vendor/github.com/sirupsen/logrus/terminal_check_js.go new file mode 100644 index 000000000..ebdae3ec6 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_js.go @@ -0,0 +1,7 @@ +// +build js + +package logrus + +func isTerminal(fd int) bool { + return false +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_no_terminal.go b/vendor/github.com/sirupsen/logrus/terminal_check_no_terminal.go new file mode 100644 index 000000000..97af92c68 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_no_terminal.go @@ -0,0 +1,11 @@ +// +build js nacl plan9 + +package logrus + +import ( + "io" +) + +func checkIfTerminal(w io.Writer) bool { + return false +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go b/vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go new file mode 100644 index 000000000..3293fb3ca --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go @@ -0,0 +1,17 @@ +// +build !appengine,!js,!windows,!nacl,!plan9 + +package logrus + +import ( + "io" + "os" +) + +func checkIfTerminal(w io.Writer) bool { + switch v := w.(type) { + case *os.File: + return isTerminal(int(v.Fd())) + default: + return false + } +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_solaris.go b/vendor/github.com/sirupsen/logrus/terminal_check_solaris.go new file mode 100644 index 000000000..f6710b3bd --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_solaris.go @@ -0,0 +1,11 @@ +package logrus + +import ( + "golang.org/x/sys/unix" +) + +// IsTerminal returns true if the given file descriptor is a terminal. +func isTerminal(fd int) bool { + _, err := unix.IoctlGetTermio(fd, unix.TCGETA) + return err == nil +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_unix.go b/vendor/github.com/sirupsen/logrus/terminal_check_unix.go new file mode 100644 index 000000000..04748b851 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_unix.go @@ -0,0 +1,13 @@ +// +build linux aix zos +// +build !js + +package logrus + +import "golang.org/x/sys/unix" + +const ioctlReadTermios = unix.TCGETS + +func isTerminal(fd int) bool { + _, err := unix.IoctlGetTermios(fd, ioctlReadTermios) + return err == nil +} diff --git a/vendor/github.com/sirupsen/logrus/terminal_check_windows.go b/vendor/github.com/sirupsen/logrus/terminal_check_windows.go new file mode 100644 index 000000000..2879eb50e --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/terminal_check_windows.go @@ -0,0 +1,27 @@ +// +build !appengine,!js,windows + +package logrus + +import ( + "io" + "os" + + "golang.org/x/sys/windows" +) + +func checkIfTerminal(w io.Writer) bool { + switch v := w.(type) { + case *os.File: + handle := windows.Handle(v.Fd()) + var mode uint32 + if err := windows.GetConsoleMode(handle, &mode); err != nil { + return false + } + mode |= windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING + if err := windows.SetConsoleMode(handle, mode); err != nil { + return false + } + return true + } + return false +} diff --git a/vendor/github.com/sirupsen/logrus/text_formatter.go b/vendor/github.com/sirupsen/logrus/text_formatter.go new file mode 100644 index 000000000..be2c6efe5 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/text_formatter.go @@ -0,0 +1,339 @@ +package logrus + +import ( + "bytes" + "fmt" + "os" + "runtime" + "sort" + "strconv" + "strings" + "sync" + "time" + "unicode/utf8" +) + +const ( + red = 31 + yellow = 33 + blue = 36 + gray = 37 +) + +var baseTimestamp time.Time + +func init() { + baseTimestamp = time.Now() +} + +// TextFormatter formats logs into text +type TextFormatter struct { + // Set to true to bypass checking for a TTY before outputting colors. + ForceColors bool + + // Force disabling colors. + DisableColors bool + + // Force quoting of all values + ForceQuote bool + + // DisableQuote disables quoting for all values. + // DisableQuote will have a lower priority than ForceQuote. + // If both of them are set to true, quote will be forced on all values. + DisableQuote bool + + // Override coloring based on CLICOLOR and CLICOLOR_FORCE. - https://bixense.com/clicolors/ + EnvironmentOverrideColors bool + + // Disable timestamp logging. useful when output is redirected to logging + // system that already adds timestamps. + DisableTimestamp bool + + // Enable logging the full timestamp when a TTY is attached instead of just + // the time passed since beginning of execution. + FullTimestamp bool + + // TimestampFormat to use for display when a full timestamp is printed. + // The format to use is the same than for time.Format or time.Parse from the standard + // library. + // The standard Library already provides a set of predefined format. + TimestampFormat string + + // The fields are sorted by default for a consistent output. For applications + // that log extremely frequently and don't use the JSON formatter this may not + // be desired. + DisableSorting bool + + // The keys sorting function, when uninitialized it uses sort.Strings. + SortingFunc func([]string) + + // Disables the truncation of the level text to 4 characters. + DisableLevelTruncation bool + + // PadLevelText Adds padding the level text so that all the levels output at the same length + // PadLevelText is a superset of the DisableLevelTruncation option + PadLevelText bool + + // QuoteEmptyFields will wrap empty fields in quotes if true + QuoteEmptyFields bool + + // Whether the logger's out is to a terminal + isTerminal bool + + // FieldMap allows users to customize the names of keys for default fields. + // As an example: + // formatter := &TextFormatter{ + // FieldMap: FieldMap{ + // FieldKeyTime: "@timestamp", + // FieldKeyLevel: "@level", + // FieldKeyMsg: "@message"}} + FieldMap FieldMap + + // CallerPrettyfier can be set by the user to modify the content + // of the function and file keys in the data when ReportCaller is + // activated. If any of the returned value is the empty string the + // corresponding key will be removed from fields. + CallerPrettyfier func(*runtime.Frame) (function string, file string) + + terminalInitOnce sync.Once + + // The max length of the level text, generated dynamically on init + levelTextMaxLength int +} + +func (f *TextFormatter) init(entry *Entry) { + if entry.Logger != nil { + f.isTerminal = checkIfTerminal(entry.Logger.Out) + } + // Get the max length of the level text + for _, level := range AllLevels { + levelTextLength := utf8.RuneCount([]byte(level.String())) + if levelTextLength > f.levelTextMaxLength { + f.levelTextMaxLength = levelTextLength + } + } +} + +func (f *TextFormatter) isColored() bool { + isColored := f.ForceColors || (f.isTerminal && (runtime.GOOS != "windows")) + + if f.EnvironmentOverrideColors { + switch force, ok := os.LookupEnv("CLICOLOR_FORCE"); { + case ok && force != "0": + isColored = true + case ok && force == "0", os.Getenv("CLICOLOR") == "0": + isColored = false + } + } + + return isColored && !f.DisableColors +} + +// Format renders a single log entry +func (f *TextFormatter) Format(entry *Entry) ([]byte, error) { + data := make(Fields) + for k, v := range entry.Data { + data[k] = v + } + prefixFieldClashes(data, f.FieldMap, entry.HasCaller()) + keys := make([]string, 0, len(data)) + for k := range data { + keys = append(keys, k) + } + + var funcVal, fileVal string + + fixedKeys := make([]string, 0, 4+len(data)) + if !f.DisableTimestamp { + fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyTime)) + } + fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyLevel)) + if entry.Message != "" { + fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyMsg)) + } + if entry.err != "" { + fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyLogrusError)) + } + if entry.HasCaller() { + if f.CallerPrettyfier != nil { + funcVal, fileVal = f.CallerPrettyfier(entry.Caller) + } else { + funcVal = entry.Caller.Function + fileVal = fmt.Sprintf("%s:%d", entry.Caller.File, entry.Caller.Line) + } + + if funcVal != "" { + fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyFunc)) + } + if fileVal != "" { + fixedKeys = append(fixedKeys, f.FieldMap.resolve(FieldKeyFile)) + } + } + + if !f.DisableSorting { + if f.SortingFunc == nil { + sort.Strings(keys) + fixedKeys = append(fixedKeys, keys...) + } else { + if !f.isColored() { + fixedKeys = append(fixedKeys, keys...) + f.SortingFunc(fixedKeys) + } else { + f.SortingFunc(keys) + } + } + } else { + fixedKeys = append(fixedKeys, keys...) + } + + var b *bytes.Buffer + if entry.Buffer != nil { + b = entry.Buffer + } else { + b = &bytes.Buffer{} + } + + f.terminalInitOnce.Do(func() { f.init(entry) }) + + timestampFormat := f.TimestampFormat + if timestampFormat == "" { + timestampFormat = defaultTimestampFormat + } + if f.isColored() { + f.printColored(b, entry, keys, data, timestampFormat) + } else { + + for _, key := range fixedKeys { + var value interface{} + switch { + case key == f.FieldMap.resolve(FieldKeyTime): + value = entry.Time.Format(timestampFormat) + case key == f.FieldMap.resolve(FieldKeyLevel): + value = entry.Level.String() + case key == f.FieldMap.resolve(FieldKeyMsg): + value = entry.Message + case key == f.FieldMap.resolve(FieldKeyLogrusError): + value = entry.err + case key == f.FieldMap.resolve(FieldKeyFunc) && entry.HasCaller(): + value = funcVal + case key == f.FieldMap.resolve(FieldKeyFile) && entry.HasCaller(): + value = fileVal + default: + value = data[key] + } + f.appendKeyValue(b, key, value) + } + } + + b.WriteByte('\n') + return b.Bytes(), nil +} + +func (f *TextFormatter) printColored(b *bytes.Buffer, entry *Entry, keys []string, data Fields, timestampFormat string) { + var levelColor int + switch entry.Level { + case DebugLevel, TraceLevel: + levelColor = gray + case WarnLevel: + levelColor = yellow + case ErrorLevel, FatalLevel, PanicLevel: + levelColor = red + case InfoLevel: + levelColor = blue + default: + levelColor = blue + } + + levelText := strings.ToUpper(entry.Level.String()) + if !f.DisableLevelTruncation && !f.PadLevelText { + levelText = levelText[0:4] + } + if f.PadLevelText { + // Generates the format string used in the next line, for example "%-6s" or "%-7s". + // Based on the max level text length. + formatString := "%-" + strconv.Itoa(f.levelTextMaxLength) + "s" + // Formats the level text by appending spaces up to the max length, for example: + // - "INFO " + // - "WARNING" + levelText = fmt.Sprintf(formatString, levelText) + } + + // Remove a single newline if it already exists in the message to keep + // the behavior of logrus text_formatter the same as the stdlib log package + entry.Message = strings.TrimSuffix(entry.Message, "\n") + + caller := "" + if entry.HasCaller() { + funcVal := fmt.Sprintf("%s()", entry.Caller.Function) + fileVal := fmt.Sprintf("%s:%d", entry.Caller.File, entry.Caller.Line) + + if f.CallerPrettyfier != nil { + funcVal, fileVal = f.CallerPrettyfier(entry.Caller) + } + + if fileVal == "" { + caller = funcVal + } else if funcVal == "" { + caller = fileVal + } else { + caller = fileVal + " " + funcVal + } + } + + switch { + case f.DisableTimestamp: + fmt.Fprintf(b, "\x1b[%dm%s\x1b[0m%s %-44s ", levelColor, levelText, caller, entry.Message) + case !f.FullTimestamp: + fmt.Fprintf(b, "\x1b[%dm%s\x1b[0m[%04d]%s %-44s ", levelColor, levelText, int(entry.Time.Sub(baseTimestamp)/time.Second), caller, entry.Message) + default: + fmt.Fprintf(b, "\x1b[%dm%s\x1b[0m[%s]%s %-44s ", levelColor, levelText, entry.Time.Format(timestampFormat), caller, entry.Message) + } + for _, k := range keys { + v := data[k] + fmt.Fprintf(b, " \x1b[%dm%s\x1b[0m=", levelColor, k) + f.appendValue(b, v) + } +} + +func (f *TextFormatter) needsQuoting(text string) bool { + if f.ForceQuote { + return true + } + if f.QuoteEmptyFields && len(text) == 0 { + return true + } + if f.DisableQuote { + return false + } + for _, ch := range text { + if !((ch >= 'a' && ch <= 'z') || + (ch >= 'A' && ch <= 'Z') || + (ch >= '0' && ch <= '9') || + ch == '-' || ch == '.' || ch == '_' || ch == '/' || ch == '@' || ch == '^' || ch == '+') { + return true + } + } + return false +} + +func (f *TextFormatter) appendKeyValue(b *bytes.Buffer, key string, value interface{}) { + if b.Len() > 0 { + b.WriteByte(' ') + } + b.WriteString(key) + b.WriteByte('=') + f.appendValue(b, value) +} + +func (f *TextFormatter) appendValue(b *bytes.Buffer, value interface{}) { + stringVal, ok := value.(string) + if !ok { + stringVal = fmt.Sprint(value) + } + + if !f.needsQuoting(stringVal) { + b.WriteString(stringVal) + } else { + b.WriteString(fmt.Sprintf("%q", stringVal)) + } +} diff --git a/vendor/github.com/sirupsen/logrus/writer.go b/vendor/github.com/sirupsen/logrus/writer.go new file mode 100644 index 000000000..074fd4b8b --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/writer.go @@ -0,0 +1,102 @@ +package logrus + +import ( + "bufio" + "io" + "runtime" + "strings" +) + +// Writer at INFO level. See WriterLevel for details. +func (logger *Logger) Writer() *io.PipeWriter { + return logger.WriterLevel(InfoLevel) +} + +// WriterLevel returns an io.Writer that can be used to write arbitrary text to +// the logger at the given log level. Each line written to the writer will be +// printed in the usual way using formatters and hooks. The writer is part of an +// io.Pipe and it is the callers responsibility to close the writer when done. +// This can be used to override the standard library logger easily. +func (logger *Logger) WriterLevel(level Level) *io.PipeWriter { + return NewEntry(logger).WriterLevel(level) +} + +// Writer returns an io.Writer that writes to the logger at the info log level +func (entry *Entry) Writer() *io.PipeWriter { + return entry.WriterLevel(InfoLevel) +} + +// WriterLevel returns an io.Writer that writes to the logger at the given log level +func (entry *Entry) WriterLevel(level Level) *io.PipeWriter { + reader, writer := io.Pipe() + + var printFunc func(args ...interface{}) + + // Determine which log function to use based on the specified log level + switch level { + case TraceLevel: + printFunc = entry.Trace + case DebugLevel: + printFunc = entry.Debug + case InfoLevel: + printFunc = entry.Info + case WarnLevel: + printFunc = entry.Warn + case ErrorLevel: + printFunc = entry.Error + case FatalLevel: + printFunc = entry.Fatal + case PanicLevel: + printFunc = entry.Panic + default: + printFunc = entry.Print + } + + // Start a new goroutine to scan the input and write it to the logger using the specified print function. + // It splits the input into chunks of up to 64KB to avoid buffer overflows. + go entry.writerScanner(reader, printFunc) + + // Set a finalizer function to close the writer when it is garbage collected + runtime.SetFinalizer(writer, writerFinalizer) + + return writer +} + +// writerScanner scans the input from the reader and writes it to the logger +func (entry *Entry) writerScanner(reader *io.PipeReader, printFunc func(args ...interface{})) { + scanner := bufio.NewScanner(reader) + + // Set the buffer size to the maximum token size to avoid buffer overflows + scanner.Buffer(make([]byte, bufio.MaxScanTokenSize), bufio.MaxScanTokenSize) + + // Define a split function to split the input into chunks of up to 64KB + chunkSize := bufio.MaxScanTokenSize // 64KB + splitFunc := func(data []byte, atEOF bool) (int, []byte, error) { + if len(data) >= chunkSize { + return chunkSize, data[:chunkSize], nil + } + + return bufio.ScanLines(data, atEOF) + } + + // Use the custom split function to split the input + scanner.Split(splitFunc) + + // Scan the input and write it to the logger using the specified print function + for scanner.Scan() { + printFunc(strings.TrimRight(scanner.Text(), "\r\n")) + } + + // If there was an error while scanning the input, log an error + if err := scanner.Err(); err != nil { + entry.Errorf("Error while reading from Writer: %s", err) + } + + // Close the reader when we are done + reader.Close() +} + +// WriterFinalizer is a finalizer function that closes then given writer when it is garbage collected +func writerFinalizer(writer *io.PipeWriter) { + writer.Close() +} diff --git a/vendor/github.com/spf13/cobra/.golangci.yml b/vendor/github.com/spf13/cobra/.golangci.yml index a618ec24d..2c8f4808c 100644 --- a/vendor/github.com/spf13/cobra/.golangci.yml +++ b/vendor/github.com/spf13/cobra/.golangci.yml @@ -26,33 +26,28 @@ linters: - errcheck #- exhaustive #- funlen - - gas #- gochecknoinits - goconst - #- gocritic + - gocritic #- gocyclo - #- gofmt + - gofmt - goimports - - golint #- gomnd #- goprintffuncname - #- gosec - #- gosimple + - gosec + - gosimple - govet - ineffassign - - interfacer #- lll - - maligned - - megacheck - #- misspell + - misspell #- nakedret #- noctx - #- nolintlint + - nolintlint #- rowserrcheck #- scopelint - #- staticcheck + - staticcheck #- structcheck ! deprecated since v1.49.0; replaced by 'unused' - #- stylecheck + - stylecheck #- typecheck - unconvert #- unparam diff --git a/vendor/github.com/spf13/cobra/active_help.go b/vendor/github.com/spf13/cobra/active_help.go index 5f965e057..25c30e3cc 100644 --- a/vendor/github.com/spf13/cobra/active_help.go +++ b/vendor/github.com/spf13/cobra/active_help.go @@ -17,21 +17,17 @@ package cobra import ( "fmt" "os" - "regexp" - "strings" ) const ( activeHelpMarker = "_activeHelp_ " // The below values should not be changed: programs will be using them explicitly // in their user documentation, and users will be using them explicitly. - activeHelpEnvVarSuffix = "_ACTIVE_HELP" - activeHelpGlobalEnvVar = "COBRA_ACTIVE_HELP" + activeHelpEnvVarSuffix = "ACTIVE_HELP" + activeHelpGlobalEnvVar = configEnvVarGlobalPrefix + "_" + activeHelpEnvVarSuffix activeHelpGlobalDisable = "0" ) -var activeHelpEnvVarPrefixSubstRegexp = regexp.MustCompile(`[^A-Z0-9_]`) - // AppendActiveHelp adds the specified string to the specified array to be used as ActiveHelp. // Such strings will be processed by the completion script and will be shown as ActiveHelp // to the user. @@ -60,8 +56,5 @@ func GetActiveHelpConfig(cmd *Command) string { // variable. It has the format _ACTIVE_HELP where is the name of the // root command in upper case, with all non-ASCII-alphanumeric characters replaced by `_`. func activeHelpEnvVar(name string) string { - // This format should not be changed: users will be using it explicitly. - activeHelpEnvVar := strings.ToUpper(fmt.Sprintf("%s%s", name, activeHelpEnvVarSuffix)) - activeHelpEnvVar = activeHelpEnvVarPrefixSubstRegexp.ReplaceAllString(activeHelpEnvVar, "_") - return activeHelpEnvVar + return configEnvVar(name, activeHelpEnvVarSuffix) } diff --git a/vendor/github.com/spf13/cobra/args.go b/vendor/github.com/spf13/cobra/args.go index e79ec33a8..ed1e70cea 100644 --- a/vendor/github.com/spf13/cobra/args.go +++ b/vendor/github.com/spf13/cobra/args.go @@ -52,9 +52,9 @@ func OnlyValidArgs(cmd *Command, args []string) error { if len(cmd.ValidArgs) > 0 { // Remove any description that may be included in ValidArgs. // A description is following a tab character. - var validArgs []string + validArgs := make([]string, 0, len(cmd.ValidArgs)) for _, v := range cmd.ValidArgs { - validArgs = append(validArgs, strings.Split(v, "\t")[0]) + validArgs = append(validArgs, strings.SplitN(v, "\t", 2)[0]) } for _, v := range args { if !stringInSlice(v, validArgs) { diff --git a/vendor/github.com/spf13/cobra/bash_completions.go b/vendor/github.com/spf13/cobra/bash_completions.go index 8a5315184..f4d198cbc 100644 --- a/vendor/github.com/spf13/cobra/bash_completions.go +++ b/vendor/github.com/spf13/cobra/bash_completions.go @@ -597,19 +597,16 @@ func writeRequiredFlag(buf io.StringWriter, cmd *Command) { if nonCompletableFlag(flag) { return } - for key := range flag.Annotations { - switch key { - case BashCompOneRequiredFlag: - format := " must_have_one_flag+=(\"--%s" - if flag.Value.Type() != "bool" { - format += "=" - } - format += cbn - WriteStringAndCheck(buf, fmt.Sprintf(format, flag.Name)) - - if len(flag.Shorthand) > 0 { - WriteStringAndCheck(buf, fmt.Sprintf(" must_have_one_flag+=(\"-%s"+cbn, flag.Shorthand)) - } + if _, ok := flag.Annotations[BashCompOneRequiredFlag]; ok { + format := " must_have_one_flag+=(\"--%s" + if flag.Value.Type() != "bool" { + format += "=" + } + format += cbn + WriteStringAndCheck(buf, fmt.Sprintf(format, flag.Name)) + + if len(flag.Shorthand) > 0 { + WriteStringAndCheck(buf, fmt.Sprintf(" must_have_one_flag+=(\"-%s"+cbn, flag.Shorthand)) } } }) @@ -621,7 +618,7 @@ func writeRequiredNouns(buf io.StringWriter, cmd *Command) { for _, value := range cmd.ValidArgs { // Remove any description that may be included following a tab character. // Descriptions are not supported by bash completion. - value = strings.Split(value, "\t")[0] + value = strings.SplitN(value, "\t", 2)[0] WriteStringAndCheck(buf, fmt.Sprintf(" must_have_one_noun+=(%q)\n", value)) } if cmd.ValidArgsFunction != nil { diff --git a/vendor/github.com/spf13/cobra/cobra.go b/vendor/github.com/spf13/cobra/cobra.go index a6b160ce5..e0b0947b0 100644 --- a/vendor/github.com/spf13/cobra/cobra.go +++ b/vendor/github.com/spf13/cobra/cobra.go @@ -193,8 +193,6 @@ func ld(s, t string, ignoreCase bool) int { d := make([][]int, len(s)+1) for i := range d { d[i] = make([]int, len(t)+1) - } - for i := range d { d[i][0] = i } for j := range d[0] { diff --git a/vendor/github.com/spf13/cobra/command.go b/vendor/github.com/spf13/cobra/command.go index 2fbe6c131..54748fc67 100644 --- a/vendor/github.com/spf13/cobra/command.go +++ b/vendor/github.com/spf13/cobra/command.go @@ -154,8 +154,10 @@ type Command struct { // pflags contains persistent flags. pflags *flag.FlagSet // lflags contains local flags. + // This field does not represent internal state, it's used as a cache to optimise LocalFlags function call lflags *flag.FlagSet // iflags contains inherited flags. + // This field does not represent internal state, it's used as a cache to optimise InheritedFlags function call iflags *flag.FlagSet // parentsPflags is all persistent flags of cmd's parents. parentsPflags *flag.FlagSet @@ -706,7 +708,7 @@ Loop: // This is not a flag or a flag value. Check to see if it matches what we're looking for, and if so, // return the args, excluding the one at this position. if s == x { - ret := []string{} + ret := make([]string, 0, len(args)-1) ret = append(ret, args[:pos]...) ret = append(ret, args[pos+1:]...) return ret @@ -754,14 +756,14 @@ func (c *Command) findSuggestions(arg string) string { if c.SuggestionsMinimumDistance <= 0 { c.SuggestionsMinimumDistance = 2 } - suggestionsString := "" + var sb strings.Builder if suggestions := c.SuggestionsFor(arg); len(suggestions) > 0 { - suggestionsString += "\n\nDid you mean this?\n" + sb.WriteString("\n\nDid you mean this?\n") for _, s := range suggestions { - suggestionsString += fmt.Sprintf("\t%v\n", s) + _, _ = fmt.Fprintf(&sb, "\t%v\n", s) } } - return suggestionsString + return sb.String() } func (c *Command) findNext(next string) *Command { @@ -873,7 +875,7 @@ func (c *Command) ArgsLenAtDash() int { func (c *Command) execute(a []string) (err error) { if c == nil { - return fmt.Errorf("Called Execute() on a nil Command") + return fmt.Errorf("called Execute() on a nil Command") } if len(c.Deprecated) > 0 { @@ -1187,10 +1189,11 @@ func (c *Command) InitDefaultHelpFlag() { c.mergePersistentFlags() if c.Flags().Lookup("help") == nil { usage := "help for " - if c.Name() == "" { + name := c.displayName() + if name == "" { usage += "this command" } else { - usage += c.Name() + usage += name } c.Flags().BoolP("help", "h", false, usage) _ = c.Flags().SetAnnotation("help", FlagSetByCobraAnnotation, []string{"true"}) @@ -1236,7 +1239,7 @@ func (c *Command) InitDefaultHelpCmd() { Use: "help [command]", Short: "Help about any command", Long: `Help provides help for any command in the application. -Simply type ` + c.Name() + ` help [path to command] for full details.`, +Simply type ` + c.displayName() + ` help [path to command] for full details.`, ValidArgsFunction: func(c *Command, args []string, toComplete string) ([]string, ShellCompDirective) { var completions []string cmd, _, e := c.Root().Find(args) @@ -1427,6 +1430,10 @@ func (c *Command) CommandPath() string { if c.HasParent() { return c.Parent().CommandPath() + " " + c.Name() } + return c.displayName() +} + +func (c *Command) displayName() string { if displayName, ok := c.Annotations[CommandDisplayNameAnnotation]; ok { return displayName } @@ -1436,10 +1443,11 @@ func (c *Command) CommandPath() string { // UseLine puts out the full usage for a given command (including parents). func (c *Command) UseLine() string { var useline string + use := strings.Replace(c.Use, c.Name(), c.displayName(), 1) if c.HasParent() { - useline = c.parent.CommandPath() + " " + c.Use + useline = c.parent.CommandPath() + " " + use } else { - useline = c.Use + useline = use } if c.DisableFlagsInUseLine { return useline @@ -1452,7 +1460,6 @@ func (c *Command) UseLine() string { // DebugFlags used to determine which flags have been assigned to which commands // and which persist. -// nolint:goconst func (c *Command) DebugFlags() { c.Println("DebugFlags called on", c.Name()) var debugflags func(*Command) @@ -1642,7 +1649,7 @@ func (c *Command) GlobalNormalizationFunc() func(f *flag.FlagSet, name string) f // to this command (local and persistent declared here and by all parents). func (c *Command) Flags() *flag.FlagSet { if c.flags == nil { - c.flags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + c.flags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError) if c.flagErrorBuf == nil { c.flagErrorBuf = new(bytes.Buffer) } @@ -1653,10 +1660,11 @@ func (c *Command) Flags() *flag.FlagSet { } // LocalNonPersistentFlags are flags specific to this command which will NOT persist to subcommands. +// This function does not modify the flags of the current command, it's purpose is to return the current state. func (c *Command) LocalNonPersistentFlags() *flag.FlagSet { persistentFlags := c.PersistentFlags() - out := flag.NewFlagSet(c.Name(), flag.ContinueOnError) + out := flag.NewFlagSet(c.displayName(), flag.ContinueOnError) c.LocalFlags().VisitAll(func(f *flag.Flag) { if persistentFlags.Lookup(f.Name) == nil { out.AddFlag(f) @@ -1666,11 +1674,12 @@ func (c *Command) LocalNonPersistentFlags() *flag.FlagSet { } // LocalFlags returns the local FlagSet specifically set in the current command. +// This function does not modify the flags of the current command, it's purpose is to return the current state. func (c *Command) LocalFlags() *flag.FlagSet { c.mergePersistentFlags() if c.lflags == nil { - c.lflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + c.lflags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError) if c.flagErrorBuf == nil { c.flagErrorBuf = new(bytes.Buffer) } @@ -1693,11 +1702,12 @@ func (c *Command) LocalFlags() *flag.FlagSet { } // InheritedFlags returns all flags which were inherited from parent commands. +// This function does not modify the flags of the current command, it's purpose is to return the current state. func (c *Command) InheritedFlags() *flag.FlagSet { c.mergePersistentFlags() if c.iflags == nil { - c.iflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + c.iflags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError) if c.flagErrorBuf == nil { c.flagErrorBuf = new(bytes.Buffer) } @@ -1718,6 +1728,7 @@ func (c *Command) InheritedFlags() *flag.FlagSet { } // NonInheritedFlags returns all flags which were not inherited from parent commands. +// This function does not modify the flags of the current command, it's purpose is to return the current state. func (c *Command) NonInheritedFlags() *flag.FlagSet { return c.LocalFlags() } @@ -1725,7 +1736,7 @@ func (c *Command) NonInheritedFlags() *flag.FlagSet { // PersistentFlags returns the persistent FlagSet specifically set in the current command. func (c *Command) PersistentFlags() *flag.FlagSet { if c.pflags == nil { - c.pflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + c.pflags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError) if c.flagErrorBuf == nil { c.flagErrorBuf = new(bytes.Buffer) } @@ -1738,9 +1749,9 @@ func (c *Command) PersistentFlags() *flag.FlagSet { func (c *Command) ResetFlags() { c.flagErrorBuf = new(bytes.Buffer) c.flagErrorBuf.Reset() - c.flags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + c.flags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError) c.flags.SetOutput(c.flagErrorBuf) - c.pflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + c.pflags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError) c.pflags.SetOutput(c.flagErrorBuf) c.lflags = nil @@ -1857,7 +1868,7 @@ func (c *Command) mergePersistentFlags() { // If c.parentsPflags == nil, it makes new. func (c *Command) updateParentsPflags() { if c.parentsPflags == nil { - c.parentsPflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + c.parentsPflags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError) c.parentsPflags.SetOutput(c.flagErrorBuf) c.parentsPflags.SortFlags = false } diff --git a/vendor/github.com/spf13/cobra/completions.go b/vendor/github.com/spf13/cobra/completions.go index b60f6b200..c0c08b057 100644 --- a/vendor/github.com/spf13/cobra/completions.go +++ b/vendor/github.com/spf13/cobra/completions.go @@ -17,6 +17,8 @@ package cobra import ( "fmt" "os" + "regexp" + "strconv" "strings" "sync" @@ -211,24 +213,29 @@ func (c *Command) initCompleteCmd(args []string) { // 2- Even without completions, we need to print the directive } - noDescriptions := (cmd.CalledAs() == ShellCompNoDescRequestCmd) + noDescriptions := cmd.CalledAs() == ShellCompNoDescRequestCmd + if !noDescriptions { + if doDescriptions, err := strconv.ParseBool(getEnvConfig(cmd, configEnvVarSuffixDescriptions)); err == nil { + noDescriptions = !doDescriptions + } + } + noActiveHelp := GetActiveHelpConfig(finalCmd) == activeHelpGlobalDisable + out := finalCmd.OutOrStdout() for _, comp := range completions { - if GetActiveHelpConfig(finalCmd) == activeHelpGlobalDisable { - // Remove all activeHelp entries in this case - if strings.HasPrefix(comp, activeHelpMarker) { - continue - } + if noActiveHelp && strings.HasPrefix(comp, activeHelpMarker) { + // Remove all activeHelp entries if it's disabled. + continue } if noDescriptions { // Remove any description that may be included following a tab character. - comp = strings.Split(comp, "\t")[0] + comp = strings.SplitN(comp, "\t", 2)[0] } // Make sure we only write the first line to the output. // This is needed if a description contains a linebreak. // Otherwise the shell scripts will interpret the other lines as new flags // and could therefore provide a wrong completion. - comp = strings.Split(comp, "\n")[0] + comp = strings.SplitN(comp, "\n", 2)[0] // Finally trim the completion. This is especially important to get rid // of a trailing tab when there are no description following it. @@ -237,14 +244,14 @@ func (c *Command) initCompleteCmd(args []string) { // although there is no description). comp = strings.TrimSpace(comp) - // Print each possible completion to stdout for the completion script to consume. - fmt.Fprintln(finalCmd.OutOrStdout(), comp) + // Print each possible completion to the output for the completion script to consume. + fmt.Fprintln(out, comp) } // As the last printout, print the completion directive for the completion script to parse. // The directive integer must be that last character following a single colon (:). // The completion script expects : - fmt.Fprintf(finalCmd.OutOrStdout(), ":%d\n", directive) + fmt.Fprintf(out, ":%d\n", directive) // Print some helpful info to stderr for the user to understand. // Output from stderr must be ignored by the completion script. @@ -291,7 +298,7 @@ func (c *Command) getCompletions(args []string) (*Command, []string, ShellCompDi } if err != nil { // Unable to find the real command. E.g., someInvalidCmd - return c, []string{}, ShellCompDirectiveDefault, fmt.Errorf("Unable to find a command for arguments: %v", trimmedArgs) + return c, []string{}, ShellCompDirectiveDefault, fmt.Errorf("unable to find a command for arguments: %v", trimmedArgs) } finalCmd.ctx = c.ctx @@ -899,3 +906,34 @@ func CompError(msg string) { func CompErrorln(msg string) { CompError(fmt.Sprintf("%s\n", msg)) } + +// These values should not be changed: users will be using them explicitly. +const ( + configEnvVarGlobalPrefix = "COBRA" + configEnvVarSuffixDescriptions = "COMPLETION_DESCRIPTIONS" +) + +var configEnvVarPrefixSubstRegexp = regexp.MustCompile(`[^A-Z0-9_]`) + +// configEnvVar returns the name of the program-specific configuration environment +// variable. It has the format _ where is the name of the +// root command in upper case, with all non-ASCII-alphanumeric characters replaced by `_`. +func configEnvVar(name, suffix string) string { + // This format should not be changed: users will be using it explicitly. + v := strings.ToUpper(fmt.Sprintf("%s_%s", name, suffix)) + v = configEnvVarPrefixSubstRegexp.ReplaceAllString(v, "_") + return v +} + +// getEnvConfig returns the value of the configuration environment variable +// _ where is the name of the root command in upper +// case, with all non-ASCII-alphanumeric characters replaced by `_`. +// If the value is empty or not set, the value of the environment variable +// COBRA_ is returned instead. +func getEnvConfig(cmd *Command, suffix string) string { + v := os.Getenv(configEnvVar(cmd.Root().Name(), suffix)) + if v == "" { + v = os.Getenv(configEnvVar(configEnvVarGlobalPrefix, suffix)) + } + return v +} diff --git a/vendor/github.com/spf13/cobra/flag_groups.go b/vendor/github.com/spf13/cobra/flag_groups.go index 0671ec5f2..560612fd3 100644 --- a/vendor/github.com/spf13/cobra/flag_groups.go +++ b/vendor/github.com/spf13/cobra/flag_groups.go @@ -23,9 +23,9 @@ import ( ) const ( - requiredAsGroup = "cobra_annotation_required_if_others_set" - oneRequired = "cobra_annotation_one_required" - mutuallyExclusive = "cobra_annotation_mutually_exclusive" + requiredAsGroupAnnotation = "cobra_annotation_required_if_others_set" + oneRequiredAnnotation = "cobra_annotation_one_required" + mutuallyExclusiveAnnotation = "cobra_annotation_mutually_exclusive" ) // MarkFlagsRequiredTogether marks the given flags with annotations so that Cobra errors @@ -37,7 +37,7 @@ func (c *Command) MarkFlagsRequiredTogether(flagNames ...string) { if f == nil { panic(fmt.Sprintf("Failed to find flag %q and mark it as being required in a flag group", v)) } - if err := c.Flags().SetAnnotation(v, requiredAsGroup, append(f.Annotations[requiredAsGroup], strings.Join(flagNames, " "))); err != nil { + if err := c.Flags().SetAnnotation(v, requiredAsGroupAnnotation, append(f.Annotations[requiredAsGroupAnnotation], strings.Join(flagNames, " "))); err != nil { // Only errs if the flag isn't found. panic(err) } @@ -53,7 +53,7 @@ func (c *Command) MarkFlagsOneRequired(flagNames ...string) { if f == nil { panic(fmt.Sprintf("Failed to find flag %q and mark it as being in a one-required flag group", v)) } - if err := c.Flags().SetAnnotation(v, oneRequired, append(f.Annotations[oneRequired], strings.Join(flagNames, " "))); err != nil { + if err := c.Flags().SetAnnotation(v, oneRequiredAnnotation, append(f.Annotations[oneRequiredAnnotation], strings.Join(flagNames, " "))); err != nil { // Only errs if the flag isn't found. panic(err) } @@ -70,7 +70,7 @@ func (c *Command) MarkFlagsMutuallyExclusive(flagNames ...string) { panic(fmt.Sprintf("Failed to find flag %q and mark it as being in a mutually exclusive flag group", v)) } // Each time this is called is a single new entry; this allows it to be a member of multiple groups if needed. - if err := c.Flags().SetAnnotation(v, mutuallyExclusive, append(f.Annotations[mutuallyExclusive], strings.Join(flagNames, " "))); err != nil { + if err := c.Flags().SetAnnotation(v, mutuallyExclusiveAnnotation, append(f.Annotations[mutuallyExclusiveAnnotation], strings.Join(flagNames, " "))); err != nil { panic(err) } } @@ -91,9 +91,9 @@ func (c *Command) ValidateFlagGroups() error { oneRequiredGroupStatus := map[string]map[string]bool{} mutuallyExclusiveGroupStatus := map[string]map[string]bool{} flags.VisitAll(func(pflag *flag.Flag) { - processFlagForGroupAnnotation(flags, pflag, requiredAsGroup, groupStatus) - processFlagForGroupAnnotation(flags, pflag, oneRequired, oneRequiredGroupStatus) - processFlagForGroupAnnotation(flags, pflag, mutuallyExclusive, mutuallyExclusiveGroupStatus) + processFlagForGroupAnnotation(flags, pflag, requiredAsGroupAnnotation, groupStatus) + processFlagForGroupAnnotation(flags, pflag, oneRequiredAnnotation, oneRequiredGroupStatus) + processFlagForGroupAnnotation(flags, pflag, mutuallyExclusiveAnnotation, mutuallyExclusiveGroupStatus) }) if err := validateRequiredFlagGroups(groupStatus); err != nil { @@ -130,7 +130,7 @@ func processFlagForGroupAnnotation(flags *flag.FlagSet, pflag *flag.Flag, annota continue } - groupStatus[group] = map[string]bool{} + groupStatus[group] = make(map[string]bool, len(flagnames)) for _, name := range flagnames { groupStatus[group][name] = false } @@ -232,9 +232,9 @@ func (c *Command) enforceFlagGroupsForCompletion() { oneRequiredGroupStatus := map[string]map[string]bool{} mutuallyExclusiveGroupStatus := map[string]map[string]bool{} c.Flags().VisitAll(func(pflag *flag.Flag) { - processFlagForGroupAnnotation(flags, pflag, requiredAsGroup, groupStatus) - processFlagForGroupAnnotation(flags, pflag, oneRequired, oneRequiredGroupStatus) - processFlagForGroupAnnotation(flags, pflag, mutuallyExclusive, mutuallyExclusiveGroupStatus) + processFlagForGroupAnnotation(flags, pflag, requiredAsGroupAnnotation, groupStatus) + processFlagForGroupAnnotation(flags, pflag, oneRequiredAnnotation, oneRequiredGroupStatus) + processFlagForGroupAnnotation(flags, pflag, mutuallyExclusiveAnnotation, mutuallyExclusiveGroupStatus) }) // If a flag that is part of a group is present, we make all the other flags @@ -253,17 +253,17 @@ func (c *Command) enforceFlagGroupsForCompletion() { // If none of the flags of a one-required group are present, we make all the flags // of that group required so that the shell completion suggests them automatically for flagList, flagnameAndStatus := range oneRequiredGroupStatus { - set := 0 + isSet := false - for _, isSet := range flagnameAndStatus { + for _, isSet = range flagnameAndStatus { if isSet { - set++ + break } } // None of the flags of the group are set, mark all flags in the group // as required - if set == 0 { + if !isSet { for _, fName := range strings.Split(flagList, " ") { _ = c.MarkFlagRequired(fName) } diff --git a/vendor/github.com/spf13/cobra/powershell_completions.go b/vendor/github.com/spf13/cobra/powershell_completions.go index 551951939..a830b7bca 100644 --- a/vendor/github.com/spf13/cobra/powershell_completions.go +++ b/vendor/github.com/spf13/cobra/powershell_completions.go @@ -28,8 +28,8 @@ import ( func genPowerShellComp(buf io.StringWriter, name string, includeDesc bool) { // Variables should not contain a '-' or ':' character nameForVar := name - nameForVar = strings.Replace(nameForVar, "-", "_", -1) - nameForVar = strings.Replace(nameForVar, ":", "_", -1) + nameForVar = strings.ReplaceAll(nameForVar, "-", "_") + nameForVar = strings.ReplaceAll(nameForVar, ":", "_") compCmd := ShellCompRequestCmd if !includeDesc { diff --git a/vendor/go.bytebuilders.dev/license-verifier/Makefile b/vendor/go.bytebuilders.dev/license-verifier/Makefile index e980103c6..0ccdbc757 100644 --- a/vendor/go.bytebuilders.dev/license-verifier/Makefile +++ b/vendor/go.bytebuilders.dev/license-verifier/Makefile @@ -64,7 +64,7 @@ ARCH := $(if $(GOARCH),$(GOARCH),$(shell go env GOARCH)) BASEIMAGE_PROD ?= gcr.io/distroless/static-debian11 BASEIMAGE_DBG ?= debian:bullseye -GO_VERSION ?= 1.22 +GO_VERSION ?= 1.23 BUILD_IMAGE ?= ghcr.io/appscode/golang-dev:$(GO_VERSION) OUTBIN = bin/$(OS)_$(ARCH)/$(BIN) diff --git a/vendor/golang.org/x/net/LICENSE b/vendor/golang.org/x/net/LICENSE index 6a66aea5e..2a7cf70da 100644 --- a/vendor/golang.org/x/net/LICENSE +++ b/vendor/golang.org/x/net/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2009 The Go Authors. All rights reserved. +Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -10,7 +10,7 @@ notice, this list of conditions and the following disclaimer. copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. diff --git a/vendor/golang.org/x/net/internal/socks/client.go b/vendor/golang.org/x/net/internal/socks/client.go new file mode 100644 index 000000000..3d6f516a5 --- /dev/null +++ b/vendor/golang.org/x/net/internal/socks/client.go @@ -0,0 +1,168 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package socks + +import ( + "context" + "errors" + "io" + "net" + "strconv" + "time" +) + +var ( + noDeadline = time.Time{} + aLongTimeAgo = time.Unix(1, 0) +) + +func (d *Dialer) connect(ctx context.Context, c net.Conn, address string) (_ net.Addr, ctxErr error) { + host, port, err := splitHostPort(address) + if err != nil { + return nil, err + } + if deadline, ok := ctx.Deadline(); ok && !deadline.IsZero() { + c.SetDeadline(deadline) + defer c.SetDeadline(noDeadline) + } + if ctx != context.Background() { + errCh := make(chan error, 1) + done := make(chan struct{}) + defer func() { + close(done) + if ctxErr == nil { + ctxErr = <-errCh + } + }() + go func() { + select { + case <-ctx.Done(): + c.SetDeadline(aLongTimeAgo) + errCh <- ctx.Err() + case <-done: + errCh <- nil + } + }() + } + + b := make([]byte, 0, 6+len(host)) // the size here is just an estimate + b = append(b, Version5) + if len(d.AuthMethods) == 0 || d.Authenticate == nil { + b = append(b, 1, byte(AuthMethodNotRequired)) + } else { + ams := d.AuthMethods + if len(ams) > 255 { + return nil, errors.New("too many authentication methods") + } + b = append(b, byte(len(ams))) + for _, am := range ams { + b = append(b, byte(am)) + } + } + if _, ctxErr = c.Write(b); ctxErr != nil { + return + } + + if _, ctxErr = io.ReadFull(c, b[:2]); ctxErr != nil { + return + } + if b[0] != Version5 { + return nil, errors.New("unexpected protocol version " + strconv.Itoa(int(b[0]))) + } + am := AuthMethod(b[1]) + if am == AuthMethodNoAcceptableMethods { + return nil, errors.New("no acceptable authentication methods") + } + if d.Authenticate != nil { + if ctxErr = d.Authenticate(ctx, c, am); ctxErr != nil { + return + } + } + + b = b[:0] + b = append(b, Version5, byte(d.cmd), 0) + if ip := net.ParseIP(host); ip != nil { + if ip4 := ip.To4(); ip4 != nil { + b = append(b, AddrTypeIPv4) + b = append(b, ip4...) + } else if ip6 := ip.To16(); ip6 != nil { + b = append(b, AddrTypeIPv6) + b = append(b, ip6...) + } else { + return nil, errors.New("unknown address type") + } + } else { + if len(host) > 255 { + return nil, errors.New("FQDN too long") + } + b = append(b, AddrTypeFQDN) + b = append(b, byte(len(host))) + b = append(b, host...) + } + b = append(b, byte(port>>8), byte(port)) + if _, ctxErr = c.Write(b); ctxErr != nil { + return + } + + if _, ctxErr = io.ReadFull(c, b[:4]); ctxErr != nil { + return + } + if b[0] != Version5 { + return nil, errors.New("unexpected protocol version " + strconv.Itoa(int(b[0]))) + } + if cmdErr := Reply(b[1]); cmdErr != StatusSucceeded { + return nil, errors.New("unknown error " + cmdErr.String()) + } + if b[2] != 0 { + return nil, errors.New("non-zero reserved field") + } + l := 2 + var a Addr + switch b[3] { + case AddrTypeIPv4: + l += net.IPv4len + a.IP = make(net.IP, net.IPv4len) + case AddrTypeIPv6: + l += net.IPv6len + a.IP = make(net.IP, net.IPv6len) + case AddrTypeFQDN: + if _, err := io.ReadFull(c, b[:1]); err != nil { + return nil, err + } + l += int(b[0]) + default: + return nil, errors.New("unknown address type " + strconv.Itoa(int(b[3]))) + } + if cap(b) < l { + b = make([]byte, l) + } else { + b = b[:l] + } + if _, ctxErr = io.ReadFull(c, b); ctxErr != nil { + return + } + if a.IP != nil { + copy(a.IP, b) + } else { + a.Name = string(b[:len(b)-2]) + } + a.Port = int(b[len(b)-2])<<8 | int(b[len(b)-1]) + return &a, nil +} + +func splitHostPort(address string) (string, int, error) { + host, port, err := net.SplitHostPort(address) + if err != nil { + return "", 0, err + } + portnum, err := strconv.Atoi(port) + if err != nil { + return "", 0, err + } + if 1 > portnum || portnum > 0xffff { + return "", 0, errors.New("port number out of range " + port) + } + return host, portnum, nil +} diff --git a/vendor/golang.org/x/net/internal/socks/socks.go b/vendor/golang.org/x/net/internal/socks/socks.go new file mode 100644 index 000000000..84fcc32b6 --- /dev/null +++ b/vendor/golang.org/x/net/internal/socks/socks.go @@ -0,0 +1,317 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package socks provides a SOCKS version 5 client implementation. +// +// SOCKS protocol version 5 is defined in RFC 1928. +// Username/Password authentication for SOCKS version 5 is defined in +// RFC 1929. +package socks + +import ( + "context" + "errors" + "io" + "net" + "strconv" +) + +// A Command represents a SOCKS command. +type Command int + +func (cmd Command) String() string { + switch cmd { + case CmdConnect: + return "socks connect" + case cmdBind: + return "socks bind" + default: + return "socks " + strconv.Itoa(int(cmd)) + } +} + +// An AuthMethod represents a SOCKS authentication method. +type AuthMethod int + +// A Reply represents a SOCKS command reply code. +type Reply int + +func (code Reply) String() string { + switch code { + case StatusSucceeded: + return "succeeded" + case 0x01: + return "general SOCKS server failure" + case 0x02: + return "connection not allowed by ruleset" + case 0x03: + return "network unreachable" + case 0x04: + return "host unreachable" + case 0x05: + return "connection refused" + case 0x06: + return "TTL expired" + case 0x07: + return "command not supported" + case 0x08: + return "address type not supported" + default: + return "unknown code: " + strconv.Itoa(int(code)) + } +} + +// Wire protocol constants. +const ( + Version5 = 0x05 + + AddrTypeIPv4 = 0x01 + AddrTypeFQDN = 0x03 + AddrTypeIPv6 = 0x04 + + CmdConnect Command = 0x01 // establishes an active-open forward proxy connection + cmdBind Command = 0x02 // establishes a passive-open forward proxy connection + + AuthMethodNotRequired AuthMethod = 0x00 // no authentication required + AuthMethodUsernamePassword AuthMethod = 0x02 // use username/password + AuthMethodNoAcceptableMethods AuthMethod = 0xff // no acceptable authentication methods + + StatusSucceeded Reply = 0x00 +) + +// An Addr represents a SOCKS-specific address. +// Either Name or IP is used exclusively. +type Addr struct { + Name string // fully-qualified domain name + IP net.IP + Port int +} + +func (a *Addr) Network() string { return "socks" } + +func (a *Addr) String() string { + if a == nil { + return "" + } + port := strconv.Itoa(a.Port) + if a.IP == nil { + return net.JoinHostPort(a.Name, port) + } + return net.JoinHostPort(a.IP.String(), port) +} + +// A Conn represents a forward proxy connection. +type Conn struct { + net.Conn + + boundAddr net.Addr +} + +// BoundAddr returns the address assigned by the proxy server for +// connecting to the command target address from the proxy server. +func (c *Conn) BoundAddr() net.Addr { + if c == nil { + return nil + } + return c.boundAddr +} + +// A Dialer holds SOCKS-specific options. +type Dialer struct { + cmd Command // either CmdConnect or cmdBind + proxyNetwork string // network between a proxy server and a client + proxyAddress string // proxy server address + + // ProxyDial specifies the optional dial function for + // establishing the transport connection. + ProxyDial func(context.Context, string, string) (net.Conn, error) + + // AuthMethods specifies the list of request authentication + // methods. + // If empty, SOCKS client requests only AuthMethodNotRequired. + AuthMethods []AuthMethod + + // Authenticate specifies the optional authentication + // function. It must be non-nil when AuthMethods is not empty. + // It must return an error when the authentication is failed. + Authenticate func(context.Context, io.ReadWriter, AuthMethod) error +} + +// DialContext connects to the provided address on the provided +// network. +// +// The returned error value may be a net.OpError. When the Op field of +// net.OpError contains "socks", the Source field contains a proxy +// server address and the Addr field contains a command target +// address. +// +// See func Dial of the net package of standard library for a +// description of the network and address parameters. +func (d *Dialer) DialContext(ctx context.Context, network, address string) (net.Conn, error) { + if err := d.validateTarget(network, address); err != nil { + proxy, dst, _ := d.pathAddrs(address) + return nil, &net.OpError{Op: d.cmd.String(), Net: network, Source: proxy, Addr: dst, Err: err} + } + if ctx == nil { + proxy, dst, _ := d.pathAddrs(address) + return nil, &net.OpError{Op: d.cmd.String(), Net: network, Source: proxy, Addr: dst, Err: errors.New("nil context")} + } + var err error + var c net.Conn + if d.ProxyDial != nil { + c, err = d.ProxyDial(ctx, d.proxyNetwork, d.proxyAddress) + } else { + var dd net.Dialer + c, err = dd.DialContext(ctx, d.proxyNetwork, d.proxyAddress) + } + if err != nil { + proxy, dst, _ := d.pathAddrs(address) + return nil, &net.OpError{Op: d.cmd.String(), Net: network, Source: proxy, Addr: dst, Err: err} + } + a, err := d.connect(ctx, c, address) + if err != nil { + c.Close() + proxy, dst, _ := d.pathAddrs(address) + return nil, &net.OpError{Op: d.cmd.String(), Net: network, Source: proxy, Addr: dst, Err: err} + } + return &Conn{Conn: c, boundAddr: a}, nil +} + +// DialWithConn initiates a connection from SOCKS server to the target +// network and address using the connection c that is already +// connected to the SOCKS server. +// +// It returns the connection's local address assigned by the SOCKS +// server. +func (d *Dialer) DialWithConn(ctx context.Context, c net.Conn, network, address string) (net.Addr, error) { + if err := d.validateTarget(network, address); err != nil { + proxy, dst, _ := d.pathAddrs(address) + return nil, &net.OpError{Op: d.cmd.String(), Net: network, Source: proxy, Addr: dst, Err: err} + } + if ctx == nil { + proxy, dst, _ := d.pathAddrs(address) + return nil, &net.OpError{Op: d.cmd.String(), Net: network, Source: proxy, Addr: dst, Err: errors.New("nil context")} + } + a, err := d.connect(ctx, c, address) + if err != nil { + proxy, dst, _ := d.pathAddrs(address) + return nil, &net.OpError{Op: d.cmd.String(), Net: network, Source: proxy, Addr: dst, Err: err} + } + return a, nil +} + +// Dial connects to the provided address on the provided network. +// +// Unlike DialContext, it returns a raw transport connection instead +// of a forward proxy connection. +// +// Deprecated: Use DialContext or DialWithConn instead. +func (d *Dialer) Dial(network, address string) (net.Conn, error) { + if err := d.validateTarget(network, address); err != nil { + proxy, dst, _ := d.pathAddrs(address) + return nil, &net.OpError{Op: d.cmd.String(), Net: network, Source: proxy, Addr: dst, Err: err} + } + var err error + var c net.Conn + if d.ProxyDial != nil { + c, err = d.ProxyDial(context.Background(), d.proxyNetwork, d.proxyAddress) + } else { + c, err = net.Dial(d.proxyNetwork, d.proxyAddress) + } + if err != nil { + proxy, dst, _ := d.pathAddrs(address) + return nil, &net.OpError{Op: d.cmd.String(), Net: network, Source: proxy, Addr: dst, Err: err} + } + if _, err := d.DialWithConn(context.Background(), c, network, address); err != nil { + c.Close() + return nil, err + } + return c, nil +} + +func (d *Dialer) validateTarget(network, address string) error { + switch network { + case "tcp", "tcp6", "tcp4": + default: + return errors.New("network not implemented") + } + switch d.cmd { + case CmdConnect, cmdBind: + default: + return errors.New("command not implemented") + } + return nil +} + +func (d *Dialer) pathAddrs(address string) (proxy, dst net.Addr, err error) { + for i, s := range []string{d.proxyAddress, address} { + host, port, err := splitHostPort(s) + if err != nil { + return nil, nil, err + } + a := &Addr{Port: port} + a.IP = net.ParseIP(host) + if a.IP == nil { + a.Name = host + } + if i == 0 { + proxy = a + } else { + dst = a + } + } + return +} + +// NewDialer returns a new Dialer that dials through the provided +// proxy server's network and address. +func NewDialer(network, address string) *Dialer { + return &Dialer{proxyNetwork: network, proxyAddress: address, cmd: CmdConnect} +} + +const ( + authUsernamePasswordVersion = 0x01 + authStatusSucceeded = 0x00 +) + +// UsernamePassword are the credentials for the username/password +// authentication method. +type UsernamePassword struct { + Username string + Password string +} + +// Authenticate authenticates a pair of username and password with the +// proxy server. +func (up *UsernamePassword) Authenticate(ctx context.Context, rw io.ReadWriter, auth AuthMethod) error { + switch auth { + case AuthMethodNotRequired: + return nil + case AuthMethodUsernamePassword: + if len(up.Username) == 0 || len(up.Username) > 255 || len(up.Password) > 255 { + return errors.New("invalid username/password") + } + b := []byte{authUsernamePasswordVersion} + b = append(b, byte(len(up.Username))) + b = append(b, up.Username...) + b = append(b, byte(len(up.Password))) + b = append(b, up.Password...) + // TODO(mikio): handle IO deadlines and cancelation if + // necessary + if _, err := rw.Write(b); err != nil { + return err + } + if _, err := io.ReadFull(rw, b[:2]); err != nil { + return err + } + if b[0] != authUsernamePasswordVersion { + return errors.New("invalid username/password version") + } + if b[1] != authStatusSucceeded { + return errors.New("username/password authentication failed") + } + return nil + } + return errors.New("unsupported authentication method " + strconv.Itoa(int(auth))) +} diff --git a/vendor/golang.org/x/net/proxy/dial.go b/vendor/golang.org/x/net/proxy/dial.go new file mode 100644 index 000000000..811c2e4e9 --- /dev/null +++ b/vendor/golang.org/x/net/proxy/dial.go @@ -0,0 +1,54 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proxy + +import ( + "context" + "net" +) + +// A ContextDialer dials using a context. +type ContextDialer interface { + DialContext(ctx context.Context, network, address string) (net.Conn, error) +} + +// Dial works like DialContext on net.Dialer but using a dialer returned by FromEnvironment. +// +// The passed ctx is only used for returning the Conn, not the lifetime of the Conn. +// +// Custom dialers (registered via RegisterDialerType) that do not implement ContextDialer +// can leak a goroutine for as long as it takes the underlying Dialer implementation to timeout. +// +// A Conn returned from a successful Dial after the context has been cancelled will be immediately closed. +func Dial(ctx context.Context, network, address string) (net.Conn, error) { + d := FromEnvironment() + if xd, ok := d.(ContextDialer); ok { + return xd.DialContext(ctx, network, address) + } + return dialContext(ctx, d, network, address) +} + +// WARNING: this can leak a goroutine for as long as the underlying Dialer implementation takes to timeout +// A Conn returned from a successful Dial after the context has been cancelled will be immediately closed. +func dialContext(ctx context.Context, d Dialer, network, address string) (net.Conn, error) { + var ( + conn net.Conn + done = make(chan struct{}, 1) + err error + ) + go func() { + conn, err = d.Dial(network, address) + close(done) + if conn != nil && ctx.Err() != nil { + conn.Close() + } + }() + select { + case <-ctx.Done(): + err = ctx.Err() + case <-done: + } + return conn, err +} diff --git a/vendor/golang.org/x/net/proxy/direct.go b/vendor/golang.org/x/net/proxy/direct.go new file mode 100644 index 000000000..3d66bdef9 --- /dev/null +++ b/vendor/golang.org/x/net/proxy/direct.go @@ -0,0 +1,31 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proxy + +import ( + "context" + "net" +) + +type direct struct{} + +// Direct implements Dialer by making network connections directly using net.Dial or net.DialContext. +var Direct = direct{} + +var ( + _ Dialer = Direct + _ ContextDialer = Direct +) + +// Dial directly invokes net.Dial with the supplied parameters. +func (direct) Dial(network, addr string) (net.Conn, error) { + return net.Dial(network, addr) +} + +// DialContext instantiates a net.Dialer and invokes its DialContext receiver with the supplied parameters. +func (direct) DialContext(ctx context.Context, network, addr string) (net.Conn, error) { + var d net.Dialer + return d.DialContext(ctx, network, addr) +} diff --git a/vendor/golang.org/x/net/proxy/per_host.go b/vendor/golang.org/x/net/proxy/per_host.go new file mode 100644 index 000000000..d7d4b8b6e --- /dev/null +++ b/vendor/golang.org/x/net/proxy/per_host.go @@ -0,0 +1,151 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proxy + +import ( + "context" + "net" + "strings" +) + +// A PerHost directs connections to a default Dialer unless the host name +// requested matches one of a number of exceptions. +type PerHost struct { + def, bypass Dialer + + bypassNetworks []*net.IPNet + bypassIPs []net.IP + bypassZones []string + bypassHosts []string +} + +// NewPerHost returns a PerHost Dialer that directs connections to either +// defaultDialer or bypass, depending on whether the connection matches one of +// the configured rules. +func NewPerHost(defaultDialer, bypass Dialer) *PerHost { + return &PerHost{ + def: defaultDialer, + bypass: bypass, + } +} + +// Dial connects to the address addr on the given network through either +// defaultDialer or bypass. +func (p *PerHost) Dial(network, addr string) (c net.Conn, err error) { + host, _, err := net.SplitHostPort(addr) + if err != nil { + return nil, err + } + + return p.dialerForRequest(host).Dial(network, addr) +} + +// DialContext connects to the address addr on the given network through either +// defaultDialer or bypass. +func (p *PerHost) DialContext(ctx context.Context, network, addr string) (c net.Conn, err error) { + host, _, err := net.SplitHostPort(addr) + if err != nil { + return nil, err + } + d := p.dialerForRequest(host) + if x, ok := d.(ContextDialer); ok { + return x.DialContext(ctx, network, addr) + } + return dialContext(ctx, d, network, addr) +} + +func (p *PerHost) dialerForRequest(host string) Dialer { + if ip := net.ParseIP(host); ip != nil { + for _, net := range p.bypassNetworks { + if net.Contains(ip) { + return p.bypass + } + } + for _, bypassIP := range p.bypassIPs { + if bypassIP.Equal(ip) { + return p.bypass + } + } + return p.def + } + + for _, zone := range p.bypassZones { + if strings.HasSuffix(host, zone) { + return p.bypass + } + if host == zone[1:] { + // For a zone ".example.com", we match "example.com" + // too. + return p.bypass + } + } + for _, bypassHost := range p.bypassHosts { + if bypassHost == host { + return p.bypass + } + } + return p.def +} + +// AddFromString parses a string that contains comma-separated values +// specifying hosts that should use the bypass proxy. Each value is either an +// IP address, a CIDR range, a zone (*.example.com) or a host name +// (localhost). A best effort is made to parse the string and errors are +// ignored. +func (p *PerHost) AddFromString(s string) { + hosts := strings.Split(s, ",") + for _, host := range hosts { + host = strings.TrimSpace(host) + if len(host) == 0 { + continue + } + if strings.Contains(host, "/") { + // We assume that it's a CIDR address like 127.0.0.0/8 + if _, net, err := net.ParseCIDR(host); err == nil { + p.AddNetwork(net) + } + continue + } + if ip := net.ParseIP(host); ip != nil { + p.AddIP(ip) + continue + } + if strings.HasPrefix(host, "*.") { + p.AddZone(host[1:]) + continue + } + p.AddHost(host) + } +} + +// AddIP specifies an IP address that will use the bypass proxy. Note that +// this will only take effect if a literal IP address is dialed. A connection +// to a named host will never match an IP. +func (p *PerHost) AddIP(ip net.IP) { + p.bypassIPs = append(p.bypassIPs, ip) +} + +// AddNetwork specifies an IP range that will use the bypass proxy. Note that +// this will only take effect if a literal IP address is dialed. A connection +// to a named host will never match. +func (p *PerHost) AddNetwork(net *net.IPNet) { + p.bypassNetworks = append(p.bypassNetworks, net) +} + +// AddZone specifies a DNS suffix that will use the bypass proxy. A zone of +// "example.com" matches "example.com" and all of its subdomains. +func (p *PerHost) AddZone(zone string) { + zone = strings.TrimSuffix(zone, ".") + if !strings.HasPrefix(zone, ".") { + zone = "." + zone + } + p.bypassZones = append(p.bypassZones, zone) +} + +// AddHost specifies a host name that will use the bypass proxy. +func (p *PerHost) AddHost(host string) { + host = strings.TrimSuffix(host, ".") + p.bypassHosts = append(p.bypassHosts, host) +} diff --git a/vendor/golang.org/x/net/proxy/proxy.go b/vendor/golang.org/x/net/proxy/proxy.go new file mode 100644 index 000000000..9ff4b9a77 --- /dev/null +++ b/vendor/golang.org/x/net/proxy/proxy.go @@ -0,0 +1,149 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package proxy provides support for a variety of protocols to proxy network +// data. +package proxy // import "golang.org/x/net/proxy" + +import ( + "errors" + "net" + "net/url" + "os" + "sync" +) + +// A Dialer is a means to establish a connection. +// Custom dialers should also implement ContextDialer. +type Dialer interface { + // Dial connects to the given address via the proxy. + Dial(network, addr string) (c net.Conn, err error) +} + +// Auth contains authentication parameters that specific Dialers may require. +type Auth struct { + User, Password string +} + +// FromEnvironment returns the dialer specified by the proxy-related +// variables in the environment and makes underlying connections +// directly. +func FromEnvironment() Dialer { + return FromEnvironmentUsing(Direct) +} + +// FromEnvironmentUsing returns the dialer specify by the proxy-related +// variables in the environment and makes underlying connections +// using the provided forwarding Dialer (for instance, a *net.Dialer +// with desired configuration). +func FromEnvironmentUsing(forward Dialer) Dialer { + allProxy := allProxyEnv.Get() + if len(allProxy) == 0 { + return forward + } + + proxyURL, err := url.Parse(allProxy) + if err != nil { + return forward + } + proxy, err := FromURL(proxyURL, forward) + if err != nil { + return forward + } + + noProxy := noProxyEnv.Get() + if len(noProxy) == 0 { + return proxy + } + + perHost := NewPerHost(proxy, forward) + perHost.AddFromString(noProxy) + return perHost +} + +// proxySchemes is a map from URL schemes to a function that creates a Dialer +// from a URL with such a scheme. +var proxySchemes map[string]func(*url.URL, Dialer) (Dialer, error) + +// RegisterDialerType takes a URL scheme and a function to generate Dialers from +// a URL with that scheme and a forwarding Dialer. Registered schemes are used +// by FromURL. +func RegisterDialerType(scheme string, f func(*url.URL, Dialer) (Dialer, error)) { + if proxySchemes == nil { + proxySchemes = make(map[string]func(*url.URL, Dialer) (Dialer, error)) + } + proxySchemes[scheme] = f +} + +// FromURL returns a Dialer given a URL specification and an underlying +// Dialer for it to make network requests. +func FromURL(u *url.URL, forward Dialer) (Dialer, error) { + var auth *Auth + if u.User != nil { + auth = new(Auth) + auth.User = u.User.Username() + if p, ok := u.User.Password(); ok { + auth.Password = p + } + } + + switch u.Scheme { + case "socks5", "socks5h": + addr := u.Hostname() + port := u.Port() + if port == "" { + port = "1080" + } + return SOCKS5("tcp", net.JoinHostPort(addr, port), auth, forward) + } + + // If the scheme doesn't match any of the built-in schemes, see if it + // was registered by another package. + if proxySchemes != nil { + if f, ok := proxySchemes[u.Scheme]; ok { + return f(u, forward) + } + } + + return nil, errors.New("proxy: unknown scheme: " + u.Scheme) +} + +var ( + allProxyEnv = &envOnce{ + names: []string{"ALL_PROXY", "all_proxy"}, + } + noProxyEnv = &envOnce{ + names: []string{"NO_PROXY", "no_proxy"}, + } +) + +// envOnce looks up an environment variable (optionally by multiple +// names) once. It mitigates expensive lookups on some platforms +// (e.g. Windows). +// (Borrowed from net/http/transport.go) +type envOnce struct { + names []string + once sync.Once + val string +} + +func (e *envOnce) Get() string { + e.once.Do(e.init) + return e.val +} + +func (e *envOnce) init() { + for _, n := range e.names { + e.val = os.Getenv(n) + if e.val != "" { + return + } + } +} + +// reset is used by tests +func (e *envOnce) reset() { + e.once = sync.Once{} + e.val = "" +} diff --git a/vendor/golang.org/x/net/proxy/socks5.go b/vendor/golang.org/x/net/proxy/socks5.go new file mode 100644 index 000000000..c91651f96 --- /dev/null +++ b/vendor/golang.org/x/net/proxy/socks5.go @@ -0,0 +1,42 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package proxy + +import ( + "context" + "net" + + "golang.org/x/net/internal/socks" +) + +// SOCKS5 returns a Dialer that makes SOCKSv5 connections to the given +// address with an optional username and password. +// See RFC 1928 and RFC 1929. +func SOCKS5(network, address string, auth *Auth, forward Dialer) (Dialer, error) { + d := socks.NewDialer(network, address) + if forward != nil { + if f, ok := forward.(ContextDialer); ok { + d.ProxyDial = func(ctx context.Context, network string, address string) (net.Conn, error) { + return f.DialContext(ctx, network, address) + } + } else { + d.ProxyDial = func(ctx context.Context, network string, address string) (net.Conn, error) { + return dialContext(ctx, forward, network, address) + } + } + } + if auth != nil { + up := socks.UsernamePassword{ + Username: auth.User, + Password: auth.Password, + } + d.AuthMethods = []socks.AuthMethod{ + socks.AuthMethodNotRequired, + socks.AuthMethodUsernamePassword, + } + d.Authenticate = up.Authenticate + } + return d, nil +} diff --git a/vendor/golang.org/x/oauth2/LICENSE b/vendor/golang.org/x/oauth2/LICENSE index 6a66aea5e..2a7cf70da 100644 --- a/vendor/golang.org/x/oauth2/LICENSE +++ b/vendor/golang.org/x/oauth2/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2009 The Go Authors. All rights reserved. +Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -10,7 +10,7 @@ notice, this list of conditions and the following disclaimer. copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. diff --git a/vendor/golang.org/x/sys/LICENSE b/vendor/golang.org/x/sys/LICENSE index 6a66aea5e..2a7cf70da 100644 --- a/vendor/golang.org/x/sys/LICENSE +++ b/vendor/golang.org/x/sys/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2009 The Go Authors. All rights reserved. +Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -10,7 +10,7 @@ notice, this list of conditions and the following disclaimer. copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh index 4ed2e488b..e14b766a3 100644 --- a/vendor/golang.org/x/sys/unix/mkerrors.sh +++ b/vendor/golang.org/x/sys/unix/mkerrors.sh @@ -58,6 +58,7 @@ includes_Darwin=' #define _DARWIN_USE_64_BIT_INODE #define __APPLE_USE_RFC_3542 #include +#include #include #include #include @@ -551,6 +552,7 @@ ccflags="$@" $2 !~ /^RTC_VL_(ACCURACY|BACKUP|DATA)/ && $2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTC|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P|NETNSA)_/ || $2 ~ /^SOCK_|SK_DIAG_|SKNLGRP_$/ || + $2 ~ /^(CONNECT|SAE)_/ || $2 ~ /^FIORDCHK$/ || $2 ~ /^SIOC/ || $2 ~ /^TIOC/ || diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go index 4cc7b0059..099867dee 100644 --- a/vendor/golang.org/x/sys/unix/syscall_darwin.go +++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go @@ -402,6 +402,18 @@ func IoctlSetIfreqMTU(fd int, ifreq *IfreqMTU) error { return ioctlPtr(fd, SIOCSIFMTU, unsafe.Pointer(ifreq)) } +//sys renamexNp(from string, to string, flag uint32) (err error) + +func RenamexNp(from string, to string, flag uint32) (err error) { + return renamexNp(from, to, flag) +} + +//sys renameatxNp(fromfd int, from string, tofd int, to string, flag uint32) (err error) + +func RenameatxNp(fromfd int, from string, tofd int, to string, flag uint32) (err error) { + return renameatxNp(fromfd, from, tofd, to, flag) +} + //sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS_SYSCTL func Uname(uname *Utsname) error { @@ -554,6 +566,43 @@ func PthreadFchdir(fd int) (err error) { return pthread_fchdir_np(fd) } +// Connectx calls connectx(2) to initiate a connection on a socket. +// +// srcIf, srcAddr, and dstAddr are filled into a [SaEndpoints] struct and passed as the endpoints argument. +// +// - srcIf is the optional source interface index. 0 means unspecified. +// - srcAddr is the optional source address. nil means unspecified. +// - dstAddr is the destination address. +// +// On success, Connectx returns the number of bytes enqueued for transmission. +func Connectx(fd int, srcIf uint32, srcAddr, dstAddr Sockaddr, associd SaeAssocID, flags uint32, iov []Iovec, connid *SaeConnID) (n uintptr, err error) { + endpoints := SaEndpoints{ + Srcif: srcIf, + } + + if srcAddr != nil { + addrp, addrlen, err := srcAddr.sockaddr() + if err != nil { + return 0, err + } + endpoints.Srcaddr = (*RawSockaddr)(addrp) + endpoints.Srcaddrlen = uint32(addrlen) + } + + if dstAddr != nil { + addrp, addrlen, err := dstAddr.sockaddr() + if err != nil { + return 0, err + } + endpoints.Dstaddr = (*RawSockaddr)(addrp) + endpoints.Dstaddrlen = uint32(addrlen) + } + + err = connectx(fd, &endpoints, associd, flags, iov, &n, connid) + return +} + +//sys connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error) //sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) //sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_hurd.go b/vendor/golang.org/x/sys/unix/syscall_hurd.go index ba46651f8..a6a2d2fc2 100644 --- a/vendor/golang.org/x/sys/unix/syscall_hurd.go +++ b/vendor/golang.org/x/sys/unix/syscall_hurd.go @@ -11,6 +11,7 @@ package unix int ioctl(int, unsigned long int, uintptr_t); */ import "C" +import "unsafe" func ioctl(fd int, req uint, arg uintptr) (err error) { r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(arg)) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go index 5682e2628..3f1d3d4cb 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux.go @@ -2592,3 +2592,4 @@ func SchedGetAttr(pid int, flags uint) (*SchedAttr, error) { } //sys Cachestat(fd uint, crange *CachestatRange, cstat *Cachestat_t, flags uint) (err error) +//sys Mseal(b []byte, flags uint) (err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go index b25343c71..b86ded549 100644 --- a/vendor/golang.org/x/sys/unix/syscall_openbsd.go +++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go @@ -293,6 +293,7 @@ func Uname(uname *Utsname) error { //sys Mkfifoat(dirfd int, path string, mode uint32) (err error) //sys Mknod(path string, mode uint32, dev int) (err error) //sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) +//sys Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) //sys Nanosleep(time *Timespec, leftover *Timespec) (err error) //sys Open(path string, mode int, perm uint32) (fd int, err error) //sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go index e40fa8524..d73c4652e 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go @@ -237,6 +237,9 @@ const ( CLOCK_UPTIME_RAW_APPROX = 0x9 CLONE_NOFOLLOW = 0x1 CLONE_NOOWNERCOPY = 0x2 + CONNECT_DATA_AUTHENTICATED = 0x4 + CONNECT_DATA_IDEMPOTENT = 0x2 + CONNECT_RESUME_ON_READ_WRITE = 0x1 CR0 = 0x0 CR1 = 0x1000 CR2 = 0x2000 @@ -1169,6 +1172,11 @@ const ( PT_WRITE_D = 0x5 PT_WRITE_I = 0x4 PT_WRITE_U = 0x6 + RENAME_EXCL = 0x4 + RENAME_NOFOLLOW_ANY = 0x10 + RENAME_RESERVED1 = 0x8 + RENAME_SECLUDE = 0x1 + RENAME_SWAP = 0x2 RLIMIT_AS = 0x5 RLIMIT_CORE = 0x4 RLIMIT_CPU = 0x0 @@ -1260,6 +1268,10 @@ const ( RTV_SSTHRESH = 0x20 RUSAGE_CHILDREN = -0x1 RUSAGE_SELF = 0x0 + SAE_ASSOCID_ALL = 0xffffffff + SAE_ASSOCID_ANY = 0x0 + SAE_CONNID_ALL = 0xffffffff + SAE_CONNID_ANY = 0x0 SCM_CREDS = 0x3 SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x2 diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go index bb02aa6c0..4a55a4005 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go @@ -237,6 +237,9 @@ const ( CLOCK_UPTIME_RAW_APPROX = 0x9 CLONE_NOFOLLOW = 0x1 CLONE_NOOWNERCOPY = 0x2 + CONNECT_DATA_AUTHENTICATED = 0x4 + CONNECT_DATA_IDEMPOTENT = 0x2 + CONNECT_RESUME_ON_READ_WRITE = 0x1 CR0 = 0x0 CR1 = 0x1000 CR2 = 0x2000 @@ -1169,6 +1172,11 @@ const ( PT_WRITE_D = 0x5 PT_WRITE_I = 0x4 PT_WRITE_U = 0x6 + RENAME_EXCL = 0x4 + RENAME_NOFOLLOW_ANY = 0x10 + RENAME_RESERVED1 = 0x8 + RENAME_SECLUDE = 0x1 + RENAME_SWAP = 0x2 RLIMIT_AS = 0x5 RLIMIT_CORE = 0x4 RLIMIT_CPU = 0x0 @@ -1260,6 +1268,10 @@ const ( RTV_SSTHRESH = 0x20 RUSAGE_CHILDREN = -0x1 RUSAGE_SELF = 0x0 + SAE_ASSOCID_ALL = 0xffffffff + SAE_ASSOCID_ANY = 0x0 + SAE_CONNID_ALL = 0xffffffff + SAE_CONNID_ANY = 0x0 SCM_CREDS = 0x3 SCM_RIGHTS = 0x1 SCM_TIMESTAMP = 0x2 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux.go b/vendor/golang.org/x/sys/unix/zerrors_linux.go index 877a62b47..01a70b246 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux.go @@ -457,6 +457,7 @@ const ( B600 = 0x8 B75 = 0x2 B9600 = 0xd + BCACHEFS_SUPER_MAGIC = 0xca451a4e BDEVFS_MAGIC = 0x62646576 BINDERFS_SUPER_MAGIC = 0x6c6f6f70 BINFMTFS_MAGIC = 0x42494e4d @@ -928,6 +929,7 @@ const ( EPOLL_CTL_ADD = 0x1 EPOLL_CTL_DEL = 0x2 EPOLL_CTL_MOD = 0x3 + EPOLL_IOC_TYPE = 0x8a EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 ESP_V4_FLOW = 0xa ESP_V6_FLOW = 0xc @@ -941,9 +943,6 @@ const ( ETHTOOL_FEC_OFF = 0x4 ETHTOOL_FEC_RS = 0x8 ETHTOOL_FLAG_ALL = 0x7 - ETHTOOL_FLAG_COMPACT_BITSETS = 0x1 - ETHTOOL_FLAG_OMIT_REPLY = 0x2 - ETHTOOL_FLAG_STATS = 0x4 ETHTOOL_FLASHDEV = 0x33 ETHTOOL_FLASH_MAX_FILENAME = 0x80 ETHTOOL_FWVERS_LEN = 0x20 @@ -1705,6 +1704,7 @@ const ( KEXEC_ARCH_S390 = 0x160000 KEXEC_ARCH_SH = 0x2a0000 KEXEC_ARCH_X86_64 = 0x3e0000 + KEXEC_CRASH_HOTPLUG_SUPPORT = 0x8 KEXEC_FILE_DEBUG = 0x8 KEXEC_FILE_NO_INITRAMFS = 0x4 KEXEC_FILE_ON_CRASH = 0x2 @@ -1780,6 +1780,7 @@ const ( KEY_SPEC_USER_KEYRING = -0x4 KEY_SPEC_USER_SESSION_KEYRING = -0x5 LANDLOCK_ACCESS_FS_EXECUTE = 0x1 + LANDLOCK_ACCESS_FS_IOCTL_DEV = 0x8000 LANDLOCK_ACCESS_FS_MAKE_BLOCK = 0x800 LANDLOCK_ACCESS_FS_MAKE_CHAR = 0x40 LANDLOCK_ACCESS_FS_MAKE_DIR = 0x80 @@ -1861,6 +1862,19 @@ const ( MAP_FILE = 0x0 MAP_FIXED = 0x10 MAP_FIXED_NOREPLACE = 0x100000 + MAP_HUGE_16GB = 0x88000000 + MAP_HUGE_16KB = 0x38000000 + MAP_HUGE_16MB = 0x60000000 + MAP_HUGE_1GB = 0x78000000 + MAP_HUGE_1MB = 0x50000000 + MAP_HUGE_256MB = 0x70000000 + MAP_HUGE_2GB = 0x7c000000 + MAP_HUGE_2MB = 0x54000000 + MAP_HUGE_32MB = 0x64000000 + MAP_HUGE_512KB = 0x4c000000 + MAP_HUGE_512MB = 0x74000000 + MAP_HUGE_64KB = 0x40000000 + MAP_HUGE_8MB = 0x5c000000 MAP_HUGE_MASK = 0x3f MAP_HUGE_SHIFT = 0x1a MAP_PRIVATE = 0x2 @@ -2498,6 +2512,23 @@ const ( PR_PAC_GET_ENABLED_KEYS = 0x3d PR_PAC_RESET_KEYS = 0x36 PR_PAC_SET_ENABLED_KEYS = 0x3c + PR_PPC_DEXCR_CTRL_CLEAR = 0x4 + PR_PPC_DEXCR_CTRL_CLEAR_ONEXEC = 0x10 + PR_PPC_DEXCR_CTRL_EDITABLE = 0x1 + PR_PPC_DEXCR_CTRL_MASK = 0x1f + PR_PPC_DEXCR_CTRL_SET = 0x2 + PR_PPC_DEXCR_CTRL_SET_ONEXEC = 0x8 + PR_PPC_DEXCR_IBRTPD = 0x1 + PR_PPC_DEXCR_NPHIE = 0x3 + PR_PPC_DEXCR_SBHE = 0x0 + PR_PPC_DEXCR_SRAPD = 0x2 + PR_PPC_GET_DEXCR = 0x48 + PR_PPC_SET_DEXCR = 0x49 + PR_RISCV_CTX_SW_FENCEI_OFF = 0x1 + PR_RISCV_CTX_SW_FENCEI_ON = 0x0 + PR_RISCV_SCOPE_PER_PROCESS = 0x0 + PR_RISCV_SCOPE_PER_THREAD = 0x1 + PR_RISCV_SET_ICACHE_FLUSH_CTX = 0x47 PR_RISCV_V_GET_CONTROL = 0x46 PR_RISCV_V_SET_CONTROL = 0x45 PR_RISCV_V_VSTATE_CTRL_CUR_MASK = 0x3 @@ -3192,6 +3223,7 @@ const ( STATX_MTIME = 0x40 STATX_NLINK = 0x4 STATX_SIZE = 0x200 + STATX_SUBVOL = 0x8000 STATX_TYPE = 0x1 STATX_UID = 0x8 STATX__RESERVED = 0x80000000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go index e4bc0bd57..684a5168d 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x80088a02 + EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go index 689317afd..61d74b592 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x80088a02 + EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go index 5cca668ac..a28c9e3e8 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x80088a02 + EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go index 14270508b..ab5d1fe8e 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x80088a02 + EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 ESR_MAGIC = 0x45535201 EXTPROC = 0x10000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go index 28e39afdc..c523090e7 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x80088a02 + EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go index cd66e92cb..01e6ea780 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x80 + EPIOCGPARAMS = 0x40088a02 + EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go index c1595eba7..7aa610b1e 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x80 + EPIOCGPARAMS = 0x40088a02 + EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go index ee9456b0d..92af771b4 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x80 + EPIOCGPARAMS = 0x40088a02 + EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go index 8cfca81e1..b27ef5e6f 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x80 + EPIOCGPARAMS = 0x40088a02 + EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go index 60b0deb3a..237a2cefb 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x20 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x40088a02 + EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000000 FF1 = 0x4000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go index f90aa7281..4a5c555a3 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x20 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x40088a02 + EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000000 FF1 = 0x4000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go index ba9e01503..a02fb49a5 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x20 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x40088a02 + EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000000 FF1 = 0x4000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go index 07cdfd6e9..e26a7c61b 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x80088a02 + EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go index 2f1dd214a..c48f7c210 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go @@ -78,6 +78,8 @@ const ( ECHOPRT = 0x400 EFD_CLOEXEC = 0x80000 EFD_NONBLOCK = 0x800 + EPIOCGPARAMS = 0x80088a02 + EPIOCSPARAMS = 0x40088a01 EPOLL_CLOEXEC = 0x80000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go index f40519d90..ad4b9aace 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go @@ -82,6 +82,8 @@ const ( EFD_CLOEXEC = 0x400000 EFD_NONBLOCK = 0x4000 EMT_TAGOVF = 0x1 + EPIOCGPARAMS = 0x40088a02 + EPIOCSPARAMS = 0x80088a01 EPOLL_CLOEXEC = 0x400000 EXTPROC = 0x10000 FF1 = 0x8000 diff --git a/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go index da08b2ab3..1ec2b1407 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go +++ b/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go @@ -581,6 +581,8 @@ const ( AT_EMPTY_PATH = 0x1000 AT_REMOVEDIR = 0x200 RENAME_NOREPLACE = 1 << 0 + ST_RDONLY = 1 + ST_NOSUID = 2 ) const ( diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go index 07642c308..24b346e1a 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go @@ -740,6 +740,54 @@ func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func renamexNp(from string, to string, flag uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_renamex_np_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flag)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_renamex_np_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_renamex_np renamex_np "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func renameatxNp(fromfd int, from string, tofd int, to string, flag uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_renameatx_np_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), uintptr(flag), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_renameatx_np_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_renameatx_np renameatx_np "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { var _p0 unsafe.Pointer if len(mib) > 0 { @@ -793,6 +841,26 @@ var libc_pthread_fchdir_np_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error) { + var _p0 unsafe.Pointer + if len(iov) > 0 { + _p0 = unsafe.Pointer(&iov[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall9(libc_connectx_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(endpoints)), uintptr(associd), uintptr(flags), uintptr(_p0), uintptr(len(iov)), uintptr(unsafe.Pointer(n)), uintptr(unsafe.Pointer(connid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_connectx_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_connectx connectx "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { _, _, e1 := syscall_syscall6(libc_sendfile_trampoline_addr, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s index 923e08cb7..ebd213100 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s @@ -223,6 +223,16 @@ TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_ioctl_trampoline_addr(SB)/8, $libc_ioctl_trampoline<>(SB) +TEXT libc_renamex_np_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_renamex_np(SB) +GLOBL ·libc_renamex_np_trampoline_addr(SB), RODATA, $8 +DATA ·libc_renamex_np_trampoline_addr(SB)/8, $libc_renamex_np_trampoline<>(SB) + +TEXT libc_renameatx_np_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_renameatx_np(SB) +GLOBL ·libc_renameatx_np_trampoline_addr(SB), RODATA, $8 +DATA ·libc_renameatx_np_trampoline_addr(SB)/8, $libc_renameatx_np_trampoline<>(SB) + TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sysctl(SB) GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8 @@ -238,6 +248,11 @@ TEXT libc_pthread_fchdir_np_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_pthread_fchdir_np_trampoline_addr(SB), RODATA, $8 DATA ·libc_pthread_fchdir_np_trampoline_addr(SB)/8, $libc_pthread_fchdir_np_trampoline<>(SB) +TEXT libc_connectx_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_connectx(SB) +GLOBL ·libc_connectx_trampoline_addr(SB), RODATA, $8 +DATA ·libc_connectx_trampoline_addr(SB)/8, $libc_connectx_trampoline<>(SB) + TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendfile(SB) GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go index 7d73dda64..824b9c2d5 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go @@ -740,6 +740,54 @@ func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func renamexNp(from string, to string, flag uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall(libc_renamex_np_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flag)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_renamex_np_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_renamex_np renamex_np "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func renameatxNp(fromfd int, from string, tofd int, to string, flag uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(from) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(to) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_renameatx_np_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), uintptr(flag), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_renameatx_np_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_renameatx_np renameatx_np "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { var _p0 unsafe.Pointer if len(mib) > 0 { @@ -793,6 +841,26 @@ var libc_pthread_fchdir_np_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error) { + var _p0 unsafe.Pointer + if len(iov) > 0 { + _p0 = unsafe.Pointer(&iov[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := syscall_syscall9(libc_connectx_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(endpoints)), uintptr(associd), uintptr(flags), uintptr(_p0), uintptr(len(iov)), uintptr(unsafe.Pointer(n)), uintptr(unsafe.Pointer(connid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_connectx_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_connectx connectx "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { _, _, e1 := syscall_syscall6(libc_sendfile_trampoline_addr, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s index 057700111..4f178a229 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s @@ -223,6 +223,16 @@ TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $8 DATA ·libc_ioctl_trampoline_addr(SB)/8, $libc_ioctl_trampoline<>(SB) +TEXT libc_renamex_np_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_renamex_np(SB) +GLOBL ·libc_renamex_np_trampoline_addr(SB), RODATA, $8 +DATA ·libc_renamex_np_trampoline_addr(SB)/8, $libc_renamex_np_trampoline<>(SB) + +TEXT libc_renameatx_np_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_renameatx_np(SB) +GLOBL ·libc_renameatx_np_trampoline_addr(SB), RODATA, $8 +DATA ·libc_renameatx_np_trampoline_addr(SB)/8, $libc_renameatx_np_trampoline<>(SB) + TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sysctl(SB) GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8 @@ -238,6 +248,11 @@ TEXT libc_pthread_fchdir_np_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_pthread_fchdir_np_trampoline_addr(SB), RODATA, $8 DATA ·libc_pthread_fchdir_np_trampoline_addr(SB)/8, $libc_pthread_fchdir_np_trampoline<>(SB) +TEXT libc_connectx_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_connectx(SB) +GLOBL ·libc_connectx_trampoline_addr(SB), RODATA, $8 +DATA ·libc_connectx_trampoline_addr(SB)/8, $libc_connectx_trampoline<>(SB) + TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_sendfile(SB) GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux.go b/vendor/golang.org/x/sys/unix/zsyscall_linux.go index 87d8612a1..1bc1a5adb 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux.go @@ -2229,3 +2229,19 @@ func Cachestat(fd uint, crange *CachestatRange, cstat *Cachestat_t, flags uint) } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Mseal(b []byte, flags uint) (err error) { + var _p0 unsafe.Pointer + if len(b) > 0 { + _p0 = unsafe.Pointer(&b[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + _, _, e1 := Syscall(SYS_MSEAL, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go index 9dc42410b..1851df14e 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go @@ -1493,6 +1493,30 @@ var libc_mknodat_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(fsType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dir) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mount_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mount mount "libc.so" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s index 41b561731..0b43c6936 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s @@ -463,6 +463,11 @@ TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $4 DATA ·libc_mknodat_trampoline_addr(SB)/4, $libc_mknodat_trampoline<>(SB) +TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mount(SB) +GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $4 +DATA ·libc_mount_trampoline_addr(SB)/4, $libc_mount_trampoline<>(SB) + TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_nanosleep(SB) GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $4 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go index 0d3a0751c..e1ec0dbe4 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go @@ -1493,6 +1493,30 @@ var libc_mknodat_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(fsType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dir) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mount_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mount mount "libc.so" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s index 4019a656f..880c6d6e3 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s @@ -463,6 +463,11 @@ TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknodat_trampoline_addr(SB)/8, $libc_mknodat_trampoline<>(SB) +TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mount(SB) +GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) + TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_nanosleep(SB) GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go index c39f7776d..7c8452a63 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go @@ -1493,6 +1493,30 @@ var libc_mknodat_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(fsType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dir) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mount_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mount mount "libc.so" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s index ac4af24f9..b8ef95b0f 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s @@ -463,6 +463,11 @@ TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $4 DATA ·libc_mknodat_trampoline_addr(SB)/4, $libc_mknodat_trampoline<>(SB) +TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mount(SB) +GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $4 +DATA ·libc_mount_trampoline_addr(SB)/4, $libc_mount_trampoline<>(SB) + TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_nanosleep(SB) GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $4 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go index 57571d072..2ffdf861f 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go @@ -1493,6 +1493,30 @@ var libc_mknodat_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(fsType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dir) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mount_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mount mount "libc.so" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s index f77d53212..2af3b5c76 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s @@ -463,6 +463,11 @@ TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknodat_trampoline_addr(SB)/8, $libc_mknodat_trampoline<>(SB) +TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mount(SB) +GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) + TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_nanosleep(SB) GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go index e62963e67..1da08d526 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go @@ -1493,6 +1493,30 @@ var libc_mknodat_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(fsType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dir) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mount_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mount mount "libc.so" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s index fae140b62..b7a251353 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s @@ -463,6 +463,11 @@ TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknodat_trampoline_addr(SB)/8, $libc_mknodat_trampoline<>(SB) +TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mount(SB) +GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) + TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_nanosleep(SB) GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go index 00831354c..6e85b0aac 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go @@ -1493,6 +1493,30 @@ var libc_mknodat_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(fsType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dir) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mount_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mount mount "libc.so" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s index 9d1e0ff06..f15dadf05 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s @@ -555,6 +555,12 @@ TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknodat_trampoline_addr(SB)/8, $libc_mknodat_trampoline<>(SB) +TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 + CALL libc_mount(SB) + RET +GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) + TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 CALL libc_nanosleep(SB) RET diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go index 79029ed58..28b487df2 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go @@ -1493,6 +1493,30 @@ var libc_mknodat_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(fsType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dir) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mount_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mount mount "libc.so" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s index da115f9a4..1e7f321e4 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s @@ -463,6 +463,11 @@ TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknodat_trampoline_addr(SB)/8, $libc_mknodat_trampoline<>(SB) +TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mount(SB) +GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) + TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_nanosleep(SB) GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go index 53aef5dc5..524b0820c 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go @@ -457,4 +457,5 @@ const ( SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go index 71d524763..d3e38f681 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go @@ -379,4 +379,5 @@ const ( SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go index c74770613..70b35bf3b 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go @@ -421,4 +421,5 @@ const ( SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go index f96e214f6..6c778c232 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go @@ -324,4 +324,5 @@ const ( SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go index 28425346c..37281cf51 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go @@ -318,4 +318,5 @@ const ( SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go index d0953018d..7e567f1ef 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go @@ -441,4 +441,5 @@ const ( SYS_LSM_GET_SELF_ATTR = 4459 SYS_LSM_SET_SELF_ATTR = 4460 SYS_LSM_LIST_MODULES = 4461 + SYS_MSEAL = 4462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go index 295c7f4b8..38ae55e5e 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go @@ -371,4 +371,5 @@ const ( SYS_LSM_GET_SELF_ATTR = 5459 SYS_LSM_SET_SELF_ATTR = 5460 SYS_LSM_LIST_MODULES = 5461 + SYS_MSEAL = 5462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go index d1a9eaca7..55e92e60a 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go @@ -371,4 +371,5 @@ const ( SYS_LSM_GET_SELF_ATTR = 5459 SYS_LSM_SET_SELF_ATTR = 5460 SYS_LSM_LIST_MODULES = 5461 + SYS_MSEAL = 5462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go index bec157c39..60658d6a0 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go @@ -441,4 +441,5 @@ const ( SYS_LSM_GET_SELF_ATTR = 4459 SYS_LSM_SET_SELF_ATTR = 4460 SYS_LSM_LIST_MODULES = 4461 + SYS_MSEAL = 4462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go index 7ee7bdc43..e203e8a7e 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go @@ -448,4 +448,5 @@ const ( SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go index fad1f25b4..5944b97d5 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go @@ -420,4 +420,5 @@ const ( SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go index 7d3e16357..c66d416da 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go @@ -420,4 +420,5 @@ const ( SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go index 0ed53ad9f..9889f6a55 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go @@ -325,4 +325,5 @@ const ( SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go index 2fba04ad5..01d86825b 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go @@ -386,4 +386,5 @@ const ( SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go index 621d00d74..7b703e77c 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go @@ -399,4 +399,5 @@ const ( SYS_LSM_GET_SELF_ATTR = 459 SYS_LSM_SET_SELF_ATTR = 460 SYS_LSM_LIST_MODULES = 461 + SYS_MSEAL = 462 ) diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go index 091d107f3..d003c3d43 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go @@ -306,6 +306,19 @@ type XVSockPgen struct { type _Socklen uint32 +type SaeAssocID uint32 + +type SaeConnID uint32 + +type SaEndpoints struct { + Srcif uint32 + Srcaddr *RawSockaddr + Srcaddrlen uint32 + Dstaddr *RawSockaddr + Dstaddrlen uint32 + _ [4]byte +} + type Xucred struct { Version uint32 Uid uint32 diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go index 28ff4ef74..0d45a941a 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go @@ -306,6 +306,19 @@ type XVSockPgen struct { type _Socklen uint32 +type SaeAssocID uint32 + +type SaeConnID uint32 + +type SaEndpoints struct { + Srcif uint32 + Srcaddr *RawSockaddr + Srcaddrlen uint32 + Dstaddr *RawSockaddr + Dstaddrlen uint32 + _ [4]byte +} + type Xucred struct { Version uint32 Uid uint32 diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go index 6cbd094a3..51e13eb05 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go @@ -625,6 +625,7 @@ const ( POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 + POLLRDHUP = 0x4000 ) type CapRights struct { diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go index 7c03b6ee7..d002d8ef3 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go @@ -630,6 +630,7 @@ const ( POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 + POLLRDHUP = 0x4000 ) type CapRights struct { diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go index 422107ee8..3f863d898 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go @@ -616,6 +616,7 @@ const ( POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 + POLLRDHUP = 0x4000 ) type CapRights struct { diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go index 505a12acf..61c729310 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go @@ -610,6 +610,7 @@ const ( POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 + POLLRDHUP = 0x4000 ) type CapRights struct { diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go index cc986c790..b5d17414f 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go @@ -612,6 +612,7 @@ const ( POLLRDNORM = 0x40 POLLWRBAND = 0x100 POLLWRNORM = 0x4 + POLLRDHUP = 0x4000 ) type CapRights struct { diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux.go b/vendor/golang.org/x/sys/unix/ztypes_linux.go index 4740b8348..9f2550dc3 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux.go @@ -110,7 +110,8 @@ type Statx_t struct { Mnt_id uint64 Dio_mem_align uint32 Dio_offset_align uint32 - _ [12]uint64 + Subvol uint64 + _ [11]uint64 } type Fsid struct { @@ -2485,7 +2486,7 @@ type XDPMmapOffsets struct { type XDPUmemReg struct { Addr uint64 Len uint64 - Chunk_size uint32 + Size uint32 Headroom uint32 Flags uint32 Tx_metadata_len uint32 @@ -3473,7 +3474,7 @@ const ( DEVLINK_PORT_FN_ATTR_STATE = 0x2 DEVLINK_PORT_FN_ATTR_OPSTATE = 0x3 DEVLINK_PORT_FN_ATTR_CAPS = 0x4 - DEVLINK_PORT_FUNCTION_ATTR_MAX = 0x5 + DEVLINK_PORT_FUNCTION_ATTR_MAX = 0x6 ) type FsverityDigest struct { @@ -3806,6 +3807,9 @@ const ( ETHTOOL_MSG_PSE_GET_REPLY = 0x25 ETHTOOL_MSG_RSS_GET_REPLY = 0x26 ETHTOOL_MSG_KERNEL_MAX = 0x2b + ETHTOOL_FLAG_COMPACT_BITSETS = 0x1 + ETHTOOL_FLAG_OMIT_REPLY = 0x2 + ETHTOOL_FLAG_STATS = 0x4 ETHTOOL_A_HEADER_UNSPEC = 0x0 ETHTOOL_A_HEADER_DEV_INDEX = 0x1 ETHTOOL_A_HEADER_DEV_NAME = 0x2 @@ -3975,7 +3979,7 @@ const ( ETHTOOL_A_TSINFO_TX_TYPES = 0x3 ETHTOOL_A_TSINFO_RX_FILTERS = 0x4 ETHTOOL_A_TSINFO_PHC_INDEX = 0x5 - ETHTOOL_A_TSINFO_MAX = 0x5 + ETHTOOL_A_TSINFO_MAX = 0x6 ETHTOOL_A_CABLE_TEST_UNSPEC = 0x0 ETHTOOL_A_CABLE_TEST_HEADER = 0x1 ETHTOOL_A_CABLE_TEST_MAX = 0x1 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go index 15adc0414..ad05b51a6 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go @@ -727,6 +727,37 @@ const ( RISCV_HWPROBE_EXT_ZBA = 0x8 RISCV_HWPROBE_EXT_ZBB = 0x10 RISCV_HWPROBE_EXT_ZBS = 0x20 + RISCV_HWPROBE_EXT_ZICBOZ = 0x40 + RISCV_HWPROBE_EXT_ZBC = 0x80 + RISCV_HWPROBE_EXT_ZBKB = 0x100 + RISCV_HWPROBE_EXT_ZBKC = 0x200 + RISCV_HWPROBE_EXT_ZBKX = 0x400 + RISCV_HWPROBE_EXT_ZKND = 0x800 + RISCV_HWPROBE_EXT_ZKNE = 0x1000 + RISCV_HWPROBE_EXT_ZKNH = 0x2000 + RISCV_HWPROBE_EXT_ZKSED = 0x4000 + RISCV_HWPROBE_EXT_ZKSH = 0x8000 + RISCV_HWPROBE_EXT_ZKT = 0x10000 + RISCV_HWPROBE_EXT_ZVBB = 0x20000 + RISCV_HWPROBE_EXT_ZVBC = 0x40000 + RISCV_HWPROBE_EXT_ZVKB = 0x80000 + RISCV_HWPROBE_EXT_ZVKG = 0x100000 + RISCV_HWPROBE_EXT_ZVKNED = 0x200000 + RISCV_HWPROBE_EXT_ZVKNHA = 0x400000 + RISCV_HWPROBE_EXT_ZVKNHB = 0x800000 + RISCV_HWPROBE_EXT_ZVKSED = 0x1000000 + RISCV_HWPROBE_EXT_ZVKSH = 0x2000000 + RISCV_HWPROBE_EXT_ZVKT = 0x4000000 + RISCV_HWPROBE_EXT_ZFH = 0x8000000 + RISCV_HWPROBE_EXT_ZFHMIN = 0x10000000 + RISCV_HWPROBE_EXT_ZIHINTNTL = 0x20000000 + RISCV_HWPROBE_EXT_ZVFH = 0x40000000 + RISCV_HWPROBE_EXT_ZVFHMIN = 0x80000000 + RISCV_HWPROBE_EXT_ZFA = 0x100000000 + RISCV_HWPROBE_EXT_ZTSO = 0x200000000 + RISCV_HWPROBE_EXT_ZACAS = 0x400000000 + RISCV_HWPROBE_EXT_ZICOND = 0x800000000 + RISCV_HWPROBE_EXT_ZIHINTPAUSE = 0x1000000000 RISCV_HWPROBE_KEY_CPUPERF_0 = 0x5 RISCV_HWPROBE_MISALIGNED_UNKNOWN = 0x0 RISCV_HWPROBE_MISALIGNED_EMULATED = 0x1 @@ -734,4 +765,6 @@ const ( RISCV_HWPROBE_MISALIGNED_FAST = 0x3 RISCV_HWPROBE_MISALIGNED_UNSUPPORTED = 0x4 RISCV_HWPROBE_MISALIGNED_MASK = 0x7 + RISCV_HWPROBE_KEY_ZICBOZ_BLOCK_SIZE = 0x6 + RISCV_HWPROBE_WHICH_CPUS = 0x1 ) diff --git a/vendor/golang.org/x/sys/windows/security_windows.go b/vendor/golang.org/x/sys/windows/security_windows.go index 97651b5bd..b6e1ab76f 100644 --- a/vendor/golang.org/x/sys/windows/security_windows.go +++ b/vendor/golang.org/x/sys/windows/security_windows.go @@ -1179,7 +1179,7 @@ type OBJECTS_AND_NAME struct { //sys makeSelfRelativeSD(absoluteSD *SECURITY_DESCRIPTOR, selfRelativeSD *SECURITY_DESCRIPTOR, selfRelativeSDSize *uint32) (err error) = advapi32.MakeSelfRelativeSD //sys setEntriesInAcl(countExplicitEntries uint32, explicitEntries *EXPLICIT_ACCESS, oldACL *ACL, newACL **ACL) (ret error) = advapi32.SetEntriesInAclW -//sys GetAce(acl *ACL, aceIndex uint32, pAce **ACCESS_ALLOWED_ACE) (ret error) = advapi32.GetAce +//sys GetAce(acl *ACL, aceIndex uint32, pAce **ACCESS_ALLOWED_ACE) (err error) = advapi32.GetAce // Control returns the security descriptor control bits. func (sd *SECURITY_DESCRIPTOR) Control() (control SECURITY_DESCRIPTOR_CONTROL, revision uint32, err error) { diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go index 6525c62f3..5cee9a314 100644 --- a/vendor/golang.org/x/sys/windows/syscall_windows.go +++ b/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -17,8 +17,10 @@ import ( "unsafe" ) -type Handle uintptr -type HWND uintptr +type ( + Handle uintptr + HWND uintptr +) const ( InvalidHandle = ^Handle(0) @@ -211,6 +213,10 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys OpenProcess(desiredAccess uint32, inheritHandle bool, processId uint32) (handle Handle, err error) //sys ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) [failretval<=32] = shell32.ShellExecuteW //sys GetWindowThreadProcessId(hwnd HWND, pid *uint32) (tid uint32, err error) = user32.GetWindowThreadProcessId +//sys LoadKeyboardLayout(name *uint16, flags uint32) (hkl Handle, err error) [failretval==0] = user32.LoadKeyboardLayoutW +//sys UnloadKeyboardLayout(hkl Handle) (err error) = user32.UnloadKeyboardLayout +//sys GetKeyboardLayout(tid uint32) (hkl Handle) = user32.GetKeyboardLayout +//sys ToUnicodeEx(vkey uint32, scancode uint32, keystate *byte, pwszBuff *uint16, cchBuff int32, flags uint32, hkl Handle) (ret int32) = user32.ToUnicodeEx //sys GetShellWindow() (shellWindow HWND) = user32.GetShellWindow //sys MessageBox(hwnd HWND, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) [failretval==0] = user32.MessageBoxW //sys ExitWindowsEx(flags uint32, reason uint32) (err error) = user32.ExitWindowsEx @@ -307,6 +313,10 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys SetConsoleMode(console Handle, mode uint32) (err error) = kernel32.SetConsoleMode //sys GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) = kernel32.GetConsoleScreenBufferInfo //sys setConsoleCursorPosition(console Handle, position uint32) (err error) = kernel32.SetConsoleCursorPosition +//sys GetConsoleCP() (cp uint32, err error) = kernel32.GetConsoleCP +//sys GetConsoleOutputCP() (cp uint32, err error) = kernel32.GetConsoleOutputCP +//sys SetConsoleCP(cp uint32) (err error) = kernel32.SetConsoleCP +//sys SetConsoleOutputCP(cp uint32) (err error) = kernel32.SetConsoleOutputCP //sys WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) = kernel32.WriteConsoleW //sys ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) = kernel32.ReadConsoleW //sys resizePseudoConsole(pconsole Handle, size uint32) (hr error) = kernel32.ResizePseudoConsole @@ -1368,9 +1378,11 @@ func SetsockoptLinger(fd Handle, level, opt int, l *Linger) (err error) { func SetsockoptInet4Addr(fd Handle, level, opt int, value [4]byte) (err error) { return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(&value[0])), 4) } + func SetsockoptIPMreq(fd Handle, level, opt int, mreq *IPMreq) (err error) { return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(mreq)), int32(unsafe.Sizeof(*mreq))) } + func SetsockoptIPv6Mreq(fd Handle, level, opt int, mreq *IPv6Mreq) (err error) { return syscall.EWINDOWS } diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go index d8cb71db0..7b97a154c 100644 --- a/vendor/golang.org/x/sys/windows/types_windows.go +++ b/vendor/golang.org/x/sys/windows/types_windows.go @@ -1060,6 +1060,7 @@ const ( SIO_GET_EXTENSION_FUNCTION_POINTER = IOC_INOUT | IOC_WS2 | 6 SIO_KEEPALIVE_VALS = IOC_IN | IOC_VENDOR | 4 SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12 + SIO_UDP_NETRESET = IOC_IN | IOC_VENDOR | 15 // cf. http://support.microsoft.com/default.aspx?scid=kb;en-us;257460 @@ -2003,7 +2004,21 @@ const ( MOVEFILE_FAIL_IF_NOT_TRACKABLE = 0x20 ) -const GAA_FLAG_INCLUDE_PREFIX = 0x00000010 +// Flags for GetAdaptersAddresses, see +// https://learn.microsoft.com/en-us/windows/win32/api/iphlpapi/nf-iphlpapi-getadaptersaddresses. +const ( + GAA_FLAG_SKIP_UNICAST = 0x1 + GAA_FLAG_SKIP_ANYCAST = 0x2 + GAA_FLAG_SKIP_MULTICAST = 0x4 + GAA_FLAG_SKIP_DNS_SERVER = 0x8 + GAA_FLAG_INCLUDE_PREFIX = 0x10 + GAA_FLAG_SKIP_FRIENDLY_NAME = 0x20 + GAA_FLAG_INCLUDE_WINS_INFO = 0x40 + GAA_FLAG_INCLUDE_GATEWAYS = 0x80 + GAA_FLAG_INCLUDE_ALL_INTERFACES = 0x100 + GAA_FLAG_INCLUDE_ALL_COMPARTMENTS = 0x200 + GAA_FLAG_INCLUDE_TUNNEL_BINDINGORDER = 0x400 +) const ( IF_TYPE_OTHER = 1 @@ -2017,6 +2032,50 @@ const ( IF_TYPE_IEEE1394 = 144 ) +// Enum NL_PREFIX_ORIGIN for [IpAdapterUnicastAddress], see +// https://learn.microsoft.com/en-us/windows/win32/api/nldef/ne-nldef-nl_prefix_origin +const ( + IpPrefixOriginOther = 0 + IpPrefixOriginManual = 1 + IpPrefixOriginWellKnown = 2 + IpPrefixOriginDhcp = 3 + IpPrefixOriginRouterAdvertisement = 4 + IpPrefixOriginUnchanged = 1 << 4 +) + +// Enum NL_SUFFIX_ORIGIN for [IpAdapterUnicastAddress], see +// https://learn.microsoft.com/en-us/windows/win32/api/nldef/ne-nldef-nl_suffix_origin +const ( + NlsoOther = 0 + NlsoManual = 1 + NlsoWellKnown = 2 + NlsoDhcp = 3 + NlsoLinkLayerAddress = 4 + NlsoRandom = 5 + IpSuffixOriginOther = 0 + IpSuffixOriginManual = 1 + IpSuffixOriginWellKnown = 2 + IpSuffixOriginDhcp = 3 + IpSuffixOriginLinkLayerAddress = 4 + IpSuffixOriginRandom = 5 + IpSuffixOriginUnchanged = 1 << 4 +) + +// Enum NL_DAD_STATE for [IpAdapterUnicastAddress], see +// https://learn.microsoft.com/en-us/windows/win32/api/nldef/ne-nldef-nl_dad_state +const ( + NldsInvalid = 0 + NldsTentative = 1 + NldsDuplicate = 2 + NldsDeprecated = 3 + NldsPreferred = 4 + IpDadStateInvalid = 0 + IpDadStateTentative = 1 + IpDadStateDuplicate = 2 + IpDadStateDeprecated = 3 + IpDadStatePreferred = 4 +) + type SocketAddress struct { Sockaddr *syscall.RawSockaddrAny SockaddrLength int32 @@ -3404,3 +3463,14 @@ type DCB struct { EvtChar byte wReserved1 uint16 } + +// Keyboard Layout Flags. +// See https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-loadkeyboardlayoutw +const ( + KLF_ACTIVATE = 0x00000001 + KLF_SUBSTITUTE_OK = 0x00000002 + KLF_REORDER = 0x00000008 + KLF_REPLACELANG = 0x00000010 + KLF_NOTELLSHELL = 0x00000080 + KLF_SETFORPROCESS = 0x00000100 +) diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go index eba761018..4c2e1bdc0 100644 --- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go +++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -247,7 +247,9 @@ var ( procGetCommandLineW = modkernel32.NewProc("GetCommandLineW") procGetComputerNameExW = modkernel32.NewProc("GetComputerNameExW") procGetComputerNameW = modkernel32.NewProc("GetComputerNameW") + procGetConsoleCP = modkernel32.NewProc("GetConsoleCP") procGetConsoleMode = modkernel32.NewProc("GetConsoleMode") + procGetConsoleOutputCP = modkernel32.NewProc("GetConsoleOutputCP") procGetConsoleScreenBufferInfo = modkernel32.NewProc("GetConsoleScreenBufferInfo") procGetCurrentDirectoryW = modkernel32.NewProc("GetCurrentDirectoryW") procGetCurrentProcessId = modkernel32.NewProc("GetCurrentProcessId") @@ -347,8 +349,10 @@ var ( procSetCommMask = modkernel32.NewProc("SetCommMask") procSetCommState = modkernel32.NewProc("SetCommState") procSetCommTimeouts = modkernel32.NewProc("SetCommTimeouts") + procSetConsoleCP = modkernel32.NewProc("SetConsoleCP") procSetConsoleCursorPosition = modkernel32.NewProc("SetConsoleCursorPosition") procSetConsoleMode = modkernel32.NewProc("SetConsoleMode") + procSetConsoleOutputCP = modkernel32.NewProc("SetConsoleOutputCP") procSetCurrentDirectoryW = modkernel32.NewProc("SetCurrentDirectoryW") procSetDefaultDllDirectories = modkernel32.NewProc("SetDefaultDllDirectories") procSetDllDirectoryW = modkernel32.NewProc("SetDllDirectoryW") @@ -478,12 +482,16 @@ var ( procGetDesktopWindow = moduser32.NewProc("GetDesktopWindow") procGetForegroundWindow = moduser32.NewProc("GetForegroundWindow") procGetGUIThreadInfo = moduser32.NewProc("GetGUIThreadInfo") + procGetKeyboardLayout = moduser32.NewProc("GetKeyboardLayout") procGetShellWindow = moduser32.NewProc("GetShellWindow") procGetWindowThreadProcessId = moduser32.NewProc("GetWindowThreadProcessId") procIsWindow = moduser32.NewProc("IsWindow") procIsWindowUnicode = moduser32.NewProc("IsWindowUnicode") procIsWindowVisible = moduser32.NewProc("IsWindowVisible") + procLoadKeyboardLayoutW = moduser32.NewProc("LoadKeyboardLayoutW") procMessageBoxW = moduser32.NewProc("MessageBoxW") + procToUnicodeEx = moduser32.NewProc("ToUnicodeEx") + procUnloadKeyboardLayout = moduser32.NewProc("UnloadKeyboardLayout") procCreateEnvironmentBlock = moduserenv.NewProc("CreateEnvironmentBlock") procDestroyEnvironmentBlock = moduserenv.NewProc("DestroyEnvironmentBlock") procGetUserProfileDirectoryW = moduserenv.NewProc("GetUserProfileDirectoryW") @@ -789,6 +797,14 @@ func FreeSid(sid *SID) (err error) { return } +func GetAce(acl *ACL, aceIndex uint32, pAce **ACCESS_ALLOWED_ACE) (err error) { + r1, _, e1 := syscall.Syscall(procGetAce.Addr(), 3, uintptr(unsafe.Pointer(acl)), uintptr(aceIndex), uintptr(unsafe.Pointer(pAce))) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + func GetLengthSid(sid *SID) (len uint32) { r0, _, _ := syscall.Syscall(procGetLengthSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) len = uint32(r0) @@ -1225,14 +1241,6 @@ func setEntriesInAcl(countExplicitEntries uint32, explicitEntries *EXPLICIT_ACCE return } -func GetAce(acl *ACL, aceIndex uint32, pAce **ACCESS_ALLOWED_ACE) (ret error) { - r0, _, _ := syscall.Syscall(procGetAce.Addr(), 3, uintptr(unsafe.Pointer(acl)), uintptr(aceIndex), uintptr(unsafe.Pointer(pAce))) - if r0 == 0 { - ret = GetLastError() - } - return -} - func SetKernelObjectSecurity(handle Handle, securityInformation SECURITY_INFORMATION, securityDescriptor *SECURITY_DESCRIPTOR) (err error) { r1, _, e1 := syscall.Syscall(procSetKernelObjectSecurity.Addr(), 3, uintptr(handle), uintptr(securityInformation), uintptr(unsafe.Pointer(securityDescriptor))) if r1 == 0 { @@ -2158,6 +2166,15 @@ func GetComputerName(buf *uint16, n *uint32) (err error) { return } +func GetConsoleCP() (cp uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetConsoleCP.Addr(), 0, 0, 0, 0) + cp = uint32(r0) + if cp == 0 { + err = errnoErr(e1) + } + return +} + func GetConsoleMode(console Handle, mode *uint32) (err error) { r1, _, e1 := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(mode)), 0) if r1 == 0 { @@ -2166,6 +2183,15 @@ func GetConsoleMode(console Handle, mode *uint32) (err error) { return } +func GetConsoleOutputCP() (cp uint32, err error) { + r0, _, e1 := syscall.Syscall(procGetConsoleOutputCP.Addr(), 0, 0, 0, 0) + cp = uint32(r0) + if cp == 0 { + err = errnoErr(e1) + } + return +} + func GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) { r1, _, e1 := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(info)), 0) if r1 == 0 { @@ -3034,6 +3060,14 @@ func SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) { return } +func SetConsoleCP(cp uint32) (err error) { + r1, _, e1 := syscall.Syscall(procSetConsoleCP.Addr(), 1, uintptr(cp), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + func setConsoleCursorPosition(console Handle, position uint32) (err error) { r1, _, e1 := syscall.Syscall(procSetConsoleCursorPosition.Addr(), 2, uintptr(console), uintptr(position), 0) if r1 == 0 { @@ -3050,6 +3084,14 @@ func SetConsoleMode(console Handle, mode uint32) (err error) { return } +func SetConsoleOutputCP(cp uint32) (err error) { + r1, _, e1 := syscall.Syscall(procSetConsoleOutputCP.Addr(), 1, uintptr(cp), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + func SetCurrentDirectory(path *uint16) (err error) { r1, _, e1 := syscall.Syscall(procSetCurrentDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) if r1 == 0 { @@ -4082,6 +4124,12 @@ func GetGUIThreadInfo(thread uint32, info *GUIThreadInfo) (err error) { return } +func GetKeyboardLayout(tid uint32) (hkl Handle) { + r0, _, _ := syscall.Syscall(procGetKeyboardLayout.Addr(), 1, uintptr(tid), 0, 0) + hkl = Handle(r0) + return +} + func GetShellWindow() (shellWindow HWND) { r0, _, _ := syscall.Syscall(procGetShellWindow.Addr(), 0, 0, 0, 0) shellWindow = HWND(r0) @@ -4115,6 +4163,15 @@ func IsWindowVisible(hwnd HWND) (isVisible bool) { return } +func LoadKeyboardLayout(name *uint16, flags uint32) (hkl Handle, err error) { + r0, _, e1 := syscall.Syscall(procLoadKeyboardLayoutW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(flags), 0) + hkl = Handle(r0) + if hkl == 0 { + err = errnoErr(e1) + } + return +} + func MessageBox(hwnd HWND, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) { r0, _, e1 := syscall.Syscall6(procMessageBoxW.Addr(), 4, uintptr(hwnd), uintptr(unsafe.Pointer(text)), uintptr(unsafe.Pointer(caption)), uintptr(boxtype), 0, 0) ret = int32(r0) @@ -4124,6 +4181,20 @@ func MessageBox(hwnd HWND, text *uint16, caption *uint16, boxtype uint32) (ret i return } +func ToUnicodeEx(vkey uint32, scancode uint32, keystate *byte, pwszBuff *uint16, cchBuff int32, flags uint32, hkl Handle) (ret int32) { + r0, _, _ := syscall.Syscall9(procToUnicodeEx.Addr(), 7, uintptr(vkey), uintptr(scancode), uintptr(unsafe.Pointer(keystate)), uintptr(unsafe.Pointer(pwszBuff)), uintptr(cchBuff), uintptr(flags), uintptr(hkl), 0, 0) + ret = int32(r0) + return +} + +func UnloadKeyboardLayout(hkl Handle) (err error) { + r1, _, e1 := syscall.Syscall(procUnloadKeyboardLayout.Addr(), 1, uintptr(hkl), 0, 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + func CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) (err error) { var _p0 uint32 if inheritExisting { diff --git a/vendor/golang.org/x/term/LICENSE b/vendor/golang.org/x/term/LICENSE index 6a66aea5e..2a7cf70da 100644 --- a/vendor/golang.org/x/term/LICENSE +++ b/vendor/golang.org/x/term/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2009 The Go Authors. All rights reserved. +Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -10,7 +10,7 @@ notice, this list of conditions and the following disclaimer. copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. diff --git a/vendor/golang.org/x/term/term_windows.go b/vendor/golang.org/x/term/term_windows.go index 465f56060..df6bf948e 100644 --- a/vendor/golang.org/x/term/term_windows.go +++ b/vendor/golang.org/x/term/term_windows.go @@ -26,6 +26,7 @@ func makeRaw(fd int) (*State, error) { return nil, err } raw := st &^ (windows.ENABLE_ECHO_INPUT | windows.ENABLE_PROCESSED_INPUT | windows.ENABLE_LINE_INPUT | windows.ENABLE_PROCESSED_OUTPUT) + raw |= windows.ENABLE_VIRTUAL_TERMINAL_INPUT if err := windows.SetConsoleMode(windows.Handle(fd), raw); err != nil { return nil, err } diff --git a/vendor/golang.org/x/text/LICENSE b/vendor/golang.org/x/text/LICENSE index 6a66aea5e..2a7cf70da 100644 --- a/vendor/golang.org/x/text/LICENSE +++ b/vendor/golang.org/x/text/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2009 The Go Authors. All rights reserved. +Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -10,7 +10,7 @@ notice, this list of conditions and the following disclaimer. copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. diff --git a/vendor/golang.org/x/text/cases/cases.go b/vendor/golang.org/x/text/cases/cases.go new file mode 100644 index 000000000..752cdf031 --- /dev/null +++ b/vendor/golang.org/x/text/cases/cases.go @@ -0,0 +1,162 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:generate go run gen.go gen_trieval.go + +// Package cases provides general and language-specific case mappers. +package cases // import "golang.org/x/text/cases" + +import ( + "golang.org/x/text/language" + "golang.org/x/text/transform" +) + +// References: +// - Unicode Reference Manual Chapter 3.13, 4.2, and 5.18. +// - https://www.unicode.org/reports/tr29/ +// - https://www.unicode.org/Public/6.3.0/ucd/CaseFolding.txt +// - https://www.unicode.org/Public/6.3.0/ucd/SpecialCasing.txt +// - https://www.unicode.org/Public/6.3.0/ucd/DerivedCoreProperties.txt +// - https://www.unicode.org/Public/6.3.0/ucd/auxiliary/WordBreakProperty.txt +// - https://www.unicode.org/Public/6.3.0/ucd/auxiliary/WordBreakTest.txt +// - http://userguide.icu-project.org/transforms/casemappings + +// TODO: +// - Case folding +// - Wide and Narrow? +// - Segmenter option for title casing. +// - ASCII fast paths +// - Encode Soft-Dotted property within trie somehow. + +// A Caser transforms given input to a certain case. It implements +// transform.Transformer. +// +// A Caser may be stateful and should therefore not be shared between +// goroutines. +type Caser struct { + t transform.SpanningTransformer +} + +// Bytes returns a new byte slice with the result of converting b to the case +// form implemented by c. +func (c Caser) Bytes(b []byte) []byte { + b, _, _ = transform.Bytes(c.t, b) + return b +} + +// String returns a string with the result of transforming s to the case form +// implemented by c. +func (c Caser) String(s string) string { + s, _, _ = transform.String(c.t, s) + return s +} + +// Reset resets the Caser to be reused for new input after a previous call to +// Transform. +func (c Caser) Reset() { c.t.Reset() } + +// Transform implements the transform.Transformer interface and transforms the +// given input to the case form implemented by c. +func (c Caser) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + return c.t.Transform(dst, src, atEOF) +} + +// Span implements the transform.SpanningTransformer interface. +func (c Caser) Span(src []byte, atEOF bool) (n int, err error) { + return c.t.Span(src, atEOF) +} + +// Upper returns a Caser for language-specific uppercasing. +func Upper(t language.Tag, opts ...Option) Caser { + return Caser{makeUpper(t, getOpts(opts...))} +} + +// Lower returns a Caser for language-specific lowercasing. +func Lower(t language.Tag, opts ...Option) Caser { + return Caser{makeLower(t, getOpts(opts...))} +} + +// Title returns a Caser for language-specific title casing. It uses an +// approximation of the default Unicode Word Break algorithm. +func Title(t language.Tag, opts ...Option) Caser { + return Caser{makeTitle(t, getOpts(opts...))} +} + +// Fold returns a Caser that implements Unicode case folding. The returned Caser +// is stateless and safe to use concurrently by multiple goroutines. +// +// Case folding does not normalize the input and may not preserve a normal form. +// Use the collate or search package for more convenient and linguistically +// sound comparisons. Use golang.org/x/text/secure/precis for string comparisons +// where security aspects are a concern. +func Fold(opts ...Option) Caser { + return Caser{makeFold(getOpts(opts...))} +} + +// An Option is used to modify the behavior of a Caser. +type Option func(o options) options + +// TODO: consider these options to take a boolean as well, like FinalSigma. +// The advantage of using this approach is that other providers of a lower-case +// algorithm could set different defaults by prefixing a user-provided slice +// of options with their own. This is handy, for instance, for the precis +// package which would override the default to not handle the Greek final sigma. + +var ( + // NoLower disables the lowercasing of non-leading letters for a title + // caser. + NoLower Option = noLower + + // Compact omits mappings in case folding for characters that would grow the + // input. (Unimplemented.) + Compact Option = compact +) + +// TODO: option to preserve a normal form, if applicable? + +type options struct { + noLower bool + simple bool + + // TODO: segmenter, max ignorable, alternative versions, etc. + + ignoreFinalSigma bool +} + +func getOpts(o ...Option) (res options) { + for _, f := range o { + res = f(res) + } + return +} + +func noLower(o options) options { + o.noLower = true + return o +} + +func compact(o options) options { + o.simple = true + return o +} + +// HandleFinalSigma specifies whether the special handling of Greek final sigma +// should be enabled. Unicode prescribes handling the Greek final sigma for all +// locales, but standards like IDNA and PRECIS override this default. +func HandleFinalSigma(enable bool) Option { + if enable { + return handleFinalSigma + } + return ignoreFinalSigma +} + +func ignoreFinalSigma(o options) options { + o.ignoreFinalSigma = true + return o +} + +func handleFinalSigma(o options) options { + o.ignoreFinalSigma = false + return o +} diff --git a/vendor/golang.org/x/text/cases/context.go b/vendor/golang.org/x/text/cases/context.go new file mode 100644 index 000000000..e9aa9e193 --- /dev/null +++ b/vendor/golang.org/x/text/cases/context.go @@ -0,0 +1,376 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cases + +import "golang.org/x/text/transform" + +// A context is used for iterating over source bytes, fetching case info and +// writing to a destination buffer. +// +// Casing operations may need more than one rune of context to decide how a rune +// should be cased. Casing implementations should call checkpoint on context +// whenever it is known to be safe to return the runes processed so far. +// +// It is recommended for implementations to not allow for more than 30 case +// ignorables as lookahead (analogous to the limit in norm) and to use state if +// unbounded lookahead is needed for cased runes. +type context struct { + dst, src []byte + atEOF bool + + pDst int // pDst points past the last written rune in dst. + pSrc int // pSrc points to the start of the currently scanned rune. + + // checkpoints safe to return in Transform, where nDst <= pDst and nSrc <= pSrc. + nDst, nSrc int + err error + + sz int // size of current rune + info info // case information of currently scanned rune + + // State preserved across calls to Transform. + isMidWord bool // false if next cased letter needs to be title-cased. +} + +func (c *context) Reset() { + c.isMidWord = false +} + +// ret returns the return values for the Transform method. It checks whether +// there were insufficient bytes in src to complete and introduces an error +// accordingly, if necessary. +func (c *context) ret() (nDst, nSrc int, err error) { + if c.err != nil || c.nSrc == len(c.src) { + return c.nDst, c.nSrc, c.err + } + // This point is only reached by mappers if there was no short destination + // buffer. This means that the source buffer was exhausted and that c.sz was + // set to 0 by next. + if c.atEOF && c.pSrc == len(c.src) { + return c.pDst, c.pSrc, nil + } + return c.nDst, c.nSrc, transform.ErrShortSrc +} + +// retSpan returns the return values for the Span method. It checks whether +// there were insufficient bytes in src to complete and introduces an error +// accordingly, if necessary. +func (c *context) retSpan() (n int, err error) { + _, nSrc, err := c.ret() + return nSrc, err +} + +// checkpoint sets the return value buffer points for Transform to the current +// positions. +func (c *context) checkpoint() { + if c.err == nil { + c.nDst, c.nSrc = c.pDst, c.pSrc+c.sz + } +} + +// unreadRune causes the last rune read by next to be reread on the next +// invocation of next. Only one unreadRune may be called after a call to next. +func (c *context) unreadRune() { + c.sz = 0 +} + +func (c *context) next() bool { + c.pSrc += c.sz + if c.pSrc == len(c.src) || c.err != nil { + c.info, c.sz = 0, 0 + return false + } + v, sz := trie.lookup(c.src[c.pSrc:]) + c.info, c.sz = info(v), sz + if c.sz == 0 { + if c.atEOF { + // A zero size means we have an incomplete rune. If we are atEOF, + // this means it is an illegal rune, which we will consume one + // byte at a time. + c.sz = 1 + } else { + c.err = transform.ErrShortSrc + return false + } + } + return true +} + +// writeBytes adds bytes to dst. +func (c *context) writeBytes(b []byte) bool { + if len(c.dst)-c.pDst < len(b) { + c.err = transform.ErrShortDst + return false + } + // This loop is faster than using copy. + for _, ch := range b { + c.dst[c.pDst] = ch + c.pDst++ + } + return true +} + +// writeString writes the given string to dst. +func (c *context) writeString(s string) bool { + if len(c.dst)-c.pDst < len(s) { + c.err = transform.ErrShortDst + return false + } + // This loop is faster than using copy. + for i := 0; i < len(s); i++ { + c.dst[c.pDst] = s[i] + c.pDst++ + } + return true +} + +// copy writes the current rune to dst. +func (c *context) copy() bool { + return c.writeBytes(c.src[c.pSrc : c.pSrc+c.sz]) +} + +// copyXOR copies the current rune to dst and modifies it by applying the XOR +// pattern of the case info. It is the responsibility of the caller to ensure +// that this is a rune with a XOR pattern defined. +func (c *context) copyXOR() bool { + if !c.copy() { + return false + } + if c.info&xorIndexBit == 0 { + // Fast path for 6-bit XOR pattern, which covers most cases. + c.dst[c.pDst-1] ^= byte(c.info >> xorShift) + } else { + // Interpret XOR bits as an index. + // TODO: test performance for unrolling this loop. Verify that we have + // at least two bytes and at most three. + idx := c.info >> xorShift + for p := c.pDst - 1; ; p-- { + c.dst[p] ^= xorData[idx] + idx-- + if xorData[idx] == 0 { + break + } + } + } + return true +} + +// hasPrefix returns true if src[pSrc:] starts with the given string. +func (c *context) hasPrefix(s string) bool { + b := c.src[c.pSrc:] + if len(b) < len(s) { + return false + } + for i, c := range b[:len(s)] { + if c != s[i] { + return false + } + } + return true +} + +// caseType returns an info with only the case bits, normalized to either +// cLower, cUpper, cTitle or cUncased. +func (c *context) caseType() info { + cm := c.info & 0x7 + if cm < 4 { + return cm + } + if cm >= cXORCase { + // xor the last bit of the rune with the case type bits. + b := c.src[c.pSrc+c.sz-1] + return info(b&1) ^ cm&0x3 + } + if cm == cIgnorableCased { + return cLower + } + return cUncased +} + +// lower writes the lowercase version of the current rune to dst. +func lower(c *context) bool { + ct := c.caseType() + if c.info&hasMappingMask == 0 || ct == cLower { + return c.copy() + } + if c.info&exceptionBit == 0 { + return c.copyXOR() + } + e := exceptions[c.info>>exceptionShift:] + offset := 2 + e[0]&lengthMask // size of header + fold string + if nLower := (e[1] >> lengthBits) & lengthMask; nLower != noChange { + return c.writeString(e[offset : offset+nLower]) + } + return c.copy() +} + +func isLower(c *context) bool { + ct := c.caseType() + if c.info&hasMappingMask == 0 || ct == cLower { + return true + } + if c.info&exceptionBit == 0 { + c.err = transform.ErrEndOfSpan + return false + } + e := exceptions[c.info>>exceptionShift:] + if nLower := (e[1] >> lengthBits) & lengthMask; nLower != noChange { + c.err = transform.ErrEndOfSpan + return false + } + return true +} + +// upper writes the uppercase version of the current rune to dst. +func upper(c *context) bool { + ct := c.caseType() + if c.info&hasMappingMask == 0 || ct == cUpper { + return c.copy() + } + if c.info&exceptionBit == 0 { + return c.copyXOR() + } + e := exceptions[c.info>>exceptionShift:] + offset := 2 + e[0]&lengthMask // size of header + fold string + // Get length of first special case mapping. + n := (e[1] >> lengthBits) & lengthMask + if ct == cTitle { + // The first special case mapping is for lower. Set n to the second. + if n == noChange { + n = 0 + } + n, e = e[1]&lengthMask, e[n:] + } + if n != noChange { + return c.writeString(e[offset : offset+n]) + } + return c.copy() +} + +// isUpper writes the isUppercase version of the current rune to dst. +func isUpper(c *context) bool { + ct := c.caseType() + if c.info&hasMappingMask == 0 || ct == cUpper { + return true + } + if c.info&exceptionBit == 0 { + c.err = transform.ErrEndOfSpan + return false + } + e := exceptions[c.info>>exceptionShift:] + // Get length of first special case mapping. + n := (e[1] >> lengthBits) & lengthMask + if ct == cTitle { + n = e[1] & lengthMask + } + if n != noChange { + c.err = transform.ErrEndOfSpan + return false + } + return true +} + +// title writes the title case version of the current rune to dst. +func title(c *context) bool { + ct := c.caseType() + if c.info&hasMappingMask == 0 || ct == cTitle { + return c.copy() + } + if c.info&exceptionBit == 0 { + if ct == cLower { + return c.copyXOR() + } + return c.copy() + } + // Get the exception data. + e := exceptions[c.info>>exceptionShift:] + offset := 2 + e[0]&lengthMask // size of header + fold string + + nFirst := (e[1] >> lengthBits) & lengthMask + if nTitle := e[1] & lengthMask; nTitle != noChange { + if nFirst != noChange { + e = e[nFirst:] + } + return c.writeString(e[offset : offset+nTitle]) + } + if ct == cLower && nFirst != noChange { + // Use the uppercase version instead. + return c.writeString(e[offset : offset+nFirst]) + } + // Already in correct case. + return c.copy() +} + +// isTitle reports whether the current rune is in title case. +func isTitle(c *context) bool { + ct := c.caseType() + if c.info&hasMappingMask == 0 || ct == cTitle { + return true + } + if c.info&exceptionBit == 0 { + if ct == cLower { + c.err = transform.ErrEndOfSpan + return false + } + return true + } + // Get the exception data. + e := exceptions[c.info>>exceptionShift:] + if nTitle := e[1] & lengthMask; nTitle != noChange { + c.err = transform.ErrEndOfSpan + return false + } + nFirst := (e[1] >> lengthBits) & lengthMask + if ct == cLower && nFirst != noChange { + c.err = transform.ErrEndOfSpan + return false + } + return true +} + +// foldFull writes the foldFull version of the current rune to dst. +func foldFull(c *context) bool { + if c.info&hasMappingMask == 0 { + return c.copy() + } + ct := c.caseType() + if c.info&exceptionBit == 0 { + if ct != cLower || c.info&inverseFoldBit != 0 { + return c.copyXOR() + } + return c.copy() + } + e := exceptions[c.info>>exceptionShift:] + n := e[0] & lengthMask + if n == 0 { + if ct == cLower { + return c.copy() + } + n = (e[1] >> lengthBits) & lengthMask + } + return c.writeString(e[2 : 2+n]) +} + +// isFoldFull reports whether the current run is mapped to foldFull +func isFoldFull(c *context) bool { + if c.info&hasMappingMask == 0 { + return true + } + ct := c.caseType() + if c.info&exceptionBit == 0 { + if ct != cLower || c.info&inverseFoldBit != 0 { + c.err = transform.ErrEndOfSpan + return false + } + return true + } + e := exceptions[c.info>>exceptionShift:] + n := e[0] & lengthMask + if n == 0 && ct == cLower { + return true + } + c.err = transform.ErrEndOfSpan + return false +} diff --git a/vendor/golang.org/x/text/cases/fold.go b/vendor/golang.org/x/text/cases/fold.go new file mode 100644 index 000000000..85cc434fa --- /dev/null +++ b/vendor/golang.org/x/text/cases/fold.go @@ -0,0 +1,34 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cases + +import "golang.org/x/text/transform" + +type caseFolder struct{ transform.NopResetter } + +// caseFolder implements the Transformer interface for doing case folding. +func (t *caseFolder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + c := context{dst: dst, src: src, atEOF: atEOF} + for c.next() { + foldFull(&c) + c.checkpoint() + } + return c.ret() +} + +func (t *caseFolder) Span(src []byte, atEOF bool) (n int, err error) { + c := context{src: src, atEOF: atEOF} + for c.next() && isFoldFull(&c) { + c.checkpoint() + } + return c.retSpan() +} + +func makeFold(o options) transform.SpanningTransformer { + // TODO: Special case folding, through option Language, Special/Turkic, or + // both. + // TODO: Implement Compact options. + return &caseFolder{} +} diff --git a/vendor/golang.org/x/text/cases/icu.go b/vendor/golang.org/x/text/cases/icu.go new file mode 100644 index 000000000..db7c237cc --- /dev/null +++ b/vendor/golang.org/x/text/cases/icu.go @@ -0,0 +1,61 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build icu + +package cases + +// Ideally these functions would be defined in a test file, but go test doesn't +// allow CGO in tests. The build tag should ensure either way that these +// functions will not end up in the package. + +// TODO: Ensure that the correct ICU version is set. + +/* +#cgo LDFLAGS: -licui18n.57 -licuuc.57 +#include +#include +#include +#include +#include +*/ +import "C" + +import "unsafe" + +func doICU(tag, caser, input string) string { + err := C.UErrorCode(0) + loc := C.CString(tag) + cm := C.ucasemap_open(loc, C.uint32_t(0), &err) + + buf := make([]byte, len(input)*4) + dst := (*C.char)(unsafe.Pointer(&buf[0])) + src := C.CString(input) + + cn := C.int32_t(0) + + switch caser { + case "fold": + cn = C.ucasemap_utf8FoldCase(cm, + dst, C.int32_t(len(buf)), + src, C.int32_t(len(input)), + &err) + case "lower": + cn = C.ucasemap_utf8ToLower(cm, + dst, C.int32_t(len(buf)), + src, C.int32_t(len(input)), + &err) + case "upper": + cn = C.ucasemap_utf8ToUpper(cm, + dst, C.int32_t(len(buf)), + src, C.int32_t(len(input)), + &err) + case "title": + cn = C.ucasemap_utf8ToTitle(cm, + dst, C.int32_t(len(buf)), + src, C.int32_t(len(input)), + &err) + } + return string(buf[:cn]) +} diff --git a/vendor/golang.org/x/text/cases/info.go b/vendor/golang.org/x/text/cases/info.go new file mode 100644 index 000000000..87a7c3e95 --- /dev/null +++ b/vendor/golang.org/x/text/cases/info.go @@ -0,0 +1,82 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cases + +func (c info) cccVal() info { + if c&exceptionBit != 0 { + return info(exceptions[c>>exceptionShift]) & cccMask + } + return c & cccMask +} + +func (c info) cccType() info { + ccc := c.cccVal() + if ccc <= cccZero { + return cccZero + } + return ccc +} + +// TODO: Implement full Unicode breaking algorithm: +// 1) Implement breaking in separate package. +// 2) Use the breaker here. +// 3) Compare table size and performance of using the more generic breaker. +// +// Note that we can extend the current algorithm to be much more accurate. This +// only makes sense, though, if the performance and/or space penalty of using +// the generic breaker is big. Extra data will only be needed for non-cased +// runes, which means there are sufficient bits left in the caseType. +// ICU prohibits breaking in such cases as well. + +// For the purpose of title casing we use an approximation of the Unicode Word +// Breaking algorithm defined in Annex #29: +// https://www.unicode.org/reports/tr29/#Default_Grapheme_Cluster_Table. +// +// For our approximation, we group the Word Break types into the following +// categories, with associated rules: +// +// 1) Letter: +// ALetter, Hebrew_Letter, Numeric, ExtendNumLet, Extend, Format_FE, ZWJ. +// Rule: Never break between consecutive runes of this category. +// +// 2) Mid: +// MidLetter, MidNumLet, Single_Quote. +// (Cf. case-ignorable: MidLetter, MidNumLet, Single_Quote or cat is Mn, +// Me, Cf, Lm or Sk). +// Rule: Don't break between Letter and Mid, but break between two Mids. +// +// 3) Break: +// Any other category: NewLine, MidNum, CR, LF, Double_Quote, Katakana, and +// Other. +// These categories should always result in a break between two cased letters. +// Rule: Always break. +// +// Note 1: the Katakana and MidNum categories can, in esoteric cases, result in +// preventing a break between two cased letters. For now we will ignore this +// (e.g. [ALetter] [ExtendNumLet] [Katakana] [ExtendNumLet] [ALetter] and +// [ALetter] [Numeric] [MidNum] [Numeric] [ALetter].) +// +// Note 2: the rule for Mid is very approximate, but works in most cases. To +// improve, we could store the categories in the trie value and use a FA to +// manage breaks. See TODO comment above. +// +// Note 3: according to the spec, it is possible for the Extend category to +// introduce breaks between other categories grouped in Letter. However, this +// is undesirable for our purposes. ICU prevents breaks in such cases as well. + +// isBreak returns whether this rune should introduce a break. +func (c info) isBreak() bool { + return c.cccVal() == cccBreak +} + +// isLetter returns whether the rune is of break type ALetter, Hebrew_Letter, +// Numeric, ExtendNumLet, or Extend. +func (c info) isLetter() bool { + ccc := c.cccVal() + if ccc == cccZero { + return !c.isCaseIgnorable() + } + return ccc != cccBreak +} diff --git a/vendor/golang.org/x/text/cases/map.go b/vendor/golang.org/x/text/cases/map.go new file mode 100644 index 000000000..0f7c6a14b --- /dev/null +++ b/vendor/golang.org/x/text/cases/map.go @@ -0,0 +1,816 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cases + +// This file contains the definitions of case mappings for all supported +// languages. The rules for the language-specific tailorings were taken and +// modified from the CLDR transform definitions in common/transforms. + +import ( + "strings" + "unicode" + "unicode/utf8" + + "golang.org/x/text/internal" + "golang.org/x/text/language" + "golang.org/x/text/transform" + "golang.org/x/text/unicode/norm" +) + +// A mapFunc takes a context set to the current rune and writes the mapped +// version to the same context. It may advance the context to the next rune. It +// returns whether a checkpoint is possible: whether the pDst bytes written to +// dst so far won't need changing as we see more source bytes. +type mapFunc func(*context) bool + +// A spanFunc takes a context set to the current rune and returns whether this +// rune would be altered when written to the output. It may advance the context +// to the next rune. It returns whether a checkpoint is possible. +type spanFunc func(*context) bool + +// maxIgnorable defines the maximum number of ignorables to consider for +// lookahead operations. +const maxIgnorable = 30 + +// supported lists the language tags for which we have tailorings. +const supported = "und af az el lt nl tr" + +func init() { + tags := []language.Tag{} + for _, s := range strings.Split(supported, " ") { + tags = append(tags, language.MustParse(s)) + } + matcher = internal.NewInheritanceMatcher(tags) + Supported = language.NewCoverage(tags) +} + +var ( + matcher *internal.InheritanceMatcher + + Supported language.Coverage + + // We keep the following lists separate, instead of having a single per- + // language struct, to give the compiler a chance to remove unused code. + + // Some uppercase mappers are stateless, so we can precompute the + // Transformers and save a bit on runtime allocations. + upperFunc = []struct { + upper mapFunc + span spanFunc + }{ + {nil, nil}, // und + {nil, nil}, // af + {aztrUpper(upper), isUpper}, // az + {elUpper, noSpan}, // el + {ltUpper(upper), noSpan}, // lt + {nil, nil}, // nl + {aztrUpper(upper), isUpper}, // tr + } + + undUpper transform.SpanningTransformer = &undUpperCaser{} + undLower transform.SpanningTransformer = &undLowerCaser{} + undLowerIgnoreSigma transform.SpanningTransformer = &undLowerIgnoreSigmaCaser{} + + lowerFunc = []mapFunc{ + nil, // und + nil, // af + aztrLower, // az + nil, // el + ltLower, // lt + nil, // nl + aztrLower, // tr + } + + titleInfos = []struct { + title mapFunc + lower mapFunc + titleSpan spanFunc + rewrite func(*context) + }{ + {title, lower, isTitle, nil}, // und + {title, lower, isTitle, afnlRewrite}, // af + {aztrUpper(title), aztrLower, isTitle, nil}, // az + {title, lower, isTitle, nil}, // el + {ltUpper(title), ltLower, noSpan, nil}, // lt + {nlTitle, lower, nlTitleSpan, afnlRewrite}, // nl + {aztrUpper(title), aztrLower, isTitle, nil}, // tr + } +) + +func makeUpper(t language.Tag, o options) transform.SpanningTransformer { + _, i, _ := matcher.Match(t) + f := upperFunc[i].upper + if f == nil { + return undUpper + } + return &simpleCaser{f: f, span: upperFunc[i].span} +} + +func makeLower(t language.Tag, o options) transform.SpanningTransformer { + _, i, _ := matcher.Match(t) + f := lowerFunc[i] + if f == nil { + if o.ignoreFinalSigma { + return undLowerIgnoreSigma + } + return undLower + } + if o.ignoreFinalSigma { + return &simpleCaser{f: f, span: isLower} + } + return &lowerCaser{ + first: f, + midWord: finalSigma(f), + } +} + +func makeTitle(t language.Tag, o options) transform.SpanningTransformer { + _, i, _ := matcher.Match(t) + x := &titleInfos[i] + lower := x.lower + if o.noLower { + lower = (*context).copy + } else if !o.ignoreFinalSigma { + lower = finalSigma(lower) + } + return &titleCaser{ + title: x.title, + lower: lower, + titleSpan: x.titleSpan, + rewrite: x.rewrite, + } +} + +func noSpan(c *context) bool { + c.err = transform.ErrEndOfSpan + return false +} + +// TODO: consider a similar special case for the fast majority lower case. This +// is a bit more involved so will require some more precise benchmarking to +// justify it. + +type undUpperCaser struct{ transform.NopResetter } + +// undUpperCaser implements the Transformer interface for doing an upper case +// mapping for the root locale (und). It eliminates the need for an allocation +// as it prevents escaping by not using function pointers. +func (t undUpperCaser) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + c := context{dst: dst, src: src, atEOF: atEOF} + for c.next() { + upper(&c) + c.checkpoint() + } + return c.ret() +} + +func (t undUpperCaser) Span(src []byte, atEOF bool) (n int, err error) { + c := context{src: src, atEOF: atEOF} + for c.next() && isUpper(&c) { + c.checkpoint() + } + return c.retSpan() +} + +// undLowerIgnoreSigmaCaser implements the Transformer interface for doing +// a lower case mapping for the root locale (und) ignoring final sigma +// handling. This casing algorithm is used in some performance-critical packages +// like secure/precis and x/net/http/idna, which warrants its special-casing. +type undLowerIgnoreSigmaCaser struct{ transform.NopResetter } + +func (t undLowerIgnoreSigmaCaser) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + c := context{dst: dst, src: src, atEOF: atEOF} + for c.next() && lower(&c) { + c.checkpoint() + } + return c.ret() + +} + +// Span implements a generic lower-casing. This is possible as isLower works +// for all lowercasing variants. All lowercase variants only vary in how they +// transform a non-lowercase letter. They will never change an already lowercase +// letter. In addition, there is no state. +func (t undLowerIgnoreSigmaCaser) Span(src []byte, atEOF bool) (n int, err error) { + c := context{src: src, atEOF: atEOF} + for c.next() && isLower(&c) { + c.checkpoint() + } + return c.retSpan() +} + +type simpleCaser struct { + context + f mapFunc + span spanFunc +} + +// simpleCaser implements the Transformer interface for doing a case operation +// on a rune-by-rune basis. +func (t *simpleCaser) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + c := context{dst: dst, src: src, atEOF: atEOF} + for c.next() && t.f(&c) { + c.checkpoint() + } + return c.ret() +} + +func (t *simpleCaser) Span(src []byte, atEOF bool) (n int, err error) { + c := context{src: src, atEOF: atEOF} + for c.next() && t.span(&c) { + c.checkpoint() + } + return c.retSpan() +} + +// undLowerCaser implements the Transformer interface for doing a lower case +// mapping for the root locale (und) ignoring final sigma handling. This casing +// algorithm is used in some performance-critical packages like secure/precis +// and x/net/http/idna, which warrants its special-casing. +type undLowerCaser struct{ transform.NopResetter } + +func (t undLowerCaser) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + c := context{dst: dst, src: src, atEOF: atEOF} + + for isInterWord := true; c.next(); { + if isInterWord { + if c.info.isCased() { + if !lower(&c) { + break + } + isInterWord = false + } else if !c.copy() { + break + } + } else { + if c.info.isNotCasedAndNotCaseIgnorable() { + if !c.copy() { + break + } + isInterWord = true + } else if !c.hasPrefix("Σ") { + if !lower(&c) { + break + } + } else if !finalSigmaBody(&c) { + break + } + } + c.checkpoint() + } + return c.ret() +} + +func (t undLowerCaser) Span(src []byte, atEOF bool) (n int, err error) { + c := context{src: src, atEOF: atEOF} + for c.next() && isLower(&c) { + c.checkpoint() + } + return c.retSpan() +} + +// lowerCaser implements the Transformer interface. The default Unicode lower +// casing requires different treatment for the first and subsequent characters +// of a word, most notably to handle the Greek final Sigma. +type lowerCaser struct { + undLowerIgnoreSigmaCaser + + context + + first, midWord mapFunc +} + +func (t *lowerCaser) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + t.context = context{dst: dst, src: src, atEOF: atEOF} + c := &t.context + + for isInterWord := true; c.next(); { + if isInterWord { + if c.info.isCased() { + if !t.first(c) { + break + } + isInterWord = false + } else if !c.copy() { + break + } + } else { + if c.info.isNotCasedAndNotCaseIgnorable() { + if !c.copy() { + break + } + isInterWord = true + } else if !t.midWord(c) { + break + } + } + c.checkpoint() + } + return c.ret() +} + +// titleCaser implements the Transformer interface. Title casing algorithms +// distinguish between the first letter of a word and subsequent letters of the +// same word. It uses state to avoid requiring a potentially infinite lookahead. +type titleCaser struct { + context + + // rune mappings used by the actual casing algorithms. + title mapFunc + lower mapFunc + titleSpan spanFunc + + rewrite func(*context) +} + +// Transform implements the standard Unicode title case algorithm as defined in +// Chapter 3 of The Unicode Standard: +// toTitlecase(X): Find the word boundaries in X according to Unicode Standard +// Annex #29, "Unicode Text Segmentation." For each word boundary, find the +// first cased character F following the word boundary. If F exists, map F to +// Titlecase_Mapping(F); then map all characters C between F and the following +// word boundary to Lowercase_Mapping(C). +func (t *titleCaser) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) { + t.context = context{dst: dst, src: src, atEOF: atEOF, isMidWord: t.isMidWord} + c := &t.context + + if !c.next() { + return c.ret() + } + + for { + p := c.info + if t.rewrite != nil { + t.rewrite(c) + } + + wasMid := p.isMid() + // Break out of this loop on failure to ensure we do not modify the + // state incorrectly. + if p.isCased() { + if !c.isMidWord { + if !t.title(c) { + break + } + c.isMidWord = true + } else if !t.lower(c) { + break + } + } else if !c.copy() { + break + } else if p.isBreak() { + c.isMidWord = false + } + + // As we save the state of the transformer, it is safe to call + // checkpoint after any successful write. + if !(c.isMidWord && wasMid) { + c.checkpoint() + } + + if !c.next() { + break + } + if wasMid && c.info.isMid() { + c.isMidWord = false + } + } + return c.ret() +} + +func (t *titleCaser) Span(src []byte, atEOF bool) (n int, err error) { + t.context = context{src: src, atEOF: atEOF, isMidWord: t.isMidWord} + c := &t.context + + if !c.next() { + return c.retSpan() + } + + for { + p := c.info + if t.rewrite != nil { + t.rewrite(c) + } + + wasMid := p.isMid() + // Break out of this loop on failure to ensure we do not modify the + // state incorrectly. + if p.isCased() { + if !c.isMidWord { + if !t.titleSpan(c) { + break + } + c.isMidWord = true + } else if !isLower(c) { + break + } + } else if p.isBreak() { + c.isMidWord = false + } + // As we save the state of the transformer, it is safe to call + // checkpoint after any successful write. + if !(c.isMidWord && wasMid) { + c.checkpoint() + } + + if !c.next() { + break + } + if wasMid && c.info.isMid() { + c.isMidWord = false + } + } + return c.retSpan() +} + +// finalSigma adds Greek final Sigma handing to another casing function. It +// determines whether a lowercased sigma should be σ or ς, by looking ahead for +// case-ignorables and a cased letters. +func finalSigma(f mapFunc) mapFunc { + return func(c *context) bool { + if !c.hasPrefix("Σ") { + return f(c) + } + return finalSigmaBody(c) + } +} + +func finalSigmaBody(c *context) bool { + // Current rune must be ∑. + + // ::NFD(); + // # 03A3; 03C2; 03A3; 03A3; Final_Sigma; # GREEK CAPITAL LETTER SIGMA + // Σ } [:case-ignorable:]* [:cased:] → σ; + // [:cased:] [:case-ignorable:]* { Σ → ς; + // ::Any-Lower; + // ::NFC(); + + p := c.pDst + c.writeString("ς") + + // TODO: we should do this here, but right now this will never have an + // effect as this is called when the prefix is Sigma, whereas Dutch and + // Afrikaans only test for an apostrophe. + // + // if t.rewrite != nil { + // t.rewrite(c) + // } + + // We need to do one more iteration after maxIgnorable, as a cased + // letter is not an ignorable and may modify the result. + wasMid := false + for i := 0; i < maxIgnorable+1; i++ { + if !c.next() { + return false + } + if !c.info.isCaseIgnorable() { + // All Midword runes are also case ignorable, so we are + // guaranteed to have a letter or word break here. As we are + // unreading the run, there is no need to unset c.isMidWord; + // the title caser will handle this. + if c.info.isCased() { + // p+1 is guaranteed to be in bounds: if writing ς was + // successful, p+1 will contain the second byte of ς. If not, + // this function will have returned after c.next returned false. + c.dst[p+1]++ // ς → σ + } + c.unreadRune() + return true + } + // A case ignorable may also introduce a word break, so we may need + // to continue searching even after detecting a break. + isMid := c.info.isMid() + if (wasMid && isMid) || c.info.isBreak() { + c.isMidWord = false + } + wasMid = isMid + c.copy() + } + return true +} + +// finalSigmaSpan would be the same as isLower. + +// elUpper implements Greek upper casing, which entails removing a predefined +// set of non-blocked modifiers. Note that these accents should not be removed +// for title casing! +// Example: "Οδός" -> "ΟΔΟΣ". +func elUpper(c *context) bool { + // From CLDR: + // [:Greek:] [^[:ccc=Not_Reordered:][:ccc=Above:]]*? { [\u0313\u0314\u0301\u0300\u0306\u0342\u0308\u0304] → ; + // [:Greek:] [^[:ccc=Not_Reordered:][:ccc=Iota_Subscript:]]*? { \u0345 → ; + + r, _ := utf8.DecodeRune(c.src[c.pSrc:]) + oldPDst := c.pDst + if !upper(c) { + return false + } + if !unicode.Is(unicode.Greek, r) { + return true + } + i := 0 + // Take the properties of the uppercased rune that is already written to the + // destination. This saves us the trouble of having to uppercase the + // decomposed rune again. + if b := norm.NFD.Properties(c.dst[oldPDst:]).Decomposition(); b != nil { + // Restore the destination position and process the decomposed rune. + r, sz := utf8.DecodeRune(b) + if r <= 0xFF { // See A.6.1 + return true + } + c.pDst = oldPDst + // Insert the first rune and ignore the modifiers. See A.6.2. + c.writeBytes(b[:sz]) + i = len(b[sz:]) / 2 // Greek modifiers are always of length 2. + } + + for ; i < maxIgnorable && c.next(); i++ { + switch r, _ := utf8.DecodeRune(c.src[c.pSrc:]); r { + // Above and Iota Subscript + case 0x0300, // U+0300 COMBINING GRAVE ACCENT + 0x0301, // U+0301 COMBINING ACUTE ACCENT + 0x0304, // U+0304 COMBINING MACRON + 0x0306, // U+0306 COMBINING BREVE + 0x0308, // U+0308 COMBINING DIAERESIS + 0x0313, // U+0313 COMBINING COMMA ABOVE + 0x0314, // U+0314 COMBINING REVERSED COMMA ABOVE + 0x0342, // U+0342 COMBINING GREEK PERISPOMENI + 0x0345: // U+0345 COMBINING GREEK YPOGEGRAMMENI + // No-op. Gobble the modifier. + + default: + switch v, _ := trie.lookup(c.src[c.pSrc:]); info(v).cccType() { + case cccZero: + c.unreadRune() + return true + + // We don't need to test for IotaSubscript as the only rune that + // qualifies (U+0345) was already excluded in the switch statement + // above. See A.4. + + case cccAbove: + return c.copy() + default: + // Some other modifier. We're still allowed to gobble Greek + // modifiers after this. + c.copy() + } + } + } + return i == maxIgnorable +} + +// TODO: implement elUpperSpan (low-priority: complex and infrequent). + +func ltLower(c *context) bool { + // From CLDR: + // # Introduce an explicit dot above when lowercasing capital I's and J's + // # whenever there are more accents above. + // # (of the accents used in Lithuanian: grave, acute, tilde above, and ogonek) + // # 0049; 0069 0307; 0049; 0049; lt More_Above; # LATIN CAPITAL LETTER I + // # 004A; 006A 0307; 004A; 004A; lt More_Above; # LATIN CAPITAL LETTER J + // # 012E; 012F 0307; 012E; 012E; lt More_Above; # LATIN CAPITAL LETTER I WITH OGONEK + // # 00CC; 0069 0307 0300; 00CC; 00CC; lt; # LATIN CAPITAL LETTER I WITH GRAVE + // # 00CD; 0069 0307 0301; 00CD; 00CD; lt; # LATIN CAPITAL LETTER I WITH ACUTE + // # 0128; 0069 0307 0303; 0128; 0128; lt; # LATIN CAPITAL LETTER I WITH TILDE + // ::NFD(); + // I } [^[:ccc=Not_Reordered:][:ccc=Above:]]* [:ccc=Above:] → i \u0307; + // J } [^[:ccc=Not_Reordered:][:ccc=Above:]]* [:ccc=Above:] → j \u0307; + // I \u0328 (Į) } [^[:ccc=Not_Reordered:][:ccc=Above:]]* [:ccc=Above:] → i \u0328 \u0307; + // I \u0300 (Ì) → i \u0307 \u0300; + // I \u0301 (Í) → i \u0307 \u0301; + // I \u0303 (Ĩ) → i \u0307 \u0303; + // ::Any-Lower(); + // ::NFC(); + + i := 0 + if r := c.src[c.pSrc]; r < utf8.RuneSelf { + lower(c) + if r != 'I' && r != 'J' { + return true + } + } else { + p := norm.NFD.Properties(c.src[c.pSrc:]) + if d := p.Decomposition(); len(d) >= 3 && (d[0] == 'I' || d[0] == 'J') { + // UTF-8 optimization: the decomposition will only have an above + // modifier if the last rune of the decomposition is in [U+300-U+311]. + // In all other cases, a decomposition starting with I is always + // an I followed by modifiers that are not cased themselves. See A.2. + if d[1] == 0xCC && d[2] <= 0x91 { // A.2.4. + if !c.writeBytes(d[:1]) { + return false + } + c.dst[c.pDst-1] += 'a' - 'A' // lower + + // Assumption: modifier never changes on lowercase. See A.1. + // Assumption: all modifiers added have CCC = Above. See A.2.3. + return c.writeString("\u0307") && c.writeBytes(d[1:]) + } + // In all other cases the additional modifiers will have a CCC + // that is less than 230 (Above). We will insert the U+0307, if + // needed, after these modifiers so that a string in FCD form + // will remain so. See A.2.2. + lower(c) + i = 1 + } else { + return lower(c) + } + } + + for ; i < maxIgnorable && c.next(); i++ { + switch c.info.cccType() { + case cccZero: + c.unreadRune() + return true + case cccAbove: + return c.writeString("\u0307") && c.copy() // See A.1. + default: + c.copy() // See A.1. + } + } + return i == maxIgnorable +} + +// ltLowerSpan would be the same as isLower. + +func ltUpper(f mapFunc) mapFunc { + return func(c *context) bool { + // Unicode: + // 0307; 0307; ; ; lt After_Soft_Dotted; # COMBINING DOT ABOVE + // + // From CLDR: + // # Remove \u0307 following soft-dotteds (i, j, and the like), with possible + // # intervening non-230 marks. + // ::NFD(); + // [:Soft_Dotted:] [^[:ccc=Not_Reordered:][:ccc=Above:]]* { \u0307 → ; + // ::Any-Upper(); + // ::NFC(); + + // TODO: See A.5. A soft-dotted rune never has an exception. This would + // allow us to overload the exception bit and encode this property in + // info. Need to measure performance impact of this. + r, _ := utf8.DecodeRune(c.src[c.pSrc:]) + oldPDst := c.pDst + if !f(c) { + return false + } + if !unicode.Is(unicode.Soft_Dotted, r) { + return true + } + + // We don't need to do an NFD normalization, as a soft-dotted rune never + // contains U+0307. See A.3. + + i := 0 + for ; i < maxIgnorable && c.next(); i++ { + switch c.info.cccType() { + case cccZero: + c.unreadRune() + return true + case cccAbove: + if c.hasPrefix("\u0307") { + // We don't do a full NFC, but rather combine runes for + // some of the common cases. (Returning NFC or + // preserving normal form is neither a requirement nor + // a possibility anyway). + if !c.next() { + return false + } + if c.dst[oldPDst] == 'I' && c.pDst == oldPDst+1 && c.src[c.pSrc] == 0xcc { + s := "" + switch c.src[c.pSrc+1] { + case 0x80: // U+0300 COMBINING GRAVE ACCENT + s = "\u00cc" // U+00CC LATIN CAPITAL LETTER I WITH GRAVE + case 0x81: // U+0301 COMBINING ACUTE ACCENT + s = "\u00cd" // U+00CD LATIN CAPITAL LETTER I WITH ACUTE + case 0x83: // U+0303 COMBINING TILDE + s = "\u0128" // U+0128 LATIN CAPITAL LETTER I WITH TILDE + case 0x88: // U+0308 COMBINING DIAERESIS + s = "\u00cf" // U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS + default: + } + if s != "" { + c.pDst = oldPDst + return c.writeString(s) + } + } + } + return c.copy() + default: + c.copy() + } + } + return i == maxIgnorable + } +} + +// TODO: implement ltUpperSpan (low priority: complex and infrequent). + +func aztrUpper(f mapFunc) mapFunc { + return func(c *context) bool { + // i→İ; + if c.src[c.pSrc] == 'i' { + return c.writeString("İ") + } + return f(c) + } +} + +func aztrLower(c *context) (done bool) { + // From CLDR: + // # I and i-dotless; I-dot and i are case pairs in Turkish and Azeri + // # 0130; 0069; 0130; 0130; tr; # LATIN CAPITAL LETTER I WITH DOT ABOVE + // İ→i; + // # When lowercasing, remove dot_above in the sequence I + dot_above, which will turn into i. + // # This matches the behavior of the canonically equivalent I-dot_above + // # 0307; ; 0307; 0307; tr After_I; # COMBINING DOT ABOVE + // # When lowercasing, unless an I is before a dot_above, it turns into a dotless i. + // # 0049; 0131; 0049; 0049; tr Not_Before_Dot; # LATIN CAPITAL LETTER I + // I([^[:ccc=Not_Reordered:][:ccc=Above:]]*)\u0307 → i$1 ; + // I→ı ; + // ::Any-Lower(); + if c.hasPrefix("\u0130") { // İ + return c.writeString("i") + } + if c.src[c.pSrc] != 'I' { + return lower(c) + } + + // We ignore the lower-case I for now, but insert it later when we know + // which form we need. + start := c.pSrc + c.sz + + i := 0 +Loop: + // We check for up to n ignorables before \u0307. As \u0307 is an + // ignorable as well, n is maxIgnorable-1. + for ; i < maxIgnorable && c.next(); i++ { + switch c.info.cccType() { + case cccAbove: + if c.hasPrefix("\u0307") { + return c.writeString("i") && c.writeBytes(c.src[start:c.pSrc]) // ignore U+0307 + } + done = true + break Loop + case cccZero: + c.unreadRune() + done = true + break Loop + default: + // We'll write this rune after we know which starter to use. + } + } + if i == maxIgnorable { + done = true + } + return c.writeString("ı") && c.writeBytes(c.src[start:c.pSrc+c.sz]) && done +} + +// aztrLowerSpan would be the same as isLower. + +func nlTitle(c *context) bool { + // From CLDR: + // # Special titlecasing for Dutch initial "ij". + // ::Any-Title(); + // # Fix up Ij at the beginning of a "word" (per Any-Title, notUAX #29) + // [:^WB=ALetter:] [:WB=Extend:]* [[:WB=MidLetter:][:WB=MidNumLet:]]? { Ij } → IJ ; + if c.src[c.pSrc] != 'I' && c.src[c.pSrc] != 'i' { + return title(c) + } + + if !c.writeString("I") || !c.next() { + return false + } + if c.src[c.pSrc] == 'j' || c.src[c.pSrc] == 'J' { + return c.writeString("J") + } + c.unreadRune() + return true +} + +func nlTitleSpan(c *context) bool { + // From CLDR: + // # Special titlecasing for Dutch initial "ij". + // ::Any-Title(); + // # Fix up Ij at the beginning of a "word" (per Any-Title, notUAX #29) + // [:^WB=ALetter:] [:WB=Extend:]* [[:WB=MidLetter:][:WB=MidNumLet:]]? { Ij } → IJ ; + if c.src[c.pSrc] != 'I' { + return isTitle(c) + } + if !c.next() || c.src[c.pSrc] == 'j' { + return false + } + if c.src[c.pSrc] != 'J' { + c.unreadRune() + } + return true +} + +// Not part of CLDR, but see https://unicode.org/cldr/trac/ticket/7078. +func afnlRewrite(c *context) { + if c.hasPrefix("'") || c.hasPrefix("’") { + c.isMidWord = true + } +} diff --git a/vendor/golang.org/x/text/cases/tables10.0.0.go b/vendor/golang.org/x/text/cases/tables10.0.0.go new file mode 100644 index 000000000..bd28ae145 --- /dev/null +++ b/vendor/golang.org/x/text/cases/tables10.0.0.go @@ -0,0 +1,2255 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build go1.10 && !go1.13 + +package cases + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "10.0.0" + +var xorData string = "" + // Size: 185 bytes + "\x00\x06\x07\x00\x01?\x00\x0f\x03\x00\x0f\x12\x00\x0f\x1f\x00\x0f\x1d" + + "\x00\x01\x13\x00\x0f\x16\x00\x0f\x0b\x00\x0f3\x00\x0f7\x00\x01#\x00\x0f?" + + "\x00\x0e'\x00\x0f/\x00\x0e>\x00\x0f*\x00\x0c&\x00\x0c*\x00\x0c;\x00\x0c9" + + "\x00\x0c%\x00\x01\x08\x00\x03\x0d\x00\x03\x09\x00\x02\x06\x00\x02\x02" + + "\x00\x02\x0c\x00\x01\x00\x00\x01\x03\x00\x01\x01\x00\x01 \x00\x01\x0c" + + "\x00\x01\x10\x00\x03\x10\x00\x036 \x00\x037 \x00\x0b#\x10\x00\x0b 0\x00" + + "\x0b!\x10\x00\x0b!0\x00\x0b(\x04\x00\x03\x04\x1e\x00\x03\x0a\x00\x02:" + + "\x00\x02>\x00\x02,\x00\x02\x00\x00\x02\x10\x00\x01<\x00\x01&\x00\x01*" + + "\x00\x01.\x00\x010\x003 \x00\x01\x18\x00\x01(\x00\x01\x1e\x00\x01\x22" + +var exceptions string = "" + // Size: 2068 bytes + "\x00\x12\x12μΜΜ\x12\x12ssSSSs\x13\x18i̇i̇\x10\x09II\x13\x1bʼnʼNʼN\x11" + + "\x09sSS\x12\x12dždžDž\x12\x12dždžDŽ\x10\x12DŽDž\x12\x12ljljLj\x12\x12ljljLJ\x10\x12LJLj" + + "\x12\x12njnjNj\x12\x12njnjNJ\x10\x12NJNj\x13\x1bǰJ̌J̌\x12\x12dzdzDz\x12\x12dzdzDZ\x10" + + "\x12DZDz\x13\x18ⱥⱥ\x13\x18ⱦⱦ\x10\x1bⱾⱾ\x10\x1bⱿⱿ\x10\x1bⱯⱯ\x10\x1bⱭⱭ\x10" + + "\x1bⱰⱰ\x10\x1bꞫꞫ\x10\x1bꞬꞬ\x10\x1bꞍꞍ\x10\x1bꞪꞪ\x10\x1bꞮꞮ\x10\x1bⱢⱢ\x10" + + "\x1bꞭꞭ\x10\x1bⱮⱮ\x10\x1bⱤⱤ\x10\x1bꞱꞱ\x10\x1bꞲꞲ\x10\x1bꞰꞰ2\x12ιΙΙ\x166ΐ" + + "Ϊ́Ϊ́\x166ΰΫ́Ϋ́\x12\x12σΣΣ\x12\x12βΒΒ\x12\x12θΘΘ\x12\x12φΦΦ\x12" + + "\x12πΠΠ\x12\x12κΚΚ\x12\x12ρΡΡ\x12\x12εΕΕ\x14$եւԵՒԵւ\x12\x12вВВ\x12\x12дД" + + "Д\x12\x12оОО\x12\x12сСС\x12\x12тТТ\x12\x12тТТ\x12\x12ъЪЪ\x12\x12ѣѢѢ\x13" + + "\x1bꙋꙊꙊ\x13\x1bẖH̱H̱\x13\x1bẗT̈T̈\x13\x1bẘW̊W̊\x13\x1bẙY̊Y̊\x13\x1ba" + + "ʾAʾAʾ\x13\x1bṡṠṠ\x12\x10ssß\x14$ὐΥ̓Υ̓\x166ὒΥ̓̀Υ̓̀\x166ὔΥ̓́Υ̓́\x166" + + "ὖΥ̓͂Υ̓͂\x15+ἀιἈΙᾈ\x15+ἁιἉΙᾉ\x15+ἂιἊΙᾊ\x15+ἃιἋΙᾋ\x15+ἄιἌΙᾌ\x15+ἅιἍΙᾍ" + + "\x15+ἆιἎΙᾎ\x15+ἇιἏΙᾏ\x15\x1dἀιᾀἈΙ\x15\x1dἁιᾁἉΙ\x15\x1dἂιᾂἊΙ\x15\x1dἃιᾃἋΙ" + + "\x15\x1dἄιᾄἌΙ\x15\x1dἅιᾅἍΙ\x15\x1dἆιᾆἎΙ\x15\x1dἇιᾇἏΙ\x15+ἠιἨΙᾘ\x15+ἡιἩΙᾙ" + + "\x15+ἢιἪΙᾚ\x15+ἣιἫΙᾛ\x15+ἤιἬΙᾜ\x15+ἥιἭΙᾝ\x15+ἦιἮΙᾞ\x15+ἧιἯΙᾟ\x15\x1dἠιᾐἨ" + + "Ι\x15\x1dἡιᾑἩΙ\x15\x1dἢιᾒἪΙ\x15\x1dἣιᾓἫΙ\x15\x1dἤιᾔἬΙ\x15\x1dἥιᾕἭΙ\x15" + + "\x1dἦιᾖἮΙ\x15\x1dἧιᾗἯΙ\x15+ὠιὨΙᾨ\x15+ὡιὩΙᾩ\x15+ὢιὪΙᾪ\x15+ὣιὫΙᾫ\x15+ὤιὬΙᾬ" + + "\x15+ὥιὭΙᾭ\x15+ὦιὮΙᾮ\x15+ὧιὯΙᾯ\x15\x1dὠιᾠὨΙ\x15\x1dὡιᾡὩΙ\x15\x1dὢιᾢὪΙ" + + "\x15\x1dὣιᾣὫΙ\x15\x1dὤιᾤὬΙ\x15\x1dὥιᾥὭΙ\x15\x1dὦιᾦὮΙ\x15\x1dὧιᾧὯΙ\x15-ὰι" + + "ᾺΙᾺͅ\x14#αιΑΙᾼ\x14$άιΆΙΆͅ\x14$ᾶΑ͂Α͂\x166ᾶιΑ͂Ιᾼ͂\x14\x1cαιᾳΑΙ\x12" + + "\x12ιΙΙ\x15-ὴιῊΙῊͅ\x14#ηιΗΙῌ\x14$ήιΉΙΉͅ\x14$ῆΗ͂Η͂\x166ῆιΗ͂Ιῌ͂\x14\x1c" + + "ηιῃΗΙ\x166ῒΪ̀Ϊ̀\x166ΐΪ́Ϊ́\x14$ῖΙ͂Ι͂\x166ῗΪ͂Ϊ͂\x166ῢΫ̀Ϋ" + + "̀\x166ΰΫ́Ϋ́\x14$ῤΡ̓Ρ̓\x14$ῦΥ͂Υ͂\x166ῧΫ͂Ϋ͂\x15-ὼιῺΙῺͅ\x14#ωιΩΙ" + + "ῼ\x14$ώιΏΙΏͅ\x14$ῶΩ͂Ω͂\x166ῶιΩ͂Ιῼ͂\x14\x1cωιῳΩΙ\x12\x10ωω\x11\x08kk" + + "\x12\x10åå\x12\x10ɫɫ\x12\x10ɽɽ\x10\x12ȺȺ\x10\x12ȾȾ\x12\x10ɑɑ\x12\x10ɱɱ" + + "\x12\x10ɐɐ\x12\x10ɒɒ\x12\x10ȿȿ\x12\x10ɀɀ\x12\x10ɥɥ\x12\x10ɦɦ\x12\x10ɜɜ" + + "\x12\x10ɡɡ\x12\x10ɬɬ\x12\x10ɪɪ\x12\x10ʞʞ\x12\x10ʇʇ\x12\x10ʝʝ\x12\x12ffFF" + + "Ff\x12\x12fiFIFi\x12\x12flFLFl\x13\x1bffiFFIFfi\x13\x1bfflFFLFfl\x12\x12" + + "stSTSt\x12\x12stSTSt\x14$մնՄՆՄն\x14$մեՄԵՄե\x14$միՄԻՄի\x14$վնՎՆՎն\x14$մխՄ" + + "ԽՄխ" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *caseTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return caseValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = caseIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *caseTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return caseValues[c0] + } + i := caseIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = caseIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = caseIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *caseTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return caseValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = caseIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *caseTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return caseValues[c0] + } + i := caseIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = caseIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = caseIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// caseTrie. Total size: 11892 bytes (11.61 KiB). Checksum: c6f15484b7653775. +type caseTrie struct{} + +func newCaseTrie(i int) *caseTrie { + return &caseTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *caseTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 18: + return uint16(caseValues[n<<6+uint32(b)]) + default: + n -= 18 + return uint16(sparse.lookup(n, b)) + } +} + +// caseValues: 20 blocks, 1280 entries, 2560 bytes +// The third block is the zero block. +var caseValues = [1280]uint16{ + // Block 0x0, offset 0x0 + 0x27: 0x0054, + 0x2e: 0x0054, + 0x30: 0x0010, 0x31: 0x0010, 0x32: 0x0010, 0x33: 0x0010, 0x34: 0x0010, 0x35: 0x0010, + 0x36: 0x0010, 0x37: 0x0010, 0x38: 0x0010, 0x39: 0x0010, 0x3a: 0x0054, + // Block 0x1, offset 0x40 + 0x41: 0x2013, 0x42: 0x2013, 0x43: 0x2013, 0x44: 0x2013, 0x45: 0x2013, + 0x46: 0x2013, 0x47: 0x2013, 0x48: 0x2013, 0x49: 0x2013, 0x4a: 0x2013, 0x4b: 0x2013, + 0x4c: 0x2013, 0x4d: 0x2013, 0x4e: 0x2013, 0x4f: 0x2013, 0x50: 0x2013, 0x51: 0x2013, + 0x52: 0x2013, 0x53: 0x2013, 0x54: 0x2013, 0x55: 0x2013, 0x56: 0x2013, 0x57: 0x2013, + 0x58: 0x2013, 0x59: 0x2013, 0x5a: 0x2013, + 0x5e: 0x0004, 0x5f: 0x0010, 0x60: 0x0004, 0x61: 0x2012, 0x62: 0x2012, 0x63: 0x2012, + 0x64: 0x2012, 0x65: 0x2012, 0x66: 0x2012, 0x67: 0x2012, 0x68: 0x2012, 0x69: 0x2012, + 0x6a: 0x2012, 0x6b: 0x2012, 0x6c: 0x2012, 0x6d: 0x2012, 0x6e: 0x2012, 0x6f: 0x2012, + 0x70: 0x2012, 0x71: 0x2012, 0x72: 0x2012, 0x73: 0x2012, 0x74: 0x2012, 0x75: 0x2012, + 0x76: 0x2012, 0x77: 0x2012, 0x78: 0x2012, 0x79: 0x2012, 0x7a: 0x2012, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x0852, 0xc1: 0x0b53, 0xc2: 0x0113, 0xc3: 0x0112, 0xc4: 0x0113, 0xc5: 0x0112, + 0xc6: 0x0b53, 0xc7: 0x0f13, 0xc8: 0x0f12, 0xc9: 0x0e53, 0xca: 0x1153, 0xcb: 0x0713, + 0xcc: 0x0712, 0xcd: 0x0012, 0xce: 0x1453, 0xcf: 0x1753, 0xd0: 0x1a53, 0xd1: 0x0313, + 0xd2: 0x0312, 0xd3: 0x1d53, 0xd4: 0x2053, 0xd5: 0x2352, 0xd6: 0x2653, 0xd7: 0x2653, + 0xd8: 0x0113, 0xd9: 0x0112, 0xda: 0x2952, 0xdb: 0x0012, 0xdc: 0x1d53, 0xdd: 0x2c53, + 0xde: 0x2f52, 0xdf: 0x3253, 0xe0: 0x0113, 0xe1: 0x0112, 0xe2: 0x0113, 0xe3: 0x0112, + 0xe4: 0x0113, 0xe5: 0x0112, 0xe6: 0x3553, 0xe7: 0x0f13, 0xe8: 0x0f12, 0xe9: 0x3853, + 0xea: 0x0012, 0xeb: 0x0012, 0xec: 0x0113, 0xed: 0x0112, 0xee: 0x3553, 0xef: 0x1f13, + 0xf0: 0x1f12, 0xf1: 0x3b53, 0xf2: 0x3e53, 0xf3: 0x0713, 0xf4: 0x0712, 0xf5: 0x0313, + 0xf6: 0x0312, 0xf7: 0x4153, 0xf8: 0x0113, 0xf9: 0x0112, 0xfa: 0x0012, 0xfb: 0x0010, + 0xfc: 0x0113, 0xfd: 0x0112, 0xfe: 0x0012, 0xff: 0x4452, + // Block 0x4, offset 0x100 + 0x100: 0x0010, 0x101: 0x0010, 0x102: 0x0010, 0x103: 0x0010, 0x104: 0x02db, 0x105: 0x0359, + 0x106: 0x03da, 0x107: 0x043b, 0x108: 0x04b9, 0x109: 0x053a, 0x10a: 0x059b, 0x10b: 0x0619, + 0x10c: 0x069a, 0x10d: 0x0313, 0x10e: 0x0312, 0x10f: 0x1f13, 0x110: 0x1f12, 0x111: 0x0313, + 0x112: 0x0312, 0x113: 0x0713, 0x114: 0x0712, 0x115: 0x0313, 0x116: 0x0312, 0x117: 0x0f13, + 0x118: 0x0f12, 0x119: 0x0313, 0x11a: 0x0312, 0x11b: 0x0713, 0x11c: 0x0712, 0x11d: 0x1452, + 0x11e: 0x0113, 0x11f: 0x0112, 0x120: 0x0113, 0x121: 0x0112, 0x122: 0x0113, 0x123: 0x0112, + 0x124: 0x0113, 0x125: 0x0112, 0x126: 0x0113, 0x127: 0x0112, 0x128: 0x0113, 0x129: 0x0112, + 0x12a: 0x0113, 0x12b: 0x0112, 0x12c: 0x0113, 0x12d: 0x0112, 0x12e: 0x0113, 0x12f: 0x0112, + 0x130: 0x06fa, 0x131: 0x07ab, 0x132: 0x0829, 0x133: 0x08aa, 0x134: 0x0113, 0x135: 0x0112, + 0x136: 0x2353, 0x137: 0x4453, 0x138: 0x0113, 0x139: 0x0112, 0x13a: 0x0113, 0x13b: 0x0112, + 0x13c: 0x0113, 0x13d: 0x0112, 0x13e: 0x0113, 0x13f: 0x0112, + // Block 0x5, offset 0x140 + 0x140: 0x0a8a, 0x141: 0x0313, 0x142: 0x0312, 0x143: 0x0853, 0x144: 0x4753, 0x145: 0x4a53, + 0x146: 0x0113, 0x147: 0x0112, 0x148: 0x0113, 0x149: 0x0112, 0x14a: 0x0113, 0x14b: 0x0112, + 0x14c: 0x0113, 0x14d: 0x0112, 0x14e: 0x0113, 0x14f: 0x0112, 0x150: 0x0b0a, 0x151: 0x0b8a, + 0x152: 0x0c0a, 0x153: 0x0b52, 0x154: 0x0b52, 0x155: 0x0012, 0x156: 0x0e52, 0x157: 0x1152, + 0x158: 0x0012, 0x159: 0x1752, 0x15a: 0x0012, 0x15b: 0x1a52, 0x15c: 0x0c8a, 0x15d: 0x0012, + 0x15e: 0x0012, 0x15f: 0x0012, 0x160: 0x1d52, 0x161: 0x0d0a, 0x162: 0x0012, 0x163: 0x2052, + 0x164: 0x0012, 0x165: 0x0d8a, 0x166: 0x0e0a, 0x167: 0x0012, 0x168: 0x2652, 0x169: 0x2652, + 0x16a: 0x0e8a, 0x16b: 0x0f0a, 0x16c: 0x0f8a, 0x16d: 0x0012, 0x16e: 0x0012, 0x16f: 0x1d52, + 0x170: 0x0012, 0x171: 0x100a, 0x172: 0x2c52, 0x173: 0x0012, 0x174: 0x0012, 0x175: 0x3252, + 0x176: 0x0012, 0x177: 0x0012, 0x178: 0x0012, 0x179: 0x0012, 0x17a: 0x0012, 0x17b: 0x0012, + 0x17c: 0x0012, 0x17d: 0x108a, 0x17e: 0x0012, 0x17f: 0x0012, + // Block 0x6, offset 0x180 + 0x180: 0x3552, 0x181: 0x0012, 0x182: 0x0012, 0x183: 0x3852, 0x184: 0x0012, 0x185: 0x0012, + 0x186: 0x0012, 0x187: 0x110a, 0x188: 0x3552, 0x189: 0x4752, 0x18a: 0x3b52, 0x18b: 0x3e52, + 0x18c: 0x4a52, 0x18d: 0x0012, 0x18e: 0x0012, 0x18f: 0x0012, 0x190: 0x0012, 0x191: 0x0012, + 0x192: 0x4152, 0x193: 0x0012, 0x194: 0x0010, 0x195: 0x0012, 0x196: 0x0012, 0x197: 0x0012, + 0x198: 0x0012, 0x199: 0x0012, 0x19a: 0x0012, 0x19b: 0x0012, 0x19c: 0x0012, 0x19d: 0x118a, + 0x19e: 0x120a, 0x19f: 0x0012, 0x1a0: 0x0012, 0x1a1: 0x0012, 0x1a2: 0x0012, 0x1a3: 0x0012, + 0x1a4: 0x0012, 0x1a5: 0x0012, 0x1a6: 0x0012, 0x1a7: 0x0012, 0x1a8: 0x0012, 0x1a9: 0x0012, + 0x1aa: 0x0012, 0x1ab: 0x0012, 0x1ac: 0x0012, 0x1ad: 0x0012, 0x1ae: 0x0012, 0x1af: 0x0012, + 0x1b0: 0x0015, 0x1b1: 0x0015, 0x1b2: 0x0015, 0x1b3: 0x0015, 0x1b4: 0x0015, 0x1b5: 0x0015, + 0x1b6: 0x0015, 0x1b7: 0x0015, 0x1b8: 0x0015, 0x1b9: 0x0014, 0x1ba: 0x0014, 0x1bb: 0x0014, + 0x1bc: 0x0014, 0x1bd: 0x0014, 0x1be: 0x0014, 0x1bf: 0x0014, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0024, 0x1c1: 0x0024, 0x1c2: 0x0024, 0x1c3: 0x0024, 0x1c4: 0x0024, 0x1c5: 0x128d, + 0x1c6: 0x0024, 0x1c7: 0x0034, 0x1c8: 0x0034, 0x1c9: 0x0034, 0x1ca: 0x0024, 0x1cb: 0x0024, + 0x1cc: 0x0024, 0x1cd: 0x0034, 0x1ce: 0x0034, 0x1cf: 0x0014, 0x1d0: 0x0024, 0x1d1: 0x0024, + 0x1d2: 0x0024, 0x1d3: 0x0034, 0x1d4: 0x0034, 0x1d5: 0x0034, 0x1d6: 0x0034, 0x1d7: 0x0024, + 0x1d8: 0x0034, 0x1d9: 0x0034, 0x1da: 0x0034, 0x1db: 0x0024, 0x1dc: 0x0034, 0x1dd: 0x0034, + 0x1de: 0x0034, 0x1df: 0x0034, 0x1e0: 0x0034, 0x1e1: 0x0034, 0x1e2: 0x0034, 0x1e3: 0x0024, + 0x1e4: 0x0024, 0x1e5: 0x0024, 0x1e6: 0x0024, 0x1e7: 0x0024, 0x1e8: 0x0024, 0x1e9: 0x0024, + 0x1ea: 0x0024, 0x1eb: 0x0024, 0x1ec: 0x0024, 0x1ed: 0x0024, 0x1ee: 0x0024, 0x1ef: 0x0024, + 0x1f0: 0x0113, 0x1f1: 0x0112, 0x1f2: 0x0113, 0x1f3: 0x0112, 0x1f4: 0x0014, 0x1f5: 0x0004, + 0x1f6: 0x0113, 0x1f7: 0x0112, 0x1fa: 0x0015, 0x1fb: 0x4d52, + 0x1fc: 0x5052, 0x1fd: 0x5052, 0x1ff: 0x5353, + // Block 0x8, offset 0x200 + 0x204: 0x0004, 0x205: 0x0004, + 0x206: 0x2a13, 0x207: 0x0054, 0x208: 0x2513, 0x209: 0x2713, 0x20a: 0x2513, + 0x20c: 0x5653, 0x20e: 0x5953, 0x20f: 0x5c53, 0x210: 0x130a, 0x211: 0x2013, + 0x212: 0x2013, 0x213: 0x2013, 0x214: 0x2013, 0x215: 0x2013, 0x216: 0x2013, 0x217: 0x2013, + 0x218: 0x2013, 0x219: 0x2013, 0x21a: 0x2013, 0x21b: 0x2013, 0x21c: 0x2013, 0x21d: 0x2013, + 0x21e: 0x2013, 0x21f: 0x2013, 0x220: 0x5f53, 0x221: 0x5f53, 0x223: 0x5f53, + 0x224: 0x5f53, 0x225: 0x5f53, 0x226: 0x5f53, 0x227: 0x5f53, 0x228: 0x5f53, 0x229: 0x5f53, + 0x22a: 0x5f53, 0x22b: 0x5f53, 0x22c: 0x2a12, 0x22d: 0x2512, 0x22e: 0x2712, 0x22f: 0x2512, + 0x230: 0x144a, 0x231: 0x2012, 0x232: 0x2012, 0x233: 0x2012, 0x234: 0x2012, 0x235: 0x2012, + 0x236: 0x2012, 0x237: 0x2012, 0x238: 0x2012, 0x239: 0x2012, 0x23a: 0x2012, 0x23b: 0x2012, + 0x23c: 0x2012, 0x23d: 0x2012, 0x23e: 0x2012, 0x23f: 0x2012, + // Block 0x9, offset 0x240 + 0x240: 0x5f52, 0x241: 0x5f52, 0x242: 0x158a, 0x243: 0x5f52, 0x244: 0x5f52, 0x245: 0x5f52, + 0x246: 0x5f52, 0x247: 0x5f52, 0x248: 0x5f52, 0x249: 0x5f52, 0x24a: 0x5f52, 0x24b: 0x5f52, + 0x24c: 0x5652, 0x24d: 0x5952, 0x24e: 0x5c52, 0x24f: 0x1813, 0x250: 0x160a, 0x251: 0x168a, + 0x252: 0x0013, 0x253: 0x0013, 0x254: 0x0013, 0x255: 0x170a, 0x256: 0x178a, 0x257: 0x1812, + 0x258: 0x0113, 0x259: 0x0112, 0x25a: 0x0113, 0x25b: 0x0112, 0x25c: 0x0113, 0x25d: 0x0112, + 0x25e: 0x0113, 0x25f: 0x0112, 0x260: 0x0113, 0x261: 0x0112, 0x262: 0x0113, 0x263: 0x0112, + 0x264: 0x0113, 0x265: 0x0112, 0x266: 0x0113, 0x267: 0x0112, 0x268: 0x0113, 0x269: 0x0112, + 0x26a: 0x0113, 0x26b: 0x0112, 0x26c: 0x0113, 0x26d: 0x0112, 0x26e: 0x0113, 0x26f: 0x0112, + 0x270: 0x180a, 0x271: 0x188a, 0x272: 0x0b12, 0x273: 0x5352, 0x274: 0x6253, 0x275: 0x190a, + 0x277: 0x0f13, 0x278: 0x0f12, 0x279: 0x0b13, 0x27a: 0x0113, 0x27b: 0x0112, + 0x27c: 0x0012, 0x27d: 0x4d53, 0x27e: 0x5053, 0x27f: 0x5053, + // Block 0xa, offset 0x280 + 0x280: 0x0812, 0x281: 0x0812, 0x282: 0x0812, 0x283: 0x0812, 0x284: 0x0812, 0x285: 0x0812, + 0x288: 0x0813, 0x289: 0x0813, 0x28a: 0x0813, 0x28b: 0x0813, + 0x28c: 0x0813, 0x28d: 0x0813, 0x290: 0x239a, 0x291: 0x0812, + 0x292: 0x247a, 0x293: 0x0812, 0x294: 0x25ba, 0x295: 0x0812, 0x296: 0x26fa, 0x297: 0x0812, + 0x299: 0x0813, 0x29b: 0x0813, 0x29d: 0x0813, + 0x29f: 0x0813, 0x2a0: 0x0812, 0x2a1: 0x0812, 0x2a2: 0x0812, 0x2a3: 0x0812, + 0x2a4: 0x0812, 0x2a5: 0x0812, 0x2a6: 0x0812, 0x2a7: 0x0812, 0x2a8: 0x0813, 0x2a9: 0x0813, + 0x2aa: 0x0813, 0x2ab: 0x0813, 0x2ac: 0x0813, 0x2ad: 0x0813, 0x2ae: 0x0813, 0x2af: 0x0813, + 0x2b0: 0x8b52, 0x2b1: 0x8b52, 0x2b2: 0x8e52, 0x2b3: 0x8e52, 0x2b4: 0x9152, 0x2b5: 0x9152, + 0x2b6: 0x9452, 0x2b7: 0x9452, 0x2b8: 0x9752, 0x2b9: 0x9752, 0x2ba: 0x9a52, 0x2bb: 0x9a52, + 0x2bc: 0x4d52, 0x2bd: 0x4d52, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x283a, 0x2c1: 0x292a, 0x2c2: 0x2a1a, 0x2c3: 0x2b0a, 0x2c4: 0x2bfa, 0x2c5: 0x2cea, + 0x2c6: 0x2dda, 0x2c7: 0x2eca, 0x2c8: 0x2fb9, 0x2c9: 0x30a9, 0x2ca: 0x3199, 0x2cb: 0x3289, + 0x2cc: 0x3379, 0x2cd: 0x3469, 0x2ce: 0x3559, 0x2cf: 0x3649, 0x2d0: 0x373a, 0x2d1: 0x382a, + 0x2d2: 0x391a, 0x2d3: 0x3a0a, 0x2d4: 0x3afa, 0x2d5: 0x3bea, 0x2d6: 0x3cda, 0x2d7: 0x3dca, + 0x2d8: 0x3eb9, 0x2d9: 0x3fa9, 0x2da: 0x4099, 0x2db: 0x4189, 0x2dc: 0x4279, 0x2dd: 0x4369, + 0x2de: 0x4459, 0x2df: 0x4549, 0x2e0: 0x463a, 0x2e1: 0x472a, 0x2e2: 0x481a, 0x2e3: 0x490a, + 0x2e4: 0x49fa, 0x2e5: 0x4aea, 0x2e6: 0x4bda, 0x2e7: 0x4cca, 0x2e8: 0x4db9, 0x2e9: 0x4ea9, + 0x2ea: 0x4f99, 0x2eb: 0x5089, 0x2ec: 0x5179, 0x2ed: 0x5269, 0x2ee: 0x5359, 0x2ef: 0x5449, + 0x2f0: 0x0812, 0x2f1: 0x0812, 0x2f2: 0x553a, 0x2f3: 0x564a, 0x2f4: 0x571a, + 0x2f6: 0x57fa, 0x2f7: 0x58da, 0x2f8: 0x0813, 0x2f9: 0x0813, 0x2fa: 0x8b53, 0x2fb: 0x8b53, + 0x2fc: 0x5a19, 0x2fd: 0x0004, 0x2fe: 0x5aea, 0x2ff: 0x0004, + // Block 0xc, offset 0x300 + 0x300: 0x0004, 0x301: 0x0004, 0x302: 0x5b6a, 0x303: 0x5c7a, 0x304: 0x5d4a, + 0x306: 0x5e2a, 0x307: 0x5f0a, 0x308: 0x8e53, 0x309: 0x8e53, 0x30a: 0x9153, 0x30b: 0x9153, + 0x30c: 0x6049, 0x30d: 0x0004, 0x30e: 0x0004, 0x30f: 0x0004, 0x310: 0x0812, 0x311: 0x0812, + 0x312: 0x611a, 0x313: 0x625a, 0x316: 0x639a, 0x317: 0x647a, + 0x318: 0x0813, 0x319: 0x0813, 0x31a: 0x9453, 0x31b: 0x9453, 0x31d: 0x0004, + 0x31e: 0x0004, 0x31f: 0x0004, 0x320: 0x0812, 0x321: 0x0812, 0x322: 0x65ba, 0x323: 0x66fa, + 0x324: 0x683a, 0x325: 0x0912, 0x326: 0x691a, 0x327: 0x69fa, 0x328: 0x0813, 0x329: 0x0813, + 0x32a: 0x9a53, 0x32b: 0x9a53, 0x32c: 0x0913, 0x32d: 0x0004, 0x32e: 0x0004, 0x32f: 0x0004, + 0x332: 0x6b3a, 0x333: 0x6c4a, 0x334: 0x6d1a, + 0x336: 0x6dfa, 0x337: 0x6eda, 0x338: 0x9753, 0x339: 0x9753, 0x33a: 0x4d53, 0x33b: 0x4d53, + 0x33c: 0x7019, 0x33d: 0x0004, 0x33e: 0x0004, + // Block 0xd, offset 0x340 + 0x342: 0x0013, + 0x347: 0x0013, 0x34a: 0x0012, 0x34b: 0x0013, + 0x34c: 0x0013, 0x34d: 0x0013, 0x34e: 0x0012, 0x34f: 0x0012, 0x350: 0x0013, 0x351: 0x0013, + 0x352: 0x0013, 0x353: 0x0012, 0x355: 0x0013, + 0x359: 0x0013, 0x35a: 0x0013, 0x35b: 0x0013, 0x35c: 0x0013, 0x35d: 0x0013, + 0x364: 0x0013, 0x366: 0x70eb, 0x368: 0x0013, + 0x36a: 0x714b, 0x36b: 0x718b, 0x36c: 0x0013, 0x36d: 0x0013, 0x36f: 0x0012, + 0x370: 0x0013, 0x371: 0x0013, 0x372: 0x9d53, 0x373: 0x0013, 0x374: 0x0012, 0x375: 0x0010, + 0x376: 0x0010, 0x377: 0x0010, 0x378: 0x0010, 0x379: 0x0012, + 0x37c: 0x0012, 0x37d: 0x0012, 0x37e: 0x0013, 0x37f: 0x0013, + // Block 0xe, offset 0x380 + 0x380: 0x1a13, 0x381: 0x1a13, 0x382: 0x1e13, 0x383: 0x1e13, 0x384: 0x1a13, 0x385: 0x1a13, + 0x386: 0x2613, 0x387: 0x2613, 0x388: 0x2a13, 0x389: 0x2a13, 0x38a: 0x2e13, 0x38b: 0x2e13, + 0x38c: 0x2a13, 0x38d: 0x2a13, 0x38e: 0x2613, 0x38f: 0x2613, 0x390: 0xa052, 0x391: 0xa052, + 0x392: 0xa352, 0x393: 0xa352, 0x394: 0xa652, 0x395: 0xa652, 0x396: 0xa352, 0x397: 0xa352, + 0x398: 0xa052, 0x399: 0xa052, 0x39a: 0x1a12, 0x39b: 0x1a12, 0x39c: 0x1e12, 0x39d: 0x1e12, + 0x39e: 0x1a12, 0x39f: 0x1a12, 0x3a0: 0x2612, 0x3a1: 0x2612, 0x3a2: 0x2a12, 0x3a3: 0x2a12, + 0x3a4: 0x2e12, 0x3a5: 0x2e12, 0x3a6: 0x2a12, 0x3a7: 0x2a12, 0x3a8: 0x2612, 0x3a9: 0x2612, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x6552, 0x3c1: 0x6552, 0x3c2: 0x6552, 0x3c3: 0x6552, 0x3c4: 0x6552, 0x3c5: 0x6552, + 0x3c6: 0x6552, 0x3c7: 0x6552, 0x3c8: 0x6552, 0x3c9: 0x6552, 0x3ca: 0x6552, 0x3cb: 0x6552, + 0x3cc: 0x6552, 0x3cd: 0x6552, 0x3ce: 0x6552, 0x3cf: 0x6552, 0x3d0: 0xa952, 0x3d1: 0xa952, + 0x3d2: 0xa952, 0x3d3: 0xa952, 0x3d4: 0xa952, 0x3d5: 0xa952, 0x3d6: 0xa952, 0x3d7: 0xa952, + 0x3d8: 0xa952, 0x3d9: 0xa952, 0x3da: 0xa952, 0x3db: 0xa952, 0x3dc: 0xa952, 0x3dd: 0xa952, + 0x3de: 0xa952, 0x3e0: 0x0113, 0x3e1: 0x0112, 0x3e2: 0x71eb, 0x3e3: 0x8853, + 0x3e4: 0x724b, 0x3e5: 0x72aa, 0x3e6: 0x730a, 0x3e7: 0x0f13, 0x3e8: 0x0f12, 0x3e9: 0x0313, + 0x3ea: 0x0312, 0x3eb: 0x0713, 0x3ec: 0x0712, 0x3ed: 0x736b, 0x3ee: 0x73cb, 0x3ef: 0x742b, + 0x3f0: 0x748b, 0x3f1: 0x0012, 0x3f2: 0x0113, 0x3f3: 0x0112, 0x3f4: 0x0012, 0x3f5: 0x0313, + 0x3f6: 0x0312, 0x3f7: 0x0012, 0x3f8: 0x0012, 0x3f9: 0x0012, 0x3fa: 0x0012, 0x3fb: 0x0012, + 0x3fc: 0x0015, 0x3fd: 0x0015, 0x3fe: 0x74eb, 0x3ff: 0x754b, + // Block 0x10, offset 0x400 + 0x400: 0x0113, 0x401: 0x0112, 0x402: 0x0113, 0x403: 0x0112, 0x404: 0x0113, 0x405: 0x0112, + 0x406: 0x0113, 0x407: 0x0112, 0x408: 0x0014, 0x409: 0x0014, 0x40a: 0x0014, 0x40b: 0x0713, + 0x40c: 0x0712, 0x40d: 0x75ab, 0x40e: 0x0012, 0x40f: 0x0010, 0x410: 0x0113, 0x411: 0x0112, + 0x412: 0x0113, 0x413: 0x0112, 0x414: 0x0012, 0x415: 0x0012, 0x416: 0x0113, 0x417: 0x0112, + 0x418: 0x0113, 0x419: 0x0112, 0x41a: 0x0113, 0x41b: 0x0112, 0x41c: 0x0113, 0x41d: 0x0112, + 0x41e: 0x0113, 0x41f: 0x0112, 0x420: 0x0113, 0x421: 0x0112, 0x422: 0x0113, 0x423: 0x0112, + 0x424: 0x0113, 0x425: 0x0112, 0x426: 0x0113, 0x427: 0x0112, 0x428: 0x0113, 0x429: 0x0112, + 0x42a: 0x760b, 0x42b: 0x766b, 0x42c: 0x76cb, 0x42d: 0x772b, 0x42e: 0x778b, + 0x430: 0x77eb, 0x431: 0x784b, 0x432: 0x78ab, 0x433: 0xac53, 0x434: 0x0113, 0x435: 0x0112, + 0x436: 0x0113, 0x437: 0x0112, + // Block 0x11, offset 0x440 + 0x440: 0x790a, 0x441: 0x798a, 0x442: 0x7a0a, 0x443: 0x7a8a, 0x444: 0x7b3a, 0x445: 0x7bea, + 0x446: 0x7c6a, + 0x453: 0x7cea, 0x454: 0x7dca, 0x455: 0x7eaa, 0x456: 0x7f8a, 0x457: 0x806a, + 0x45d: 0x0010, + 0x45e: 0x0034, 0x45f: 0x0010, 0x460: 0x0010, 0x461: 0x0010, 0x462: 0x0010, 0x463: 0x0010, + 0x464: 0x0010, 0x465: 0x0010, 0x466: 0x0010, 0x467: 0x0010, 0x468: 0x0010, + 0x46a: 0x0010, 0x46b: 0x0010, 0x46c: 0x0010, 0x46d: 0x0010, 0x46e: 0x0010, 0x46f: 0x0010, + 0x470: 0x0010, 0x471: 0x0010, 0x472: 0x0010, 0x473: 0x0010, 0x474: 0x0010, 0x475: 0x0010, + 0x476: 0x0010, 0x478: 0x0010, 0x479: 0x0010, 0x47a: 0x0010, 0x47b: 0x0010, + 0x47c: 0x0010, 0x47e: 0x0010, + // Block 0x12, offset 0x480 + 0x480: 0x2213, 0x481: 0x2213, 0x482: 0x2613, 0x483: 0x2613, 0x484: 0x2213, 0x485: 0x2213, + 0x486: 0x2e13, 0x487: 0x2e13, 0x488: 0x2213, 0x489: 0x2213, 0x48a: 0x2613, 0x48b: 0x2613, + 0x48c: 0x2213, 0x48d: 0x2213, 0x48e: 0x3e13, 0x48f: 0x3e13, 0x490: 0x2213, 0x491: 0x2213, + 0x492: 0x2613, 0x493: 0x2613, 0x494: 0x2213, 0x495: 0x2213, 0x496: 0x2e13, 0x497: 0x2e13, + 0x498: 0x2213, 0x499: 0x2213, 0x49a: 0x2613, 0x49b: 0x2613, 0x49c: 0x2213, 0x49d: 0x2213, + 0x49e: 0xb553, 0x49f: 0xb553, 0x4a0: 0xb853, 0x4a1: 0xb853, 0x4a2: 0x2212, 0x4a3: 0x2212, + 0x4a4: 0x2612, 0x4a5: 0x2612, 0x4a6: 0x2212, 0x4a7: 0x2212, 0x4a8: 0x2e12, 0x4a9: 0x2e12, + 0x4aa: 0x2212, 0x4ab: 0x2212, 0x4ac: 0x2612, 0x4ad: 0x2612, 0x4ae: 0x2212, 0x4af: 0x2212, + 0x4b0: 0x3e12, 0x4b1: 0x3e12, 0x4b2: 0x2212, 0x4b3: 0x2212, 0x4b4: 0x2612, 0x4b5: 0x2612, + 0x4b6: 0x2212, 0x4b7: 0x2212, 0x4b8: 0x2e12, 0x4b9: 0x2e12, 0x4ba: 0x2212, 0x4bb: 0x2212, + 0x4bc: 0x2612, 0x4bd: 0x2612, 0x4be: 0x2212, 0x4bf: 0x2212, + // Block 0x13, offset 0x4c0 + 0x4c2: 0x0010, + 0x4c7: 0x0010, 0x4c9: 0x0010, 0x4cb: 0x0010, + 0x4cd: 0x0010, 0x4ce: 0x0010, 0x4cf: 0x0010, 0x4d1: 0x0010, + 0x4d2: 0x0010, 0x4d4: 0x0010, 0x4d7: 0x0010, + 0x4d9: 0x0010, 0x4db: 0x0010, 0x4dd: 0x0010, + 0x4df: 0x0010, 0x4e1: 0x0010, 0x4e2: 0x0010, + 0x4e4: 0x0010, 0x4e7: 0x0010, 0x4e8: 0x0010, 0x4e9: 0x0010, + 0x4ea: 0x0010, 0x4ec: 0x0010, 0x4ed: 0x0010, 0x4ee: 0x0010, 0x4ef: 0x0010, + 0x4f0: 0x0010, 0x4f1: 0x0010, 0x4f2: 0x0010, 0x4f4: 0x0010, 0x4f5: 0x0010, + 0x4f6: 0x0010, 0x4f7: 0x0010, 0x4f9: 0x0010, 0x4fa: 0x0010, 0x4fb: 0x0010, + 0x4fc: 0x0010, 0x4fe: 0x0010, +} + +// caseIndex: 25 blocks, 1600 entries, 3200 bytes +// Block 0 is the zero block. +var caseIndex = [1600]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x12, 0xc3: 0x13, 0xc4: 0x14, 0xc5: 0x15, 0xc6: 0x01, 0xc7: 0x02, + 0xc8: 0x16, 0xc9: 0x03, 0xca: 0x04, 0xcb: 0x17, 0xcc: 0x18, 0xcd: 0x05, 0xce: 0x06, 0xcf: 0x07, + 0xd0: 0x19, 0xd1: 0x1a, 0xd2: 0x1b, 0xd3: 0x1c, 0xd4: 0x1d, 0xd5: 0x1e, 0xd6: 0x1f, 0xd7: 0x20, + 0xd8: 0x21, 0xd9: 0x22, 0xda: 0x23, 0xdb: 0x24, 0xdc: 0x25, 0xdd: 0x26, 0xde: 0x27, 0xdf: 0x28, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x08, 0xef: 0x09, + 0xf0: 0x14, 0xf3: 0x16, + // Block 0x4, offset 0x100 + 0x120: 0x29, 0x121: 0x2a, 0x122: 0x2b, 0x123: 0x2c, 0x124: 0x2d, 0x125: 0x2e, 0x126: 0x2f, 0x127: 0x30, + 0x128: 0x31, 0x129: 0x32, 0x12a: 0x33, 0x12b: 0x34, 0x12c: 0x35, 0x12d: 0x36, 0x12e: 0x37, 0x12f: 0x38, + 0x130: 0x39, 0x131: 0x3a, 0x132: 0x3b, 0x133: 0x3c, 0x134: 0x3d, 0x135: 0x3e, 0x136: 0x3f, 0x137: 0x40, + 0x138: 0x41, 0x139: 0x42, 0x13a: 0x43, 0x13b: 0x44, 0x13c: 0x45, 0x13d: 0x46, 0x13e: 0x47, 0x13f: 0x48, + // Block 0x5, offset 0x140 + 0x140: 0x49, 0x141: 0x4a, 0x142: 0x4b, 0x143: 0x4c, 0x144: 0x23, 0x145: 0x23, 0x146: 0x23, 0x147: 0x23, + 0x148: 0x23, 0x149: 0x4d, 0x14a: 0x4e, 0x14b: 0x4f, 0x14c: 0x50, 0x14d: 0x51, 0x14e: 0x52, 0x14f: 0x53, + 0x150: 0x54, 0x151: 0x23, 0x152: 0x23, 0x153: 0x23, 0x154: 0x23, 0x155: 0x23, 0x156: 0x23, 0x157: 0x23, + 0x158: 0x23, 0x159: 0x55, 0x15a: 0x56, 0x15b: 0x57, 0x15c: 0x58, 0x15d: 0x59, 0x15e: 0x5a, 0x15f: 0x5b, + 0x160: 0x5c, 0x161: 0x5d, 0x162: 0x5e, 0x163: 0x5f, 0x164: 0x60, 0x165: 0x61, 0x167: 0x62, + 0x168: 0x63, 0x169: 0x64, 0x16a: 0x65, 0x16c: 0x66, 0x16d: 0x67, 0x16e: 0x68, 0x16f: 0x69, + 0x170: 0x6a, 0x171: 0x6b, 0x172: 0x6c, 0x173: 0x6d, 0x174: 0x6e, 0x175: 0x6f, 0x176: 0x70, 0x177: 0x71, + 0x178: 0x72, 0x179: 0x72, 0x17a: 0x73, 0x17b: 0x72, 0x17c: 0x74, 0x17d: 0x08, 0x17e: 0x09, 0x17f: 0x0a, + // Block 0x6, offset 0x180 + 0x180: 0x75, 0x181: 0x76, 0x182: 0x77, 0x183: 0x78, 0x184: 0x0b, 0x185: 0x79, 0x186: 0x7a, + 0x192: 0x7b, 0x193: 0x0c, + 0x1b0: 0x7c, 0x1b1: 0x0d, 0x1b2: 0x72, 0x1b3: 0x7d, 0x1b4: 0x7e, 0x1b5: 0x7f, 0x1b6: 0x80, 0x1b7: 0x81, + 0x1b8: 0x82, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x83, 0x1c2: 0x84, 0x1c3: 0x85, 0x1c4: 0x86, 0x1c5: 0x23, 0x1c6: 0x87, + // Block 0x8, offset 0x200 + 0x200: 0x88, 0x201: 0x23, 0x202: 0x23, 0x203: 0x23, 0x204: 0x23, 0x205: 0x23, 0x206: 0x23, 0x207: 0x23, + 0x208: 0x23, 0x209: 0x23, 0x20a: 0x23, 0x20b: 0x23, 0x20c: 0x23, 0x20d: 0x23, 0x20e: 0x23, 0x20f: 0x23, + 0x210: 0x23, 0x211: 0x23, 0x212: 0x89, 0x213: 0x8a, 0x214: 0x23, 0x215: 0x23, 0x216: 0x23, 0x217: 0x23, + 0x218: 0x8b, 0x219: 0x8c, 0x21a: 0x8d, 0x21b: 0x8e, 0x21c: 0x8f, 0x21d: 0x90, 0x21e: 0x0e, 0x21f: 0x91, + 0x220: 0x92, 0x221: 0x93, 0x222: 0x23, 0x223: 0x94, 0x224: 0x95, 0x225: 0x96, 0x226: 0x97, 0x227: 0x98, + 0x228: 0x99, 0x229: 0x9a, 0x22a: 0x9b, 0x22b: 0x9c, 0x22c: 0x9d, 0x22d: 0x9e, 0x22e: 0x9f, 0x22f: 0xa0, + 0x230: 0x23, 0x231: 0x23, 0x232: 0x23, 0x233: 0x23, 0x234: 0x23, 0x235: 0x23, 0x236: 0x23, 0x237: 0x23, + 0x238: 0x23, 0x239: 0x23, 0x23a: 0x23, 0x23b: 0x23, 0x23c: 0x23, 0x23d: 0x23, 0x23e: 0x23, 0x23f: 0x23, + // Block 0x9, offset 0x240 + 0x240: 0x23, 0x241: 0x23, 0x242: 0x23, 0x243: 0x23, 0x244: 0x23, 0x245: 0x23, 0x246: 0x23, 0x247: 0x23, + 0x248: 0x23, 0x249: 0x23, 0x24a: 0x23, 0x24b: 0x23, 0x24c: 0x23, 0x24d: 0x23, 0x24e: 0x23, 0x24f: 0x23, + 0x250: 0x23, 0x251: 0x23, 0x252: 0x23, 0x253: 0x23, 0x254: 0x23, 0x255: 0x23, 0x256: 0x23, 0x257: 0x23, + 0x258: 0x23, 0x259: 0x23, 0x25a: 0x23, 0x25b: 0x23, 0x25c: 0x23, 0x25d: 0x23, 0x25e: 0x23, 0x25f: 0x23, + 0x260: 0x23, 0x261: 0x23, 0x262: 0x23, 0x263: 0x23, 0x264: 0x23, 0x265: 0x23, 0x266: 0x23, 0x267: 0x23, + 0x268: 0x23, 0x269: 0x23, 0x26a: 0x23, 0x26b: 0x23, 0x26c: 0x23, 0x26d: 0x23, 0x26e: 0x23, 0x26f: 0x23, + 0x270: 0x23, 0x271: 0x23, 0x272: 0x23, 0x273: 0x23, 0x274: 0x23, 0x275: 0x23, 0x276: 0x23, 0x277: 0x23, + 0x278: 0x23, 0x279: 0x23, 0x27a: 0x23, 0x27b: 0x23, 0x27c: 0x23, 0x27d: 0x23, 0x27e: 0x23, 0x27f: 0x23, + // Block 0xa, offset 0x280 + 0x280: 0x23, 0x281: 0x23, 0x282: 0x23, 0x283: 0x23, 0x284: 0x23, 0x285: 0x23, 0x286: 0x23, 0x287: 0x23, + 0x288: 0x23, 0x289: 0x23, 0x28a: 0x23, 0x28b: 0x23, 0x28c: 0x23, 0x28d: 0x23, 0x28e: 0x23, 0x28f: 0x23, + 0x290: 0x23, 0x291: 0x23, 0x292: 0x23, 0x293: 0x23, 0x294: 0x23, 0x295: 0x23, 0x296: 0x23, 0x297: 0x23, + 0x298: 0x23, 0x299: 0x23, 0x29a: 0x23, 0x29b: 0x23, 0x29c: 0x23, 0x29d: 0x23, 0x29e: 0xa1, 0x29f: 0xa2, + // Block 0xb, offset 0x2c0 + 0x2ec: 0x0f, 0x2ed: 0xa3, 0x2ee: 0xa4, 0x2ef: 0xa5, + 0x2f0: 0x23, 0x2f1: 0x23, 0x2f2: 0x23, 0x2f3: 0x23, 0x2f4: 0xa6, 0x2f5: 0xa7, 0x2f6: 0xa8, 0x2f7: 0xa9, + 0x2f8: 0xaa, 0x2f9: 0xab, 0x2fa: 0x23, 0x2fb: 0xac, 0x2fc: 0xad, 0x2fd: 0xae, 0x2fe: 0xaf, 0x2ff: 0xb0, + // Block 0xc, offset 0x300 + 0x300: 0xb1, 0x301: 0xb2, 0x302: 0x23, 0x303: 0xb3, 0x305: 0xb4, 0x307: 0xb5, + 0x30a: 0xb6, 0x30b: 0xb7, 0x30c: 0xb8, 0x30d: 0xb9, 0x30e: 0xba, 0x30f: 0xbb, + 0x310: 0xbc, 0x311: 0xbd, 0x312: 0xbe, 0x313: 0xbf, 0x314: 0xc0, 0x315: 0xc1, + 0x318: 0x23, 0x319: 0x23, 0x31a: 0x23, 0x31b: 0x23, 0x31c: 0xc2, 0x31d: 0xc3, + 0x320: 0xc4, 0x321: 0xc5, 0x322: 0xc6, 0x323: 0xc7, 0x324: 0xc8, 0x326: 0xc9, + 0x328: 0xca, 0x329: 0xcb, 0x32a: 0xcc, 0x32b: 0xcd, 0x32c: 0x5f, 0x32d: 0xce, 0x32e: 0xcf, + 0x330: 0x23, 0x331: 0xd0, 0x332: 0xd1, 0x333: 0xd2, + // Block 0xd, offset 0x340 + 0x340: 0xd3, 0x341: 0xd4, 0x342: 0xd5, 0x343: 0xd6, 0x344: 0xd7, 0x345: 0xd8, 0x346: 0xd9, 0x347: 0xda, + 0x348: 0xdb, 0x34a: 0xdc, 0x34b: 0xdd, 0x34c: 0xde, 0x34d: 0xdf, + 0x350: 0xe0, 0x351: 0xe1, 0x352: 0xe2, 0x353: 0xe3, 0x356: 0xe4, 0x357: 0xe5, + 0x358: 0xe6, 0x359: 0xe7, 0x35a: 0xe8, 0x35b: 0xe9, 0x35c: 0xea, + 0x362: 0xeb, 0x363: 0xec, + 0x368: 0xed, 0x369: 0xee, 0x36a: 0xef, 0x36b: 0xf0, + 0x370: 0xf1, 0x371: 0xf2, 0x372: 0xf3, 0x374: 0xf4, 0x375: 0xf5, + // Block 0xe, offset 0x380 + 0x380: 0x23, 0x381: 0x23, 0x382: 0x23, 0x383: 0x23, 0x384: 0x23, 0x385: 0x23, 0x386: 0x23, 0x387: 0x23, + 0x388: 0x23, 0x389: 0x23, 0x38a: 0x23, 0x38b: 0x23, 0x38c: 0x23, 0x38d: 0x23, 0x38e: 0xf6, + 0x390: 0x23, 0x391: 0xf7, 0x392: 0x23, 0x393: 0x23, 0x394: 0x23, 0x395: 0xf8, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x23, 0x3c1: 0x23, 0x3c2: 0x23, 0x3c3: 0x23, 0x3c4: 0x23, 0x3c5: 0x23, 0x3c6: 0x23, 0x3c7: 0x23, + 0x3c8: 0x23, 0x3c9: 0x23, 0x3ca: 0x23, 0x3cb: 0x23, 0x3cc: 0x23, 0x3cd: 0x23, 0x3ce: 0x23, 0x3cf: 0x23, + 0x3d0: 0xf7, + // Block 0x10, offset 0x400 + 0x410: 0x23, 0x411: 0x23, 0x412: 0x23, 0x413: 0x23, 0x414: 0x23, 0x415: 0x23, 0x416: 0x23, 0x417: 0x23, + 0x418: 0x23, 0x419: 0xf9, + // Block 0x11, offset 0x440 + 0x460: 0x23, 0x461: 0x23, 0x462: 0x23, 0x463: 0x23, 0x464: 0x23, 0x465: 0x23, 0x466: 0x23, 0x467: 0x23, + 0x468: 0xf0, 0x469: 0xfa, 0x46b: 0xfb, 0x46c: 0xfc, 0x46d: 0xfd, 0x46e: 0xfe, + 0x47c: 0x23, 0x47d: 0xff, 0x47e: 0x100, 0x47f: 0x101, + // Block 0x12, offset 0x480 + 0x4b0: 0x23, 0x4b1: 0x102, 0x4b2: 0x103, + // Block 0x13, offset 0x4c0 + 0x4c5: 0x104, 0x4c6: 0x105, + 0x4c9: 0x106, + 0x4d0: 0x107, 0x4d1: 0x108, 0x4d2: 0x109, 0x4d3: 0x10a, 0x4d4: 0x10b, 0x4d5: 0x10c, 0x4d6: 0x10d, 0x4d7: 0x10e, + 0x4d8: 0x10f, 0x4d9: 0x110, 0x4da: 0x111, 0x4db: 0x112, 0x4dc: 0x113, 0x4dd: 0x114, 0x4de: 0x115, 0x4df: 0x116, + 0x4e8: 0x117, 0x4e9: 0x118, 0x4ea: 0x119, + // Block 0x14, offset 0x500 + 0x500: 0x11a, + 0x520: 0x23, 0x521: 0x23, 0x522: 0x23, 0x523: 0x11b, 0x524: 0x10, 0x525: 0x11c, + 0x538: 0x11d, 0x539: 0x11, 0x53a: 0x11e, + // Block 0x15, offset 0x540 + 0x544: 0x11f, 0x545: 0x120, 0x546: 0x121, + 0x54f: 0x122, + // Block 0x16, offset 0x580 + 0x590: 0x0a, 0x591: 0x0b, 0x592: 0x0c, 0x593: 0x0d, 0x594: 0x0e, 0x596: 0x0f, + 0x59b: 0x10, 0x59d: 0x11, 0x59e: 0x12, 0x59f: 0x13, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x123, 0x5c1: 0x124, 0x5c4: 0x124, 0x5c5: 0x124, 0x5c6: 0x124, 0x5c7: 0x125, + // Block 0x18, offset 0x600 + 0x620: 0x15, +} + +// sparseOffsets: 277 entries, 554 bytes +var sparseOffsets = []uint16{0x0, 0x9, 0xf, 0x18, 0x24, 0x2e, 0x35, 0x38, 0x3c, 0x3f, 0x43, 0x4d, 0x4f, 0x54, 0x64, 0x6b, 0x70, 0x7e, 0x7f, 0x8d, 0x9c, 0xa6, 0xa9, 0xaf, 0xb7, 0xba, 0xbc, 0xca, 0xd0, 0xde, 0xe9, 0xf5, 0x100, 0x10c, 0x116, 0x122, 0x12d, 0x139, 0x145, 0x14d, 0x155, 0x15f, 0x16a, 0x176, 0x17d, 0x188, 0x18d, 0x195, 0x198, 0x19d, 0x1a1, 0x1a5, 0x1ac, 0x1b5, 0x1bd, 0x1be, 0x1c7, 0x1ce, 0x1d6, 0x1dc, 0x1e2, 0x1e7, 0x1eb, 0x1ee, 0x1f0, 0x1f3, 0x1f8, 0x1f9, 0x1fb, 0x1fd, 0x1ff, 0x206, 0x20b, 0x20f, 0x218, 0x21b, 0x21e, 0x224, 0x225, 0x230, 0x231, 0x232, 0x237, 0x244, 0x24c, 0x254, 0x25d, 0x266, 0x26f, 0x274, 0x277, 0x280, 0x28d, 0x28f, 0x296, 0x298, 0x2a4, 0x2a5, 0x2b0, 0x2b8, 0x2c0, 0x2c6, 0x2c7, 0x2d5, 0x2da, 0x2dd, 0x2e2, 0x2e6, 0x2ec, 0x2f1, 0x2f4, 0x2f9, 0x2fe, 0x2ff, 0x305, 0x307, 0x308, 0x30a, 0x30c, 0x30f, 0x310, 0x312, 0x315, 0x31b, 0x31f, 0x321, 0x326, 0x32d, 0x331, 0x33a, 0x33b, 0x343, 0x347, 0x34c, 0x354, 0x35a, 0x360, 0x36a, 0x36f, 0x378, 0x37e, 0x385, 0x389, 0x391, 0x393, 0x395, 0x398, 0x39a, 0x39c, 0x39d, 0x39e, 0x3a0, 0x3a2, 0x3a8, 0x3ad, 0x3af, 0x3b5, 0x3b8, 0x3ba, 0x3c0, 0x3c5, 0x3c7, 0x3c8, 0x3c9, 0x3ca, 0x3cc, 0x3ce, 0x3d0, 0x3d3, 0x3d5, 0x3d8, 0x3e0, 0x3e3, 0x3e7, 0x3ef, 0x3f1, 0x3f2, 0x3f3, 0x3f5, 0x3fb, 0x3fd, 0x3fe, 0x400, 0x402, 0x404, 0x411, 0x412, 0x413, 0x417, 0x419, 0x41a, 0x41b, 0x41c, 0x41d, 0x421, 0x425, 0x42b, 0x42d, 0x434, 0x437, 0x43b, 0x441, 0x44a, 0x450, 0x456, 0x460, 0x46a, 0x46c, 0x473, 0x479, 0x47f, 0x485, 0x488, 0x48e, 0x491, 0x499, 0x49a, 0x4a1, 0x4a2, 0x4a5, 0x4af, 0x4b5, 0x4bb, 0x4bc, 0x4c2, 0x4c5, 0x4cd, 0x4d4, 0x4db, 0x4dc, 0x4dd, 0x4de, 0x4df, 0x4e1, 0x4e3, 0x4e5, 0x4e9, 0x4ea, 0x4ec, 0x4ed, 0x4ee, 0x4f0, 0x4f5, 0x4fa, 0x4fe, 0x4ff, 0x502, 0x506, 0x511, 0x515, 0x51d, 0x522, 0x526, 0x529, 0x52d, 0x530, 0x533, 0x538, 0x53c, 0x540, 0x544, 0x548, 0x54a, 0x54c, 0x54f, 0x554, 0x556, 0x55b, 0x564, 0x569, 0x56a, 0x56d, 0x56e, 0x56f, 0x571, 0x572, 0x573} + +// sparseValues: 1395 entries, 5580 bytes +var sparseValues = [1395]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0004, lo: 0xa8, hi: 0xa8}, + {value: 0x0012, lo: 0xaa, hi: 0xaa}, + {value: 0x0014, lo: 0xad, hi: 0xad}, + {value: 0x0004, lo: 0xaf, hi: 0xaf}, + {value: 0x0004, lo: 0xb4, hi: 0xb4}, + {value: 0x001a, lo: 0xb5, hi: 0xb5}, + {value: 0x0054, lo: 0xb7, hi: 0xb7}, + {value: 0x0004, lo: 0xb8, hi: 0xb8}, + {value: 0x0012, lo: 0xba, hi: 0xba}, + // Block 0x1, offset 0x9 + {value: 0x2013, lo: 0x80, hi: 0x96}, + {value: 0x2013, lo: 0x98, hi: 0x9e}, + {value: 0x009a, lo: 0x9f, hi: 0x9f}, + {value: 0x2012, lo: 0xa0, hi: 0xb6}, + {value: 0x2012, lo: 0xb8, hi: 0xbe}, + {value: 0x0252, lo: 0xbf, hi: 0xbf}, + // Block 0x2, offset 0xf + {value: 0x0117, lo: 0x80, hi: 0xaf}, + {value: 0x011b, lo: 0xb0, hi: 0xb0}, + {value: 0x019a, lo: 0xb1, hi: 0xb1}, + {value: 0x0117, lo: 0xb2, hi: 0xb7}, + {value: 0x0012, lo: 0xb8, hi: 0xb8}, + {value: 0x0316, lo: 0xb9, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x0316, lo: 0xbd, hi: 0xbe}, + {value: 0x0553, lo: 0xbf, hi: 0xbf}, + // Block 0x3, offset 0x18 + {value: 0x0552, lo: 0x80, hi: 0x80}, + {value: 0x0316, lo: 0x81, hi: 0x82}, + {value: 0x0716, lo: 0x83, hi: 0x84}, + {value: 0x0316, lo: 0x85, hi: 0x86}, + {value: 0x0f16, lo: 0x87, hi: 0x88}, + {value: 0x01da, lo: 0x89, hi: 0x89}, + {value: 0x0117, lo: 0x8a, hi: 0xb7}, + {value: 0x0253, lo: 0xb8, hi: 0xb8}, + {value: 0x0316, lo: 0xb9, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x0316, lo: 0xbd, hi: 0xbe}, + {value: 0x028a, lo: 0xbf, hi: 0xbf}, + // Block 0x4, offset 0x24 + {value: 0x0117, lo: 0x80, hi: 0x9f}, + {value: 0x2f53, lo: 0xa0, hi: 0xa0}, + {value: 0x0012, lo: 0xa1, hi: 0xa1}, + {value: 0x0117, lo: 0xa2, hi: 0xb3}, + {value: 0x0012, lo: 0xb4, hi: 0xb9}, + {value: 0x090b, lo: 0xba, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x2953, lo: 0xbd, hi: 0xbd}, + {value: 0x098b, lo: 0xbe, hi: 0xbe}, + {value: 0x0a0a, lo: 0xbf, hi: 0xbf}, + // Block 0x5, offset 0x2e + {value: 0x0015, lo: 0x80, hi: 0x81}, + {value: 0x0014, lo: 0x82, hi: 0x97}, + {value: 0x0004, lo: 0x98, hi: 0x9d}, + {value: 0x0014, lo: 0x9e, hi: 0x9f}, + {value: 0x0015, lo: 0xa0, hi: 0xa4}, + {value: 0x0004, lo: 0xa5, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xbf}, + // Block 0x6, offset 0x35 + {value: 0x0024, lo: 0x80, hi: 0x94}, + {value: 0x0034, lo: 0x95, hi: 0xbc}, + {value: 0x0024, lo: 0xbd, hi: 0xbf}, + // Block 0x7, offset 0x38 + {value: 0x6553, lo: 0x80, hi: 0x8f}, + {value: 0x2013, lo: 0x90, hi: 0x9f}, + {value: 0x5f53, lo: 0xa0, hi: 0xaf}, + {value: 0x2012, lo: 0xb0, hi: 0xbf}, + // Block 0x8, offset 0x3c + {value: 0x5f52, lo: 0x80, hi: 0x8f}, + {value: 0x6552, lo: 0x90, hi: 0x9f}, + {value: 0x0117, lo: 0xa0, hi: 0xbf}, + // Block 0x9, offset 0x3f + {value: 0x0117, lo: 0x80, hi: 0x81}, + {value: 0x0024, lo: 0x83, hi: 0x87}, + {value: 0x0014, lo: 0x88, hi: 0x89}, + {value: 0x0117, lo: 0x8a, hi: 0xbf}, + // Block 0xa, offset 0x43 + {value: 0x0f13, lo: 0x80, hi: 0x80}, + {value: 0x0316, lo: 0x81, hi: 0x82}, + {value: 0x0716, lo: 0x83, hi: 0x84}, + {value: 0x0316, lo: 0x85, hi: 0x86}, + {value: 0x0f16, lo: 0x87, hi: 0x88}, + {value: 0x0316, lo: 0x89, hi: 0x8a}, + {value: 0x0716, lo: 0x8b, hi: 0x8c}, + {value: 0x0316, lo: 0x8d, hi: 0x8e}, + {value: 0x0f12, lo: 0x8f, hi: 0x8f}, + {value: 0x0117, lo: 0x90, hi: 0xbf}, + // Block 0xb, offset 0x4d + {value: 0x0117, lo: 0x80, hi: 0xaf}, + {value: 0x6553, lo: 0xb1, hi: 0xbf}, + // Block 0xc, offset 0x4f + {value: 0x3013, lo: 0x80, hi: 0x8f}, + {value: 0x6853, lo: 0x90, hi: 0x96}, + {value: 0x0014, lo: 0x99, hi: 0x99}, + {value: 0x6552, lo: 0xa1, hi: 0xaf}, + {value: 0x3012, lo: 0xb0, hi: 0xbf}, + // Block 0xd, offset 0x54 + {value: 0x6852, lo: 0x80, hi: 0x86}, + {value: 0x198a, lo: 0x87, hi: 0x87}, + {value: 0x0034, lo: 0x91, hi: 0x91}, + {value: 0x0024, lo: 0x92, hi: 0x95}, + {value: 0x0034, lo: 0x96, hi: 0x96}, + {value: 0x0024, lo: 0x97, hi: 0x99}, + {value: 0x0034, lo: 0x9a, hi: 0x9b}, + {value: 0x0024, lo: 0x9c, hi: 0xa1}, + {value: 0x0034, lo: 0xa2, hi: 0xa7}, + {value: 0x0024, lo: 0xa8, hi: 0xa9}, + {value: 0x0034, lo: 0xaa, hi: 0xaa}, + {value: 0x0024, lo: 0xab, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xae}, + {value: 0x0024, lo: 0xaf, hi: 0xaf}, + {value: 0x0034, lo: 0xb0, hi: 0xbd}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xe, offset 0x64 + {value: 0x0034, lo: 0x81, hi: 0x82}, + {value: 0x0024, lo: 0x84, hi: 0x84}, + {value: 0x0034, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xb3}, + {value: 0x0054, lo: 0xb4, hi: 0xb4}, + // Block 0xf, offset 0x6b + {value: 0x0014, lo: 0x80, hi: 0x85}, + {value: 0x0024, lo: 0x90, hi: 0x97}, + {value: 0x0034, lo: 0x98, hi: 0x9a}, + {value: 0x0014, lo: 0x9c, hi: 0x9c}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x10, offset 0x70 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x8a}, + {value: 0x0034, lo: 0x8b, hi: 0x92}, + {value: 0x0024, lo: 0x93, hi: 0x94}, + {value: 0x0034, lo: 0x95, hi: 0x96}, + {value: 0x0024, lo: 0x97, hi: 0x9b}, + {value: 0x0034, lo: 0x9c, hi: 0x9c}, + {value: 0x0024, lo: 0x9d, hi: 0x9e}, + {value: 0x0034, lo: 0x9f, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0x0010, lo: 0xab, hi: 0xab}, + {value: 0x0010, lo: 0xae, hi: 0xaf}, + {value: 0x0034, lo: 0xb0, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xbf}, + // Block 0x11, offset 0x7e + {value: 0x0010, lo: 0x80, hi: 0xbf}, + // Block 0x12, offset 0x7f + {value: 0x0010, lo: 0x80, hi: 0x93}, + {value: 0x0010, lo: 0x95, hi: 0x95}, + {value: 0x0024, lo: 0x96, hi: 0x9c}, + {value: 0x0014, lo: 0x9d, hi: 0x9d}, + {value: 0x0024, lo: 0x9f, hi: 0xa2}, + {value: 0x0034, lo: 0xa3, hi: 0xa3}, + {value: 0x0024, lo: 0xa4, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xa6}, + {value: 0x0024, lo: 0xa7, hi: 0xa8}, + {value: 0x0034, lo: 0xaa, hi: 0xaa}, + {value: 0x0024, lo: 0xab, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xbc}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x13, offset 0x8d + {value: 0x0014, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0034, lo: 0x91, hi: 0x91}, + {value: 0x0010, lo: 0x92, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb0}, + {value: 0x0034, lo: 0xb1, hi: 0xb1}, + {value: 0x0024, lo: 0xb2, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0024, lo: 0xb5, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb9}, + {value: 0x0024, lo: 0xba, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbc}, + {value: 0x0024, lo: 0xbd, hi: 0xbd}, + {value: 0x0034, lo: 0xbe, hi: 0xbe}, + {value: 0x0024, lo: 0xbf, hi: 0xbf}, + // Block 0x14, offset 0x9c + {value: 0x0024, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0024, lo: 0x83, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x84}, + {value: 0x0024, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0024, lo: 0x87, hi: 0x87}, + {value: 0x0034, lo: 0x88, hi: 0x88}, + {value: 0x0024, lo: 0x89, hi: 0x8a}, + {value: 0x0010, lo: 0x8d, hi: 0xbf}, + // Block 0x15, offset 0xa6 + {value: 0x0010, lo: 0x80, hi: 0xa5}, + {value: 0x0014, lo: 0xa6, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + // Block 0x16, offset 0xa9 + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0024, lo: 0xab, hi: 0xb1}, + {value: 0x0034, lo: 0xb2, hi: 0xb2}, + {value: 0x0024, lo: 0xb3, hi: 0xb3}, + {value: 0x0014, lo: 0xb4, hi: 0xb5}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + // Block 0x17, offset 0xaf + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0024, lo: 0x96, hi: 0x99}, + {value: 0x0014, lo: 0x9a, hi: 0x9a}, + {value: 0x0024, lo: 0x9b, hi: 0xa3}, + {value: 0x0014, lo: 0xa4, hi: 0xa4}, + {value: 0x0024, lo: 0xa5, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa8}, + {value: 0x0024, lo: 0xa9, hi: 0xad}, + // Block 0x18, offset 0xb7 + {value: 0x0010, lo: 0x80, hi: 0x98}, + {value: 0x0034, lo: 0x99, hi: 0x9b}, + {value: 0x0010, lo: 0xa0, hi: 0xaa}, + // Block 0x19, offset 0xba + {value: 0x0010, lo: 0xa0, hi: 0xb4}, + {value: 0x0010, lo: 0xb6, hi: 0xbd}, + // Block 0x1a, offset 0xbc + {value: 0x0024, lo: 0x94, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa2}, + {value: 0x0034, lo: 0xa3, hi: 0xa3}, + {value: 0x0024, lo: 0xa4, hi: 0xa5}, + {value: 0x0034, lo: 0xa6, hi: 0xa6}, + {value: 0x0024, lo: 0xa7, hi: 0xa8}, + {value: 0x0034, lo: 0xa9, hi: 0xa9}, + {value: 0x0024, lo: 0xaa, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xb2}, + {value: 0x0024, lo: 0xb3, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb6}, + {value: 0x0024, lo: 0xb7, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0024, lo: 0xbb, hi: 0xbf}, + // Block 0x1b, offset 0xca + {value: 0x0014, lo: 0x80, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0xb9}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x1c, offset 0xd0 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x88}, + {value: 0x0010, lo: 0x89, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0024, lo: 0x91, hi: 0x91}, + {value: 0x0034, lo: 0x92, hi: 0x92}, + {value: 0x0024, lo: 0x93, hi: 0x94}, + {value: 0x0014, lo: 0x95, hi: 0x97}, + {value: 0x0010, lo: 0x98, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0014, lo: 0xb1, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xbf}, + // Block 0x1d, offset 0xde + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb2}, + {value: 0x0010, lo: 0xb6, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x1e, offset 0xe9 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8e, hi: 0x8e}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x9c, hi: 0x9d}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xb1}, + {value: 0x0010, lo: 0xbc, hi: 0xbc}, + // Block 0x1f, offset 0xf5 + {value: 0x0014, lo: 0x81, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8a}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb6}, + {value: 0x0010, lo: 0xb8, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x20, offset 0x100 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x82}, + {value: 0x0014, lo: 0x87, hi: 0x88}, + {value: 0x0014, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0014, lo: 0x91, hi: 0x91}, + {value: 0x0010, lo: 0x99, hi: 0x9c}, + {value: 0x0010, lo: 0x9e, hi: 0x9e}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb5}, + // Block 0x21, offset 0x10c + {value: 0x0014, lo: 0x81, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8d}, + {value: 0x0010, lo: 0x8f, hi: 0x91}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x22, offset 0x116 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x85}, + {value: 0x0014, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x89, hi: 0x89}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb9, hi: 0xb9}, + {value: 0x0014, lo: 0xba, hi: 0xbf}, + // Block 0x23, offset 0x122 + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x24, offset 0x12d + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0014, lo: 0x96, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x9c, hi: 0x9d}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + // Block 0x25, offset 0x139 + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8a}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0x95}, + {value: 0x0010, lo: 0x99, hi: 0x9a}, + {value: 0x0010, lo: 0x9c, hi: 0x9c}, + {value: 0x0010, lo: 0x9e, hi: 0x9f}, + {value: 0x0010, lo: 0xa3, hi: 0xa4}, + {value: 0x0010, lo: 0xa8, hi: 0xaa}, + {value: 0x0010, lo: 0xae, hi: 0xb9}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x26, offset 0x145 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x82}, + {value: 0x0010, lo: 0x86, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + // Block 0x27, offset 0x14d + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb9}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + {value: 0x0014, lo: 0xbe, hi: 0xbf}, + // Block 0x28, offset 0x155 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x84}, + {value: 0x0014, lo: 0x86, hi: 0x88}, + {value: 0x0014, lo: 0x8a, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0034, lo: 0x95, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x9a}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + // Block 0x29, offset 0x15f + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x2a, offset 0x16a + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0014, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x95, hi: 0x96}, + {value: 0x0010, lo: 0x9e, hi: 0x9e}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb1, hi: 0xb2}, + // Block 0x2b, offset 0x176 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x2c, offset 0x17d + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x86, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8e, hi: 0x8e}, + {value: 0x0010, lo: 0x94, hi: 0x97}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xba, hi: 0xbf}, + // Block 0x2d, offset 0x188 + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x96}, + {value: 0x0010, lo: 0x9a, hi: 0xb1}, + {value: 0x0010, lo: 0xb3, hi: 0xbb}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + // Block 0x2e, offset 0x18d + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0010, lo: 0x8f, hi: 0x91}, + {value: 0x0014, lo: 0x92, hi: 0x94}, + {value: 0x0014, lo: 0x96, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x9f}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + // Block 0x2f, offset 0x195 + {value: 0x0014, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb4, hi: 0xb7}, + {value: 0x0034, lo: 0xb8, hi: 0xba}, + // Block 0x30, offset 0x198 + {value: 0x0004, lo: 0x86, hi: 0x86}, + {value: 0x0014, lo: 0x87, hi: 0x87}, + {value: 0x0034, lo: 0x88, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x31, offset 0x19d + {value: 0x0014, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb4, hi: 0xb7}, + {value: 0x0034, lo: 0xb8, hi: 0xb9}, + {value: 0x0014, lo: 0xbb, hi: 0xbc}, + // Block 0x32, offset 0x1a1 + {value: 0x0004, lo: 0x86, hi: 0x86}, + {value: 0x0034, lo: 0x88, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x33, offset 0x1a5 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0034, lo: 0x98, hi: 0x99}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0x0034, lo: 0xb5, hi: 0xb5}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + {value: 0x0034, lo: 0xb9, hi: 0xb9}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x34, offset 0x1ac + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0010, lo: 0x89, hi: 0xac}, + {value: 0x0034, lo: 0xb1, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xba, hi: 0xbd}, + {value: 0x0014, lo: 0xbe, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x35, offset 0x1b5 + {value: 0x0034, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0024, lo: 0x82, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x84}, + {value: 0x0024, lo: 0x86, hi: 0x87}, + {value: 0x0010, lo: 0x88, hi: 0x8c}, + {value: 0x0014, lo: 0x8d, hi: 0x97}, + {value: 0x0014, lo: 0x99, hi: 0xbc}, + // Block 0x36, offset 0x1bd + {value: 0x0034, lo: 0x86, hi: 0x86}, + // Block 0x37, offset 0x1be + {value: 0x0010, lo: 0xab, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + {value: 0x0010, lo: 0xb8, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbc}, + {value: 0x0014, lo: 0xbd, hi: 0xbe}, + // Block 0x38, offset 0x1c7 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x96, hi: 0x97}, + {value: 0x0014, lo: 0x98, hi: 0x99}, + {value: 0x0014, lo: 0x9e, hi: 0xa0}, + {value: 0x0010, lo: 0xa2, hi: 0xa4}, + {value: 0x0010, lo: 0xa7, hi: 0xad}, + {value: 0x0014, lo: 0xb1, hi: 0xb4}, + // Block 0x39, offset 0x1ce + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x84}, + {value: 0x0014, lo: 0x85, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8f, hi: 0x9c}, + {value: 0x0014, lo: 0x9d, hi: 0x9d}, + {value: 0x6c53, lo: 0xa0, hi: 0xbf}, + // Block 0x3a, offset 0x1d6 + {value: 0x7053, lo: 0x80, hi: 0x85}, + {value: 0x7053, lo: 0x87, hi: 0x87}, + {value: 0x7053, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0xba}, + {value: 0x0014, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x3b, offset 0x1dc + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x98}, + {value: 0x0010, lo: 0x9a, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x3c, offset 0x1e2 + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb5}, + {value: 0x0010, lo: 0xb8, hi: 0xbe}, + // Block 0x3d, offset 0x1e7 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x82, hi: 0x85}, + {value: 0x0010, lo: 0x88, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0xbf}, + // Block 0x3e, offset 0x1eb + {value: 0x0010, lo: 0x80, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0x95}, + {value: 0x0010, lo: 0x98, hi: 0xbf}, + // Block 0x3f, offset 0x1ee + {value: 0x0010, lo: 0x80, hi: 0x9a}, + {value: 0x0024, lo: 0x9d, hi: 0x9f}, + // Block 0x40, offset 0x1f0 + {value: 0x0010, lo: 0x80, hi: 0x8f}, + {value: 0x7453, lo: 0xa0, hi: 0xaf}, + {value: 0x7853, lo: 0xb0, hi: 0xbf}, + // Block 0x41, offset 0x1f3 + {value: 0x7c53, lo: 0x80, hi: 0x8f}, + {value: 0x8053, lo: 0x90, hi: 0x9f}, + {value: 0x7c53, lo: 0xa0, hi: 0xaf}, + {value: 0x0813, lo: 0xb0, hi: 0xb5}, + {value: 0x0892, lo: 0xb8, hi: 0xbd}, + // Block 0x42, offset 0x1f8 + {value: 0x0010, lo: 0x81, hi: 0xbf}, + // Block 0x43, offset 0x1f9 + {value: 0x0010, lo: 0x80, hi: 0xac}, + {value: 0x0010, lo: 0xaf, hi: 0xbf}, + // Block 0x44, offset 0x1fb + {value: 0x0010, lo: 0x81, hi: 0x9a}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x45, offset 0x1fd + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0010, lo: 0xae, hi: 0xb8}, + // Block 0x46, offset 0x1ff + {value: 0x0010, lo: 0x80, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x91}, + {value: 0x0014, lo: 0x92, hi: 0x93}, + {value: 0x0034, lo: 0x94, hi: 0x94}, + {value: 0x0010, lo: 0xa0, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + // Block 0x47, offset 0x206 + {value: 0x0010, lo: 0x80, hi: 0x91}, + {value: 0x0014, lo: 0x92, hi: 0x93}, + {value: 0x0010, lo: 0xa0, hi: 0xac}, + {value: 0x0010, lo: 0xae, hi: 0xb0}, + {value: 0x0014, lo: 0xb2, hi: 0xb3}, + // Block 0x48, offset 0x20b + {value: 0x0014, lo: 0xb4, hi: 0xb5}, + {value: 0x0010, lo: 0xb6, hi: 0xb6}, + {value: 0x0014, lo: 0xb7, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x49, offset 0x20f + {value: 0x0010, lo: 0x80, hi: 0x85}, + {value: 0x0014, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0014, lo: 0x89, hi: 0x91}, + {value: 0x0034, lo: 0x92, hi: 0x92}, + {value: 0x0014, lo: 0x93, hi: 0x93}, + {value: 0x0004, lo: 0x97, hi: 0x97}, + {value: 0x0024, lo: 0x9d, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + // Block 0x4a, offset 0x218 + {value: 0x0014, lo: 0x8b, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x4b, offset 0x21b + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0xb7}, + // Block 0x4c, offset 0x21e + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0014, lo: 0x85, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0xa8}, + {value: 0x0034, lo: 0xa9, hi: 0xa9}, + {value: 0x0010, lo: 0xaa, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x4d, offset 0x224 + {value: 0x0010, lo: 0x80, hi: 0xb5}, + // Block 0x4e, offset 0x225 + {value: 0x0010, lo: 0x80, hi: 0x9e}, + {value: 0x0014, lo: 0xa0, hi: 0xa2}, + {value: 0x0010, lo: 0xa3, hi: 0xa6}, + {value: 0x0014, lo: 0xa7, hi: 0xa8}, + {value: 0x0010, lo: 0xa9, hi: 0xab}, + {value: 0x0010, lo: 0xb0, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb2}, + {value: 0x0010, lo: 0xb3, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xb9}, + {value: 0x0024, lo: 0xba, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbb}, + // Block 0x4f, offset 0x230 + {value: 0x0010, lo: 0x86, hi: 0x8f}, + // Block 0x50, offset 0x231 + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x51, offset 0x232 + {value: 0x0010, lo: 0x80, hi: 0x96}, + {value: 0x0024, lo: 0x97, hi: 0x97}, + {value: 0x0034, lo: 0x98, hi: 0x98}, + {value: 0x0010, lo: 0x99, hi: 0x9a}, + {value: 0x0014, lo: 0x9b, hi: 0x9b}, + // Block 0x52, offset 0x237 + {value: 0x0010, lo: 0x95, hi: 0x95}, + {value: 0x0014, lo: 0x96, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0014, lo: 0x98, hi: 0x9e}, + {value: 0x0034, lo: 0xa0, hi: 0xa0}, + {value: 0x0010, lo: 0xa1, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa2}, + {value: 0x0010, lo: 0xa3, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xac}, + {value: 0x0010, lo: 0xad, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb4}, + {value: 0x0024, lo: 0xb5, hi: 0xbc}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x53, offset 0x244 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0004, lo: 0xa7, hi: 0xa7}, + {value: 0x0024, lo: 0xb0, hi: 0xb4}, + {value: 0x0034, lo: 0xb5, hi: 0xba}, + {value: 0x0024, lo: 0xbb, hi: 0xbc}, + {value: 0x0034, lo: 0xbd, hi: 0xbd}, + {value: 0x0014, lo: 0xbe, hi: 0xbe}, + // Block 0x54, offset 0x24c + {value: 0x0014, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x55, offset 0x254 + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0030, lo: 0x84, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x8b}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0024, lo: 0xab, hi: 0xab}, + {value: 0x0034, lo: 0xac, hi: 0xac}, + {value: 0x0024, lo: 0xad, hi: 0xb3}, + // Block 0x56, offset 0x25d + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa5}, + {value: 0x0010, lo: 0xa6, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa9}, + {value: 0x0030, lo: 0xaa, hi: 0xaa}, + {value: 0x0034, lo: 0xab, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xbf}, + // Block 0x57, offset 0x266 + {value: 0x0010, lo: 0x80, hi: 0xa5}, + {value: 0x0034, lo: 0xa6, hi: 0xa6}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa9}, + {value: 0x0010, lo: 0xaa, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xae}, + {value: 0x0014, lo: 0xaf, hi: 0xb1}, + {value: 0x0030, lo: 0xb2, hi: 0xb3}, + // Block 0x58, offset 0x26f + {value: 0x0010, lo: 0x80, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xb3}, + {value: 0x0010, lo: 0xb4, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + // Block 0x59, offset 0x274 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x8d, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbd}, + // Block 0x5a, offset 0x277 + {value: 0x1a6a, lo: 0x80, hi: 0x80}, + {value: 0x1aea, lo: 0x81, hi: 0x81}, + {value: 0x1b6a, lo: 0x82, hi: 0x82}, + {value: 0x1bea, lo: 0x83, hi: 0x83}, + {value: 0x1c6a, lo: 0x84, hi: 0x84}, + {value: 0x1cea, lo: 0x85, hi: 0x85}, + {value: 0x1d6a, lo: 0x86, hi: 0x86}, + {value: 0x1dea, lo: 0x87, hi: 0x87}, + {value: 0x1e6a, lo: 0x88, hi: 0x88}, + // Block 0x5b, offset 0x280 + {value: 0x0024, lo: 0x90, hi: 0x92}, + {value: 0x0034, lo: 0x94, hi: 0x99}, + {value: 0x0024, lo: 0x9a, hi: 0x9b}, + {value: 0x0034, lo: 0x9c, hi: 0x9f}, + {value: 0x0024, lo: 0xa0, hi: 0xa0}, + {value: 0x0010, lo: 0xa1, hi: 0xa1}, + {value: 0x0034, lo: 0xa2, hi: 0xa8}, + {value: 0x0010, lo: 0xa9, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xb3}, + {value: 0x0024, lo: 0xb4, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb7}, + {value: 0x0024, lo: 0xb8, hi: 0xb9}, + // Block 0x5c, offset 0x28d + {value: 0x0012, lo: 0x80, hi: 0xab}, + {value: 0x0015, lo: 0xac, hi: 0xbf}, + // Block 0x5d, offset 0x28f + {value: 0x0015, lo: 0x80, hi: 0xaa}, + {value: 0x0012, lo: 0xab, hi: 0xb7}, + {value: 0x0015, lo: 0xb8, hi: 0xb8}, + {value: 0x8452, lo: 0xb9, hi: 0xb9}, + {value: 0x0012, lo: 0xba, hi: 0xbc}, + {value: 0x8852, lo: 0xbd, hi: 0xbd}, + {value: 0x0012, lo: 0xbe, hi: 0xbf}, + // Block 0x5e, offset 0x296 + {value: 0x0012, lo: 0x80, hi: 0x9a}, + {value: 0x0015, lo: 0x9b, hi: 0xbf}, + // Block 0x5f, offset 0x298 + {value: 0x0024, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0024, lo: 0x83, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0024, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x90}, + {value: 0x0024, lo: 0x91, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb9}, + {value: 0x0024, lo: 0xbb, hi: 0xbb}, + {value: 0x0034, lo: 0xbc, hi: 0xbd}, + {value: 0x0024, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x60, offset 0x2a4 + {value: 0x0117, lo: 0x80, hi: 0xbf}, + // Block 0x61, offset 0x2a5 + {value: 0x0117, lo: 0x80, hi: 0x95}, + {value: 0x1f1a, lo: 0x96, hi: 0x96}, + {value: 0x1fca, lo: 0x97, hi: 0x97}, + {value: 0x207a, lo: 0x98, hi: 0x98}, + {value: 0x212a, lo: 0x99, hi: 0x99}, + {value: 0x21da, lo: 0x9a, hi: 0x9a}, + {value: 0x228a, lo: 0x9b, hi: 0x9b}, + {value: 0x0012, lo: 0x9c, hi: 0x9d}, + {value: 0x233b, lo: 0x9e, hi: 0x9e}, + {value: 0x0012, lo: 0x9f, hi: 0x9f}, + {value: 0x0117, lo: 0xa0, hi: 0xbf}, + // Block 0x62, offset 0x2b0 + {value: 0x0812, lo: 0x80, hi: 0x87}, + {value: 0x0813, lo: 0x88, hi: 0x8f}, + {value: 0x0812, lo: 0x90, hi: 0x95}, + {value: 0x0813, lo: 0x98, hi: 0x9d}, + {value: 0x0812, lo: 0xa0, hi: 0xa7}, + {value: 0x0813, lo: 0xa8, hi: 0xaf}, + {value: 0x0812, lo: 0xb0, hi: 0xb7}, + {value: 0x0813, lo: 0xb8, hi: 0xbf}, + // Block 0x63, offset 0x2b8 + {value: 0x0004, lo: 0x8b, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8f}, + {value: 0x0054, lo: 0x98, hi: 0x99}, + {value: 0x0054, lo: 0xa4, hi: 0xa4}, + {value: 0x0054, lo: 0xa7, hi: 0xa7}, + {value: 0x0014, lo: 0xaa, hi: 0xae}, + {value: 0x0010, lo: 0xaf, hi: 0xaf}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x64, offset 0x2c0 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x94, hi: 0x94}, + {value: 0x0014, lo: 0xa0, hi: 0xa4}, + {value: 0x0014, lo: 0xa6, hi: 0xaf}, + {value: 0x0015, lo: 0xb1, hi: 0xb1}, + {value: 0x0015, lo: 0xbf, hi: 0xbf}, + // Block 0x65, offset 0x2c6 + {value: 0x0015, lo: 0x90, hi: 0x9c}, + // Block 0x66, offset 0x2c7 + {value: 0x0024, lo: 0x90, hi: 0x91}, + {value: 0x0034, lo: 0x92, hi: 0x93}, + {value: 0x0024, lo: 0x94, hi: 0x97}, + {value: 0x0034, lo: 0x98, hi: 0x9a}, + {value: 0x0024, lo: 0x9b, hi: 0x9c}, + {value: 0x0014, lo: 0x9d, hi: 0xa0}, + {value: 0x0024, lo: 0xa1, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa4}, + {value: 0x0034, lo: 0xa5, hi: 0xa6}, + {value: 0x0024, lo: 0xa7, hi: 0xa7}, + {value: 0x0034, lo: 0xa8, hi: 0xa8}, + {value: 0x0024, lo: 0xa9, hi: 0xa9}, + {value: 0x0034, lo: 0xaa, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb0}, + // Block 0x67, offset 0x2d5 + {value: 0x0016, lo: 0x85, hi: 0x86}, + {value: 0x0012, lo: 0x87, hi: 0x89}, + {value: 0x9d52, lo: 0x8e, hi: 0x8e}, + {value: 0x1013, lo: 0xa0, hi: 0xaf}, + {value: 0x1012, lo: 0xb0, hi: 0xbf}, + // Block 0x68, offset 0x2da + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0716, lo: 0x83, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x88}, + // Block 0x69, offset 0x2dd + {value: 0xa053, lo: 0xb6, hi: 0xb7}, + {value: 0xa353, lo: 0xb8, hi: 0xb9}, + {value: 0xa653, lo: 0xba, hi: 0xbb}, + {value: 0xa353, lo: 0xbc, hi: 0xbd}, + {value: 0xa053, lo: 0xbe, hi: 0xbf}, + // Block 0x6a, offset 0x2e2 + {value: 0x3013, lo: 0x80, hi: 0x8f}, + {value: 0x6553, lo: 0x90, hi: 0x9f}, + {value: 0xa953, lo: 0xa0, hi: 0xae}, + {value: 0x3012, lo: 0xb0, hi: 0xbf}, + // Block 0x6b, offset 0x2e6 + {value: 0x0117, lo: 0x80, hi: 0xa3}, + {value: 0x0012, lo: 0xa4, hi: 0xa4}, + {value: 0x0716, lo: 0xab, hi: 0xac}, + {value: 0x0316, lo: 0xad, hi: 0xae}, + {value: 0x0024, lo: 0xaf, hi: 0xb1}, + {value: 0x0117, lo: 0xb2, hi: 0xb3}, + // Block 0x6c, offset 0x2ec + {value: 0x6c52, lo: 0x80, hi: 0x9f}, + {value: 0x7052, lo: 0xa0, hi: 0xa5}, + {value: 0x7052, lo: 0xa7, hi: 0xa7}, + {value: 0x7052, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x6d, offset 0x2f1 + {value: 0x0010, lo: 0x80, hi: 0xa7}, + {value: 0x0014, lo: 0xaf, hi: 0xaf}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x6e, offset 0x2f4 + {value: 0x0010, lo: 0x80, hi: 0x96}, + {value: 0x0010, lo: 0xa0, hi: 0xa6}, + {value: 0x0010, lo: 0xa8, hi: 0xae}, + {value: 0x0010, lo: 0xb0, hi: 0xb6}, + {value: 0x0010, lo: 0xb8, hi: 0xbe}, + // Block 0x6f, offset 0x2f9 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x88, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x9e}, + {value: 0x0024, lo: 0xa0, hi: 0xbf}, + // Block 0x70, offset 0x2fe + {value: 0x0014, lo: 0xaf, hi: 0xaf}, + // Block 0x71, offset 0x2ff + {value: 0x0014, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0xaa, hi: 0xad}, + {value: 0x0030, lo: 0xae, hi: 0xaf}, + {value: 0x0004, lo: 0xb1, hi: 0xb5}, + {value: 0x0014, lo: 0xbb, hi: 0xbb}, + {value: 0x0010, lo: 0xbc, hi: 0xbc}, + // Block 0x72, offset 0x305 + {value: 0x0034, lo: 0x99, hi: 0x9a}, + {value: 0x0004, lo: 0x9b, hi: 0x9e}, + // Block 0x73, offset 0x307 + {value: 0x0004, lo: 0xbc, hi: 0xbe}, + // Block 0x74, offset 0x308 + {value: 0x0010, lo: 0x85, hi: 0xae}, + {value: 0x0010, lo: 0xb1, hi: 0xbf}, + // Block 0x75, offset 0x30a + {value: 0x0010, lo: 0x80, hi: 0x8e}, + {value: 0x0010, lo: 0xa0, hi: 0xba}, + // Block 0x76, offset 0x30c + {value: 0x0010, lo: 0x80, hi: 0x94}, + {value: 0x0014, lo: 0x95, hi: 0x95}, + {value: 0x0010, lo: 0x96, hi: 0xbf}, + // Block 0x77, offset 0x30f + {value: 0x0010, lo: 0x80, hi: 0x8c}, + // Block 0x78, offset 0x310 + {value: 0x0010, lo: 0x90, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbd}, + // Block 0x79, offset 0x312 + {value: 0x0010, lo: 0x80, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0010, lo: 0x90, hi: 0xab}, + // Block 0x7a, offset 0x315 + {value: 0x0117, lo: 0x80, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xae}, + {value: 0x0024, lo: 0xaf, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb2}, + {value: 0x0024, lo: 0xb4, hi: 0xbd}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x7b, offset 0x31b + {value: 0x0117, lo: 0x80, hi: 0x9b}, + {value: 0x0015, lo: 0x9c, hi: 0x9d}, + {value: 0x0024, lo: 0x9e, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x7c, offset 0x31f + {value: 0x0010, lo: 0x80, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb1}, + // Block 0x7d, offset 0x321 + {value: 0x0004, lo: 0x80, hi: 0x96}, + {value: 0x0014, lo: 0x97, hi: 0xa1}, + {value: 0x0117, lo: 0xa2, hi: 0xaf}, + {value: 0x0012, lo: 0xb0, hi: 0xb1}, + {value: 0x0117, lo: 0xb2, hi: 0xbf}, + // Block 0x7e, offset 0x326 + {value: 0x0117, lo: 0x80, hi: 0xaf}, + {value: 0x0015, lo: 0xb0, hi: 0xb0}, + {value: 0x0012, lo: 0xb1, hi: 0xb8}, + {value: 0x0316, lo: 0xb9, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x8453, lo: 0xbd, hi: 0xbd}, + {value: 0x0117, lo: 0xbe, hi: 0xbf}, + // Block 0x7f, offset 0x32d + {value: 0x0010, lo: 0xb7, hi: 0xb7}, + {value: 0x0015, lo: 0xb8, hi: 0xb9}, + {value: 0x0012, lo: 0xba, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbf}, + // Block 0x80, offset 0x331 + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x8a}, + {value: 0x0014, lo: 0x8b, hi: 0x8b}, + {value: 0x0010, lo: 0x8c, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xa6}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + // Block 0x81, offset 0x33a + {value: 0x0010, lo: 0x80, hi: 0xb3}, + // Block 0x82, offset 0x33b + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x84}, + {value: 0x0014, lo: 0x85, hi: 0x85}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0024, lo: 0xa0, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xb7}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + // Block 0x83, offset 0x343 + {value: 0x0010, lo: 0x80, hi: 0xa5}, + {value: 0x0014, lo: 0xa6, hi: 0xaa}, + {value: 0x0034, lo: 0xab, hi: 0xad}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x84, offset 0x347 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0014, lo: 0x87, hi: 0x91}, + {value: 0x0010, lo: 0x92, hi: 0x92}, + {value: 0x0030, lo: 0x93, hi: 0x93}, + {value: 0x0010, lo: 0xa0, hi: 0xbc}, + // Block 0x85, offset 0x34c + {value: 0x0014, lo: 0x80, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0xb2}, + {value: 0x0034, lo: 0xb3, hi: 0xb3}, + {value: 0x0010, lo: 0xb4, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xb9}, + {value: 0x0010, lo: 0xba, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x86, offset 0x354 + {value: 0x0030, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0014, lo: 0xa5, hi: 0xa5}, + {value: 0x0004, lo: 0xa6, hi: 0xa6}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0x87, offset 0x35a + {value: 0x0010, lo: 0x80, hi: 0xa8}, + {value: 0x0014, lo: 0xa9, hi: 0xae}, + {value: 0x0010, lo: 0xaf, hi: 0xb0}, + {value: 0x0014, lo: 0xb1, hi: 0xb2}, + {value: 0x0010, lo: 0xb3, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb6}, + // Block 0x88, offset 0x360 + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0010, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0004, lo: 0xb0, hi: 0xb0}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + // Block 0x89, offset 0x36a + {value: 0x0024, lo: 0xb0, hi: 0xb0}, + {value: 0x0024, lo: 0xb2, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0024, lo: 0xb7, hi: 0xb8}, + {value: 0x0024, lo: 0xbe, hi: 0xbf}, + // Block 0x8a, offset 0x36f + {value: 0x0024, lo: 0x81, hi: 0x81}, + {value: 0x0004, lo: 0x9d, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xaf}, + {value: 0x0010, lo: 0xb2, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb6}, + // Block 0x8b, offset 0x378 + {value: 0x0010, lo: 0x81, hi: 0x86}, + {value: 0x0010, lo: 0x89, hi: 0x8e}, + {value: 0x0010, lo: 0x91, hi: 0x96}, + {value: 0x0010, lo: 0xa0, hi: 0xa6}, + {value: 0x0010, lo: 0xa8, hi: 0xae}, + {value: 0x0012, lo: 0xb0, hi: 0xbf}, + // Block 0x8c, offset 0x37e + {value: 0x0012, lo: 0x80, hi: 0x92}, + {value: 0xac52, lo: 0x93, hi: 0x93}, + {value: 0x0012, lo: 0x94, hi: 0x9a}, + {value: 0x0014, lo: 0x9b, hi: 0x9b}, + {value: 0x0015, lo: 0x9c, hi: 0x9f}, + {value: 0x0012, lo: 0xa0, hi: 0xa5}, + {value: 0x74d2, lo: 0xb0, hi: 0xbf}, + // Block 0x8d, offset 0x385 + {value: 0x78d2, lo: 0x80, hi: 0x8f}, + {value: 0x7cd2, lo: 0x90, hi: 0x9f}, + {value: 0x80d2, lo: 0xa0, hi: 0xaf}, + {value: 0x7cd2, lo: 0xb0, hi: 0xbf}, + // Block 0x8e, offset 0x389 + {value: 0x0010, lo: 0x80, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xa5}, + {value: 0x0010, lo: 0xa6, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa8}, + {value: 0x0010, lo: 0xa9, hi: 0xaa}, + {value: 0x0010, lo: 0xac, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0x8f, offset 0x391 + {value: 0x0010, lo: 0x80, hi: 0xa3}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x90, offset 0x393 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x8b, hi: 0xbb}, + // Block 0x91, offset 0x395 + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x83, hi: 0x84}, + {value: 0x0010, lo: 0x86, hi: 0xbf}, + // Block 0x92, offset 0x398 + {value: 0x0010, lo: 0x80, hi: 0xb1}, + {value: 0x0004, lo: 0xb2, hi: 0xbf}, + // Block 0x93, offset 0x39a + {value: 0x0004, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x93, hi: 0xbf}, + // Block 0x94, offset 0x39c + {value: 0x0010, lo: 0x80, hi: 0xbd}, + // Block 0x95, offset 0x39d + {value: 0x0010, lo: 0x90, hi: 0xbf}, + // Block 0x96, offset 0x39e + {value: 0x0010, lo: 0x80, hi: 0x8f}, + {value: 0x0010, lo: 0x92, hi: 0xbf}, + // Block 0x97, offset 0x3a0 + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0010, lo: 0xb0, hi: 0xbb}, + // Block 0x98, offset 0x3a2 + {value: 0x0014, lo: 0x80, hi: 0x8f}, + {value: 0x0054, lo: 0x93, hi: 0x93}, + {value: 0x0024, lo: 0xa0, hi: 0xa6}, + {value: 0x0034, lo: 0xa7, hi: 0xad}, + {value: 0x0024, lo: 0xae, hi: 0xaf}, + {value: 0x0010, lo: 0xb3, hi: 0xb4}, + // Block 0x99, offset 0x3a8 + {value: 0x0010, lo: 0x8d, hi: 0x8f}, + {value: 0x0054, lo: 0x92, hi: 0x92}, + {value: 0x0054, lo: 0x95, hi: 0x95}, + {value: 0x0010, lo: 0xb0, hi: 0xb4}, + {value: 0x0010, lo: 0xb6, hi: 0xbf}, + // Block 0x9a, offset 0x3ad + {value: 0x0010, lo: 0x80, hi: 0xbc}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x9b, offset 0x3af + {value: 0x0054, lo: 0x87, hi: 0x87}, + {value: 0x0054, lo: 0x8e, hi: 0x8e}, + {value: 0x0054, lo: 0x9a, hi: 0x9a}, + {value: 0x5f53, lo: 0xa1, hi: 0xba}, + {value: 0x0004, lo: 0xbe, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x9c, offset 0x3b5 + {value: 0x0004, lo: 0x80, hi: 0x80}, + {value: 0x5f52, lo: 0x81, hi: 0x9a}, + {value: 0x0004, lo: 0xb0, hi: 0xb0}, + // Block 0x9d, offset 0x3b8 + {value: 0x0014, lo: 0x9e, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xbe}, + // Block 0x9e, offset 0x3ba + {value: 0x0010, lo: 0x82, hi: 0x87}, + {value: 0x0010, lo: 0x8a, hi: 0x8f}, + {value: 0x0010, lo: 0x92, hi: 0x97}, + {value: 0x0010, lo: 0x9a, hi: 0x9c}, + {value: 0x0004, lo: 0xa3, hi: 0xa3}, + {value: 0x0014, lo: 0xb9, hi: 0xbb}, + // Block 0x9f, offset 0x3c0 + {value: 0x0010, lo: 0x80, hi: 0x8b}, + {value: 0x0010, lo: 0x8d, hi: 0xa6}, + {value: 0x0010, lo: 0xa8, hi: 0xba}, + {value: 0x0010, lo: 0xbc, hi: 0xbd}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xa0, offset 0x3c5 + {value: 0x0010, lo: 0x80, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x9d}, + // Block 0xa1, offset 0x3c7 + {value: 0x0010, lo: 0x80, hi: 0xba}, + // Block 0xa2, offset 0x3c8 + {value: 0x0010, lo: 0x80, hi: 0xb4}, + // Block 0xa3, offset 0x3c9 + {value: 0x0034, lo: 0xbd, hi: 0xbd}, + // Block 0xa4, offset 0x3ca + {value: 0x0010, lo: 0x80, hi: 0x9c}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0xa5, offset 0x3cc + {value: 0x0010, lo: 0x80, hi: 0x90}, + {value: 0x0034, lo: 0xa0, hi: 0xa0}, + // Block 0xa6, offset 0x3ce + {value: 0x0010, lo: 0x80, hi: 0x9f}, + {value: 0x0010, lo: 0xad, hi: 0xbf}, + // Block 0xa7, offset 0x3d0 + {value: 0x0010, lo: 0x80, hi: 0x8a}, + {value: 0x0010, lo: 0x90, hi: 0xb5}, + {value: 0x0024, lo: 0xb6, hi: 0xba}, + // Block 0xa8, offset 0x3d3 + {value: 0x0010, lo: 0x80, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0xa9, offset 0x3d5 + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x88, hi: 0x8f}, + {value: 0x0010, lo: 0x91, hi: 0x95}, + // Block 0xaa, offset 0x3d8 + {value: 0x2813, lo: 0x80, hi: 0x87}, + {value: 0x3813, lo: 0x88, hi: 0x8f}, + {value: 0x2813, lo: 0x90, hi: 0x97}, + {value: 0xaf53, lo: 0x98, hi: 0x9f}, + {value: 0xb253, lo: 0xa0, hi: 0xa7}, + {value: 0x2812, lo: 0xa8, hi: 0xaf}, + {value: 0x3812, lo: 0xb0, hi: 0xb7}, + {value: 0x2812, lo: 0xb8, hi: 0xbf}, + // Block 0xab, offset 0x3e0 + {value: 0xaf52, lo: 0x80, hi: 0x87}, + {value: 0xb252, lo: 0x88, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0xbf}, + // Block 0xac, offset 0x3e3 + {value: 0x0010, lo: 0x80, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0xb253, lo: 0xb0, hi: 0xb7}, + {value: 0xaf53, lo: 0xb8, hi: 0xbf}, + // Block 0xad, offset 0x3e7 + {value: 0x2813, lo: 0x80, hi: 0x87}, + {value: 0x3813, lo: 0x88, hi: 0x8f}, + {value: 0x2813, lo: 0x90, hi: 0x93}, + {value: 0xb252, lo: 0x98, hi: 0x9f}, + {value: 0xaf52, lo: 0xa0, hi: 0xa7}, + {value: 0x2812, lo: 0xa8, hi: 0xaf}, + {value: 0x3812, lo: 0xb0, hi: 0xb7}, + {value: 0x2812, lo: 0xb8, hi: 0xbb}, + // Block 0xae, offset 0x3ef + {value: 0x0010, lo: 0x80, hi: 0xa7}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xaf, offset 0x3f1 + {value: 0x0010, lo: 0x80, hi: 0xa3}, + // Block 0xb0, offset 0x3f2 + {value: 0x0010, lo: 0x80, hi: 0xb6}, + // Block 0xb1, offset 0x3f3 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xa7}, + // Block 0xb2, offset 0x3f5 + {value: 0x0010, lo: 0x80, hi: 0x85}, + {value: 0x0010, lo: 0x88, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0xb5}, + {value: 0x0010, lo: 0xb7, hi: 0xb8}, + {value: 0x0010, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xb3, offset 0x3fb + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xb6}, + // Block 0xb4, offset 0x3fd + {value: 0x0010, lo: 0x80, hi: 0x9e}, + // Block 0xb5, offset 0x3fe + {value: 0x0010, lo: 0xa0, hi: 0xb2}, + {value: 0x0010, lo: 0xb4, hi: 0xb5}, + // Block 0xb6, offset 0x400 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xb9}, + // Block 0xb7, offset 0x402 + {value: 0x0010, lo: 0x80, hi: 0xb7}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0xb8, offset 0x404 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x83}, + {value: 0x0014, lo: 0x85, hi: 0x86}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0014, lo: 0x8e, hi: 0x8e}, + {value: 0x0024, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x93}, + {value: 0x0010, lo: 0x95, hi: 0x97}, + {value: 0x0010, lo: 0x99, hi: 0xb3}, + {value: 0x0024, lo: 0xb8, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xb9, offset 0x411 + {value: 0x0010, lo: 0xa0, hi: 0xbc}, + // Block 0xba, offset 0x412 + {value: 0x0010, lo: 0x80, hi: 0x9c}, + // Block 0xbb, offset 0x413 + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0010, lo: 0x89, hi: 0xa4}, + {value: 0x0024, lo: 0xa5, hi: 0xa5}, + {value: 0x0034, lo: 0xa6, hi: 0xa6}, + // Block 0xbc, offset 0x417 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xb2}, + // Block 0xbd, offset 0x419 + {value: 0x0010, lo: 0x80, hi: 0x91}, + // Block 0xbe, offset 0x41a + {value: 0x0010, lo: 0x80, hi: 0x88}, + // Block 0xbf, offset 0x41b + {value: 0x5653, lo: 0x80, hi: 0xb2}, + // Block 0xc0, offset 0x41c + {value: 0x5652, lo: 0x80, hi: 0xb2}, + // Block 0xc1, offset 0x41d + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbf}, + // Block 0xc2, offset 0x421 + {value: 0x0014, lo: 0x80, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xc3, offset 0x425 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb6}, + {value: 0x0010, lo: 0xb7, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0014, lo: 0xbd, hi: 0xbd}, + // Block 0xc4, offset 0x42b + {value: 0x0010, lo: 0x90, hi: 0xa8}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xc5, offset 0x42d + {value: 0x0024, lo: 0x80, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0xa6}, + {value: 0x0014, lo: 0xa7, hi: 0xab}, + {value: 0x0010, lo: 0xac, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xb2}, + {value: 0x0034, lo: 0xb3, hi: 0xb4}, + {value: 0x0010, lo: 0xb6, hi: 0xbf}, + // Block 0xc6, offset 0x434 + {value: 0x0010, lo: 0x90, hi: 0xb2}, + {value: 0x0034, lo: 0xb3, hi: 0xb3}, + {value: 0x0010, lo: 0xb6, hi: 0xb6}, + // Block 0xc7, offset 0x437 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xc8, offset 0x43b + {value: 0x0030, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x84}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0014, lo: 0x8b, hi: 0x8c}, + {value: 0x0010, lo: 0x90, hi: 0x9a}, + {value: 0x0010, lo: 0x9c, hi: 0x9c}, + // Block 0xc9, offset 0x441 + {value: 0x0010, lo: 0x80, hi: 0x91}, + {value: 0x0010, lo: 0x93, hi: 0xae}, + {value: 0x0014, lo: 0xaf, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0014, lo: 0xb4, hi: 0xb4}, + {value: 0x0030, lo: 0xb5, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb6}, + {value: 0x0014, lo: 0xb7, hi: 0xb7}, + {value: 0x0014, lo: 0xbe, hi: 0xbe}, + // Block 0xca, offset 0x44a + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x88, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8d}, + {value: 0x0010, lo: 0x8f, hi: 0x9d}, + {value: 0x0010, lo: 0x9f, hi: 0xa8}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xcb, offset 0x450 + {value: 0x0010, lo: 0x80, hi: 0x9e}, + {value: 0x0014, lo: 0x9f, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa2}, + {value: 0x0014, lo: 0xa3, hi: 0xa8}, + {value: 0x0034, lo: 0xa9, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xcc, offset 0x456 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0xcd, offset 0x460 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0030, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x9d, hi: 0xa3}, + {value: 0x0024, lo: 0xa6, hi: 0xac}, + {value: 0x0024, lo: 0xb0, hi: 0xb4}, + // Block 0xce, offset 0x46a + {value: 0x0010, lo: 0x80, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbf}, + // Block 0xcf, offset 0x46c + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x8a}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0xd0, offset 0x473 + {value: 0x0010, lo: 0x80, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb8}, + {value: 0x0010, lo: 0xb9, hi: 0xb9}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0xd1, offset 0x479 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0x85}, + {value: 0x0010, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0xd2, offset 0x47f + {value: 0x0010, lo: 0x80, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb5}, + {value: 0x0010, lo: 0xb8, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xd3, offset 0x485 + {value: 0x0034, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x98, hi: 0x9b}, + {value: 0x0014, lo: 0x9c, hi: 0x9d}, + // Block 0xd4, offset 0x488 + {value: 0x0010, lo: 0x80, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbc}, + {value: 0x0014, lo: 0xbd, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xd5, offset 0x48e + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x84, hi: 0x84}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0xd6, offset 0x491 + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0014, lo: 0xab, hi: 0xab}, + {value: 0x0010, lo: 0xac, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb5}, + {value: 0x0030, lo: 0xb6, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + // Block 0xd7, offset 0x499 + {value: 0x0010, lo: 0x80, hi: 0x89}, + // Block 0xd8, offset 0x49a + {value: 0x0014, lo: 0x9d, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa5}, + {value: 0x0010, lo: 0xa6, hi: 0xa6}, + {value: 0x0014, lo: 0xa7, hi: 0xaa}, + {value: 0x0034, lo: 0xab, hi: 0xab}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xd9, offset 0x4a1 + {value: 0x5f53, lo: 0xa0, hi: 0xbf}, + // Block 0xda, offset 0x4a2 + {value: 0x5f52, lo: 0x80, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xdb, offset 0x4a5 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0014, lo: 0x89, hi: 0x8a}, + {value: 0x0010, lo: 0x8b, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb8}, + {value: 0x0010, lo: 0xb9, hi: 0xba}, + {value: 0x0014, lo: 0xbb, hi: 0xbe}, + // Block 0xdc, offset 0x4af + {value: 0x0034, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0014, lo: 0x91, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x98}, + {value: 0x0014, lo: 0x99, hi: 0x9b}, + {value: 0x0010, lo: 0x9c, hi: 0xbf}, + // Block 0xdd, offset 0x4b5 + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x86, hi: 0x89}, + {value: 0x0014, lo: 0x8a, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0014, lo: 0x98, hi: 0x98}, + {value: 0x0034, lo: 0x99, hi: 0x99}, + // Block 0xde, offset 0x4bb + {value: 0x0010, lo: 0x80, hi: 0xb8}, + // Block 0xdf, offset 0x4bc + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb6}, + {value: 0x0014, lo: 0xb8, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xe0, offset 0x4c2 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xb2, hi: 0xbf}, + // Block 0xe1, offset 0x4c5 + {value: 0x0010, lo: 0x80, hi: 0x8f}, + {value: 0x0014, lo: 0x92, hi: 0xa7}, + {value: 0x0010, lo: 0xa9, hi: 0xa9}, + {value: 0x0014, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb4, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb6}, + // Block 0xe2, offset 0x4cd + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x88, hi: 0x89}, + {value: 0x0010, lo: 0x8b, hi: 0xb0}, + {value: 0x0014, lo: 0xb1, hi: 0xb6}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0014, lo: 0xbc, hi: 0xbd}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0xe3, offset 0x4d4 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x85}, + {value: 0x0010, lo: 0x86, hi: 0x86}, + {value: 0x0014, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0xe4, offset 0x4db + {value: 0x0010, lo: 0x80, hi: 0x99}, + // Block 0xe5, offset 0x4dc + {value: 0x0010, lo: 0x80, hi: 0xae}, + // Block 0xe6, offset 0x4dd + {value: 0x0010, lo: 0x80, hi: 0x83}, + // Block 0xe7, offset 0x4de + {value: 0x0010, lo: 0x80, hi: 0x86}, + // Block 0xe8, offset 0x4df + {value: 0x0010, lo: 0x80, hi: 0x9e}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + // Block 0xe9, offset 0x4e1 + {value: 0x0010, lo: 0x90, hi: 0xad}, + {value: 0x0034, lo: 0xb0, hi: 0xb4}, + // Block 0xea, offset 0x4e3 + {value: 0x0010, lo: 0x80, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb6}, + // Block 0xeb, offset 0x4e5 + {value: 0x0014, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xa3, hi: 0xb7}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0xec, offset 0x4e9 + {value: 0x0010, lo: 0x80, hi: 0x8f}, + // Block 0xed, offset 0x4ea + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0010, lo: 0x90, hi: 0xbe}, + // Block 0xee, offset 0x4ec + {value: 0x0014, lo: 0x8f, hi: 0x9f}, + // Block 0xef, offset 0x4ed + {value: 0x0014, lo: 0xa0, hi: 0xa1}, + // Block 0xf0, offset 0x4ee + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xbc}, + // Block 0xf1, offset 0x4f0 + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0014, lo: 0x9d, hi: 0x9d}, + {value: 0x0034, lo: 0x9e, hi: 0x9e}, + {value: 0x0014, lo: 0xa0, hi: 0xa3}, + // Block 0xf2, offset 0x4f5 + {value: 0x0030, lo: 0xa5, hi: 0xa6}, + {value: 0x0034, lo: 0xa7, hi: 0xa9}, + {value: 0x0030, lo: 0xad, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbf}, + // Block 0xf3, offset 0x4fa + {value: 0x0034, lo: 0x80, hi: 0x82}, + {value: 0x0024, lo: 0x85, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8b}, + {value: 0x0024, lo: 0xaa, hi: 0xad}, + // Block 0xf4, offset 0x4fe + {value: 0x0024, lo: 0x82, hi: 0x84}, + // Block 0xf5, offset 0x4ff + {value: 0x0013, lo: 0x80, hi: 0x99}, + {value: 0x0012, lo: 0x9a, hi: 0xb3}, + {value: 0x0013, lo: 0xb4, hi: 0xbf}, + // Block 0xf6, offset 0x502 + {value: 0x0013, lo: 0x80, hi: 0x8d}, + {value: 0x0012, lo: 0x8e, hi: 0x94}, + {value: 0x0012, lo: 0x96, hi: 0xa7}, + {value: 0x0013, lo: 0xa8, hi: 0xbf}, + // Block 0xf7, offset 0x506 + {value: 0x0013, lo: 0x80, hi: 0x81}, + {value: 0x0012, lo: 0x82, hi: 0x9b}, + {value: 0x0013, lo: 0x9c, hi: 0x9c}, + {value: 0x0013, lo: 0x9e, hi: 0x9f}, + {value: 0x0013, lo: 0xa2, hi: 0xa2}, + {value: 0x0013, lo: 0xa5, hi: 0xa6}, + {value: 0x0013, lo: 0xa9, hi: 0xac}, + {value: 0x0013, lo: 0xae, hi: 0xb5}, + {value: 0x0012, lo: 0xb6, hi: 0xb9}, + {value: 0x0012, lo: 0xbb, hi: 0xbb}, + {value: 0x0012, lo: 0xbd, hi: 0xbf}, + // Block 0xf8, offset 0x511 + {value: 0x0012, lo: 0x80, hi: 0x83}, + {value: 0x0012, lo: 0x85, hi: 0x8f}, + {value: 0x0013, lo: 0x90, hi: 0xa9}, + {value: 0x0012, lo: 0xaa, hi: 0xbf}, + // Block 0xf9, offset 0x515 + {value: 0x0012, lo: 0x80, hi: 0x83}, + {value: 0x0013, lo: 0x84, hi: 0x85}, + {value: 0x0013, lo: 0x87, hi: 0x8a}, + {value: 0x0013, lo: 0x8d, hi: 0x94}, + {value: 0x0013, lo: 0x96, hi: 0x9c}, + {value: 0x0012, lo: 0x9e, hi: 0xb7}, + {value: 0x0013, lo: 0xb8, hi: 0xb9}, + {value: 0x0013, lo: 0xbb, hi: 0xbe}, + // Block 0xfa, offset 0x51d + {value: 0x0013, lo: 0x80, hi: 0x84}, + {value: 0x0013, lo: 0x86, hi: 0x86}, + {value: 0x0013, lo: 0x8a, hi: 0x90}, + {value: 0x0012, lo: 0x92, hi: 0xab}, + {value: 0x0013, lo: 0xac, hi: 0xbf}, + // Block 0xfb, offset 0x522 + {value: 0x0013, lo: 0x80, hi: 0x85}, + {value: 0x0012, lo: 0x86, hi: 0x9f}, + {value: 0x0013, lo: 0xa0, hi: 0xb9}, + {value: 0x0012, lo: 0xba, hi: 0xbf}, + // Block 0xfc, offset 0x526 + {value: 0x0012, lo: 0x80, hi: 0x93}, + {value: 0x0013, lo: 0x94, hi: 0xad}, + {value: 0x0012, lo: 0xae, hi: 0xbf}, + // Block 0xfd, offset 0x529 + {value: 0x0012, lo: 0x80, hi: 0x87}, + {value: 0x0013, lo: 0x88, hi: 0xa1}, + {value: 0x0012, lo: 0xa2, hi: 0xbb}, + {value: 0x0013, lo: 0xbc, hi: 0xbf}, + // Block 0xfe, offset 0x52d + {value: 0x0013, lo: 0x80, hi: 0x95}, + {value: 0x0012, lo: 0x96, hi: 0xaf}, + {value: 0x0013, lo: 0xb0, hi: 0xbf}, + // Block 0xff, offset 0x530 + {value: 0x0013, lo: 0x80, hi: 0x89}, + {value: 0x0012, lo: 0x8a, hi: 0xa5}, + {value: 0x0013, lo: 0xa8, hi: 0xbf}, + // Block 0x100, offset 0x533 + {value: 0x0013, lo: 0x80, hi: 0x80}, + {value: 0x0012, lo: 0x82, hi: 0x9a}, + {value: 0x0012, lo: 0x9c, hi: 0xa1}, + {value: 0x0013, lo: 0xa2, hi: 0xba}, + {value: 0x0012, lo: 0xbc, hi: 0xbf}, + // Block 0x101, offset 0x538 + {value: 0x0012, lo: 0x80, hi: 0x94}, + {value: 0x0012, lo: 0x96, hi: 0x9b}, + {value: 0x0013, lo: 0x9c, hi: 0xb4}, + {value: 0x0012, lo: 0xb6, hi: 0xbf}, + // Block 0x102, offset 0x53c + {value: 0x0012, lo: 0x80, hi: 0x8e}, + {value: 0x0012, lo: 0x90, hi: 0x95}, + {value: 0x0013, lo: 0x96, hi: 0xae}, + {value: 0x0012, lo: 0xb0, hi: 0xbf}, + // Block 0x103, offset 0x540 + {value: 0x0012, lo: 0x80, hi: 0x88}, + {value: 0x0012, lo: 0x8a, hi: 0x8f}, + {value: 0x0013, lo: 0x90, hi: 0xa8}, + {value: 0x0012, lo: 0xaa, hi: 0xbf}, + // Block 0x104, offset 0x544 + {value: 0x0012, lo: 0x80, hi: 0x82}, + {value: 0x0012, lo: 0x84, hi: 0x89}, + {value: 0x0017, lo: 0x8a, hi: 0x8b}, + {value: 0x0010, lo: 0x8e, hi: 0xbf}, + // Block 0x105, offset 0x548 + {value: 0x0014, lo: 0x80, hi: 0xb6}, + {value: 0x0014, lo: 0xbb, hi: 0xbf}, + // Block 0x106, offset 0x54a + {value: 0x0014, lo: 0x80, hi: 0xac}, + {value: 0x0014, lo: 0xb5, hi: 0xb5}, + // Block 0x107, offset 0x54c + {value: 0x0014, lo: 0x84, hi: 0x84}, + {value: 0x0014, lo: 0x9b, hi: 0x9f}, + {value: 0x0014, lo: 0xa1, hi: 0xaf}, + // Block 0x108, offset 0x54f + {value: 0x0024, lo: 0x80, hi: 0x86}, + {value: 0x0024, lo: 0x88, hi: 0x98}, + {value: 0x0024, lo: 0x9b, hi: 0xa1}, + {value: 0x0024, lo: 0xa3, hi: 0xa4}, + {value: 0x0024, lo: 0xa6, hi: 0xaa}, + // Block 0x109, offset 0x554 + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0034, lo: 0x90, hi: 0x96}, + // Block 0x10a, offset 0x556 + {value: 0xb552, lo: 0x80, hi: 0x81}, + {value: 0xb852, lo: 0x82, hi: 0x83}, + {value: 0x0024, lo: 0x84, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x10b, offset 0x55b + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x9f}, + {value: 0x0010, lo: 0xa1, hi: 0xa2}, + {value: 0x0010, lo: 0xa4, hi: 0xa4}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + {value: 0x0010, lo: 0xa9, hi: 0xb2}, + {value: 0x0010, lo: 0xb4, hi: 0xb7}, + {value: 0x0010, lo: 0xb9, hi: 0xb9}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + // Block 0x10c, offset 0x564 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x8b, hi: 0x9b}, + {value: 0x0010, lo: 0xa1, hi: 0xa3}, + {value: 0x0010, lo: 0xa5, hi: 0xa9}, + {value: 0x0010, lo: 0xab, hi: 0xbb}, + // Block 0x10d, offset 0x569 + {value: 0x0013, lo: 0xb0, hi: 0xbf}, + // Block 0x10e, offset 0x56a + {value: 0x0013, lo: 0x80, hi: 0x89}, + {value: 0x0013, lo: 0x90, hi: 0xa9}, + {value: 0x0013, lo: 0xb0, hi: 0xbf}, + // Block 0x10f, offset 0x56d + {value: 0x0013, lo: 0x80, hi: 0x89}, + // Block 0x110, offset 0x56e + {value: 0x0004, lo: 0xbb, hi: 0xbf}, + // Block 0x111, offset 0x56f + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0014, lo: 0xa0, hi: 0xbf}, + // Block 0x112, offset 0x571 + {value: 0x0014, lo: 0x80, hi: 0xbf}, + // Block 0x113, offset 0x572 + {value: 0x0014, lo: 0x80, hi: 0xaf}, +} + +// Total table size 14177 bytes (13KiB); checksum: F17D40E8 diff --git a/vendor/golang.org/x/text/cases/tables11.0.0.go b/vendor/golang.org/x/text/cases/tables11.0.0.go new file mode 100644 index 000000000..ce00ce372 --- /dev/null +++ b/vendor/golang.org/x/text/cases/tables11.0.0.go @@ -0,0 +1,2316 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build go1.13 && !go1.14 + +package cases + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "11.0.0" + +var xorData string = "" + // Size: 188 bytes + "\x00\x06\x07\x00\x01?\x00\x0f\x03\x00\x0f\x12\x00\x0f\x1f\x00\x0f\x1d" + + "\x00\x01\x13\x00\x0f\x16\x00\x0f\x0b\x00\x0f3\x00\x0f7\x00\x01#\x00\x0f?" + + "\x00\x0e'\x00\x0f/\x00\x0e>\x00\x0f*\x00\x0c&\x00\x0c*\x00\x0c;\x00\x0c9" + + "\x00\x0c%\x00\x01\x08\x00\x03\x0d\x00\x03\x09\x00\x02\x06\x00\x02\x02" + + "\x00\x02\x0c\x00\x01\x00\x00\x01\x03\x00\x01\x01\x00\x01 \x00\x01\x0c" + + "\x00\x01\x10\x00\x03\x10\x00\x036 \x00\x037 \x00\x0b#\x10\x00\x0b 0\x00" + + "\x0b!\x10\x00\x0b!0\x001\x00\x00\x0b(\x04\x00\x03\x04\x1e\x00\x03\x0a" + + "\x00\x02:\x00\x02>\x00\x02,\x00\x02\x00\x00\x02\x10\x00\x01<\x00\x01&" + + "\x00\x01*\x00\x01.\x00\x010\x003 \x00\x01\x18\x00\x01(\x00\x01\x1e\x00" + + "\x01\x22" + +var exceptions string = "" + // Size: 2436 bytes + "\x00\x12\x12μΜΜ\x12\x12ssSSSs\x13\x18i̇i̇\x10\x09II\x13\x1bʼnʼNʼN\x11" + + "\x09sSS\x12\x12dždžDž\x12\x12dždžDŽ\x10\x12DŽDž\x12\x12ljljLj\x12\x12ljljLJ\x10\x12LJLj" + + "\x12\x12njnjNj\x12\x12njnjNJ\x10\x12NJNj\x13\x1bǰJ̌J̌\x12\x12dzdzDz\x12\x12dzdzDZ\x10" + + "\x12DZDz\x13\x18ⱥⱥ\x13\x18ⱦⱦ\x10\x1bⱾⱾ\x10\x1bⱿⱿ\x10\x1bⱯⱯ\x10\x1bⱭⱭ\x10" + + "\x1bⱰⱰ\x10\x1bꞫꞫ\x10\x1bꞬꞬ\x10\x1bꞍꞍ\x10\x1bꞪꞪ\x10\x1bꞮꞮ\x10\x1bⱢⱢ\x10" + + "\x1bꞭꞭ\x10\x1bⱮⱮ\x10\x1bⱤⱤ\x10\x1bꞱꞱ\x10\x1bꞲꞲ\x10\x1bꞰꞰ2\x12ιΙΙ\x166ΐ" + + "Ϊ́Ϊ́\x166ΰΫ́Ϋ́\x12\x12σΣΣ\x12\x12βΒΒ\x12\x12θΘΘ\x12\x12φΦΦ\x12" + + "\x12πΠΠ\x12\x12κΚΚ\x12\x12ρΡΡ\x12\x12εΕΕ\x14$եւԵՒԵւ\x10\x1bᲐა\x10\x1bᲑბ" + + "\x10\x1bᲒგ\x10\x1bᲓდ\x10\x1bᲔე\x10\x1bᲕვ\x10\x1bᲖზ\x10\x1bᲗთ\x10\x1bᲘი" + + "\x10\x1bᲙკ\x10\x1bᲚლ\x10\x1bᲛმ\x10\x1bᲜნ\x10\x1bᲝო\x10\x1bᲞპ\x10\x1bᲟჟ" + + "\x10\x1bᲠრ\x10\x1bᲡს\x10\x1bᲢტ\x10\x1bᲣუ\x10\x1bᲤფ\x10\x1bᲥქ\x10\x1bᲦღ" + + "\x10\x1bᲧყ\x10\x1bᲨშ\x10\x1bᲩჩ\x10\x1bᲪც\x10\x1bᲫძ\x10\x1bᲬწ\x10\x1bᲭჭ" + + "\x10\x1bᲮხ\x10\x1bᲯჯ\x10\x1bᲰჰ\x10\x1bᲱჱ\x10\x1bᲲჲ\x10\x1bᲳჳ\x10\x1bᲴჴ" + + "\x10\x1bᲵჵ\x10\x1bᲶჶ\x10\x1bᲷჷ\x10\x1bᲸჸ\x10\x1bᲹჹ\x10\x1bᲺჺ\x10\x1bᲽჽ" + + "\x10\x1bᲾჾ\x10\x1bᲿჿ\x12\x12вВВ\x12\x12дДД\x12\x12оОО\x12\x12сСС\x12\x12" + + "тТТ\x12\x12тТТ\x12\x12ъЪЪ\x12\x12ѣѢѢ\x13\x1bꙋꙊꙊ\x13\x1bẖH̱H̱\x13\x1bẗ" + + "T̈T̈\x13\x1bẘW̊W̊\x13\x1bẙY̊Y̊\x13\x1baʾAʾAʾ\x13\x1bṡṠṠ\x12\x10ssß\x14" + + "$ὐΥ̓Υ̓\x166ὒΥ̓̀Υ̓̀\x166ὔΥ̓́Υ̓́\x166ὖΥ̓͂Υ̓͂\x15+ἀιἈΙᾈ\x15+ἁιἉΙᾉ" + + "\x15+ἂιἊΙᾊ\x15+ἃιἋΙᾋ\x15+ἄιἌΙᾌ\x15+ἅιἍΙᾍ\x15+ἆιἎΙᾎ\x15+ἇιἏΙᾏ\x15\x1dἀιᾀἈ" + + "Ι\x15\x1dἁιᾁἉΙ\x15\x1dἂιᾂἊΙ\x15\x1dἃιᾃἋΙ\x15\x1dἄιᾄἌΙ\x15\x1dἅιᾅἍΙ\x15" + + "\x1dἆιᾆἎΙ\x15\x1dἇιᾇἏΙ\x15+ἠιἨΙᾘ\x15+ἡιἩΙᾙ\x15+ἢιἪΙᾚ\x15+ἣιἫΙᾛ\x15+ἤιἬΙᾜ" + + "\x15+ἥιἭΙᾝ\x15+ἦιἮΙᾞ\x15+ἧιἯΙᾟ\x15\x1dἠιᾐἨΙ\x15\x1dἡιᾑἩΙ\x15\x1dἢιᾒἪΙ" + + "\x15\x1dἣιᾓἫΙ\x15\x1dἤιᾔἬΙ\x15\x1dἥιᾕἭΙ\x15\x1dἦιᾖἮΙ\x15\x1dἧιᾗἯΙ\x15+ὠι" + + "ὨΙᾨ\x15+ὡιὩΙᾩ\x15+ὢιὪΙᾪ\x15+ὣιὫΙᾫ\x15+ὤιὬΙᾬ\x15+ὥιὭΙᾭ\x15+ὦιὮΙᾮ\x15+ὧι" + + "ὯΙᾯ\x15\x1dὠιᾠὨΙ\x15\x1dὡιᾡὩΙ\x15\x1dὢιᾢὪΙ\x15\x1dὣιᾣὫΙ\x15\x1dὤιᾤὬΙ" + + "\x15\x1dὥιᾥὭΙ\x15\x1dὦιᾦὮΙ\x15\x1dὧιᾧὯΙ\x15-ὰιᾺΙᾺͅ\x14#αιΑΙᾼ\x14$άιΆΙΆͅ" + + "\x14$ᾶΑ͂Α͂\x166ᾶιΑ͂Ιᾼ͂\x14\x1cαιᾳΑΙ\x12\x12ιΙΙ\x15-ὴιῊΙῊͅ\x14#ηιΗΙῌ" + + "\x14$ήιΉΙΉͅ\x14$ῆΗ͂Η͂\x166ῆιΗ͂Ιῌ͂\x14\x1cηιῃΗΙ\x166ῒΪ̀Ϊ̀\x166ΐΙ" + + "̈́Ϊ́\x14$ῖΙ͂Ι͂\x166ῗΪ͂Ϊ͂\x166ῢΫ̀Ϋ̀\x166ΰΫ́Ϋ́\x14$ῤΡ̓Ρ̓" + + "\x14$ῦΥ͂Υ͂\x166ῧΫ͂Ϋ͂\x15-ὼιῺΙῺͅ\x14#ωιΩΙῼ\x14$ώιΏΙΏͅ\x14$ῶΩ͂Ω͂\x16" + + "6ῶιΩ͂Ιῼ͂\x14\x1cωιῳΩΙ\x12\x10ωω\x11\x08kk\x12\x10åå\x12\x10ɫɫ\x12\x10ɽ" + + "ɽ\x10\x12ȺȺ\x10\x12ȾȾ\x12\x10ɑɑ\x12\x10ɱɱ\x12\x10ɐɐ\x12\x10ɒɒ\x12\x10ȿȿ" + + "\x12\x10ɀɀ\x12\x10ɥɥ\x12\x10ɦɦ\x12\x10ɜɜ\x12\x10ɡɡ\x12\x10ɬɬ\x12\x10ɪɪ" + + "\x12\x10ʞʞ\x12\x10ʇʇ\x12\x10ʝʝ\x12\x12ffFFFf\x12\x12fiFIFi\x12\x12flFLFl" + + "\x13\x1bffiFFIFfi\x13\x1bfflFFLFfl\x12\x12stSTSt\x12\x12stSTSt\x14$մնՄՆՄ" + + "ն\x14$մեՄԵՄե\x14$միՄԻՄի\x14$վնՎՆՎն\x14$մխՄԽՄխ" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *caseTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return caseValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = caseIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *caseTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return caseValues[c0] + } + i := caseIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = caseIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = caseIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *caseTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return caseValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = caseIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *caseTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return caseValues[c0] + } + i := caseIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = caseIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = caseIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// caseTrie. Total size: 12250 bytes (11.96 KiB). Checksum: 53ff6cb7321675e1. +type caseTrie struct{} + +func newCaseTrie(i int) *caseTrie { + return &caseTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *caseTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 20: + return uint16(caseValues[n<<6+uint32(b)]) + default: + n -= 20 + return uint16(sparse.lookup(n, b)) + } +} + +// caseValues: 22 blocks, 1408 entries, 2816 bytes +// The third block is the zero block. +var caseValues = [1408]uint16{ + // Block 0x0, offset 0x0 + 0x27: 0x0054, + 0x2e: 0x0054, + 0x30: 0x0010, 0x31: 0x0010, 0x32: 0x0010, 0x33: 0x0010, 0x34: 0x0010, 0x35: 0x0010, + 0x36: 0x0010, 0x37: 0x0010, 0x38: 0x0010, 0x39: 0x0010, 0x3a: 0x0054, + // Block 0x1, offset 0x40 + 0x41: 0x2013, 0x42: 0x2013, 0x43: 0x2013, 0x44: 0x2013, 0x45: 0x2013, + 0x46: 0x2013, 0x47: 0x2013, 0x48: 0x2013, 0x49: 0x2013, 0x4a: 0x2013, 0x4b: 0x2013, + 0x4c: 0x2013, 0x4d: 0x2013, 0x4e: 0x2013, 0x4f: 0x2013, 0x50: 0x2013, 0x51: 0x2013, + 0x52: 0x2013, 0x53: 0x2013, 0x54: 0x2013, 0x55: 0x2013, 0x56: 0x2013, 0x57: 0x2013, + 0x58: 0x2013, 0x59: 0x2013, 0x5a: 0x2013, + 0x5e: 0x0004, 0x5f: 0x0010, 0x60: 0x0004, 0x61: 0x2012, 0x62: 0x2012, 0x63: 0x2012, + 0x64: 0x2012, 0x65: 0x2012, 0x66: 0x2012, 0x67: 0x2012, 0x68: 0x2012, 0x69: 0x2012, + 0x6a: 0x2012, 0x6b: 0x2012, 0x6c: 0x2012, 0x6d: 0x2012, 0x6e: 0x2012, 0x6f: 0x2012, + 0x70: 0x2012, 0x71: 0x2012, 0x72: 0x2012, 0x73: 0x2012, 0x74: 0x2012, 0x75: 0x2012, + 0x76: 0x2012, 0x77: 0x2012, 0x78: 0x2012, 0x79: 0x2012, 0x7a: 0x2012, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x0852, 0xc1: 0x0b53, 0xc2: 0x0113, 0xc3: 0x0112, 0xc4: 0x0113, 0xc5: 0x0112, + 0xc6: 0x0b53, 0xc7: 0x0f13, 0xc8: 0x0f12, 0xc9: 0x0e53, 0xca: 0x1153, 0xcb: 0x0713, + 0xcc: 0x0712, 0xcd: 0x0012, 0xce: 0x1453, 0xcf: 0x1753, 0xd0: 0x1a53, 0xd1: 0x0313, + 0xd2: 0x0312, 0xd3: 0x1d53, 0xd4: 0x2053, 0xd5: 0x2352, 0xd6: 0x2653, 0xd7: 0x2653, + 0xd8: 0x0113, 0xd9: 0x0112, 0xda: 0x2952, 0xdb: 0x0012, 0xdc: 0x1d53, 0xdd: 0x2c53, + 0xde: 0x2f52, 0xdf: 0x3253, 0xe0: 0x0113, 0xe1: 0x0112, 0xe2: 0x0113, 0xe3: 0x0112, + 0xe4: 0x0113, 0xe5: 0x0112, 0xe6: 0x3553, 0xe7: 0x0f13, 0xe8: 0x0f12, 0xe9: 0x3853, + 0xea: 0x0012, 0xeb: 0x0012, 0xec: 0x0113, 0xed: 0x0112, 0xee: 0x3553, 0xef: 0x1f13, + 0xf0: 0x1f12, 0xf1: 0x3b53, 0xf2: 0x3e53, 0xf3: 0x0713, 0xf4: 0x0712, 0xf5: 0x0313, + 0xf6: 0x0312, 0xf7: 0x4153, 0xf8: 0x0113, 0xf9: 0x0112, 0xfa: 0x0012, 0xfb: 0x0010, + 0xfc: 0x0113, 0xfd: 0x0112, 0xfe: 0x0012, 0xff: 0x4452, + // Block 0x4, offset 0x100 + 0x100: 0x0010, 0x101: 0x0010, 0x102: 0x0010, 0x103: 0x0010, 0x104: 0x02db, 0x105: 0x0359, + 0x106: 0x03da, 0x107: 0x043b, 0x108: 0x04b9, 0x109: 0x053a, 0x10a: 0x059b, 0x10b: 0x0619, + 0x10c: 0x069a, 0x10d: 0x0313, 0x10e: 0x0312, 0x10f: 0x1f13, 0x110: 0x1f12, 0x111: 0x0313, + 0x112: 0x0312, 0x113: 0x0713, 0x114: 0x0712, 0x115: 0x0313, 0x116: 0x0312, 0x117: 0x0f13, + 0x118: 0x0f12, 0x119: 0x0313, 0x11a: 0x0312, 0x11b: 0x0713, 0x11c: 0x0712, 0x11d: 0x1452, + 0x11e: 0x0113, 0x11f: 0x0112, 0x120: 0x0113, 0x121: 0x0112, 0x122: 0x0113, 0x123: 0x0112, + 0x124: 0x0113, 0x125: 0x0112, 0x126: 0x0113, 0x127: 0x0112, 0x128: 0x0113, 0x129: 0x0112, + 0x12a: 0x0113, 0x12b: 0x0112, 0x12c: 0x0113, 0x12d: 0x0112, 0x12e: 0x0113, 0x12f: 0x0112, + 0x130: 0x06fa, 0x131: 0x07ab, 0x132: 0x0829, 0x133: 0x08aa, 0x134: 0x0113, 0x135: 0x0112, + 0x136: 0x2353, 0x137: 0x4453, 0x138: 0x0113, 0x139: 0x0112, 0x13a: 0x0113, 0x13b: 0x0112, + 0x13c: 0x0113, 0x13d: 0x0112, 0x13e: 0x0113, 0x13f: 0x0112, + // Block 0x5, offset 0x140 + 0x140: 0x0a8a, 0x141: 0x0313, 0x142: 0x0312, 0x143: 0x0853, 0x144: 0x4753, 0x145: 0x4a53, + 0x146: 0x0113, 0x147: 0x0112, 0x148: 0x0113, 0x149: 0x0112, 0x14a: 0x0113, 0x14b: 0x0112, + 0x14c: 0x0113, 0x14d: 0x0112, 0x14e: 0x0113, 0x14f: 0x0112, 0x150: 0x0b0a, 0x151: 0x0b8a, + 0x152: 0x0c0a, 0x153: 0x0b52, 0x154: 0x0b52, 0x155: 0x0012, 0x156: 0x0e52, 0x157: 0x1152, + 0x158: 0x0012, 0x159: 0x1752, 0x15a: 0x0012, 0x15b: 0x1a52, 0x15c: 0x0c8a, 0x15d: 0x0012, + 0x15e: 0x0012, 0x15f: 0x0012, 0x160: 0x1d52, 0x161: 0x0d0a, 0x162: 0x0012, 0x163: 0x2052, + 0x164: 0x0012, 0x165: 0x0d8a, 0x166: 0x0e0a, 0x167: 0x0012, 0x168: 0x2652, 0x169: 0x2652, + 0x16a: 0x0e8a, 0x16b: 0x0f0a, 0x16c: 0x0f8a, 0x16d: 0x0012, 0x16e: 0x0012, 0x16f: 0x1d52, + 0x170: 0x0012, 0x171: 0x100a, 0x172: 0x2c52, 0x173: 0x0012, 0x174: 0x0012, 0x175: 0x3252, + 0x176: 0x0012, 0x177: 0x0012, 0x178: 0x0012, 0x179: 0x0012, 0x17a: 0x0012, 0x17b: 0x0012, + 0x17c: 0x0012, 0x17d: 0x108a, 0x17e: 0x0012, 0x17f: 0x0012, + // Block 0x6, offset 0x180 + 0x180: 0x3552, 0x181: 0x0012, 0x182: 0x0012, 0x183: 0x3852, 0x184: 0x0012, 0x185: 0x0012, + 0x186: 0x0012, 0x187: 0x110a, 0x188: 0x3552, 0x189: 0x4752, 0x18a: 0x3b52, 0x18b: 0x3e52, + 0x18c: 0x4a52, 0x18d: 0x0012, 0x18e: 0x0012, 0x18f: 0x0012, 0x190: 0x0012, 0x191: 0x0012, + 0x192: 0x4152, 0x193: 0x0012, 0x194: 0x0010, 0x195: 0x0012, 0x196: 0x0012, 0x197: 0x0012, + 0x198: 0x0012, 0x199: 0x0012, 0x19a: 0x0012, 0x19b: 0x0012, 0x19c: 0x0012, 0x19d: 0x118a, + 0x19e: 0x120a, 0x19f: 0x0012, 0x1a0: 0x0012, 0x1a1: 0x0012, 0x1a2: 0x0012, 0x1a3: 0x0012, + 0x1a4: 0x0012, 0x1a5: 0x0012, 0x1a6: 0x0012, 0x1a7: 0x0012, 0x1a8: 0x0012, 0x1a9: 0x0012, + 0x1aa: 0x0012, 0x1ab: 0x0012, 0x1ac: 0x0012, 0x1ad: 0x0012, 0x1ae: 0x0012, 0x1af: 0x0012, + 0x1b0: 0x0015, 0x1b1: 0x0015, 0x1b2: 0x0015, 0x1b3: 0x0015, 0x1b4: 0x0015, 0x1b5: 0x0015, + 0x1b6: 0x0015, 0x1b7: 0x0015, 0x1b8: 0x0015, 0x1b9: 0x0014, 0x1ba: 0x0014, 0x1bb: 0x0014, + 0x1bc: 0x0014, 0x1bd: 0x0014, 0x1be: 0x0014, 0x1bf: 0x0014, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0024, 0x1c1: 0x0024, 0x1c2: 0x0024, 0x1c3: 0x0024, 0x1c4: 0x0024, 0x1c5: 0x128d, + 0x1c6: 0x0024, 0x1c7: 0x0034, 0x1c8: 0x0034, 0x1c9: 0x0034, 0x1ca: 0x0024, 0x1cb: 0x0024, + 0x1cc: 0x0024, 0x1cd: 0x0034, 0x1ce: 0x0034, 0x1cf: 0x0014, 0x1d0: 0x0024, 0x1d1: 0x0024, + 0x1d2: 0x0024, 0x1d3: 0x0034, 0x1d4: 0x0034, 0x1d5: 0x0034, 0x1d6: 0x0034, 0x1d7: 0x0024, + 0x1d8: 0x0034, 0x1d9: 0x0034, 0x1da: 0x0034, 0x1db: 0x0024, 0x1dc: 0x0034, 0x1dd: 0x0034, + 0x1de: 0x0034, 0x1df: 0x0034, 0x1e0: 0x0034, 0x1e1: 0x0034, 0x1e2: 0x0034, 0x1e3: 0x0024, + 0x1e4: 0x0024, 0x1e5: 0x0024, 0x1e6: 0x0024, 0x1e7: 0x0024, 0x1e8: 0x0024, 0x1e9: 0x0024, + 0x1ea: 0x0024, 0x1eb: 0x0024, 0x1ec: 0x0024, 0x1ed: 0x0024, 0x1ee: 0x0024, 0x1ef: 0x0024, + 0x1f0: 0x0113, 0x1f1: 0x0112, 0x1f2: 0x0113, 0x1f3: 0x0112, 0x1f4: 0x0014, 0x1f5: 0x0004, + 0x1f6: 0x0113, 0x1f7: 0x0112, 0x1fa: 0x0015, 0x1fb: 0x4d52, + 0x1fc: 0x5052, 0x1fd: 0x5052, 0x1ff: 0x5353, + // Block 0x8, offset 0x200 + 0x204: 0x0004, 0x205: 0x0004, + 0x206: 0x2a13, 0x207: 0x0054, 0x208: 0x2513, 0x209: 0x2713, 0x20a: 0x2513, + 0x20c: 0x5653, 0x20e: 0x5953, 0x20f: 0x5c53, 0x210: 0x130a, 0x211: 0x2013, + 0x212: 0x2013, 0x213: 0x2013, 0x214: 0x2013, 0x215: 0x2013, 0x216: 0x2013, 0x217: 0x2013, + 0x218: 0x2013, 0x219: 0x2013, 0x21a: 0x2013, 0x21b: 0x2013, 0x21c: 0x2013, 0x21d: 0x2013, + 0x21e: 0x2013, 0x21f: 0x2013, 0x220: 0x5f53, 0x221: 0x5f53, 0x223: 0x5f53, + 0x224: 0x5f53, 0x225: 0x5f53, 0x226: 0x5f53, 0x227: 0x5f53, 0x228: 0x5f53, 0x229: 0x5f53, + 0x22a: 0x5f53, 0x22b: 0x5f53, 0x22c: 0x2a12, 0x22d: 0x2512, 0x22e: 0x2712, 0x22f: 0x2512, + 0x230: 0x144a, 0x231: 0x2012, 0x232: 0x2012, 0x233: 0x2012, 0x234: 0x2012, 0x235: 0x2012, + 0x236: 0x2012, 0x237: 0x2012, 0x238: 0x2012, 0x239: 0x2012, 0x23a: 0x2012, 0x23b: 0x2012, + 0x23c: 0x2012, 0x23d: 0x2012, 0x23e: 0x2012, 0x23f: 0x2012, + // Block 0x9, offset 0x240 + 0x240: 0x5f52, 0x241: 0x5f52, 0x242: 0x158a, 0x243: 0x5f52, 0x244: 0x5f52, 0x245: 0x5f52, + 0x246: 0x5f52, 0x247: 0x5f52, 0x248: 0x5f52, 0x249: 0x5f52, 0x24a: 0x5f52, 0x24b: 0x5f52, + 0x24c: 0x5652, 0x24d: 0x5952, 0x24e: 0x5c52, 0x24f: 0x1813, 0x250: 0x160a, 0x251: 0x168a, + 0x252: 0x0013, 0x253: 0x0013, 0x254: 0x0013, 0x255: 0x170a, 0x256: 0x178a, 0x257: 0x1812, + 0x258: 0x0113, 0x259: 0x0112, 0x25a: 0x0113, 0x25b: 0x0112, 0x25c: 0x0113, 0x25d: 0x0112, + 0x25e: 0x0113, 0x25f: 0x0112, 0x260: 0x0113, 0x261: 0x0112, 0x262: 0x0113, 0x263: 0x0112, + 0x264: 0x0113, 0x265: 0x0112, 0x266: 0x0113, 0x267: 0x0112, 0x268: 0x0113, 0x269: 0x0112, + 0x26a: 0x0113, 0x26b: 0x0112, 0x26c: 0x0113, 0x26d: 0x0112, 0x26e: 0x0113, 0x26f: 0x0112, + 0x270: 0x180a, 0x271: 0x188a, 0x272: 0x0b12, 0x273: 0x5352, 0x274: 0x6253, 0x275: 0x190a, + 0x277: 0x0f13, 0x278: 0x0f12, 0x279: 0x0b13, 0x27a: 0x0113, 0x27b: 0x0112, + 0x27c: 0x0012, 0x27d: 0x4d53, 0x27e: 0x5053, 0x27f: 0x5053, + // Block 0xa, offset 0x280 + 0x280: 0x6852, 0x281: 0x6852, 0x282: 0x6852, 0x283: 0x6852, 0x284: 0x6852, 0x285: 0x6852, + 0x286: 0x6852, 0x287: 0x198a, 0x288: 0x0012, + 0x291: 0x0034, + 0x292: 0x0024, 0x293: 0x0024, 0x294: 0x0024, 0x295: 0x0024, 0x296: 0x0034, 0x297: 0x0024, + 0x298: 0x0024, 0x299: 0x0024, 0x29a: 0x0034, 0x29b: 0x0034, 0x29c: 0x0024, 0x29d: 0x0024, + 0x29e: 0x0024, 0x29f: 0x0024, 0x2a0: 0x0024, 0x2a1: 0x0024, 0x2a2: 0x0034, 0x2a3: 0x0034, + 0x2a4: 0x0034, 0x2a5: 0x0034, 0x2a6: 0x0034, 0x2a7: 0x0034, 0x2a8: 0x0024, 0x2a9: 0x0024, + 0x2aa: 0x0034, 0x2ab: 0x0024, 0x2ac: 0x0024, 0x2ad: 0x0034, 0x2ae: 0x0034, 0x2af: 0x0024, + 0x2b0: 0x0034, 0x2b1: 0x0034, 0x2b2: 0x0034, 0x2b3: 0x0034, 0x2b4: 0x0034, 0x2b5: 0x0034, + 0x2b6: 0x0034, 0x2b7: 0x0034, 0x2b8: 0x0034, 0x2b9: 0x0034, 0x2ba: 0x0034, 0x2bb: 0x0034, + 0x2bc: 0x0034, 0x2bd: 0x0034, 0x2bf: 0x0034, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x7053, 0x2c1: 0x7053, 0x2c2: 0x7053, 0x2c3: 0x7053, 0x2c4: 0x7053, 0x2c5: 0x7053, + 0x2c7: 0x7053, + 0x2cd: 0x7053, 0x2d0: 0x1a6a, 0x2d1: 0x1aea, + 0x2d2: 0x1b6a, 0x2d3: 0x1bea, 0x2d4: 0x1c6a, 0x2d5: 0x1cea, 0x2d6: 0x1d6a, 0x2d7: 0x1dea, + 0x2d8: 0x1e6a, 0x2d9: 0x1eea, 0x2da: 0x1f6a, 0x2db: 0x1fea, 0x2dc: 0x206a, 0x2dd: 0x20ea, + 0x2de: 0x216a, 0x2df: 0x21ea, 0x2e0: 0x226a, 0x2e1: 0x22ea, 0x2e2: 0x236a, 0x2e3: 0x23ea, + 0x2e4: 0x246a, 0x2e5: 0x24ea, 0x2e6: 0x256a, 0x2e7: 0x25ea, 0x2e8: 0x266a, 0x2e9: 0x26ea, + 0x2ea: 0x276a, 0x2eb: 0x27ea, 0x2ec: 0x286a, 0x2ed: 0x28ea, 0x2ee: 0x296a, 0x2ef: 0x29ea, + 0x2f0: 0x2a6a, 0x2f1: 0x2aea, 0x2f2: 0x2b6a, 0x2f3: 0x2bea, 0x2f4: 0x2c6a, 0x2f5: 0x2cea, + 0x2f6: 0x2d6a, 0x2f7: 0x2dea, 0x2f8: 0x2e6a, 0x2f9: 0x2eea, 0x2fa: 0x2f6a, + 0x2fc: 0x0014, 0x2fd: 0x2fea, 0x2fe: 0x306a, 0x2ff: 0x30ea, + // Block 0xc, offset 0x300 + 0x300: 0x0812, 0x301: 0x0812, 0x302: 0x0812, 0x303: 0x0812, 0x304: 0x0812, 0x305: 0x0812, + 0x308: 0x0813, 0x309: 0x0813, 0x30a: 0x0813, 0x30b: 0x0813, + 0x30c: 0x0813, 0x30d: 0x0813, 0x310: 0x3a9a, 0x311: 0x0812, + 0x312: 0x3b7a, 0x313: 0x0812, 0x314: 0x3cba, 0x315: 0x0812, 0x316: 0x3dfa, 0x317: 0x0812, + 0x319: 0x0813, 0x31b: 0x0813, 0x31d: 0x0813, + 0x31f: 0x0813, 0x320: 0x0812, 0x321: 0x0812, 0x322: 0x0812, 0x323: 0x0812, + 0x324: 0x0812, 0x325: 0x0812, 0x326: 0x0812, 0x327: 0x0812, 0x328: 0x0813, 0x329: 0x0813, + 0x32a: 0x0813, 0x32b: 0x0813, 0x32c: 0x0813, 0x32d: 0x0813, 0x32e: 0x0813, 0x32f: 0x0813, + 0x330: 0x8e52, 0x331: 0x8e52, 0x332: 0x9152, 0x333: 0x9152, 0x334: 0x9452, 0x335: 0x9452, + 0x336: 0x9752, 0x337: 0x9752, 0x338: 0x9a52, 0x339: 0x9a52, 0x33a: 0x9d52, 0x33b: 0x9d52, + 0x33c: 0x4d52, 0x33d: 0x4d52, + // Block 0xd, offset 0x340 + 0x340: 0x3f3a, 0x341: 0x402a, 0x342: 0x411a, 0x343: 0x420a, 0x344: 0x42fa, 0x345: 0x43ea, + 0x346: 0x44da, 0x347: 0x45ca, 0x348: 0x46b9, 0x349: 0x47a9, 0x34a: 0x4899, 0x34b: 0x4989, + 0x34c: 0x4a79, 0x34d: 0x4b69, 0x34e: 0x4c59, 0x34f: 0x4d49, 0x350: 0x4e3a, 0x351: 0x4f2a, + 0x352: 0x501a, 0x353: 0x510a, 0x354: 0x51fa, 0x355: 0x52ea, 0x356: 0x53da, 0x357: 0x54ca, + 0x358: 0x55b9, 0x359: 0x56a9, 0x35a: 0x5799, 0x35b: 0x5889, 0x35c: 0x5979, 0x35d: 0x5a69, + 0x35e: 0x5b59, 0x35f: 0x5c49, 0x360: 0x5d3a, 0x361: 0x5e2a, 0x362: 0x5f1a, 0x363: 0x600a, + 0x364: 0x60fa, 0x365: 0x61ea, 0x366: 0x62da, 0x367: 0x63ca, 0x368: 0x64b9, 0x369: 0x65a9, + 0x36a: 0x6699, 0x36b: 0x6789, 0x36c: 0x6879, 0x36d: 0x6969, 0x36e: 0x6a59, 0x36f: 0x6b49, + 0x370: 0x0812, 0x371: 0x0812, 0x372: 0x6c3a, 0x373: 0x6d4a, 0x374: 0x6e1a, + 0x376: 0x6efa, 0x377: 0x6fda, 0x378: 0x0813, 0x379: 0x0813, 0x37a: 0x8e53, 0x37b: 0x8e53, + 0x37c: 0x7119, 0x37d: 0x0004, 0x37e: 0x71ea, 0x37f: 0x0004, + // Block 0xe, offset 0x380 + 0x380: 0x0004, 0x381: 0x0004, 0x382: 0x726a, 0x383: 0x737a, 0x384: 0x744a, + 0x386: 0x752a, 0x387: 0x760a, 0x388: 0x9153, 0x389: 0x9153, 0x38a: 0x9453, 0x38b: 0x9453, + 0x38c: 0x7749, 0x38d: 0x0004, 0x38e: 0x0004, 0x38f: 0x0004, 0x390: 0x0812, 0x391: 0x0812, + 0x392: 0x781a, 0x393: 0x795a, 0x396: 0x7a9a, 0x397: 0x7b7a, + 0x398: 0x0813, 0x399: 0x0813, 0x39a: 0x9753, 0x39b: 0x9753, 0x39d: 0x0004, + 0x39e: 0x0004, 0x39f: 0x0004, 0x3a0: 0x0812, 0x3a1: 0x0812, 0x3a2: 0x7cba, 0x3a3: 0x7dfa, + 0x3a4: 0x7f3a, 0x3a5: 0x0912, 0x3a6: 0x801a, 0x3a7: 0x80fa, 0x3a8: 0x0813, 0x3a9: 0x0813, + 0x3aa: 0x9d53, 0x3ab: 0x9d53, 0x3ac: 0x0913, 0x3ad: 0x0004, 0x3ae: 0x0004, 0x3af: 0x0004, + 0x3b2: 0x823a, 0x3b3: 0x834a, 0x3b4: 0x841a, + 0x3b6: 0x84fa, 0x3b7: 0x85da, 0x3b8: 0x9a53, 0x3b9: 0x9a53, 0x3ba: 0x4d53, 0x3bb: 0x4d53, + 0x3bc: 0x8719, 0x3bd: 0x0004, 0x3be: 0x0004, + // Block 0xf, offset 0x3c0 + 0x3c2: 0x0013, + 0x3c7: 0x0013, 0x3ca: 0x0012, 0x3cb: 0x0013, + 0x3cc: 0x0013, 0x3cd: 0x0013, 0x3ce: 0x0012, 0x3cf: 0x0012, 0x3d0: 0x0013, 0x3d1: 0x0013, + 0x3d2: 0x0013, 0x3d3: 0x0012, 0x3d5: 0x0013, + 0x3d9: 0x0013, 0x3da: 0x0013, 0x3db: 0x0013, 0x3dc: 0x0013, 0x3dd: 0x0013, + 0x3e4: 0x0013, 0x3e6: 0x87eb, 0x3e8: 0x0013, + 0x3ea: 0x884b, 0x3eb: 0x888b, 0x3ec: 0x0013, 0x3ed: 0x0013, 0x3ef: 0x0012, + 0x3f0: 0x0013, 0x3f1: 0x0013, 0x3f2: 0xa053, 0x3f3: 0x0013, 0x3f4: 0x0012, 0x3f5: 0x0010, + 0x3f6: 0x0010, 0x3f7: 0x0010, 0x3f8: 0x0010, 0x3f9: 0x0012, + 0x3fc: 0x0012, 0x3fd: 0x0012, 0x3fe: 0x0013, 0x3ff: 0x0013, + // Block 0x10, offset 0x400 + 0x400: 0x1a13, 0x401: 0x1a13, 0x402: 0x1e13, 0x403: 0x1e13, 0x404: 0x1a13, 0x405: 0x1a13, + 0x406: 0x2613, 0x407: 0x2613, 0x408: 0x2a13, 0x409: 0x2a13, 0x40a: 0x2e13, 0x40b: 0x2e13, + 0x40c: 0x2a13, 0x40d: 0x2a13, 0x40e: 0x2613, 0x40f: 0x2613, 0x410: 0xa352, 0x411: 0xa352, + 0x412: 0xa652, 0x413: 0xa652, 0x414: 0xa952, 0x415: 0xa952, 0x416: 0xa652, 0x417: 0xa652, + 0x418: 0xa352, 0x419: 0xa352, 0x41a: 0x1a12, 0x41b: 0x1a12, 0x41c: 0x1e12, 0x41d: 0x1e12, + 0x41e: 0x1a12, 0x41f: 0x1a12, 0x420: 0x2612, 0x421: 0x2612, 0x422: 0x2a12, 0x423: 0x2a12, + 0x424: 0x2e12, 0x425: 0x2e12, 0x426: 0x2a12, 0x427: 0x2a12, 0x428: 0x2612, 0x429: 0x2612, + // Block 0x11, offset 0x440 + 0x440: 0x6552, 0x441: 0x6552, 0x442: 0x6552, 0x443: 0x6552, 0x444: 0x6552, 0x445: 0x6552, + 0x446: 0x6552, 0x447: 0x6552, 0x448: 0x6552, 0x449: 0x6552, 0x44a: 0x6552, 0x44b: 0x6552, + 0x44c: 0x6552, 0x44d: 0x6552, 0x44e: 0x6552, 0x44f: 0x6552, 0x450: 0xac52, 0x451: 0xac52, + 0x452: 0xac52, 0x453: 0xac52, 0x454: 0xac52, 0x455: 0xac52, 0x456: 0xac52, 0x457: 0xac52, + 0x458: 0xac52, 0x459: 0xac52, 0x45a: 0xac52, 0x45b: 0xac52, 0x45c: 0xac52, 0x45d: 0xac52, + 0x45e: 0xac52, 0x460: 0x0113, 0x461: 0x0112, 0x462: 0x88eb, 0x463: 0x8b53, + 0x464: 0x894b, 0x465: 0x89aa, 0x466: 0x8a0a, 0x467: 0x0f13, 0x468: 0x0f12, 0x469: 0x0313, + 0x46a: 0x0312, 0x46b: 0x0713, 0x46c: 0x0712, 0x46d: 0x8a6b, 0x46e: 0x8acb, 0x46f: 0x8b2b, + 0x470: 0x8b8b, 0x471: 0x0012, 0x472: 0x0113, 0x473: 0x0112, 0x474: 0x0012, 0x475: 0x0313, + 0x476: 0x0312, 0x477: 0x0012, 0x478: 0x0012, 0x479: 0x0012, 0x47a: 0x0012, 0x47b: 0x0012, + 0x47c: 0x0015, 0x47d: 0x0015, 0x47e: 0x8beb, 0x47f: 0x8c4b, + // Block 0x12, offset 0x480 + 0x480: 0x0113, 0x481: 0x0112, 0x482: 0x0113, 0x483: 0x0112, 0x484: 0x0113, 0x485: 0x0112, + 0x486: 0x0113, 0x487: 0x0112, 0x488: 0x0014, 0x489: 0x0014, 0x48a: 0x0014, 0x48b: 0x0713, + 0x48c: 0x0712, 0x48d: 0x8cab, 0x48e: 0x0012, 0x48f: 0x0010, 0x490: 0x0113, 0x491: 0x0112, + 0x492: 0x0113, 0x493: 0x0112, 0x494: 0x0012, 0x495: 0x0012, 0x496: 0x0113, 0x497: 0x0112, + 0x498: 0x0113, 0x499: 0x0112, 0x49a: 0x0113, 0x49b: 0x0112, 0x49c: 0x0113, 0x49d: 0x0112, + 0x49e: 0x0113, 0x49f: 0x0112, 0x4a0: 0x0113, 0x4a1: 0x0112, 0x4a2: 0x0113, 0x4a3: 0x0112, + 0x4a4: 0x0113, 0x4a5: 0x0112, 0x4a6: 0x0113, 0x4a7: 0x0112, 0x4a8: 0x0113, 0x4a9: 0x0112, + 0x4aa: 0x8d0b, 0x4ab: 0x8d6b, 0x4ac: 0x8dcb, 0x4ad: 0x8e2b, 0x4ae: 0x8e8b, 0x4af: 0x0012, + 0x4b0: 0x8eeb, 0x4b1: 0x8f4b, 0x4b2: 0x8fab, 0x4b3: 0xaf53, 0x4b4: 0x0113, 0x4b5: 0x0112, + 0x4b6: 0x0113, 0x4b7: 0x0112, 0x4b8: 0x0113, 0x4b9: 0x0112, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x900a, 0x4c1: 0x908a, 0x4c2: 0x910a, 0x4c3: 0x918a, 0x4c4: 0x923a, 0x4c5: 0x92ea, + 0x4c6: 0x936a, + 0x4d3: 0x93ea, 0x4d4: 0x94ca, 0x4d5: 0x95aa, 0x4d6: 0x968a, 0x4d7: 0x976a, + 0x4dd: 0x0010, + 0x4de: 0x0034, 0x4df: 0x0010, 0x4e0: 0x0010, 0x4e1: 0x0010, 0x4e2: 0x0010, 0x4e3: 0x0010, + 0x4e4: 0x0010, 0x4e5: 0x0010, 0x4e6: 0x0010, 0x4e7: 0x0010, 0x4e8: 0x0010, + 0x4ea: 0x0010, 0x4eb: 0x0010, 0x4ec: 0x0010, 0x4ed: 0x0010, 0x4ee: 0x0010, 0x4ef: 0x0010, + 0x4f0: 0x0010, 0x4f1: 0x0010, 0x4f2: 0x0010, 0x4f3: 0x0010, 0x4f4: 0x0010, 0x4f5: 0x0010, + 0x4f6: 0x0010, 0x4f8: 0x0010, 0x4f9: 0x0010, 0x4fa: 0x0010, 0x4fb: 0x0010, + 0x4fc: 0x0010, 0x4fe: 0x0010, + // Block 0x14, offset 0x500 + 0x500: 0x2213, 0x501: 0x2213, 0x502: 0x2613, 0x503: 0x2613, 0x504: 0x2213, 0x505: 0x2213, + 0x506: 0x2e13, 0x507: 0x2e13, 0x508: 0x2213, 0x509: 0x2213, 0x50a: 0x2613, 0x50b: 0x2613, + 0x50c: 0x2213, 0x50d: 0x2213, 0x50e: 0x3e13, 0x50f: 0x3e13, 0x510: 0x2213, 0x511: 0x2213, + 0x512: 0x2613, 0x513: 0x2613, 0x514: 0x2213, 0x515: 0x2213, 0x516: 0x2e13, 0x517: 0x2e13, + 0x518: 0x2213, 0x519: 0x2213, 0x51a: 0x2613, 0x51b: 0x2613, 0x51c: 0x2213, 0x51d: 0x2213, + 0x51e: 0xb853, 0x51f: 0xb853, 0x520: 0xbb53, 0x521: 0xbb53, 0x522: 0x2212, 0x523: 0x2212, + 0x524: 0x2612, 0x525: 0x2612, 0x526: 0x2212, 0x527: 0x2212, 0x528: 0x2e12, 0x529: 0x2e12, + 0x52a: 0x2212, 0x52b: 0x2212, 0x52c: 0x2612, 0x52d: 0x2612, 0x52e: 0x2212, 0x52f: 0x2212, + 0x530: 0x3e12, 0x531: 0x3e12, 0x532: 0x2212, 0x533: 0x2212, 0x534: 0x2612, 0x535: 0x2612, + 0x536: 0x2212, 0x537: 0x2212, 0x538: 0x2e12, 0x539: 0x2e12, 0x53a: 0x2212, 0x53b: 0x2212, + 0x53c: 0x2612, 0x53d: 0x2612, 0x53e: 0x2212, 0x53f: 0x2212, + // Block 0x15, offset 0x540 + 0x542: 0x0010, + 0x547: 0x0010, 0x549: 0x0010, 0x54b: 0x0010, + 0x54d: 0x0010, 0x54e: 0x0010, 0x54f: 0x0010, 0x551: 0x0010, + 0x552: 0x0010, 0x554: 0x0010, 0x557: 0x0010, + 0x559: 0x0010, 0x55b: 0x0010, 0x55d: 0x0010, + 0x55f: 0x0010, 0x561: 0x0010, 0x562: 0x0010, + 0x564: 0x0010, 0x567: 0x0010, 0x568: 0x0010, 0x569: 0x0010, + 0x56a: 0x0010, 0x56c: 0x0010, 0x56d: 0x0010, 0x56e: 0x0010, 0x56f: 0x0010, + 0x570: 0x0010, 0x571: 0x0010, 0x572: 0x0010, 0x574: 0x0010, 0x575: 0x0010, + 0x576: 0x0010, 0x577: 0x0010, 0x579: 0x0010, 0x57a: 0x0010, 0x57b: 0x0010, + 0x57c: 0x0010, 0x57e: 0x0010, +} + +// caseIndex: 25 blocks, 1600 entries, 3200 bytes +// Block 0 is the zero block. +var caseIndex = [1600]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x14, 0xc3: 0x15, 0xc4: 0x16, 0xc5: 0x17, 0xc6: 0x01, 0xc7: 0x02, + 0xc8: 0x18, 0xc9: 0x03, 0xca: 0x04, 0xcb: 0x19, 0xcc: 0x1a, 0xcd: 0x05, 0xce: 0x06, 0xcf: 0x07, + 0xd0: 0x1b, 0xd1: 0x1c, 0xd2: 0x1d, 0xd3: 0x1e, 0xd4: 0x1f, 0xd5: 0x20, 0xd6: 0x08, 0xd7: 0x21, + 0xd8: 0x22, 0xd9: 0x23, 0xda: 0x24, 0xdb: 0x25, 0xdc: 0x26, 0xdd: 0x27, 0xde: 0x28, 0xdf: 0x29, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x08, 0xef: 0x09, + 0xf0: 0x14, 0xf3: 0x16, + // Block 0x4, offset 0x100 + 0x120: 0x2a, 0x121: 0x2b, 0x122: 0x2c, 0x123: 0x2d, 0x124: 0x2e, 0x125: 0x2f, 0x126: 0x30, 0x127: 0x31, + 0x128: 0x32, 0x129: 0x33, 0x12a: 0x34, 0x12b: 0x35, 0x12c: 0x36, 0x12d: 0x37, 0x12e: 0x38, 0x12f: 0x39, + 0x130: 0x3a, 0x131: 0x3b, 0x132: 0x3c, 0x133: 0x3d, 0x134: 0x3e, 0x135: 0x3f, 0x136: 0x40, 0x137: 0x41, + 0x138: 0x42, 0x139: 0x43, 0x13a: 0x44, 0x13b: 0x45, 0x13c: 0x46, 0x13d: 0x47, 0x13e: 0x48, 0x13f: 0x49, + // Block 0x5, offset 0x140 + 0x140: 0x4a, 0x141: 0x4b, 0x142: 0x4c, 0x143: 0x09, 0x144: 0x24, 0x145: 0x24, 0x146: 0x24, 0x147: 0x24, + 0x148: 0x24, 0x149: 0x4d, 0x14a: 0x4e, 0x14b: 0x4f, 0x14c: 0x50, 0x14d: 0x51, 0x14e: 0x52, 0x14f: 0x53, + 0x150: 0x54, 0x151: 0x24, 0x152: 0x24, 0x153: 0x24, 0x154: 0x24, 0x155: 0x24, 0x156: 0x24, 0x157: 0x24, + 0x158: 0x24, 0x159: 0x55, 0x15a: 0x56, 0x15b: 0x57, 0x15c: 0x58, 0x15d: 0x59, 0x15e: 0x5a, 0x15f: 0x5b, + 0x160: 0x5c, 0x161: 0x5d, 0x162: 0x5e, 0x163: 0x5f, 0x164: 0x60, 0x165: 0x61, 0x167: 0x62, + 0x168: 0x63, 0x169: 0x64, 0x16a: 0x65, 0x16c: 0x66, 0x16d: 0x67, 0x16e: 0x68, 0x16f: 0x69, + 0x170: 0x6a, 0x171: 0x6b, 0x172: 0x6c, 0x173: 0x6d, 0x174: 0x6e, 0x175: 0x6f, 0x176: 0x70, 0x177: 0x71, + 0x178: 0x72, 0x179: 0x72, 0x17a: 0x73, 0x17b: 0x72, 0x17c: 0x74, 0x17d: 0x0a, 0x17e: 0x0b, 0x17f: 0x0c, + // Block 0x6, offset 0x180 + 0x180: 0x75, 0x181: 0x76, 0x182: 0x77, 0x183: 0x78, 0x184: 0x0d, 0x185: 0x79, 0x186: 0x7a, + 0x192: 0x7b, 0x193: 0x0e, + 0x1b0: 0x7c, 0x1b1: 0x0f, 0x1b2: 0x72, 0x1b3: 0x7d, 0x1b4: 0x7e, 0x1b5: 0x7f, 0x1b6: 0x80, 0x1b7: 0x81, + 0x1b8: 0x82, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x83, 0x1c2: 0x84, 0x1c3: 0x85, 0x1c4: 0x86, 0x1c5: 0x24, 0x1c6: 0x87, + // Block 0x8, offset 0x200 + 0x200: 0x88, 0x201: 0x24, 0x202: 0x24, 0x203: 0x24, 0x204: 0x24, 0x205: 0x24, 0x206: 0x24, 0x207: 0x24, + 0x208: 0x24, 0x209: 0x24, 0x20a: 0x24, 0x20b: 0x24, 0x20c: 0x24, 0x20d: 0x24, 0x20e: 0x24, 0x20f: 0x24, + 0x210: 0x24, 0x211: 0x24, 0x212: 0x89, 0x213: 0x8a, 0x214: 0x24, 0x215: 0x24, 0x216: 0x24, 0x217: 0x24, + 0x218: 0x8b, 0x219: 0x8c, 0x21a: 0x8d, 0x21b: 0x8e, 0x21c: 0x8f, 0x21d: 0x90, 0x21e: 0x10, 0x21f: 0x91, + 0x220: 0x92, 0x221: 0x93, 0x222: 0x24, 0x223: 0x94, 0x224: 0x95, 0x225: 0x96, 0x226: 0x97, 0x227: 0x98, + 0x228: 0x99, 0x229: 0x9a, 0x22a: 0x9b, 0x22b: 0x9c, 0x22c: 0x9d, 0x22d: 0x9e, 0x22e: 0x9f, 0x22f: 0xa0, + 0x230: 0x24, 0x231: 0x24, 0x232: 0x24, 0x233: 0x24, 0x234: 0x24, 0x235: 0x24, 0x236: 0x24, 0x237: 0x24, + 0x238: 0x24, 0x239: 0x24, 0x23a: 0x24, 0x23b: 0x24, 0x23c: 0x24, 0x23d: 0x24, 0x23e: 0x24, 0x23f: 0x24, + // Block 0x9, offset 0x240 + 0x240: 0x24, 0x241: 0x24, 0x242: 0x24, 0x243: 0x24, 0x244: 0x24, 0x245: 0x24, 0x246: 0x24, 0x247: 0x24, + 0x248: 0x24, 0x249: 0x24, 0x24a: 0x24, 0x24b: 0x24, 0x24c: 0x24, 0x24d: 0x24, 0x24e: 0x24, 0x24f: 0x24, + 0x250: 0x24, 0x251: 0x24, 0x252: 0x24, 0x253: 0x24, 0x254: 0x24, 0x255: 0x24, 0x256: 0x24, 0x257: 0x24, + 0x258: 0x24, 0x259: 0x24, 0x25a: 0x24, 0x25b: 0x24, 0x25c: 0x24, 0x25d: 0x24, 0x25e: 0x24, 0x25f: 0x24, + 0x260: 0x24, 0x261: 0x24, 0x262: 0x24, 0x263: 0x24, 0x264: 0x24, 0x265: 0x24, 0x266: 0x24, 0x267: 0x24, + 0x268: 0x24, 0x269: 0x24, 0x26a: 0x24, 0x26b: 0x24, 0x26c: 0x24, 0x26d: 0x24, 0x26e: 0x24, 0x26f: 0x24, + 0x270: 0x24, 0x271: 0x24, 0x272: 0x24, 0x273: 0x24, 0x274: 0x24, 0x275: 0x24, 0x276: 0x24, 0x277: 0x24, + 0x278: 0x24, 0x279: 0x24, 0x27a: 0x24, 0x27b: 0x24, 0x27c: 0x24, 0x27d: 0x24, 0x27e: 0x24, 0x27f: 0x24, + // Block 0xa, offset 0x280 + 0x280: 0x24, 0x281: 0x24, 0x282: 0x24, 0x283: 0x24, 0x284: 0x24, 0x285: 0x24, 0x286: 0x24, 0x287: 0x24, + 0x288: 0x24, 0x289: 0x24, 0x28a: 0x24, 0x28b: 0x24, 0x28c: 0x24, 0x28d: 0x24, 0x28e: 0x24, 0x28f: 0x24, + 0x290: 0x24, 0x291: 0x24, 0x292: 0x24, 0x293: 0x24, 0x294: 0x24, 0x295: 0x24, 0x296: 0x24, 0x297: 0x24, + 0x298: 0x24, 0x299: 0x24, 0x29a: 0x24, 0x29b: 0x24, 0x29c: 0x24, 0x29d: 0x24, 0x29e: 0xa1, 0x29f: 0xa2, + // Block 0xb, offset 0x2c0 + 0x2ec: 0x11, 0x2ed: 0xa3, 0x2ee: 0xa4, 0x2ef: 0xa5, + 0x2f0: 0x24, 0x2f1: 0x24, 0x2f2: 0x24, 0x2f3: 0x24, 0x2f4: 0xa6, 0x2f5: 0xa7, 0x2f6: 0xa8, 0x2f7: 0xa9, + 0x2f8: 0xaa, 0x2f9: 0xab, 0x2fa: 0x24, 0x2fb: 0xac, 0x2fc: 0xad, 0x2fd: 0xae, 0x2fe: 0xaf, 0x2ff: 0xb0, + // Block 0xc, offset 0x300 + 0x300: 0xb1, 0x301: 0xb2, 0x302: 0x24, 0x303: 0xb3, 0x305: 0xb4, 0x307: 0xb5, + 0x30a: 0xb6, 0x30b: 0xb7, 0x30c: 0xb8, 0x30d: 0xb9, 0x30e: 0xba, 0x30f: 0xbb, + 0x310: 0xbc, 0x311: 0xbd, 0x312: 0xbe, 0x313: 0xbf, 0x314: 0xc0, 0x315: 0xc1, + 0x318: 0x24, 0x319: 0x24, 0x31a: 0x24, 0x31b: 0x24, 0x31c: 0xc2, 0x31d: 0xc3, + 0x320: 0xc4, 0x321: 0xc5, 0x322: 0xc6, 0x323: 0xc7, 0x324: 0xc8, 0x326: 0xc9, + 0x328: 0xca, 0x329: 0xcb, 0x32a: 0xcc, 0x32b: 0xcd, 0x32c: 0x5f, 0x32d: 0xce, 0x32e: 0xcf, + 0x330: 0x24, 0x331: 0xd0, 0x332: 0xd1, 0x333: 0xd2, 0x334: 0xd3, + 0x33c: 0xd4, 0x33d: 0xd5, + // Block 0xd, offset 0x340 + 0x340: 0xd6, 0x341: 0xd7, 0x342: 0xd8, 0x343: 0xd9, 0x344: 0xda, 0x345: 0xdb, 0x346: 0xdc, 0x347: 0xdd, + 0x348: 0xde, 0x34a: 0xdf, 0x34b: 0xe0, 0x34c: 0xe1, 0x34d: 0xe2, + 0x350: 0xe3, 0x351: 0xe4, 0x352: 0xe5, 0x353: 0xe6, 0x356: 0xe7, 0x357: 0xe8, + 0x358: 0xe9, 0x359: 0xea, 0x35a: 0xeb, 0x35b: 0xec, 0x35c: 0xed, + 0x360: 0xee, 0x362: 0xef, 0x363: 0xf0, + 0x368: 0xf1, 0x369: 0xf2, 0x36a: 0xf3, 0x36b: 0xf4, + 0x370: 0xf5, 0x371: 0xf6, 0x372: 0xf7, 0x374: 0xf8, 0x375: 0xf9, 0x376: 0xfa, + 0x37b: 0xfb, + // Block 0xe, offset 0x380 + 0x380: 0x24, 0x381: 0x24, 0x382: 0x24, 0x383: 0x24, 0x384: 0x24, 0x385: 0x24, 0x386: 0x24, 0x387: 0x24, + 0x388: 0x24, 0x389: 0x24, 0x38a: 0x24, 0x38b: 0x24, 0x38c: 0x24, 0x38d: 0x24, 0x38e: 0xfc, + 0x390: 0x24, 0x391: 0xfd, 0x392: 0x24, 0x393: 0x24, 0x394: 0x24, 0x395: 0xfe, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x24, 0x3c1: 0x24, 0x3c2: 0x24, 0x3c3: 0x24, 0x3c4: 0x24, 0x3c5: 0x24, 0x3c6: 0x24, 0x3c7: 0x24, + 0x3c8: 0x24, 0x3c9: 0x24, 0x3ca: 0x24, 0x3cb: 0x24, 0x3cc: 0x24, 0x3cd: 0x24, 0x3ce: 0x24, 0x3cf: 0x24, + 0x3d0: 0xfd, + // Block 0x10, offset 0x400 + 0x410: 0x24, 0x411: 0x24, 0x412: 0x24, 0x413: 0x24, 0x414: 0x24, 0x415: 0x24, 0x416: 0x24, 0x417: 0x24, + 0x418: 0x24, 0x419: 0xff, + // Block 0x11, offset 0x440 + 0x460: 0x24, 0x461: 0x24, 0x462: 0x24, 0x463: 0x24, 0x464: 0x24, 0x465: 0x24, 0x466: 0x24, 0x467: 0x24, + 0x468: 0xf4, 0x469: 0x100, 0x46b: 0x101, 0x46c: 0x102, 0x46d: 0x103, 0x46e: 0x104, + 0x479: 0x105, 0x47c: 0x24, 0x47d: 0x106, 0x47e: 0x107, 0x47f: 0x108, + // Block 0x12, offset 0x480 + 0x4b0: 0x24, 0x4b1: 0x109, 0x4b2: 0x10a, + // Block 0x13, offset 0x4c0 + 0x4c5: 0x10b, 0x4c6: 0x10c, + 0x4c9: 0x10d, + 0x4d0: 0x10e, 0x4d1: 0x10f, 0x4d2: 0x110, 0x4d3: 0x111, 0x4d4: 0x112, 0x4d5: 0x113, 0x4d6: 0x114, 0x4d7: 0x115, + 0x4d8: 0x116, 0x4d9: 0x117, 0x4da: 0x118, 0x4db: 0x119, 0x4dc: 0x11a, 0x4dd: 0x11b, 0x4de: 0x11c, 0x4df: 0x11d, + 0x4e8: 0x11e, 0x4e9: 0x11f, 0x4ea: 0x120, + // Block 0x14, offset 0x500 + 0x500: 0x121, + 0x520: 0x24, 0x521: 0x24, 0x522: 0x24, 0x523: 0x122, 0x524: 0x12, 0x525: 0x123, + 0x538: 0x124, 0x539: 0x13, 0x53a: 0x125, + // Block 0x15, offset 0x540 + 0x544: 0x126, 0x545: 0x127, 0x546: 0x128, + 0x54f: 0x129, + // Block 0x16, offset 0x580 + 0x590: 0x0a, 0x591: 0x0b, 0x592: 0x0c, 0x593: 0x0d, 0x594: 0x0e, 0x596: 0x0f, + 0x59b: 0x10, 0x59d: 0x11, 0x59e: 0x12, 0x59f: 0x13, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x12a, 0x5c1: 0x12b, 0x5c4: 0x12b, 0x5c5: 0x12b, 0x5c6: 0x12b, 0x5c7: 0x12c, + // Block 0x18, offset 0x600 + 0x620: 0x15, +} + +// sparseOffsets: 282 entries, 564 bytes +var sparseOffsets = []uint16{0x0, 0x9, 0xf, 0x18, 0x24, 0x2e, 0x35, 0x38, 0x3c, 0x3f, 0x43, 0x4d, 0x4f, 0x57, 0x5e, 0x63, 0x71, 0x72, 0x80, 0x8f, 0x99, 0x9c, 0xa3, 0xab, 0xae, 0xb0, 0xbf, 0xc5, 0xd3, 0xde, 0xeb, 0xf6, 0x102, 0x10c, 0x118, 0x123, 0x12f, 0x13b, 0x143, 0x14c, 0x156, 0x161, 0x16d, 0x174, 0x17f, 0x184, 0x18c, 0x18f, 0x194, 0x198, 0x19c, 0x1a3, 0x1ac, 0x1b4, 0x1b5, 0x1be, 0x1c5, 0x1cd, 0x1d3, 0x1d8, 0x1dc, 0x1df, 0x1e1, 0x1e4, 0x1e9, 0x1ea, 0x1ec, 0x1ee, 0x1f0, 0x1f7, 0x1fc, 0x200, 0x209, 0x20c, 0x20f, 0x215, 0x216, 0x221, 0x222, 0x223, 0x228, 0x235, 0x23d, 0x245, 0x24e, 0x257, 0x260, 0x265, 0x268, 0x273, 0x280, 0x282, 0x289, 0x28b, 0x297, 0x298, 0x2a3, 0x2ab, 0x2b3, 0x2b9, 0x2ba, 0x2c8, 0x2cd, 0x2d0, 0x2d5, 0x2d9, 0x2df, 0x2e4, 0x2e7, 0x2ec, 0x2f1, 0x2f2, 0x2f8, 0x2fa, 0x2fb, 0x2fd, 0x2ff, 0x302, 0x303, 0x305, 0x308, 0x30e, 0x312, 0x314, 0x319, 0x320, 0x324, 0x32d, 0x32e, 0x337, 0x33b, 0x340, 0x348, 0x34e, 0x354, 0x35e, 0x363, 0x36c, 0x372, 0x379, 0x37d, 0x385, 0x387, 0x389, 0x38c, 0x38e, 0x390, 0x391, 0x392, 0x394, 0x396, 0x39c, 0x3a1, 0x3a3, 0x3a9, 0x3ac, 0x3ae, 0x3b4, 0x3b9, 0x3bb, 0x3bc, 0x3bd, 0x3be, 0x3c0, 0x3c2, 0x3c4, 0x3c7, 0x3c9, 0x3cc, 0x3d4, 0x3d7, 0x3db, 0x3e3, 0x3e5, 0x3e6, 0x3e7, 0x3e9, 0x3ef, 0x3f1, 0x3f2, 0x3f4, 0x3f6, 0x3f8, 0x405, 0x406, 0x407, 0x40b, 0x40d, 0x40e, 0x40f, 0x410, 0x411, 0x414, 0x417, 0x41d, 0x421, 0x425, 0x42b, 0x42e, 0x435, 0x439, 0x43d, 0x444, 0x44d, 0x453, 0x459, 0x463, 0x46d, 0x46f, 0x477, 0x47d, 0x483, 0x489, 0x48c, 0x492, 0x495, 0x49d, 0x49e, 0x4a5, 0x4a9, 0x4aa, 0x4ad, 0x4b5, 0x4bb, 0x4c2, 0x4c3, 0x4c9, 0x4cc, 0x4d4, 0x4db, 0x4e5, 0x4ed, 0x4f0, 0x4f1, 0x4f2, 0x4f3, 0x4f4, 0x4f6, 0x4f8, 0x4fa, 0x4fe, 0x4ff, 0x501, 0x503, 0x504, 0x505, 0x507, 0x50c, 0x511, 0x515, 0x516, 0x519, 0x51d, 0x528, 0x52c, 0x534, 0x539, 0x53d, 0x540, 0x544, 0x547, 0x54a, 0x54f, 0x553, 0x557, 0x55b, 0x55f, 0x561, 0x563, 0x566, 0x56b, 0x56d, 0x572, 0x57b, 0x580, 0x581, 0x584, 0x585, 0x586, 0x588, 0x589, 0x58a} + +// sparseValues: 1418 entries, 5672 bytes +var sparseValues = [1418]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0004, lo: 0xa8, hi: 0xa8}, + {value: 0x0012, lo: 0xaa, hi: 0xaa}, + {value: 0x0014, lo: 0xad, hi: 0xad}, + {value: 0x0004, lo: 0xaf, hi: 0xaf}, + {value: 0x0004, lo: 0xb4, hi: 0xb4}, + {value: 0x001a, lo: 0xb5, hi: 0xb5}, + {value: 0x0054, lo: 0xb7, hi: 0xb7}, + {value: 0x0004, lo: 0xb8, hi: 0xb8}, + {value: 0x0012, lo: 0xba, hi: 0xba}, + // Block 0x1, offset 0x9 + {value: 0x2013, lo: 0x80, hi: 0x96}, + {value: 0x2013, lo: 0x98, hi: 0x9e}, + {value: 0x009a, lo: 0x9f, hi: 0x9f}, + {value: 0x2012, lo: 0xa0, hi: 0xb6}, + {value: 0x2012, lo: 0xb8, hi: 0xbe}, + {value: 0x0252, lo: 0xbf, hi: 0xbf}, + // Block 0x2, offset 0xf + {value: 0x0117, lo: 0x80, hi: 0xaf}, + {value: 0x011b, lo: 0xb0, hi: 0xb0}, + {value: 0x019a, lo: 0xb1, hi: 0xb1}, + {value: 0x0117, lo: 0xb2, hi: 0xb7}, + {value: 0x0012, lo: 0xb8, hi: 0xb8}, + {value: 0x0316, lo: 0xb9, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x0316, lo: 0xbd, hi: 0xbe}, + {value: 0x0553, lo: 0xbf, hi: 0xbf}, + // Block 0x3, offset 0x18 + {value: 0x0552, lo: 0x80, hi: 0x80}, + {value: 0x0316, lo: 0x81, hi: 0x82}, + {value: 0x0716, lo: 0x83, hi: 0x84}, + {value: 0x0316, lo: 0x85, hi: 0x86}, + {value: 0x0f16, lo: 0x87, hi: 0x88}, + {value: 0x01da, lo: 0x89, hi: 0x89}, + {value: 0x0117, lo: 0x8a, hi: 0xb7}, + {value: 0x0253, lo: 0xb8, hi: 0xb8}, + {value: 0x0316, lo: 0xb9, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x0316, lo: 0xbd, hi: 0xbe}, + {value: 0x028a, lo: 0xbf, hi: 0xbf}, + // Block 0x4, offset 0x24 + {value: 0x0117, lo: 0x80, hi: 0x9f}, + {value: 0x2f53, lo: 0xa0, hi: 0xa0}, + {value: 0x0012, lo: 0xa1, hi: 0xa1}, + {value: 0x0117, lo: 0xa2, hi: 0xb3}, + {value: 0x0012, lo: 0xb4, hi: 0xb9}, + {value: 0x090b, lo: 0xba, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x2953, lo: 0xbd, hi: 0xbd}, + {value: 0x098b, lo: 0xbe, hi: 0xbe}, + {value: 0x0a0a, lo: 0xbf, hi: 0xbf}, + // Block 0x5, offset 0x2e + {value: 0x0015, lo: 0x80, hi: 0x81}, + {value: 0x0014, lo: 0x82, hi: 0x97}, + {value: 0x0004, lo: 0x98, hi: 0x9d}, + {value: 0x0014, lo: 0x9e, hi: 0x9f}, + {value: 0x0015, lo: 0xa0, hi: 0xa4}, + {value: 0x0004, lo: 0xa5, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xbf}, + // Block 0x6, offset 0x35 + {value: 0x0024, lo: 0x80, hi: 0x94}, + {value: 0x0034, lo: 0x95, hi: 0xbc}, + {value: 0x0024, lo: 0xbd, hi: 0xbf}, + // Block 0x7, offset 0x38 + {value: 0x6553, lo: 0x80, hi: 0x8f}, + {value: 0x2013, lo: 0x90, hi: 0x9f}, + {value: 0x5f53, lo: 0xa0, hi: 0xaf}, + {value: 0x2012, lo: 0xb0, hi: 0xbf}, + // Block 0x8, offset 0x3c + {value: 0x5f52, lo: 0x80, hi: 0x8f}, + {value: 0x6552, lo: 0x90, hi: 0x9f}, + {value: 0x0117, lo: 0xa0, hi: 0xbf}, + // Block 0x9, offset 0x3f + {value: 0x0117, lo: 0x80, hi: 0x81}, + {value: 0x0024, lo: 0x83, hi: 0x87}, + {value: 0x0014, lo: 0x88, hi: 0x89}, + {value: 0x0117, lo: 0x8a, hi: 0xbf}, + // Block 0xa, offset 0x43 + {value: 0x0f13, lo: 0x80, hi: 0x80}, + {value: 0x0316, lo: 0x81, hi: 0x82}, + {value: 0x0716, lo: 0x83, hi: 0x84}, + {value: 0x0316, lo: 0x85, hi: 0x86}, + {value: 0x0f16, lo: 0x87, hi: 0x88}, + {value: 0x0316, lo: 0x89, hi: 0x8a}, + {value: 0x0716, lo: 0x8b, hi: 0x8c}, + {value: 0x0316, lo: 0x8d, hi: 0x8e}, + {value: 0x0f12, lo: 0x8f, hi: 0x8f}, + {value: 0x0117, lo: 0x90, hi: 0xbf}, + // Block 0xb, offset 0x4d + {value: 0x0117, lo: 0x80, hi: 0xaf}, + {value: 0x6553, lo: 0xb1, hi: 0xbf}, + // Block 0xc, offset 0x4f + {value: 0x3013, lo: 0x80, hi: 0x8f}, + {value: 0x6853, lo: 0x90, hi: 0x96}, + {value: 0x0014, lo: 0x99, hi: 0x99}, + {value: 0x0010, lo: 0x9b, hi: 0x9c}, + {value: 0x0010, lo: 0x9e, hi: 0x9e}, + {value: 0x0012, lo: 0xa0, hi: 0xa0}, + {value: 0x6552, lo: 0xa1, hi: 0xaf}, + {value: 0x3012, lo: 0xb0, hi: 0xbf}, + // Block 0xd, offset 0x57 + {value: 0x0034, lo: 0x81, hi: 0x82}, + {value: 0x0024, lo: 0x84, hi: 0x84}, + {value: 0x0034, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0xaa}, + {value: 0x0010, lo: 0xaf, hi: 0xb3}, + {value: 0x0054, lo: 0xb4, hi: 0xb4}, + // Block 0xe, offset 0x5e + {value: 0x0014, lo: 0x80, hi: 0x85}, + {value: 0x0024, lo: 0x90, hi: 0x97}, + {value: 0x0034, lo: 0x98, hi: 0x9a}, + {value: 0x0014, lo: 0x9c, hi: 0x9c}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0xf, offset 0x63 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x8a}, + {value: 0x0034, lo: 0x8b, hi: 0x92}, + {value: 0x0024, lo: 0x93, hi: 0x94}, + {value: 0x0034, lo: 0x95, hi: 0x96}, + {value: 0x0024, lo: 0x97, hi: 0x9b}, + {value: 0x0034, lo: 0x9c, hi: 0x9c}, + {value: 0x0024, lo: 0x9d, hi: 0x9e}, + {value: 0x0034, lo: 0x9f, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0x0010, lo: 0xab, hi: 0xab}, + {value: 0x0010, lo: 0xae, hi: 0xaf}, + {value: 0x0034, lo: 0xb0, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xbf}, + // Block 0x10, offset 0x71 + {value: 0x0010, lo: 0x80, hi: 0xbf}, + // Block 0x11, offset 0x72 + {value: 0x0010, lo: 0x80, hi: 0x93}, + {value: 0x0010, lo: 0x95, hi: 0x95}, + {value: 0x0024, lo: 0x96, hi: 0x9c}, + {value: 0x0014, lo: 0x9d, hi: 0x9d}, + {value: 0x0024, lo: 0x9f, hi: 0xa2}, + {value: 0x0034, lo: 0xa3, hi: 0xa3}, + {value: 0x0024, lo: 0xa4, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xa6}, + {value: 0x0024, lo: 0xa7, hi: 0xa8}, + {value: 0x0034, lo: 0xaa, hi: 0xaa}, + {value: 0x0024, lo: 0xab, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xbc}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x12, offset 0x80 + {value: 0x0014, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0034, lo: 0x91, hi: 0x91}, + {value: 0x0010, lo: 0x92, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb0}, + {value: 0x0034, lo: 0xb1, hi: 0xb1}, + {value: 0x0024, lo: 0xb2, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0024, lo: 0xb5, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb9}, + {value: 0x0024, lo: 0xba, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbc}, + {value: 0x0024, lo: 0xbd, hi: 0xbd}, + {value: 0x0034, lo: 0xbe, hi: 0xbe}, + {value: 0x0024, lo: 0xbf, hi: 0xbf}, + // Block 0x13, offset 0x8f + {value: 0x0024, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0024, lo: 0x83, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x84}, + {value: 0x0024, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0024, lo: 0x87, hi: 0x87}, + {value: 0x0034, lo: 0x88, hi: 0x88}, + {value: 0x0024, lo: 0x89, hi: 0x8a}, + {value: 0x0010, lo: 0x8d, hi: 0xbf}, + // Block 0x14, offset 0x99 + {value: 0x0010, lo: 0x80, hi: 0xa5}, + {value: 0x0014, lo: 0xa6, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + // Block 0x15, offset 0x9c + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0024, lo: 0xab, hi: 0xb1}, + {value: 0x0034, lo: 0xb2, hi: 0xb2}, + {value: 0x0024, lo: 0xb3, hi: 0xb3}, + {value: 0x0014, lo: 0xb4, hi: 0xb5}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0034, lo: 0xbd, hi: 0xbd}, + // Block 0x16, offset 0xa3 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0024, lo: 0x96, hi: 0x99}, + {value: 0x0014, lo: 0x9a, hi: 0x9a}, + {value: 0x0024, lo: 0x9b, hi: 0xa3}, + {value: 0x0014, lo: 0xa4, hi: 0xa4}, + {value: 0x0024, lo: 0xa5, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa8}, + {value: 0x0024, lo: 0xa9, hi: 0xad}, + // Block 0x17, offset 0xab + {value: 0x0010, lo: 0x80, hi: 0x98}, + {value: 0x0034, lo: 0x99, hi: 0x9b}, + {value: 0x0010, lo: 0xa0, hi: 0xaa}, + // Block 0x18, offset 0xae + {value: 0x0010, lo: 0xa0, hi: 0xb4}, + {value: 0x0010, lo: 0xb6, hi: 0xbd}, + // Block 0x19, offset 0xb0 + {value: 0x0034, lo: 0x93, hi: 0x93}, + {value: 0x0024, lo: 0x94, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa2}, + {value: 0x0034, lo: 0xa3, hi: 0xa3}, + {value: 0x0024, lo: 0xa4, hi: 0xa5}, + {value: 0x0034, lo: 0xa6, hi: 0xa6}, + {value: 0x0024, lo: 0xa7, hi: 0xa8}, + {value: 0x0034, lo: 0xa9, hi: 0xa9}, + {value: 0x0024, lo: 0xaa, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xb2}, + {value: 0x0024, lo: 0xb3, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb6}, + {value: 0x0024, lo: 0xb7, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0024, lo: 0xbb, hi: 0xbf}, + // Block 0x1a, offset 0xbf + {value: 0x0014, lo: 0x80, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0xb9}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x1b, offset 0xc5 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x88}, + {value: 0x0010, lo: 0x89, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0024, lo: 0x91, hi: 0x91}, + {value: 0x0034, lo: 0x92, hi: 0x92}, + {value: 0x0024, lo: 0x93, hi: 0x94}, + {value: 0x0014, lo: 0x95, hi: 0x97}, + {value: 0x0010, lo: 0x98, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0014, lo: 0xb1, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xbf}, + // Block 0x1c, offset 0xd3 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb2}, + {value: 0x0010, lo: 0xb6, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x1d, offset 0xde + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8e, hi: 0x8e}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x9c, hi: 0x9d}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xb1}, + {value: 0x0010, lo: 0xbc, hi: 0xbc}, + {value: 0x0024, lo: 0xbe, hi: 0xbe}, + // Block 0x1e, offset 0xeb + {value: 0x0014, lo: 0x81, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8a}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb6}, + {value: 0x0010, lo: 0xb8, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x1f, offset 0xf6 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x82}, + {value: 0x0014, lo: 0x87, hi: 0x88}, + {value: 0x0014, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0014, lo: 0x91, hi: 0x91}, + {value: 0x0010, lo: 0x99, hi: 0x9c}, + {value: 0x0010, lo: 0x9e, hi: 0x9e}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb5}, + // Block 0x20, offset 0x102 + {value: 0x0014, lo: 0x81, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8d}, + {value: 0x0010, lo: 0x8f, hi: 0x91}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x21, offset 0x10c + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x85}, + {value: 0x0014, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x89, hi: 0x89}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb9, hi: 0xb9}, + {value: 0x0014, lo: 0xba, hi: 0xbf}, + // Block 0x22, offset 0x118 + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x23, offset 0x123 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0014, lo: 0x96, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x9c, hi: 0x9d}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + // Block 0x24, offset 0x12f + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8a}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0x95}, + {value: 0x0010, lo: 0x99, hi: 0x9a}, + {value: 0x0010, lo: 0x9c, hi: 0x9c}, + {value: 0x0010, lo: 0x9e, hi: 0x9f}, + {value: 0x0010, lo: 0xa3, hi: 0xa4}, + {value: 0x0010, lo: 0xa8, hi: 0xaa}, + {value: 0x0010, lo: 0xae, hi: 0xb9}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x25, offset 0x13b + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x82}, + {value: 0x0010, lo: 0x86, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + // Block 0x26, offset 0x143 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x83}, + {value: 0x0014, lo: 0x84, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb9}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + {value: 0x0014, lo: 0xbe, hi: 0xbf}, + // Block 0x27, offset 0x14c + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x84}, + {value: 0x0014, lo: 0x86, hi: 0x88}, + {value: 0x0014, lo: 0x8a, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0034, lo: 0x95, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x9a}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + // Block 0x28, offset 0x156 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x29, offset 0x161 + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0014, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x95, hi: 0x96}, + {value: 0x0010, lo: 0x9e, hi: 0x9e}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb1, hi: 0xb2}, + // Block 0x2a, offset 0x16d + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x2b, offset 0x174 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x86, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8e, hi: 0x8e}, + {value: 0x0010, lo: 0x94, hi: 0x97}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xba, hi: 0xbf}, + // Block 0x2c, offset 0x17f + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x96}, + {value: 0x0010, lo: 0x9a, hi: 0xb1}, + {value: 0x0010, lo: 0xb3, hi: 0xbb}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + // Block 0x2d, offset 0x184 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0010, lo: 0x8f, hi: 0x91}, + {value: 0x0014, lo: 0x92, hi: 0x94}, + {value: 0x0014, lo: 0x96, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x9f}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + // Block 0x2e, offset 0x18c + {value: 0x0014, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb4, hi: 0xb7}, + {value: 0x0034, lo: 0xb8, hi: 0xba}, + // Block 0x2f, offset 0x18f + {value: 0x0004, lo: 0x86, hi: 0x86}, + {value: 0x0014, lo: 0x87, hi: 0x87}, + {value: 0x0034, lo: 0x88, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x30, offset 0x194 + {value: 0x0014, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb4, hi: 0xb7}, + {value: 0x0034, lo: 0xb8, hi: 0xb9}, + {value: 0x0014, lo: 0xbb, hi: 0xbc}, + // Block 0x31, offset 0x198 + {value: 0x0004, lo: 0x86, hi: 0x86}, + {value: 0x0034, lo: 0x88, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x32, offset 0x19c + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0034, lo: 0x98, hi: 0x99}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0x0034, lo: 0xb5, hi: 0xb5}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + {value: 0x0034, lo: 0xb9, hi: 0xb9}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x33, offset 0x1a3 + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0010, lo: 0x89, hi: 0xac}, + {value: 0x0034, lo: 0xb1, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xba, hi: 0xbd}, + {value: 0x0014, lo: 0xbe, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x34, offset 0x1ac + {value: 0x0034, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0024, lo: 0x82, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x84}, + {value: 0x0024, lo: 0x86, hi: 0x87}, + {value: 0x0010, lo: 0x88, hi: 0x8c}, + {value: 0x0014, lo: 0x8d, hi: 0x97}, + {value: 0x0014, lo: 0x99, hi: 0xbc}, + // Block 0x35, offset 0x1b4 + {value: 0x0034, lo: 0x86, hi: 0x86}, + // Block 0x36, offset 0x1b5 + {value: 0x0010, lo: 0xab, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + {value: 0x0010, lo: 0xb8, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbc}, + {value: 0x0014, lo: 0xbd, hi: 0xbe}, + // Block 0x37, offset 0x1be + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x96, hi: 0x97}, + {value: 0x0014, lo: 0x98, hi: 0x99}, + {value: 0x0014, lo: 0x9e, hi: 0xa0}, + {value: 0x0010, lo: 0xa2, hi: 0xa4}, + {value: 0x0010, lo: 0xa7, hi: 0xad}, + {value: 0x0014, lo: 0xb1, hi: 0xb4}, + // Block 0x38, offset 0x1c5 + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x84}, + {value: 0x0014, lo: 0x85, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8f, hi: 0x9c}, + {value: 0x0014, lo: 0x9d, hi: 0x9d}, + {value: 0x6c53, lo: 0xa0, hi: 0xbf}, + // Block 0x39, offset 0x1cd + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x98}, + {value: 0x0010, lo: 0x9a, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x3a, offset 0x1d3 + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb5}, + {value: 0x0010, lo: 0xb8, hi: 0xbe}, + // Block 0x3b, offset 0x1d8 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x82, hi: 0x85}, + {value: 0x0010, lo: 0x88, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0xbf}, + // Block 0x3c, offset 0x1dc + {value: 0x0010, lo: 0x80, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0x95}, + {value: 0x0010, lo: 0x98, hi: 0xbf}, + // Block 0x3d, offset 0x1df + {value: 0x0010, lo: 0x80, hi: 0x9a}, + {value: 0x0024, lo: 0x9d, hi: 0x9f}, + // Block 0x3e, offset 0x1e1 + {value: 0x0010, lo: 0x80, hi: 0x8f}, + {value: 0x7453, lo: 0xa0, hi: 0xaf}, + {value: 0x7853, lo: 0xb0, hi: 0xbf}, + // Block 0x3f, offset 0x1e4 + {value: 0x7c53, lo: 0x80, hi: 0x8f}, + {value: 0x8053, lo: 0x90, hi: 0x9f}, + {value: 0x7c53, lo: 0xa0, hi: 0xaf}, + {value: 0x0813, lo: 0xb0, hi: 0xb5}, + {value: 0x0892, lo: 0xb8, hi: 0xbd}, + // Block 0x40, offset 0x1e9 + {value: 0x0010, lo: 0x81, hi: 0xbf}, + // Block 0x41, offset 0x1ea + {value: 0x0010, lo: 0x80, hi: 0xac}, + {value: 0x0010, lo: 0xaf, hi: 0xbf}, + // Block 0x42, offset 0x1ec + {value: 0x0010, lo: 0x81, hi: 0x9a}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x43, offset 0x1ee + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0010, lo: 0xae, hi: 0xb8}, + // Block 0x44, offset 0x1f0 + {value: 0x0010, lo: 0x80, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x91}, + {value: 0x0014, lo: 0x92, hi: 0x93}, + {value: 0x0034, lo: 0x94, hi: 0x94}, + {value: 0x0010, lo: 0xa0, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + // Block 0x45, offset 0x1f7 + {value: 0x0010, lo: 0x80, hi: 0x91}, + {value: 0x0014, lo: 0x92, hi: 0x93}, + {value: 0x0010, lo: 0xa0, hi: 0xac}, + {value: 0x0010, lo: 0xae, hi: 0xb0}, + {value: 0x0014, lo: 0xb2, hi: 0xb3}, + // Block 0x46, offset 0x1fc + {value: 0x0014, lo: 0xb4, hi: 0xb5}, + {value: 0x0010, lo: 0xb6, hi: 0xb6}, + {value: 0x0014, lo: 0xb7, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x47, offset 0x200 + {value: 0x0010, lo: 0x80, hi: 0x85}, + {value: 0x0014, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0014, lo: 0x89, hi: 0x91}, + {value: 0x0034, lo: 0x92, hi: 0x92}, + {value: 0x0014, lo: 0x93, hi: 0x93}, + {value: 0x0004, lo: 0x97, hi: 0x97}, + {value: 0x0024, lo: 0x9d, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + // Block 0x48, offset 0x209 + {value: 0x0014, lo: 0x8b, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x49, offset 0x20c + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0xb8}, + // Block 0x4a, offset 0x20f + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0014, lo: 0x85, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0xa8}, + {value: 0x0034, lo: 0xa9, hi: 0xa9}, + {value: 0x0010, lo: 0xaa, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x4b, offset 0x215 + {value: 0x0010, lo: 0x80, hi: 0xb5}, + // Block 0x4c, offset 0x216 + {value: 0x0010, lo: 0x80, hi: 0x9e}, + {value: 0x0014, lo: 0xa0, hi: 0xa2}, + {value: 0x0010, lo: 0xa3, hi: 0xa6}, + {value: 0x0014, lo: 0xa7, hi: 0xa8}, + {value: 0x0010, lo: 0xa9, hi: 0xab}, + {value: 0x0010, lo: 0xb0, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb2}, + {value: 0x0010, lo: 0xb3, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xb9}, + {value: 0x0024, lo: 0xba, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbb}, + // Block 0x4d, offset 0x221 + {value: 0x0010, lo: 0x86, hi: 0x8f}, + // Block 0x4e, offset 0x222 + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x4f, offset 0x223 + {value: 0x0010, lo: 0x80, hi: 0x96}, + {value: 0x0024, lo: 0x97, hi: 0x97}, + {value: 0x0034, lo: 0x98, hi: 0x98}, + {value: 0x0010, lo: 0x99, hi: 0x9a}, + {value: 0x0014, lo: 0x9b, hi: 0x9b}, + // Block 0x50, offset 0x228 + {value: 0x0010, lo: 0x95, hi: 0x95}, + {value: 0x0014, lo: 0x96, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0014, lo: 0x98, hi: 0x9e}, + {value: 0x0034, lo: 0xa0, hi: 0xa0}, + {value: 0x0010, lo: 0xa1, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa2}, + {value: 0x0010, lo: 0xa3, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xac}, + {value: 0x0010, lo: 0xad, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb4}, + {value: 0x0024, lo: 0xb5, hi: 0xbc}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x51, offset 0x235 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0004, lo: 0xa7, hi: 0xa7}, + {value: 0x0024, lo: 0xb0, hi: 0xb4}, + {value: 0x0034, lo: 0xb5, hi: 0xba}, + {value: 0x0024, lo: 0xbb, hi: 0xbc}, + {value: 0x0034, lo: 0xbd, hi: 0xbd}, + {value: 0x0014, lo: 0xbe, hi: 0xbe}, + // Block 0x52, offset 0x23d + {value: 0x0014, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x53, offset 0x245 + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0030, lo: 0x84, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x8b}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0024, lo: 0xab, hi: 0xab}, + {value: 0x0034, lo: 0xac, hi: 0xac}, + {value: 0x0024, lo: 0xad, hi: 0xb3}, + // Block 0x54, offset 0x24e + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa5}, + {value: 0x0010, lo: 0xa6, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa9}, + {value: 0x0030, lo: 0xaa, hi: 0xaa}, + {value: 0x0034, lo: 0xab, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xbf}, + // Block 0x55, offset 0x257 + {value: 0x0010, lo: 0x80, hi: 0xa5}, + {value: 0x0034, lo: 0xa6, hi: 0xa6}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa9}, + {value: 0x0010, lo: 0xaa, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xae}, + {value: 0x0014, lo: 0xaf, hi: 0xb1}, + {value: 0x0030, lo: 0xb2, hi: 0xb3}, + // Block 0x56, offset 0x260 + {value: 0x0010, lo: 0x80, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xb3}, + {value: 0x0010, lo: 0xb4, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + // Block 0x57, offset 0x265 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x8d, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbd}, + // Block 0x58, offset 0x268 + {value: 0x316a, lo: 0x80, hi: 0x80}, + {value: 0x31ea, lo: 0x81, hi: 0x81}, + {value: 0x326a, lo: 0x82, hi: 0x82}, + {value: 0x32ea, lo: 0x83, hi: 0x83}, + {value: 0x336a, lo: 0x84, hi: 0x84}, + {value: 0x33ea, lo: 0x85, hi: 0x85}, + {value: 0x346a, lo: 0x86, hi: 0x86}, + {value: 0x34ea, lo: 0x87, hi: 0x87}, + {value: 0x356a, lo: 0x88, hi: 0x88}, + {value: 0x8353, lo: 0x90, hi: 0xba}, + {value: 0x8353, lo: 0xbd, hi: 0xbf}, + // Block 0x59, offset 0x273 + {value: 0x0024, lo: 0x90, hi: 0x92}, + {value: 0x0034, lo: 0x94, hi: 0x99}, + {value: 0x0024, lo: 0x9a, hi: 0x9b}, + {value: 0x0034, lo: 0x9c, hi: 0x9f}, + {value: 0x0024, lo: 0xa0, hi: 0xa0}, + {value: 0x0010, lo: 0xa1, hi: 0xa1}, + {value: 0x0034, lo: 0xa2, hi: 0xa8}, + {value: 0x0010, lo: 0xa9, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xb3}, + {value: 0x0024, lo: 0xb4, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb7}, + {value: 0x0024, lo: 0xb8, hi: 0xb9}, + // Block 0x5a, offset 0x280 + {value: 0x0012, lo: 0x80, hi: 0xab}, + {value: 0x0015, lo: 0xac, hi: 0xbf}, + // Block 0x5b, offset 0x282 + {value: 0x0015, lo: 0x80, hi: 0xaa}, + {value: 0x0012, lo: 0xab, hi: 0xb7}, + {value: 0x0015, lo: 0xb8, hi: 0xb8}, + {value: 0x8752, lo: 0xb9, hi: 0xb9}, + {value: 0x0012, lo: 0xba, hi: 0xbc}, + {value: 0x8b52, lo: 0xbd, hi: 0xbd}, + {value: 0x0012, lo: 0xbe, hi: 0xbf}, + // Block 0x5c, offset 0x289 + {value: 0x0012, lo: 0x80, hi: 0x9a}, + {value: 0x0015, lo: 0x9b, hi: 0xbf}, + // Block 0x5d, offset 0x28b + {value: 0x0024, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0024, lo: 0x83, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0024, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x90}, + {value: 0x0024, lo: 0x91, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb9}, + {value: 0x0024, lo: 0xbb, hi: 0xbb}, + {value: 0x0034, lo: 0xbc, hi: 0xbd}, + {value: 0x0024, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x5e, offset 0x297 + {value: 0x0117, lo: 0x80, hi: 0xbf}, + // Block 0x5f, offset 0x298 + {value: 0x0117, lo: 0x80, hi: 0x95}, + {value: 0x361a, lo: 0x96, hi: 0x96}, + {value: 0x36ca, lo: 0x97, hi: 0x97}, + {value: 0x377a, lo: 0x98, hi: 0x98}, + {value: 0x382a, lo: 0x99, hi: 0x99}, + {value: 0x38da, lo: 0x9a, hi: 0x9a}, + {value: 0x398a, lo: 0x9b, hi: 0x9b}, + {value: 0x0012, lo: 0x9c, hi: 0x9d}, + {value: 0x3a3b, lo: 0x9e, hi: 0x9e}, + {value: 0x0012, lo: 0x9f, hi: 0x9f}, + {value: 0x0117, lo: 0xa0, hi: 0xbf}, + // Block 0x60, offset 0x2a3 + {value: 0x0812, lo: 0x80, hi: 0x87}, + {value: 0x0813, lo: 0x88, hi: 0x8f}, + {value: 0x0812, lo: 0x90, hi: 0x95}, + {value: 0x0813, lo: 0x98, hi: 0x9d}, + {value: 0x0812, lo: 0xa0, hi: 0xa7}, + {value: 0x0813, lo: 0xa8, hi: 0xaf}, + {value: 0x0812, lo: 0xb0, hi: 0xb7}, + {value: 0x0813, lo: 0xb8, hi: 0xbf}, + // Block 0x61, offset 0x2ab + {value: 0x0004, lo: 0x8b, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8f}, + {value: 0x0054, lo: 0x98, hi: 0x99}, + {value: 0x0054, lo: 0xa4, hi: 0xa4}, + {value: 0x0054, lo: 0xa7, hi: 0xa7}, + {value: 0x0014, lo: 0xaa, hi: 0xae}, + {value: 0x0010, lo: 0xaf, hi: 0xaf}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x62, offset 0x2b3 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x94, hi: 0x94}, + {value: 0x0014, lo: 0xa0, hi: 0xa4}, + {value: 0x0014, lo: 0xa6, hi: 0xaf}, + {value: 0x0015, lo: 0xb1, hi: 0xb1}, + {value: 0x0015, lo: 0xbf, hi: 0xbf}, + // Block 0x63, offset 0x2b9 + {value: 0x0015, lo: 0x90, hi: 0x9c}, + // Block 0x64, offset 0x2ba + {value: 0x0024, lo: 0x90, hi: 0x91}, + {value: 0x0034, lo: 0x92, hi: 0x93}, + {value: 0x0024, lo: 0x94, hi: 0x97}, + {value: 0x0034, lo: 0x98, hi: 0x9a}, + {value: 0x0024, lo: 0x9b, hi: 0x9c}, + {value: 0x0014, lo: 0x9d, hi: 0xa0}, + {value: 0x0024, lo: 0xa1, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa4}, + {value: 0x0034, lo: 0xa5, hi: 0xa6}, + {value: 0x0024, lo: 0xa7, hi: 0xa7}, + {value: 0x0034, lo: 0xa8, hi: 0xa8}, + {value: 0x0024, lo: 0xa9, hi: 0xa9}, + {value: 0x0034, lo: 0xaa, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb0}, + // Block 0x65, offset 0x2c8 + {value: 0x0016, lo: 0x85, hi: 0x86}, + {value: 0x0012, lo: 0x87, hi: 0x89}, + {value: 0xa052, lo: 0x8e, hi: 0x8e}, + {value: 0x1013, lo: 0xa0, hi: 0xaf}, + {value: 0x1012, lo: 0xb0, hi: 0xbf}, + // Block 0x66, offset 0x2cd + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0716, lo: 0x83, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x88}, + // Block 0x67, offset 0x2d0 + {value: 0xa353, lo: 0xb6, hi: 0xb7}, + {value: 0xa653, lo: 0xb8, hi: 0xb9}, + {value: 0xa953, lo: 0xba, hi: 0xbb}, + {value: 0xa653, lo: 0xbc, hi: 0xbd}, + {value: 0xa353, lo: 0xbe, hi: 0xbf}, + // Block 0x68, offset 0x2d5 + {value: 0x3013, lo: 0x80, hi: 0x8f}, + {value: 0x6553, lo: 0x90, hi: 0x9f}, + {value: 0xac53, lo: 0xa0, hi: 0xae}, + {value: 0x3012, lo: 0xb0, hi: 0xbf}, + // Block 0x69, offset 0x2d9 + {value: 0x0117, lo: 0x80, hi: 0xa3}, + {value: 0x0012, lo: 0xa4, hi: 0xa4}, + {value: 0x0716, lo: 0xab, hi: 0xac}, + {value: 0x0316, lo: 0xad, hi: 0xae}, + {value: 0x0024, lo: 0xaf, hi: 0xb1}, + {value: 0x0117, lo: 0xb2, hi: 0xb3}, + // Block 0x6a, offset 0x2df + {value: 0x6c52, lo: 0x80, hi: 0x9f}, + {value: 0x7052, lo: 0xa0, hi: 0xa5}, + {value: 0x7052, lo: 0xa7, hi: 0xa7}, + {value: 0x7052, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x6b, offset 0x2e4 + {value: 0x0010, lo: 0x80, hi: 0xa7}, + {value: 0x0014, lo: 0xaf, hi: 0xaf}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x6c, offset 0x2e7 + {value: 0x0010, lo: 0x80, hi: 0x96}, + {value: 0x0010, lo: 0xa0, hi: 0xa6}, + {value: 0x0010, lo: 0xa8, hi: 0xae}, + {value: 0x0010, lo: 0xb0, hi: 0xb6}, + {value: 0x0010, lo: 0xb8, hi: 0xbe}, + // Block 0x6d, offset 0x2ec + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x88, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x9e}, + {value: 0x0024, lo: 0xa0, hi: 0xbf}, + // Block 0x6e, offset 0x2f1 + {value: 0x0014, lo: 0xaf, hi: 0xaf}, + // Block 0x6f, offset 0x2f2 + {value: 0x0014, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0xaa, hi: 0xad}, + {value: 0x0030, lo: 0xae, hi: 0xaf}, + {value: 0x0004, lo: 0xb1, hi: 0xb5}, + {value: 0x0014, lo: 0xbb, hi: 0xbb}, + {value: 0x0010, lo: 0xbc, hi: 0xbc}, + // Block 0x70, offset 0x2f8 + {value: 0x0034, lo: 0x99, hi: 0x9a}, + {value: 0x0004, lo: 0x9b, hi: 0x9e}, + // Block 0x71, offset 0x2fa + {value: 0x0004, lo: 0xbc, hi: 0xbe}, + // Block 0x72, offset 0x2fb + {value: 0x0010, lo: 0x85, hi: 0xaf}, + {value: 0x0010, lo: 0xb1, hi: 0xbf}, + // Block 0x73, offset 0x2fd + {value: 0x0010, lo: 0x80, hi: 0x8e}, + {value: 0x0010, lo: 0xa0, hi: 0xba}, + // Block 0x74, offset 0x2ff + {value: 0x0010, lo: 0x80, hi: 0x94}, + {value: 0x0014, lo: 0x95, hi: 0x95}, + {value: 0x0010, lo: 0x96, hi: 0xbf}, + // Block 0x75, offset 0x302 + {value: 0x0010, lo: 0x80, hi: 0x8c}, + // Block 0x76, offset 0x303 + {value: 0x0010, lo: 0x90, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbd}, + // Block 0x77, offset 0x305 + {value: 0x0010, lo: 0x80, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0010, lo: 0x90, hi: 0xab}, + // Block 0x78, offset 0x308 + {value: 0x0117, lo: 0x80, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xae}, + {value: 0x0024, lo: 0xaf, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb2}, + {value: 0x0024, lo: 0xb4, hi: 0xbd}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x79, offset 0x30e + {value: 0x0117, lo: 0x80, hi: 0x9b}, + {value: 0x0015, lo: 0x9c, hi: 0x9d}, + {value: 0x0024, lo: 0x9e, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x7a, offset 0x312 + {value: 0x0010, lo: 0x80, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb1}, + // Block 0x7b, offset 0x314 + {value: 0x0004, lo: 0x80, hi: 0x96}, + {value: 0x0014, lo: 0x97, hi: 0xa1}, + {value: 0x0117, lo: 0xa2, hi: 0xaf}, + {value: 0x0012, lo: 0xb0, hi: 0xb1}, + {value: 0x0117, lo: 0xb2, hi: 0xbf}, + // Block 0x7c, offset 0x319 + {value: 0x0117, lo: 0x80, hi: 0xaf}, + {value: 0x0015, lo: 0xb0, hi: 0xb0}, + {value: 0x0012, lo: 0xb1, hi: 0xb8}, + {value: 0x0316, lo: 0xb9, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x8753, lo: 0xbd, hi: 0xbd}, + {value: 0x0117, lo: 0xbe, hi: 0xbf}, + // Block 0x7d, offset 0x320 + {value: 0x0010, lo: 0xb7, hi: 0xb7}, + {value: 0x0015, lo: 0xb8, hi: 0xb9}, + {value: 0x0012, lo: 0xba, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbf}, + // Block 0x7e, offset 0x324 + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x8a}, + {value: 0x0014, lo: 0x8b, hi: 0x8b}, + {value: 0x0010, lo: 0x8c, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xa6}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + // Block 0x7f, offset 0x32d + {value: 0x0010, lo: 0x80, hi: 0xb3}, + // Block 0x80, offset 0x32e + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x84}, + {value: 0x0014, lo: 0x85, hi: 0x85}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0024, lo: 0xa0, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xb7}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0010, lo: 0xbd, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x81, offset 0x337 + {value: 0x0010, lo: 0x80, hi: 0xa5}, + {value: 0x0014, lo: 0xa6, hi: 0xaa}, + {value: 0x0034, lo: 0xab, hi: 0xad}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x82, offset 0x33b + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0014, lo: 0x87, hi: 0x91}, + {value: 0x0010, lo: 0x92, hi: 0x92}, + {value: 0x0030, lo: 0x93, hi: 0x93}, + {value: 0x0010, lo: 0xa0, hi: 0xbc}, + // Block 0x83, offset 0x340 + {value: 0x0014, lo: 0x80, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0xb2}, + {value: 0x0034, lo: 0xb3, hi: 0xb3}, + {value: 0x0010, lo: 0xb4, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xb9}, + {value: 0x0010, lo: 0xba, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x84, offset 0x348 + {value: 0x0030, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0014, lo: 0xa5, hi: 0xa5}, + {value: 0x0004, lo: 0xa6, hi: 0xa6}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0x85, offset 0x34e + {value: 0x0010, lo: 0x80, hi: 0xa8}, + {value: 0x0014, lo: 0xa9, hi: 0xae}, + {value: 0x0010, lo: 0xaf, hi: 0xb0}, + {value: 0x0014, lo: 0xb1, hi: 0xb2}, + {value: 0x0010, lo: 0xb3, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb6}, + // Block 0x86, offset 0x354 + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0010, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0004, lo: 0xb0, hi: 0xb0}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + // Block 0x87, offset 0x35e + {value: 0x0024, lo: 0xb0, hi: 0xb0}, + {value: 0x0024, lo: 0xb2, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0024, lo: 0xb7, hi: 0xb8}, + {value: 0x0024, lo: 0xbe, hi: 0xbf}, + // Block 0x88, offset 0x363 + {value: 0x0024, lo: 0x81, hi: 0x81}, + {value: 0x0004, lo: 0x9d, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xaf}, + {value: 0x0010, lo: 0xb2, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb6}, + // Block 0x89, offset 0x36c + {value: 0x0010, lo: 0x81, hi: 0x86}, + {value: 0x0010, lo: 0x89, hi: 0x8e}, + {value: 0x0010, lo: 0x91, hi: 0x96}, + {value: 0x0010, lo: 0xa0, hi: 0xa6}, + {value: 0x0010, lo: 0xa8, hi: 0xae}, + {value: 0x0012, lo: 0xb0, hi: 0xbf}, + // Block 0x8a, offset 0x372 + {value: 0x0012, lo: 0x80, hi: 0x92}, + {value: 0xaf52, lo: 0x93, hi: 0x93}, + {value: 0x0012, lo: 0x94, hi: 0x9a}, + {value: 0x0014, lo: 0x9b, hi: 0x9b}, + {value: 0x0015, lo: 0x9c, hi: 0x9f}, + {value: 0x0012, lo: 0xa0, hi: 0xa5}, + {value: 0x74d2, lo: 0xb0, hi: 0xbf}, + // Block 0x8b, offset 0x379 + {value: 0x78d2, lo: 0x80, hi: 0x8f}, + {value: 0x7cd2, lo: 0x90, hi: 0x9f}, + {value: 0x80d2, lo: 0xa0, hi: 0xaf}, + {value: 0x7cd2, lo: 0xb0, hi: 0xbf}, + // Block 0x8c, offset 0x37d + {value: 0x0010, lo: 0x80, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xa5}, + {value: 0x0010, lo: 0xa6, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa8}, + {value: 0x0010, lo: 0xa9, hi: 0xaa}, + {value: 0x0010, lo: 0xac, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0x8d, offset 0x385 + {value: 0x0010, lo: 0x80, hi: 0xa3}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x8e, offset 0x387 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x8b, hi: 0xbb}, + // Block 0x8f, offset 0x389 + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x83, hi: 0x84}, + {value: 0x0010, lo: 0x86, hi: 0xbf}, + // Block 0x90, offset 0x38c + {value: 0x0010, lo: 0x80, hi: 0xb1}, + {value: 0x0004, lo: 0xb2, hi: 0xbf}, + // Block 0x91, offset 0x38e + {value: 0x0004, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x93, hi: 0xbf}, + // Block 0x92, offset 0x390 + {value: 0x0010, lo: 0x80, hi: 0xbd}, + // Block 0x93, offset 0x391 + {value: 0x0010, lo: 0x90, hi: 0xbf}, + // Block 0x94, offset 0x392 + {value: 0x0010, lo: 0x80, hi: 0x8f}, + {value: 0x0010, lo: 0x92, hi: 0xbf}, + // Block 0x95, offset 0x394 + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0010, lo: 0xb0, hi: 0xbb}, + // Block 0x96, offset 0x396 + {value: 0x0014, lo: 0x80, hi: 0x8f}, + {value: 0x0054, lo: 0x93, hi: 0x93}, + {value: 0x0024, lo: 0xa0, hi: 0xa6}, + {value: 0x0034, lo: 0xa7, hi: 0xad}, + {value: 0x0024, lo: 0xae, hi: 0xaf}, + {value: 0x0010, lo: 0xb3, hi: 0xb4}, + // Block 0x97, offset 0x39c + {value: 0x0010, lo: 0x8d, hi: 0x8f}, + {value: 0x0054, lo: 0x92, hi: 0x92}, + {value: 0x0054, lo: 0x95, hi: 0x95}, + {value: 0x0010, lo: 0xb0, hi: 0xb4}, + {value: 0x0010, lo: 0xb6, hi: 0xbf}, + // Block 0x98, offset 0x3a1 + {value: 0x0010, lo: 0x80, hi: 0xbc}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x99, offset 0x3a3 + {value: 0x0054, lo: 0x87, hi: 0x87}, + {value: 0x0054, lo: 0x8e, hi: 0x8e}, + {value: 0x0054, lo: 0x9a, hi: 0x9a}, + {value: 0x5f53, lo: 0xa1, hi: 0xba}, + {value: 0x0004, lo: 0xbe, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x9a, offset 0x3a9 + {value: 0x0004, lo: 0x80, hi: 0x80}, + {value: 0x5f52, lo: 0x81, hi: 0x9a}, + {value: 0x0004, lo: 0xb0, hi: 0xb0}, + // Block 0x9b, offset 0x3ac + {value: 0x0014, lo: 0x9e, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xbe}, + // Block 0x9c, offset 0x3ae + {value: 0x0010, lo: 0x82, hi: 0x87}, + {value: 0x0010, lo: 0x8a, hi: 0x8f}, + {value: 0x0010, lo: 0x92, hi: 0x97}, + {value: 0x0010, lo: 0x9a, hi: 0x9c}, + {value: 0x0004, lo: 0xa3, hi: 0xa3}, + {value: 0x0014, lo: 0xb9, hi: 0xbb}, + // Block 0x9d, offset 0x3b4 + {value: 0x0010, lo: 0x80, hi: 0x8b}, + {value: 0x0010, lo: 0x8d, hi: 0xa6}, + {value: 0x0010, lo: 0xa8, hi: 0xba}, + {value: 0x0010, lo: 0xbc, hi: 0xbd}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x9e, offset 0x3b9 + {value: 0x0010, lo: 0x80, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x9d}, + // Block 0x9f, offset 0x3bb + {value: 0x0010, lo: 0x80, hi: 0xba}, + // Block 0xa0, offset 0x3bc + {value: 0x0010, lo: 0x80, hi: 0xb4}, + // Block 0xa1, offset 0x3bd + {value: 0x0034, lo: 0xbd, hi: 0xbd}, + // Block 0xa2, offset 0x3be + {value: 0x0010, lo: 0x80, hi: 0x9c}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0xa3, offset 0x3c0 + {value: 0x0010, lo: 0x80, hi: 0x90}, + {value: 0x0034, lo: 0xa0, hi: 0xa0}, + // Block 0xa4, offset 0x3c2 + {value: 0x0010, lo: 0x80, hi: 0x9f}, + {value: 0x0010, lo: 0xad, hi: 0xbf}, + // Block 0xa5, offset 0x3c4 + {value: 0x0010, lo: 0x80, hi: 0x8a}, + {value: 0x0010, lo: 0x90, hi: 0xb5}, + {value: 0x0024, lo: 0xb6, hi: 0xba}, + // Block 0xa6, offset 0x3c7 + {value: 0x0010, lo: 0x80, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0xa7, offset 0x3c9 + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x88, hi: 0x8f}, + {value: 0x0010, lo: 0x91, hi: 0x95}, + // Block 0xa8, offset 0x3cc + {value: 0x2813, lo: 0x80, hi: 0x87}, + {value: 0x3813, lo: 0x88, hi: 0x8f}, + {value: 0x2813, lo: 0x90, hi: 0x97}, + {value: 0xb253, lo: 0x98, hi: 0x9f}, + {value: 0xb553, lo: 0xa0, hi: 0xa7}, + {value: 0x2812, lo: 0xa8, hi: 0xaf}, + {value: 0x3812, lo: 0xb0, hi: 0xb7}, + {value: 0x2812, lo: 0xb8, hi: 0xbf}, + // Block 0xa9, offset 0x3d4 + {value: 0xb252, lo: 0x80, hi: 0x87}, + {value: 0xb552, lo: 0x88, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0xbf}, + // Block 0xaa, offset 0x3d7 + {value: 0x0010, lo: 0x80, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0xb553, lo: 0xb0, hi: 0xb7}, + {value: 0xb253, lo: 0xb8, hi: 0xbf}, + // Block 0xab, offset 0x3db + {value: 0x2813, lo: 0x80, hi: 0x87}, + {value: 0x3813, lo: 0x88, hi: 0x8f}, + {value: 0x2813, lo: 0x90, hi: 0x93}, + {value: 0xb552, lo: 0x98, hi: 0x9f}, + {value: 0xb252, lo: 0xa0, hi: 0xa7}, + {value: 0x2812, lo: 0xa8, hi: 0xaf}, + {value: 0x3812, lo: 0xb0, hi: 0xb7}, + {value: 0x2812, lo: 0xb8, hi: 0xbb}, + // Block 0xac, offset 0x3e3 + {value: 0x0010, lo: 0x80, hi: 0xa7}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xad, offset 0x3e5 + {value: 0x0010, lo: 0x80, hi: 0xa3}, + // Block 0xae, offset 0x3e6 + {value: 0x0010, lo: 0x80, hi: 0xb6}, + // Block 0xaf, offset 0x3e7 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xa7}, + // Block 0xb0, offset 0x3e9 + {value: 0x0010, lo: 0x80, hi: 0x85}, + {value: 0x0010, lo: 0x88, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0xb5}, + {value: 0x0010, lo: 0xb7, hi: 0xb8}, + {value: 0x0010, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xb1, offset 0x3ef + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xb6}, + // Block 0xb2, offset 0x3f1 + {value: 0x0010, lo: 0x80, hi: 0x9e}, + // Block 0xb3, offset 0x3f2 + {value: 0x0010, lo: 0xa0, hi: 0xb2}, + {value: 0x0010, lo: 0xb4, hi: 0xb5}, + // Block 0xb4, offset 0x3f4 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xb9}, + // Block 0xb5, offset 0x3f6 + {value: 0x0010, lo: 0x80, hi: 0xb7}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0xb6, offset 0x3f8 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x83}, + {value: 0x0014, lo: 0x85, hi: 0x86}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0014, lo: 0x8e, hi: 0x8e}, + {value: 0x0024, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x93}, + {value: 0x0010, lo: 0x95, hi: 0x97}, + {value: 0x0010, lo: 0x99, hi: 0xb5}, + {value: 0x0024, lo: 0xb8, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xb7, offset 0x405 + {value: 0x0010, lo: 0xa0, hi: 0xbc}, + // Block 0xb8, offset 0x406 + {value: 0x0010, lo: 0x80, hi: 0x9c}, + // Block 0xb9, offset 0x407 + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0010, lo: 0x89, hi: 0xa4}, + {value: 0x0024, lo: 0xa5, hi: 0xa5}, + {value: 0x0034, lo: 0xa6, hi: 0xa6}, + // Block 0xba, offset 0x40b + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xb2}, + // Block 0xbb, offset 0x40d + {value: 0x0010, lo: 0x80, hi: 0x91}, + // Block 0xbc, offset 0x40e + {value: 0x0010, lo: 0x80, hi: 0x88}, + // Block 0xbd, offset 0x40f + {value: 0x5653, lo: 0x80, hi: 0xb2}, + // Block 0xbe, offset 0x410 + {value: 0x5652, lo: 0x80, hi: 0xb2}, + // Block 0xbf, offset 0x411 + {value: 0x0010, lo: 0x80, hi: 0xa3}, + {value: 0x0024, lo: 0xa4, hi: 0xa7}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xc0, offset 0x414 + {value: 0x0010, lo: 0x80, hi: 0x9c}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xc1, offset 0x417 + {value: 0x0010, lo: 0x80, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x87}, + {value: 0x0024, lo: 0x88, hi: 0x8a}, + {value: 0x0034, lo: 0x8b, hi: 0x8b}, + {value: 0x0024, lo: 0x8c, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x90}, + // Block 0xc2, offset 0x41d + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbf}, + // Block 0xc3, offset 0x421 + {value: 0x0014, lo: 0x80, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xc4, offset 0x425 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb6}, + {value: 0x0010, lo: 0xb7, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0014, lo: 0xbd, hi: 0xbd}, + // Block 0xc5, offset 0x42b + {value: 0x0014, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0xa8}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xc6, offset 0x42e + {value: 0x0024, lo: 0x80, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0xa6}, + {value: 0x0014, lo: 0xa7, hi: 0xab}, + {value: 0x0010, lo: 0xac, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xb2}, + {value: 0x0034, lo: 0xb3, hi: 0xb4}, + {value: 0x0010, lo: 0xb6, hi: 0xbf}, + // Block 0xc7, offset 0x435 + {value: 0x0010, lo: 0x84, hi: 0x86}, + {value: 0x0010, lo: 0x90, hi: 0xb2}, + {value: 0x0034, lo: 0xb3, hi: 0xb3}, + {value: 0x0010, lo: 0xb6, hi: 0xb6}, + // Block 0xc8, offset 0x439 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xc9, offset 0x43d + {value: 0x0030, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x84}, + {value: 0x0014, lo: 0x89, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0014, lo: 0x8b, hi: 0x8c}, + {value: 0x0010, lo: 0x90, hi: 0x9a}, + {value: 0x0010, lo: 0x9c, hi: 0x9c}, + // Block 0xca, offset 0x444 + {value: 0x0010, lo: 0x80, hi: 0x91}, + {value: 0x0010, lo: 0x93, hi: 0xae}, + {value: 0x0014, lo: 0xaf, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0014, lo: 0xb4, hi: 0xb4}, + {value: 0x0030, lo: 0xb5, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb6}, + {value: 0x0014, lo: 0xb7, hi: 0xb7}, + {value: 0x0014, lo: 0xbe, hi: 0xbe}, + // Block 0xcb, offset 0x44d + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x88, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8d}, + {value: 0x0010, lo: 0x8f, hi: 0x9d}, + {value: 0x0010, lo: 0x9f, hi: 0xa8}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xcc, offset 0x453 + {value: 0x0010, lo: 0x80, hi: 0x9e}, + {value: 0x0014, lo: 0x9f, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa2}, + {value: 0x0014, lo: 0xa3, hi: 0xa8}, + {value: 0x0034, lo: 0xa9, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xcd, offset 0x459 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbb, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0xce, offset 0x463 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0030, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x9d, hi: 0xa3}, + {value: 0x0024, lo: 0xa6, hi: 0xac}, + {value: 0x0024, lo: 0xb0, hi: 0xb4}, + // Block 0xcf, offset 0x46d + {value: 0x0010, lo: 0x80, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbf}, + // Block 0xd0, offset 0x46f + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x8a}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0024, lo: 0x9e, hi: 0x9e}, + // Block 0xd1, offset 0x477 + {value: 0x0010, lo: 0x80, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb8}, + {value: 0x0010, lo: 0xb9, hi: 0xb9}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0xd2, offset 0x47d + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0x85}, + {value: 0x0010, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0xd3, offset 0x483 + {value: 0x0010, lo: 0x80, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb5}, + {value: 0x0010, lo: 0xb8, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xd4, offset 0x489 + {value: 0x0034, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x98, hi: 0x9b}, + {value: 0x0014, lo: 0x9c, hi: 0x9d}, + // Block 0xd5, offset 0x48c + {value: 0x0010, lo: 0x80, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbc}, + {value: 0x0014, lo: 0xbd, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xd6, offset 0x492 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x84, hi: 0x84}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0xd7, offset 0x495 + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0014, lo: 0xab, hi: 0xab}, + {value: 0x0010, lo: 0xac, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb5}, + {value: 0x0030, lo: 0xb6, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + // Block 0xd8, offset 0x49d + {value: 0x0010, lo: 0x80, hi: 0x89}, + // Block 0xd9, offset 0x49e + {value: 0x0014, lo: 0x9d, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa5}, + {value: 0x0010, lo: 0xa6, hi: 0xa6}, + {value: 0x0014, lo: 0xa7, hi: 0xaa}, + {value: 0x0034, lo: 0xab, hi: 0xab}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xda, offset 0x4a5 + {value: 0x0010, lo: 0x80, hi: 0xae}, + {value: 0x0014, lo: 0xaf, hi: 0xb7}, + {value: 0x0010, lo: 0xb8, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + // Block 0xdb, offset 0x4a9 + {value: 0x5f53, lo: 0xa0, hi: 0xbf}, + // Block 0xdc, offset 0x4aa + {value: 0x5f52, lo: 0x80, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xdd, offset 0x4ad + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x8a}, + {value: 0x0010, lo: 0x8b, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb8}, + {value: 0x0010, lo: 0xb9, hi: 0xba}, + {value: 0x0014, lo: 0xbb, hi: 0xbe}, + // Block 0xde, offset 0x4b5 + {value: 0x0034, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0014, lo: 0x91, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x98}, + {value: 0x0014, lo: 0x99, hi: 0x9b}, + {value: 0x0010, lo: 0x9c, hi: 0xbf}, + // Block 0xdf, offset 0x4bb + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x86, hi: 0x89}, + {value: 0x0014, lo: 0x8a, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0014, lo: 0x98, hi: 0x98}, + {value: 0x0034, lo: 0x99, hi: 0x99}, + {value: 0x0010, lo: 0x9d, hi: 0x9d}, + // Block 0xe0, offset 0x4c2 + {value: 0x0010, lo: 0x80, hi: 0xb8}, + // Block 0xe1, offset 0x4c3 + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb6}, + {value: 0x0014, lo: 0xb8, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xe2, offset 0x4c9 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xb2, hi: 0xbf}, + // Block 0xe3, offset 0x4cc + {value: 0x0010, lo: 0x80, hi: 0x8f}, + {value: 0x0014, lo: 0x92, hi: 0xa7}, + {value: 0x0010, lo: 0xa9, hi: 0xa9}, + {value: 0x0014, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb4, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb6}, + // Block 0xe4, offset 0x4d4 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x88, hi: 0x89}, + {value: 0x0010, lo: 0x8b, hi: 0xb0}, + {value: 0x0014, lo: 0xb1, hi: 0xb6}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0014, lo: 0xbc, hi: 0xbd}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0xe5, offset 0x4db + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x85}, + {value: 0x0010, lo: 0x86, hi: 0x86}, + {value: 0x0014, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xa0, hi: 0xa5}, + {value: 0x0010, lo: 0xa7, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xbf}, + // Block 0xe6, offset 0x4e5 + {value: 0x0010, lo: 0x80, hi: 0x8e}, + {value: 0x0014, lo: 0x90, hi: 0x91}, + {value: 0x0010, lo: 0x93, hi: 0x94}, + {value: 0x0014, lo: 0x95, hi: 0x95}, + {value: 0x0010, lo: 0x96, hi: 0x96}, + {value: 0x0034, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x98, hi: 0x98}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + // Block 0xe7, offset 0x4ed + {value: 0x0010, lo: 0xa0, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb6}, + // Block 0xe8, offset 0x4f0 + {value: 0x0010, lo: 0x80, hi: 0x99}, + // Block 0xe9, offset 0x4f1 + {value: 0x0010, lo: 0x80, hi: 0xae}, + // Block 0xea, offset 0x4f2 + {value: 0x0010, lo: 0x80, hi: 0x83}, + // Block 0xeb, offset 0x4f3 + {value: 0x0010, lo: 0x80, hi: 0x86}, + // Block 0xec, offset 0x4f4 + {value: 0x0010, lo: 0x80, hi: 0x9e}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + // Block 0xed, offset 0x4f6 + {value: 0x0010, lo: 0x90, hi: 0xad}, + {value: 0x0034, lo: 0xb0, hi: 0xb4}, + // Block 0xee, offset 0x4f8 + {value: 0x0010, lo: 0x80, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb6}, + // Block 0xef, offset 0x4fa + {value: 0x0014, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xa3, hi: 0xb7}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0xf0, offset 0x4fe + {value: 0x0010, lo: 0x80, hi: 0x8f}, + // Block 0xf1, offset 0x4ff + {value: 0x2013, lo: 0x80, hi: 0x9f}, + {value: 0x2012, lo: 0xa0, hi: 0xbf}, + // Block 0xf2, offset 0x501 + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0010, lo: 0x90, hi: 0xbe}, + // Block 0xf3, offset 0x503 + {value: 0x0014, lo: 0x8f, hi: 0x9f}, + // Block 0xf4, offset 0x504 + {value: 0x0014, lo: 0xa0, hi: 0xa1}, + // Block 0xf5, offset 0x505 + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xbc}, + // Block 0xf6, offset 0x507 + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0014, lo: 0x9d, hi: 0x9d}, + {value: 0x0034, lo: 0x9e, hi: 0x9e}, + {value: 0x0014, lo: 0xa0, hi: 0xa3}, + // Block 0xf7, offset 0x50c + {value: 0x0030, lo: 0xa5, hi: 0xa6}, + {value: 0x0034, lo: 0xa7, hi: 0xa9}, + {value: 0x0030, lo: 0xad, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbf}, + // Block 0xf8, offset 0x511 + {value: 0x0034, lo: 0x80, hi: 0x82}, + {value: 0x0024, lo: 0x85, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8b}, + {value: 0x0024, lo: 0xaa, hi: 0xad}, + // Block 0xf9, offset 0x515 + {value: 0x0024, lo: 0x82, hi: 0x84}, + // Block 0xfa, offset 0x516 + {value: 0x0013, lo: 0x80, hi: 0x99}, + {value: 0x0012, lo: 0x9a, hi: 0xb3}, + {value: 0x0013, lo: 0xb4, hi: 0xbf}, + // Block 0xfb, offset 0x519 + {value: 0x0013, lo: 0x80, hi: 0x8d}, + {value: 0x0012, lo: 0x8e, hi: 0x94}, + {value: 0x0012, lo: 0x96, hi: 0xa7}, + {value: 0x0013, lo: 0xa8, hi: 0xbf}, + // Block 0xfc, offset 0x51d + {value: 0x0013, lo: 0x80, hi: 0x81}, + {value: 0x0012, lo: 0x82, hi: 0x9b}, + {value: 0x0013, lo: 0x9c, hi: 0x9c}, + {value: 0x0013, lo: 0x9e, hi: 0x9f}, + {value: 0x0013, lo: 0xa2, hi: 0xa2}, + {value: 0x0013, lo: 0xa5, hi: 0xa6}, + {value: 0x0013, lo: 0xa9, hi: 0xac}, + {value: 0x0013, lo: 0xae, hi: 0xb5}, + {value: 0x0012, lo: 0xb6, hi: 0xb9}, + {value: 0x0012, lo: 0xbb, hi: 0xbb}, + {value: 0x0012, lo: 0xbd, hi: 0xbf}, + // Block 0xfd, offset 0x528 + {value: 0x0012, lo: 0x80, hi: 0x83}, + {value: 0x0012, lo: 0x85, hi: 0x8f}, + {value: 0x0013, lo: 0x90, hi: 0xa9}, + {value: 0x0012, lo: 0xaa, hi: 0xbf}, + // Block 0xfe, offset 0x52c + {value: 0x0012, lo: 0x80, hi: 0x83}, + {value: 0x0013, lo: 0x84, hi: 0x85}, + {value: 0x0013, lo: 0x87, hi: 0x8a}, + {value: 0x0013, lo: 0x8d, hi: 0x94}, + {value: 0x0013, lo: 0x96, hi: 0x9c}, + {value: 0x0012, lo: 0x9e, hi: 0xb7}, + {value: 0x0013, lo: 0xb8, hi: 0xb9}, + {value: 0x0013, lo: 0xbb, hi: 0xbe}, + // Block 0xff, offset 0x534 + {value: 0x0013, lo: 0x80, hi: 0x84}, + {value: 0x0013, lo: 0x86, hi: 0x86}, + {value: 0x0013, lo: 0x8a, hi: 0x90}, + {value: 0x0012, lo: 0x92, hi: 0xab}, + {value: 0x0013, lo: 0xac, hi: 0xbf}, + // Block 0x100, offset 0x539 + {value: 0x0013, lo: 0x80, hi: 0x85}, + {value: 0x0012, lo: 0x86, hi: 0x9f}, + {value: 0x0013, lo: 0xa0, hi: 0xb9}, + {value: 0x0012, lo: 0xba, hi: 0xbf}, + // Block 0x101, offset 0x53d + {value: 0x0012, lo: 0x80, hi: 0x93}, + {value: 0x0013, lo: 0x94, hi: 0xad}, + {value: 0x0012, lo: 0xae, hi: 0xbf}, + // Block 0x102, offset 0x540 + {value: 0x0012, lo: 0x80, hi: 0x87}, + {value: 0x0013, lo: 0x88, hi: 0xa1}, + {value: 0x0012, lo: 0xa2, hi: 0xbb}, + {value: 0x0013, lo: 0xbc, hi: 0xbf}, + // Block 0x103, offset 0x544 + {value: 0x0013, lo: 0x80, hi: 0x95}, + {value: 0x0012, lo: 0x96, hi: 0xaf}, + {value: 0x0013, lo: 0xb0, hi: 0xbf}, + // Block 0x104, offset 0x547 + {value: 0x0013, lo: 0x80, hi: 0x89}, + {value: 0x0012, lo: 0x8a, hi: 0xa5}, + {value: 0x0013, lo: 0xa8, hi: 0xbf}, + // Block 0x105, offset 0x54a + {value: 0x0013, lo: 0x80, hi: 0x80}, + {value: 0x0012, lo: 0x82, hi: 0x9a}, + {value: 0x0012, lo: 0x9c, hi: 0xa1}, + {value: 0x0013, lo: 0xa2, hi: 0xba}, + {value: 0x0012, lo: 0xbc, hi: 0xbf}, + // Block 0x106, offset 0x54f + {value: 0x0012, lo: 0x80, hi: 0x94}, + {value: 0x0012, lo: 0x96, hi: 0x9b}, + {value: 0x0013, lo: 0x9c, hi: 0xb4}, + {value: 0x0012, lo: 0xb6, hi: 0xbf}, + // Block 0x107, offset 0x553 + {value: 0x0012, lo: 0x80, hi: 0x8e}, + {value: 0x0012, lo: 0x90, hi: 0x95}, + {value: 0x0013, lo: 0x96, hi: 0xae}, + {value: 0x0012, lo: 0xb0, hi: 0xbf}, + // Block 0x108, offset 0x557 + {value: 0x0012, lo: 0x80, hi: 0x88}, + {value: 0x0012, lo: 0x8a, hi: 0x8f}, + {value: 0x0013, lo: 0x90, hi: 0xa8}, + {value: 0x0012, lo: 0xaa, hi: 0xbf}, + // Block 0x109, offset 0x55b + {value: 0x0012, lo: 0x80, hi: 0x82}, + {value: 0x0012, lo: 0x84, hi: 0x89}, + {value: 0x0017, lo: 0x8a, hi: 0x8b}, + {value: 0x0010, lo: 0x8e, hi: 0xbf}, + // Block 0x10a, offset 0x55f + {value: 0x0014, lo: 0x80, hi: 0xb6}, + {value: 0x0014, lo: 0xbb, hi: 0xbf}, + // Block 0x10b, offset 0x561 + {value: 0x0014, lo: 0x80, hi: 0xac}, + {value: 0x0014, lo: 0xb5, hi: 0xb5}, + // Block 0x10c, offset 0x563 + {value: 0x0014, lo: 0x84, hi: 0x84}, + {value: 0x0014, lo: 0x9b, hi: 0x9f}, + {value: 0x0014, lo: 0xa1, hi: 0xaf}, + // Block 0x10d, offset 0x566 + {value: 0x0024, lo: 0x80, hi: 0x86}, + {value: 0x0024, lo: 0x88, hi: 0x98}, + {value: 0x0024, lo: 0x9b, hi: 0xa1}, + {value: 0x0024, lo: 0xa3, hi: 0xa4}, + {value: 0x0024, lo: 0xa6, hi: 0xaa}, + // Block 0x10e, offset 0x56b + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0034, lo: 0x90, hi: 0x96}, + // Block 0x10f, offset 0x56d + {value: 0xb852, lo: 0x80, hi: 0x81}, + {value: 0xbb52, lo: 0x82, hi: 0x83}, + {value: 0x0024, lo: 0x84, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x110, offset 0x572 + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x9f}, + {value: 0x0010, lo: 0xa1, hi: 0xa2}, + {value: 0x0010, lo: 0xa4, hi: 0xa4}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + {value: 0x0010, lo: 0xa9, hi: 0xb2}, + {value: 0x0010, lo: 0xb4, hi: 0xb7}, + {value: 0x0010, lo: 0xb9, hi: 0xb9}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + // Block 0x111, offset 0x57b + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x8b, hi: 0x9b}, + {value: 0x0010, lo: 0xa1, hi: 0xa3}, + {value: 0x0010, lo: 0xa5, hi: 0xa9}, + {value: 0x0010, lo: 0xab, hi: 0xbb}, + // Block 0x112, offset 0x580 + {value: 0x0013, lo: 0xb0, hi: 0xbf}, + // Block 0x113, offset 0x581 + {value: 0x0013, lo: 0x80, hi: 0x89}, + {value: 0x0013, lo: 0x90, hi: 0xa9}, + {value: 0x0013, lo: 0xb0, hi: 0xbf}, + // Block 0x114, offset 0x584 + {value: 0x0013, lo: 0x80, hi: 0x89}, + // Block 0x115, offset 0x585 + {value: 0x0014, lo: 0xbb, hi: 0xbf}, + // Block 0x116, offset 0x586 + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0014, lo: 0xa0, hi: 0xbf}, + // Block 0x117, offset 0x588 + {value: 0x0014, lo: 0x80, hi: 0xbf}, + // Block 0x118, offset 0x589 + {value: 0x0014, lo: 0x80, hi: 0xaf}, +} + +// Total table size 14906 bytes (14KiB); checksum: 362795C7 diff --git a/vendor/golang.org/x/text/cases/tables12.0.0.go b/vendor/golang.org/x/text/cases/tables12.0.0.go new file mode 100644 index 000000000..84d841b14 --- /dev/null +++ b/vendor/golang.org/x/text/cases/tables12.0.0.go @@ -0,0 +1,2359 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build go1.14 && !go1.16 + +package cases + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "12.0.0" + +var xorData string = "" + // Size: 192 bytes + "\x00\x06\x07\x00\x01?\x00\x0f\x03\x00\x0f\x12\x00\x0f\x1f\x00\x0f\x1d" + + "\x00\x01\x13\x00\x0f\x16\x00\x0f\x0b\x00\x0f3\x00\x0f7\x00\x01#\x00\x0f?" + + "\x00\x0e'\x00\x0f/\x00\x0e>\x00\x0f*\x00\x0c&\x00\x0c*\x00\x0c;\x00\x0c9" + + "\x00\x0c%\x00\x01\x08\x00\x03\x0d\x00\x03\x09\x00\x02\x06\x00\x02\x02" + + "\x00\x02\x0c\x00\x01\x00\x00\x01\x03\x00\x01\x01\x00\x01 \x00\x01\x0c" + + "\x00\x01\x10\x00\x03\x10\x00\x036 \x00\x037 \x00\x0b#\x10\x00\x0b 0\x00" + + "\x0b!\x10\x00\x0b!0\x001\x00\x00\x0b(\x04\x00\x03\x04\x1e\x00\x0b)\x08" + + "\x00\x03\x0a\x00\x02:\x00\x02>\x00\x02,\x00\x02\x00\x00\x02\x10\x00\x01<" + + "\x00\x01&\x00\x01*\x00\x01.\x00\x010\x003 \x00\x01\x18\x00\x01(\x00\x01" + + "\x1e\x00\x01\x22" + +var exceptions string = "" + // Size: 2450 bytes + "\x00\x12\x12μΜΜ\x12\x12ssSSSs\x13\x18i̇i̇\x10\x09II\x13\x1bʼnʼNʼN\x11" + + "\x09sSS\x12\x12dždžDž\x12\x12dždžDŽ\x10\x12DŽDž\x12\x12ljljLj\x12\x12ljljLJ\x10\x12LJLj" + + "\x12\x12njnjNj\x12\x12njnjNJ\x10\x12NJNj\x13\x1bǰJ̌J̌\x12\x12dzdzDz\x12\x12dzdzDZ\x10" + + "\x12DZDz\x13\x18ⱥⱥ\x13\x18ⱦⱦ\x10\x1bⱾⱾ\x10\x1bⱿⱿ\x10\x1bⱯⱯ\x10\x1bⱭⱭ\x10" + + "\x1bⱰⱰ\x10\x1bꞫꞫ\x10\x1bꞬꞬ\x10\x1bꞍꞍ\x10\x1bꞪꞪ\x10\x1bꞮꞮ\x10\x1bⱢⱢ\x10" + + "\x1bꞭꞭ\x10\x1bⱮⱮ\x10\x1bⱤⱤ\x10\x1bꟅꟅ\x10\x1bꞱꞱ\x10\x1bꞲꞲ\x10\x1bꞰꞰ2\x12ι" + + "ΙΙ\x166ΐΪ́Ϊ́\x166ΰΫ́Ϋ́\x12\x12σΣΣ\x12\x12βΒΒ\x12\x12θΘΘ\x12\x12" + + "φΦΦ\x12\x12πΠΠ\x12\x12κΚΚ\x12\x12ρΡΡ\x12\x12εΕΕ\x14$եւԵՒԵւ\x10\x1bᲐა" + + "\x10\x1bᲑბ\x10\x1bᲒგ\x10\x1bᲓდ\x10\x1bᲔე\x10\x1bᲕვ\x10\x1bᲖზ\x10\x1bᲗთ" + + "\x10\x1bᲘი\x10\x1bᲙკ\x10\x1bᲚლ\x10\x1bᲛმ\x10\x1bᲜნ\x10\x1bᲝო\x10\x1bᲞპ" + + "\x10\x1bᲟჟ\x10\x1bᲠრ\x10\x1bᲡს\x10\x1bᲢტ\x10\x1bᲣუ\x10\x1bᲤფ\x10\x1bᲥქ" + + "\x10\x1bᲦღ\x10\x1bᲧყ\x10\x1bᲨშ\x10\x1bᲩჩ\x10\x1bᲪც\x10\x1bᲫძ\x10\x1bᲬწ" + + "\x10\x1bᲭჭ\x10\x1bᲮხ\x10\x1bᲯჯ\x10\x1bᲰჰ\x10\x1bᲱჱ\x10\x1bᲲჲ\x10\x1bᲳჳ" + + "\x10\x1bᲴჴ\x10\x1bᲵჵ\x10\x1bᲶჶ\x10\x1bᲷჷ\x10\x1bᲸჸ\x10\x1bᲹჹ\x10\x1bᲺჺ" + + "\x10\x1bᲽჽ\x10\x1bᲾჾ\x10\x1bᲿჿ\x12\x12вВВ\x12\x12дДД\x12\x12оОО\x12\x12с" + + "СС\x12\x12тТТ\x12\x12тТТ\x12\x12ъЪЪ\x12\x12ѣѢѢ\x13\x1bꙋꙊꙊ\x13\x1bẖH̱H̱" + + "\x13\x1bẗT̈T̈\x13\x1bẘW̊W̊\x13\x1bẙY̊Y̊\x13\x1baʾAʾAʾ\x13\x1bṡṠṠ\x12" + + "\x10ssß\x14$ὐΥ̓Υ̓\x166ὒΥ̓̀Υ̓̀\x166ὔΥ̓́Υ̓́\x166ὖΥ̓͂Υ̓͂\x15+ἀιἈΙᾈ" + + "\x15+ἁιἉΙᾉ\x15+ἂιἊΙᾊ\x15+ἃιἋΙᾋ\x15+ἄιἌΙᾌ\x15+ἅιἍΙᾍ\x15+ἆιἎΙᾎ\x15+ἇιἏΙᾏ" + + "\x15\x1dἀιᾀἈΙ\x15\x1dἁιᾁἉΙ\x15\x1dἂιᾂἊΙ\x15\x1dἃιᾃἋΙ\x15\x1dἄιᾄἌΙ\x15" + + "\x1dἅιᾅἍΙ\x15\x1dἆιᾆἎΙ\x15\x1dἇιᾇἏΙ\x15+ἠιἨΙᾘ\x15+ἡιἩΙᾙ\x15+ἢιἪΙᾚ\x15+ἣι" + + "ἫΙᾛ\x15+ἤιἬΙᾜ\x15+ἥιἭΙᾝ\x15+ἦιἮΙᾞ\x15+ἧιἯΙᾟ\x15\x1dἠιᾐἨΙ\x15\x1dἡιᾑἩΙ" + + "\x15\x1dἢιᾒἪΙ\x15\x1dἣιᾓἫΙ\x15\x1dἤιᾔἬΙ\x15\x1dἥιᾕἭΙ\x15\x1dἦιᾖἮΙ\x15" + + "\x1dἧιᾗἯΙ\x15+ὠιὨΙᾨ\x15+ὡιὩΙᾩ\x15+ὢιὪΙᾪ\x15+ὣιὫΙᾫ\x15+ὤιὬΙᾬ\x15+ὥιὭΙᾭ" + + "\x15+ὦιὮΙᾮ\x15+ὧιὯΙᾯ\x15\x1dὠιᾠὨΙ\x15\x1dὡιᾡὩΙ\x15\x1dὢιᾢὪΙ\x15\x1dὣιᾣὫΙ" + + "\x15\x1dὤιᾤὬΙ\x15\x1dὥιᾥὭΙ\x15\x1dὦιᾦὮΙ\x15\x1dὧιᾧὯΙ\x15-ὰιᾺΙᾺͅ\x14#αιΑΙ" + + "ᾼ\x14$άιΆΙΆͅ\x14$ᾶΑ͂Α͂\x166ᾶιΑ͂Ιᾼ͂\x14\x1cαιᾳΑΙ\x12\x12ιΙΙ\x15-ὴιῊΙ" + + "Ὴͅ\x14#ηιΗΙῌ\x14$ήιΉΙΉͅ\x14$ῆΗ͂Η͂\x166ῆιΗ͂Ιῌ͂\x14\x1cηιῃΗΙ\x166ῒΙ" + + "̈̀Ϊ̀\x166ΐΪ́Ϊ́\x14$ῖΙ͂Ι͂\x166ῗΪ͂Ϊ͂\x166ῢΫ̀Ϋ̀\x166ΰΫ́Ϋ" + + "́\x14$ῤΡ̓Ρ̓\x14$ῦΥ͂Υ͂\x166ῧΫ͂Ϋ͂\x15-ὼιῺΙῺͅ\x14#ωιΩΙῼ\x14$ώιΏΙΏͅ" + + "\x14$ῶΩ͂Ω͂\x166ῶιΩ͂Ιῼ͂\x14\x1cωιῳΩΙ\x12\x10ωω\x11\x08kk\x12\x10åå\x12" + + "\x10ɫɫ\x12\x10ɽɽ\x10\x12ȺȺ\x10\x12ȾȾ\x12\x10ɑɑ\x12\x10ɱɱ\x12\x10ɐɐ\x12" + + "\x10ɒɒ\x12\x10ȿȿ\x12\x10ɀɀ\x12\x10ɥɥ\x12\x10ɦɦ\x12\x10ɜɜ\x12\x10ɡɡ\x12" + + "\x10ɬɬ\x12\x10ɪɪ\x12\x10ʞʞ\x12\x10ʇʇ\x12\x10ʝʝ\x12\x10ʂʂ\x12\x12ffFFFf" + + "\x12\x12fiFIFi\x12\x12flFLFl\x13\x1bffiFFIFfi\x13\x1bfflFFLFfl\x12\x12st" + + "STSt\x12\x12stSTSt\x14$մնՄՆՄն\x14$մեՄԵՄե\x14$միՄԻՄի\x14$վնՎՆՎն\x14$մխՄԽՄ" + + "խ" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *caseTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return caseValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = caseIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *caseTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return caseValues[c0] + } + i := caseIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = caseIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = caseIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *caseTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return caseValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = caseIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *caseTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return caseValues[c0] + } + i := caseIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = caseIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = caseIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// caseTrie. Total size: 12396 bytes (12.11 KiB). Checksum: c0656238384c3da1. +type caseTrie struct{} + +func newCaseTrie(i int) *caseTrie { + return &caseTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *caseTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 20: + return uint16(caseValues[n<<6+uint32(b)]) + default: + n -= 20 + return uint16(sparse.lookup(n, b)) + } +} + +// caseValues: 22 blocks, 1408 entries, 2816 bytes +// The third block is the zero block. +var caseValues = [1408]uint16{ + // Block 0x0, offset 0x0 + 0x27: 0x0054, + 0x2e: 0x0054, + 0x30: 0x0010, 0x31: 0x0010, 0x32: 0x0010, 0x33: 0x0010, 0x34: 0x0010, 0x35: 0x0010, + 0x36: 0x0010, 0x37: 0x0010, 0x38: 0x0010, 0x39: 0x0010, 0x3a: 0x0054, + // Block 0x1, offset 0x40 + 0x41: 0x2013, 0x42: 0x2013, 0x43: 0x2013, 0x44: 0x2013, 0x45: 0x2013, + 0x46: 0x2013, 0x47: 0x2013, 0x48: 0x2013, 0x49: 0x2013, 0x4a: 0x2013, 0x4b: 0x2013, + 0x4c: 0x2013, 0x4d: 0x2013, 0x4e: 0x2013, 0x4f: 0x2013, 0x50: 0x2013, 0x51: 0x2013, + 0x52: 0x2013, 0x53: 0x2013, 0x54: 0x2013, 0x55: 0x2013, 0x56: 0x2013, 0x57: 0x2013, + 0x58: 0x2013, 0x59: 0x2013, 0x5a: 0x2013, + 0x5e: 0x0004, 0x5f: 0x0010, 0x60: 0x0004, 0x61: 0x2012, 0x62: 0x2012, 0x63: 0x2012, + 0x64: 0x2012, 0x65: 0x2012, 0x66: 0x2012, 0x67: 0x2012, 0x68: 0x2012, 0x69: 0x2012, + 0x6a: 0x2012, 0x6b: 0x2012, 0x6c: 0x2012, 0x6d: 0x2012, 0x6e: 0x2012, 0x6f: 0x2012, + 0x70: 0x2012, 0x71: 0x2012, 0x72: 0x2012, 0x73: 0x2012, 0x74: 0x2012, 0x75: 0x2012, + 0x76: 0x2012, 0x77: 0x2012, 0x78: 0x2012, 0x79: 0x2012, 0x7a: 0x2012, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x0852, 0xc1: 0x0b53, 0xc2: 0x0113, 0xc3: 0x0112, 0xc4: 0x0113, 0xc5: 0x0112, + 0xc6: 0x0b53, 0xc7: 0x0f13, 0xc8: 0x0f12, 0xc9: 0x0e53, 0xca: 0x1153, 0xcb: 0x0713, + 0xcc: 0x0712, 0xcd: 0x0012, 0xce: 0x1453, 0xcf: 0x1753, 0xd0: 0x1a53, 0xd1: 0x0313, + 0xd2: 0x0312, 0xd3: 0x1d53, 0xd4: 0x2053, 0xd5: 0x2352, 0xd6: 0x2653, 0xd7: 0x2653, + 0xd8: 0x0113, 0xd9: 0x0112, 0xda: 0x2952, 0xdb: 0x0012, 0xdc: 0x1d53, 0xdd: 0x2c53, + 0xde: 0x2f52, 0xdf: 0x3253, 0xe0: 0x0113, 0xe1: 0x0112, 0xe2: 0x0113, 0xe3: 0x0112, + 0xe4: 0x0113, 0xe5: 0x0112, 0xe6: 0x3553, 0xe7: 0x0f13, 0xe8: 0x0f12, 0xe9: 0x3853, + 0xea: 0x0012, 0xeb: 0x0012, 0xec: 0x0113, 0xed: 0x0112, 0xee: 0x3553, 0xef: 0x1f13, + 0xf0: 0x1f12, 0xf1: 0x3b53, 0xf2: 0x3e53, 0xf3: 0x0713, 0xf4: 0x0712, 0xf5: 0x0313, + 0xf6: 0x0312, 0xf7: 0x4153, 0xf8: 0x0113, 0xf9: 0x0112, 0xfa: 0x0012, 0xfb: 0x0010, + 0xfc: 0x0113, 0xfd: 0x0112, 0xfe: 0x0012, 0xff: 0x4452, + // Block 0x4, offset 0x100 + 0x100: 0x0010, 0x101: 0x0010, 0x102: 0x0010, 0x103: 0x0010, 0x104: 0x02db, 0x105: 0x0359, + 0x106: 0x03da, 0x107: 0x043b, 0x108: 0x04b9, 0x109: 0x053a, 0x10a: 0x059b, 0x10b: 0x0619, + 0x10c: 0x069a, 0x10d: 0x0313, 0x10e: 0x0312, 0x10f: 0x1f13, 0x110: 0x1f12, 0x111: 0x0313, + 0x112: 0x0312, 0x113: 0x0713, 0x114: 0x0712, 0x115: 0x0313, 0x116: 0x0312, 0x117: 0x0f13, + 0x118: 0x0f12, 0x119: 0x0313, 0x11a: 0x0312, 0x11b: 0x0713, 0x11c: 0x0712, 0x11d: 0x1452, + 0x11e: 0x0113, 0x11f: 0x0112, 0x120: 0x0113, 0x121: 0x0112, 0x122: 0x0113, 0x123: 0x0112, + 0x124: 0x0113, 0x125: 0x0112, 0x126: 0x0113, 0x127: 0x0112, 0x128: 0x0113, 0x129: 0x0112, + 0x12a: 0x0113, 0x12b: 0x0112, 0x12c: 0x0113, 0x12d: 0x0112, 0x12e: 0x0113, 0x12f: 0x0112, + 0x130: 0x06fa, 0x131: 0x07ab, 0x132: 0x0829, 0x133: 0x08aa, 0x134: 0x0113, 0x135: 0x0112, + 0x136: 0x2353, 0x137: 0x4453, 0x138: 0x0113, 0x139: 0x0112, 0x13a: 0x0113, 0x13b: 0x0112, + 0x13c: 0x0113, 0x13d: 0x0112, 0x13e: 0x0113, 0x13f: 0x0112, + // Block 0x5, offset 0x140 + 0x140: 0x0a8a, 0x141: 0x0313, 0x142: 0x0312, 0x143: 0x0853, 0x144: 0x4753, 0x145: 0x4a53, + 0x146: 0x0113, 0x147: 0x0112, 0x148: 0x0113, 0x149: 0x0112, 0x14a: 0x0113, 0x14b: 0x0112, + 0x14c: 0x0113, 0x14d: 0x0112, 0x14e: 0x0113, 0x14f: 0x0112, 0x150: 0x0b0a, 0x151: 0x0b8a, + 0x152: 0x0c0a, 0x153: 0x0b52, 0x154: 0x0b52, 0x155: 0x0012, 0x156: 0x0e52, 0x157: 0x1152, + 0x158: 0x0012, 0x159: 0x1752, 0x15a: 0x0012, 0x15b: 0x1a52, 0x15c: 0x0c8a, 0x15d: 0x0012, + 0x15e: 0x0012, 0x15f: 0x0012, 0x160: 0x1d52, 0x161: 0x0d0a, 0x162: 0x0012, 0x163: 0x2052, + 0x164: 0x0012, 0x165: 0x0d8a, 0x166: 0x0e0a, 0x167: 0x0012, 0x168: 0x2652, 0x169: 0x2652, + 0x16a: 0x0e8a, 0x16b: 0x0f0a, 0x16c: 0x0f8a, 0x16d: 0x0012, 0x16e: 0x0012, 0x16f: 0x1d52, + 0x170: 0x0012, 0x171: 0x100a, 0x172: 0x2c52, 0x173: 0x0012, 0x174: 0x0012, 0x175: 0x3252, + 0x176: 0x0012, 0x177: 0x0012, 0x178: 0x0012, 0x179: 0x0012, 0x17a: 0x0012, 0x17b: 0x0012, + 0x17c: 0x0012, 0x17d: 0x108a, 0x17e: 0x0012, 0x17f: 0x0012, + // Block 0x6, offset 0x180 + 0x180: 0x3552, 0x181: 0x0012, 0x182: 0x110a, 0x183: 0x3852, 0x184: 0x0012, 0x185: 0x0012, + 0x186: 0x0012, 0x187: 0x118a, 0x188: 0x3552, 0x189: 0x4752, 0x18a: 0x3b52, 0x18b: 0x3e52, + 0x18c: 0x4a52, 0x18d: 0x0012, 0x18e: 0x0012, 0x18f: 0x0012, 0x190: 0x0012, 0x191: 0x0012, + 0x192: 0x4152, 0x193: 0x0012, 0x194: 0x0010, 0x195: 0x0012, 0x196: 0x0012, 0x197: 0x0012, + 0x198: 0x0012, 0x199: 0x0012, 0x19a: 0x0012, 0x19b: 0x0012, 0x19c: 0x0012, 0x19d: 0x120a, + 0x19e: 0x128a, 0x19f: 0x0012, 0x1a0: 0x0012, 0x1a1: 0x0012, 0x1a2: 0x0012, 0x1a3: 0x0012, + 0x1a4: 0x0012, 0x1a5: 0x0012, 0x1a6: 0x0012, 0x1a7: 0x0012, 0x1a8: 0x0012, 0x1a9: 0x0012, + 0x1aa: 0x0012, 0x1ab: 0x0012, 0x1ac: 0x0012, 0x1ad: 0x0012, 0x1ae: 0x0012, 0x1af: 0x0012, + 0x1b0: 0x0015, 0x1b1: 0x0015, 0x1b2: 0x0015, 0x1b3: 0x0015, 0x1b4: 0x0015, 0x1b5: 0x0015, + 0x1b6: 0x0015, 0x1b7: 0x0015, 0x1b8: 0x0015, 0x1b9: 0x0014, 0x1ba: 0x0014, 0x1bb: 0x0014, + 0x1bc: 0x0014, 0x1bd: 0x0014, 0x1be: 0x0014, 0x1bf: 0x0014, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0024, 0x1c1: 0x0024, 0x1c2: 0x0024, 0x1c3: 0x0024, 0x1c4: 0x0024, 0x1c5: 0x130d, + 0x1c6: 0x0024, 0x1c7: 0x0034, 0x1c8: 0x0034, 0x1c9: 0x0034, 0x1ca: 0x0024, 0x1cb: 0x0024, + 0x1cc: 0x0024, 0x1cd: 0x0034, 0x1ce: 0x0034, 0x1cf: 0x0014, 0x1d0: 0x0024, 0x1d1: 0x0024, + 0x1d2: 0x0024, 0x1d3: 0x0034, 0x1d4: 0x0034, 0x1d5: 0x0034, 0x1d6: 0x0034, 0x1d7: 0x0024, + 0x1d8: 0x0034, 0x1d9: 0x0034, 0x1da: 0x0034, 0x1db: 0x0024, 0x1dc: 0x0034, 0x1dd: 0x0034, + 0x1de: 0x0034, 0x1df: 0x0034, 0x1e0: 0x0034, 0x1e1: 0x0034, 0x1e2: 0x0034, 0x1e3: 0x0024, + 0x1e4: 0x0024, 0x1e5: 0x0024, 0x1e6: 0x0024, 0x1e7: 0x0024, 0x1e8: 0x0024, 0x1e9: 0x0024, + 0x1ea: 0x0024, 0x1eb: 0x0024, 0x1ec: 0x0024, 0x1ed: 0x0024, 0x1ee: 0x0024, 0x1ef: 0x0024, + 0x1f0: 0x0113, 0x1f1: 0x0112, 0x1f2: 0x0113, 0x1f3: 0x0112, 0x1f4: 0x0014, 0x1f5: 0x0004, + 0x1f6: 0x0113, 0x1f7: 0x0112, 0x1fa: 0x0015, 0x1fb: 0x4d52, + 0x1fc: 0x5052, 0x1fd: 0x5052, 0x1ff: 0x5353, + // Block 0x8, offset 0x200 + 0x204: 0x0004, 0x205: 0x0004, + 0x206: 0x2a13, 0x207: 0x0054, 0x208: 0x2513, 0x209: 0x2713, 0x20a: 0x2513, + 0x20c: 0x5653, 0x20e: 0x5953, 0x20f: 0x5c53, 0x210: 0x138a, 0x211: 0x2013, + 0x212: 0x2013, 0x213: 0x2013, 0x214: 0x2013, 0x215: 0x2013, 0x216: 0x2013, 0x217: 0x2013, + 0x218: 0x2013, 0x219: 0x2013, 0x21a: 0x2013, 0x21b: 0x2013, 0x21c: 0x2013, 0x21d: 0x2013, + 0x21e: 0x2013, 0x21f: 0x2013, 0x220: 0x5f53, 0x221: 0x5f53, 0x223: 0x5f53, + 0x224: 0x5f53, 0x225: 0x5f53, 0x226: 0x5f53, 0x227: 0x5f53, 0x228: 0x5f53, 0x229: 0x5f53, + 0x22a: 0x5f53, 0x22b: 0x5f53, 0x22c: 0x2a12, 0x22d: 0x2512, 0x22e: 0x2712, 0x22f: 0x2512, + 0x230: 0x14ca, 0x231: 0x2012, 0x232: 0x2012, 0x233: 0x2012, 0x234: 0x2012, 0x235: 0x2012, + 0x236: 0x2012, 0x237: 0x2012, 0x238: 0x2012, 0x239: 0x2012, 0x23a: 0x2012, 0x23b: 0x2012, + 0x23c: 0x2012, 0x23d: 0x2012, 0x23e: 0x2012, 0x23f: 0x2012, + // Block 0x9, offset 0x240 + 0x240: 0x5f52, 0x241: 0x5f52, 0x242: 0x160a, 0x243: 0x5f52, 0x244: 0x5f52, 0x245: 0x5f52, + 0x246: 0x5f52, 0x247: 0x5f52, 0x248: 0x5f52, 0x249: 0x5f52, 0x24a: 0x5f52, 0x24b: 0x5f52, + 0x24c: 0x5652, 0x24d: 0x5952, 0x24e: 0x5c52, 0x24f: 0x1813, 0x250: 0x168a, 0x251: 0x170a, + 0x252: 0x0013, 0x253: 0x0013, 0x254: 0x0013, 0x255: 0x178a, 0x256: 0x180a, 0x257: 0x1812, + 0x258: 0x0113, 0x259: 0x0112, 0x25a: 0x0113, 0x25b: 0x0112, 0x25c: 0x0113, 0x25d: 0x0112, + 0x25e: 0x0113, 0x25f: 0x0112, 0x260: 0x0113, 0x261: 0x0112, 0x262: 0x0113, 0x263: 0x0112, + 0x264: 0x0113, 0x265: 0x0112, 0x266: 0x0113, 0x267: 0x0112, 0x268: 0x0113, 0x269: 0x0112, + 0x26a: 0x0113, 0x26b: 0x0112, 0x26c: 0x0113, 0x26d: 0x0112, 0x26e: 0x0113, 0x26f: 0x0112, + 0x270: 0x188a, 0x271: 0x190a, 0x272: 0x0b12, 0x273: 0x5352, 0x274: 0x6253, 0x275: 0x198a, + 0x277: 0x0f13, 0x278: 0x0f12, 0x279: 0x0b13, 0x27a: 0x0113, 0x27b: 0x0112, + 0x27c: 0x0012, 0x27d: 0x4d53, 0x27e: 0x5053, 0x27f: 0x5053, + // Block 0xa, offset 0x280 + 0x280: 0x6852, 0x281: 0x6852, 0x282: 0x6852, 0x283: 0x6852, 0x284: 0x6852, 0x285: 0x6852, + 0x286: 0x6852, 0x287: 0x1a0a, 0x288: 0x0012, + 0x291: 0x0034, + 0x292: 0x0024, 0x293: 0x0024, 0x294: 0x0024, 0x295: 0x0024, 0x296: 0x0034, 0x297: 0x0024, + 0x298: 0x0024, 0x299: 0x0024, 0x29a: 0x0034, 0x29b: 0x0034, 0x29c: 0x0024, 0x29d: 0x0024, + 0x29e: 0x0024, 0x29f: 0x0024, 0x2a0: 0x0024, 0x2a1: 0x0024, 0x2a2: 0x0034, 0x2a3: 0x0034, + 0x2a4: 0x0034, 0x2a5: 0x0034, 0x2a6: 0x0034, 0x2a7: 0x0034, 0x2a8: 0x0024, 0x2a9: 0x0024, + 0x2aa: 0x0034, 0x2ab: 0x0024, 0x2ac: 0x0024, 0x2ad: 0x0034, 0x2ae: 0x0034, 0x2af: 0x0024, + 0x2b0: 0x0034, 0x2b1: 0x0034, 0x2b2: 0x0034, 0x2b3: 0x0034, 0x2b4: 0x0034, 0x2b5: 0x0034, + 0x2b6: 0x0034, 0x2b7: 0x0034, 0x2b8: 0x0034, 0x2b9: 0x0034, 0x2ba: 0x0034, 0x2bb: 0x0034, + 0x2bc: 0x0034, 0x2bd: 0x0034, 0x2bf: 0x0034, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x7053, 0x2c1: 0x7053, 0x2c2: 0x7053, 0x2c3: 0x7053, 0x2c4: 0x7053, 0x2c5: 0x7053, + 0x2c7: 0x7053, + 0x2cd: 0x7053, 0x2d0: 0x1aea, 0x2d1: 0x1b6a, + 0x2d2: 0x1bea, 0x2d3: 0x1c6a, 0x2d4: 0x1cea, 0x2d5: 0x1d6a, 0x2d6: 0x1dea, 0x2d7: 0x1e6a, + 0x2d8: 0x1eea, 0x2d9: 0x1f6a, 0x2da: 0x1fea, 0x2db: 0x206a, 0x2dc: 0x20ea, 0x2dd: 0x216a, + 0x2de: 0x21ea, 0x2df: 0x226a, 0x2e0: 0x22ea, 0x2e1: 0x236a, 0x2e2: 0x23ea, 0x2e3: 0x246a, + 0x2e4: 0x24ea, 0x2e5: 0x256a, 0x2e6: 0x25ea, 0x2e7: 0x266a, 0x2e8: 0x26ea, 0x2e9: 0x276a, + 0x2ea: 0x27ea, 0x2eb: 0x286a, 0x2ec: 0x28ea, 0x2ed: 0x296a, 0x2ee: 0x29ea, 0x2ef: 0x2a6a, + 0x2f0: 0x2aea, 0x2f1: 0x2b6a, 0x2f2: 0x2bea, 0x2f3: 0x2c6a, 0x2f4: 0x2cea, 0x2f5: 0x2d6a, + 0x2f6: 0x2dea, 0x2f7: 0x2e6a, 0x2f8: 0x2eea, 0x2f9: 0x2f6a, 0x2fa: 0x2fea, + 0x2fc: 0x0014, 0x2fd: 0x306a, 0x2fe: 0x30ea, 0x2ff: 0x316a, + // Block 0xc, offset 0x300 + 0x300: 0x0812, 0x301: 0x0812, 0x302: 0x0812, 0x303: 0x0812, 0x304: 0x0812, 0x305: 0x0812, + 0x308: 0x0813, 0x309: 0x0813, 0x30a: 0x0813, 0x30b: 0x0813, + 0x30c: 0x0813, 0x30d: 0x0813, 0x310: 0x3b1a, 0x311: 0x0812, + 0x312: 0x3bfa, 0x313: 0x0812, 0x314: 0x3d3a, 0x315: 0x0812, 0x316: 0x3e7a, 0x317: 0x0812, + 0x319: 0x0813, 0x31b: 0x0813, 0x31d: 0x0813, + 0x31f: 0x0813, 0x320: 0x0812, 0x321: 0x0812, 0x322: 0x0812, 0x323: 0x0812, + 0x324: 0x0812, 0x325: 0x0812, 0x326: 0x0812, 0x327: 0x0812, 0x328: 0x0813, 0x329: 0x0813, + 0x32a: 0x0813, 0x32b: 0x0813, 0x32c: 0x0813, 0x32d: 0x0813, 0x32e: 0x0813, 0x32f: 0x0813, + 0x330: 0x9252, 0x331: 0x9252, 0x332: 0x9552, 0x333: 0x9552, 0x334: 0x9852, 0x335: 0x9852, + 0x336: 0x9b52, 0x337: 0x9b52, 0x338: 0x9e52, 0x339: 0x9e52, 0x33a: 0xa152, 0x33b: 0xa152, + 0x33c: 0x4d52, 0x33d: 0x4d52, + // Block 0xd, offset 0x340 + 0x340: 0x3fba, 0x341: 0x40aa, 0x342: 0x419a, 0x343: 0x428a, 0x344: 0x437a, 0x345: 0x446a, + 0x346: 0x455a, 0x347: 0x464a, 0x348: 0x4739, 0x349: 0x4829, 0x34a: 0x4919, 0x34b: 0x4a09, + 0x34c: 0x4af9, 0x34d: 0x4be9, 0x34e: 0x4cd9, 0x34f: 0x4dc9, 0x350: 0x4eba, 0x351: 0x4faa, + 0x352: 0x509a, 0x353: 0x518a, 0x354: 0x527a, 0x355: 0x536a, 0x356: 0x545a, 0x357: 0x554a, + 0x358: 0x5639, 0x359: 0x5729, 0x35a: 0x5819, 0x35b: 0x5909, 0x35c: 0x59f9, 0x35d: 0x5ae9, + 0x35e: 0x5bd9, 0x35f: 0x5cc9, 0x360: 0x5dba, 0x361: 0x5eaa, 0x362: 0x5f9a, 0x363: 0x608a, + 0x364: 0x617a, 0x365: 0x626a, 0x366: 0x635a, 0x367: 0x644a, 0x368: 0x6539, 0x369: 0x6629, + 0x36a: 0x6719, 0x36b: 0x6809, 0x36c: 0x68f9, 0x36d: 0x69e9, 0x36e: 0x6ad9, 0x36f: 0x6bc9, + 0x370: 0x0812, 0x371: 0x0812, 0x372: 0x6cba, 0x373: 0x6dca, 0x374: 0x6e9a, + 0x376: 0x6f7a, 0x377: 0x705a, 0x378: 0x0813, 0x379: 0x0813, 0x37a: 0x9253, 0x37b: 0x9253, + 0x37c: 0x7199, 0x37d: 0x0004, 0x37e: 0x726a, 0x37f: 0x0004, + // Block 0xe, offset 0x380 + 0x380: 0x0004, 0x381: 0x0004, 0x382: 0x72ea, 0x383: 0x73fa, 0x384: 0x74ca, + 0x386: 0x75aa, 0x387: 0x768a, 0x388: 0x9553, 0x389: 0x9553, 0x38a: 0x9853, 0x38b: 0x9853, + 0x38c: 0x77c9, 0x38d: 0x0004, 0x38e: 0x0004, 0x38f: 0x0004, 0x390: 0x0812, 0x391: 0x0812, + 0x392: 0x789a, 0x393: 0x79da, 0x396: 0x7b1a, 0x397: 0x7bfa, + 0x398: 0x0813, 0x399: 0x0813, 0x39a: 0x9b53, 0x39b: 0x9b53, 0x39d: 0x0004, + 0x39e: 0x0004, 0x39f: 0x0004, 0x3a0: 0x0812, 0x3a1: 0x0812, 0x3a2: 0x7d3a, 0x3a3: 0x7e7a, + 0x3a4: 0x7fba, 0x3a5: 0x0912, 0x3a6: 0x809a, 0x3a7: 0x817a, 0x3a8: 0x0813, 0x3a9: 0x0813, + 0x3aa: 0xa153, 0x3ab: 0xa153, 0x3ac: 0x0913, 0x3ad: 0x0004, 0x3ae: 0x0004, 0x3af: 0x0004, + 0x3b2: 0x82ba, 0x3b3: 0x83ca, 0x3b4: 0x849a, + 0x3b6: 0x857a, 0x3b7: 0x865a, 0x3b8: 0x9e53, 0x3b9: 0x9e53, 0x3ba: 0x4d53, 0x3bb: 0x4d53, + 0x3bc: 0x8799, 0x3bd: 0x0004, 0x3be: 0x0004, + // Block 0xf, offset 0x3c0 + 0x3c2: 0x0013, + 0x3c7: 0x0013, 0x3ca: 0x0012, 0x3cb: 0x0013, + 0x3cc: 0x0013, 0x3cd: 0x0013, 0x3ce: 0x0012, 0x3cf: 0x0012, 0x3d0: 0x0013, 0x3d1: 0x0013, + 0x3d2: 0x0013, 0x3d3: 0x0012, 0x3d5: 0x0013, + 0x3d9: 0x0013, 0x3da: 0x0013, 0x3db: 0x0013, 0x3dc: 0x0013, 0x3dd: 0x0013, + 0x3e4: 0x0013, 0x3e6: 0x886b, 0x3e8: 0x0013, + 0x3ea: 0x88cb, 0x3eb: 0x890b, 0x3ec: 0x0013, 0x3ed: 0x0013, 0x3ef: 0x0012, + 0x3f0: 0x0013, 0x3f1: 0x0013, 0x3f2: 0xa453, 0x3f3: 0x0013, 0x3f4: 0x0012, 0x3f5: 0x0010, + 0x3f6: 0x0010, 0x3f7: 0x0010, 0x3f8: 0x0010, 0x3f9: 0x0012, + 0x3fc: 0x0012, 0x3fd: 0x0012, 0x3fe: 0x0013, 0x3ff: 0x0013, + // Block 0x10, offset 0x400 + 0x400: 0x1a13, 0x401: 0x1a13, 0x402: 0x1e13, 0x403: 0x1e13, 0x404: 0x1a13, 0x405: 0x1a13, + 0x406: 0x2613, 0x407: 0x2613, 0x408: 0x2a13, 0x409: 0x2a13, 0x40a: 0x2e13, 0x40b: 0x2e13, + 0x40c: 0x2a13, 0x40d: 0x2a13, 0x40e: 0x2613, 0x40f: 0x2613, 0x410: 0xa752, 0x411: 0xa752, + 0x412: 0xaa52, 0x413: 0xaa52, 0x414: 0xad52, 0x415: 0xad52, 0x416: 0xaa52, 0x417: 0xaa52, + 0x418: 0xa752, 0x419: 0xa752, 0x41a: 0x1a12, 0x41b: 0x1a12, 0x41c: 0x1e12, 0x41d: 0x1e12, + 0x41e: 0x1a12, 0x41f: 0x1a12, 0x420: 0x2612, 0x421: 0x2612, 0x422: 0x2a12, 0x423: 0x2a12, + 0x424: 0x2e12, 0x425: 0x2e12, 0x426: 0x2a12, 0x427: 0x2a12, 0x428: 0x2612, 0x429: 0x2612, + // Block 0x11, offset 0x440 + 0x440: 0x6552, 0x441: 0x6552, 0x442: 0x6552, 0x443: 0x6552, 0x444: 0x6552, 0x445: 0x6552, + 0x446: 0x6552, 0x447: 0x6552, 0x448: 0x6552, 0x449: 0x6552, 0x44a: 0x6552, 0x44b: 0x6552, + 0x44c: 0x6552, 0x44d: 0x6552, 0x44e: 0x6552, 0x44f: 0x6552, 0x450: 0xb052, 0x451: 0xb052, + 0x452: 0xb052, 0x453: 0xb052, 0x454: 0xb052, 0x455: 0xb052, 0x456: 0xb052, 0x457: 0xb052, + 0x458: 0xb052, 0x459: 0xb052, 0x45a: 0xb052, 0x45b: 0xb052, 0x45c: 0xb052, 0x45d: 0xb052, + 0x45e: 0xb052, 0x460: 0x0113, 0x461: 0x0112, 0x462: 0x896b, 0x463: 0x8b53, + 0x464: 0x89cb, 0x465: 0x8a2a, 0x466: 0x8a8a, 0x467: 0x0f13, 0x468: 0x0f12, 0x469: 0x0313, + 0x46a: 0x0312, 0x46b: 0x0713, 0x46c: 0x0712, 0x46d: 0x8aeb, 0x46e: 0x8b4b, 0x46f: 0x8bab, + 0x470: 0x8c0b, 0x471: 0x0012, 0x472: 0x0113, 0x473: 0x0112, 0x474: 0x0012, 0x475: 0x0313, + 0x476: 0x0312, 0x477: 0x0012, 0x478: 0x0012, 0x479: 0x0012, 0x47a: 0x0012, 0x47b: 0x0012, + 0x47c: 0x0015, 0x47d: 0x0015, 0x47e: 0x8c6b, 0x47f: 0x8ccb, + // Block 0x12, offset 0x480 + 0x480: 0x0113, 0x481: 0x0112, 0x482: 0x0113, 0x483: 0x0112, 0x484: 0x0113, 0x485: 0x0112, + 0x486: 0x0113, 0x487: 0x0112, 0x488: 0x0014, 0x489: 0x0014, 0x48a: 0x0014, 0x48b: 0x0713, + 0x48c: 0x0712, 0x48d: 0x8d2b, 0x48e: 0x0012, 0x48f: 0x0010, 0x490: 0x0113, 0x491: 0x0112, + 0x492: 0x0113, 0x493: 0x0112, 0x494: 0x6552, 0x495: 0x0012, 0x496: 0x0113, 0x497: 0x0112, + 0x498: 0x0113, 0x499: 0x0112, 0x49a: 0x0113, 0x49b: 0x0112, 0x49c: 0x0113, 0x49d: 0x0112, + 0x49e: 0x0113, 0x49f: 0x0112, 0x4a0: 0x0113, 0x4a1: 0x0112, 0x4a2: 0x0113, 0x4a3: 0x0112, + 0x4a4: 0x0113, 0x4a5: 0x0112, 0x4a6: 0x0113, 0x4a7: 0x0112, 0x4a8: 0x0113, 0x4a9: 0x0112, + 0x4aa: 0x8d8b, 0x4ab: 0x8deb, 0x4ac: 0x8e4b, 0x4ad: 0x8eab, 0x4ae: 0x8f0b, 0x4af: 0x0012, + 0x4b0: 0x8f6b, 0x4b1: 0x8fcb, 0x4b2: 0x902b, 0x4b3: 0xb353, 0x4b4: 0x0113, 0x4b5: 0x0112, + 0x4b6: 0x0113, 0x4b7: 0x0112, 0x4b8: 0x0113, 0x4b9: 0x0112, 0x4ba: 0x0113, 0x4bb: 0x0112, + 0x4bc: 0x0113, 0x4bd: 0x0112, 0x4be: 0x0113, 0x4bf: 0x0112, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x90ea, 0x4c1: 0x916a, 0x4c2: 0x91ea, 0x4c3: 0x926a, 0x4c4: 0x931a, 0x4c5: 0x93ca, + 0x4c6: 0x944a, + 0x4d3: 0x94ca, 0x4d4: 0x95aa, 0x4d5: 0x968a, 0x4d6: 0x976a, 0x4d7: 0x984a, + 0x4dd: 0x0010, + 0x4de: 0x0034, 0x4df: 0x0010, 0x4e0: 0x0010, 0x4e1: 0x0010, 0x4e2: 0x0010, 0x4e3: 0x0010, + 0x4e4: 0x0010, 0x4e5: 0x0010, 0x4e6: 0x0010, 0x4e7: 0x0010, 0x4e8: 0x0010, + 0x4ea: 0x0010, 0x4eb: 0x0010, 0x4ec: 0x0010, 0x4ed: 0x0010, 0x4ee: 0x0010, 0x4ef: 0x0010, + 0x4f0: 0x0010, 0x4f1: 0x0010, 0x4f2: 0x0010, 0x4f3: 0x0010, 0x4f4: 0x0010, 0x4f5: 0x0010, + 0x4f6: 0x0010, 0x4f8: 0x0010, 0x4f9: 0x0010, 0x4fa: 0x0010, 0x4fb: 0x0010, + 0x4fc: 0x0010, 0x4fe: 0x0010, + // Block 0x14, offset 0x500 + 0x500: 0x2213, 0x501: 0x2213, 0x502: 0x2613, 0x503: 0x2613, 0x504: 0x2213, 0x505: 0x2213, + 0x506: 0x2e13, 0x507: 0x2e13, 0x508: 0x2213, 0x509: 0x2213, 0x50a: 0x2613, 0x50b: 0x2613, + 0x50c: 0x2213, 0x50d: 0x2213, 0x50e: 0x3e13, 0x50f: 0x3e13, 0x510: 0x2213, 0x511: 0x2213, + 0x512: 0x2613, 0x513: 0x2613, 0x514: 0x2213, 0x515: 0x2213, 0x516: 0x2e13, 0x517: 0x2e13, + 0x518: 0x2213, 0x519: 0x2213, 0x51a: 0x2613, 0x51b: 0x2613, 0x51c: 0x2213, 0x51d: 0x2213, + 0x51e: 0xbc53, 0x51f: 0xbc53, 0x520: 0xbf53, 0x521: 0xbf53, 0x522: 0x2212, 0x523: 0x2212, + 0x524: 0x2612, 0x525: 0x2612, 0x526: 0x2212, 0x527: 0x2212, 0x528: 0x2e12, 0x529: 0x2e12, + 0x52a: 0x2212, 0x52b: 0x2212, 0x52c: 0x2612, 0x52d: 0x2612, 0x52e: 0x2212, 0x52f: 0x2212, + 0x530: 0x3e12, 0x531: 0x3e12, 0x532: 0x2212, 0x533: 0x2212, 0x534: 0x2612, 0x535: 0x2612, + 0x536: 0x2212, 0x537: 0x2212, 0x538: 0x2e12, 0x539: 0x2e12, 0x53a: 0x2212, 0x53b: 0x2212, + 0x53c: 0x2612, 0x53d: 0x2612, 0x53e: 0x2212, 0x53f: 0x2212, + // Block 0x15, offset 0x540 + 0x542: 0x0010, + 0x547: 0x0010, 0x549: 0x0010, 0x54b: 0x0010, + 0x54d: 0x0010, 0x54e: 0x0010, 0x54f: 0x0010, 0x551: 0x0010, + 0x552: 0x0010, 0x554: 0x0010, 0x557: 0x0010, + 0x559: 0x0010, 0x55b: 0x0010, 0x55d: 0x0010, + 0x55f: 0x0010, 0x561: 0x0010, 0x562: 0x0010, + 0x564: 0x0010, 0x567: 0x0010, 0x568: 0x0010, 0x569: 0x0010, + 0x56a: 0x0010, 0x56c: 0x0010, 0x56d: 0x0010, 0x56e: 0x0010, 0x56f: 0x0010, + 0x570: 0x0010, 0x571: 0x0010, 0x572: 0x0010, 0x574: 0x0010, 0x575: 0x0010, + 0x576: 0x0010, 0x577: 0x0010, 0x579: 0x0010, 0x57a: 0x0010, 0x57b: 0x0010, + 0x57c: 0x0010, 0x57e: 0x0010, +} + +// caseIndex: 25 blocks, 1600 entries, 3200 bytes +// Block 0 is the zero block. +var caseIndex = [1600]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x14, 0xc3: 0x15, 0xc4: 0x16, 0xc5: 0x17, 0xc6: 0x01, 0xc7: 0x02, + 0xc8: 0x18, 0xc9: 0x03, 0xca: 0x04, 0xcb: 0x19, 0xcc: 0x1a, 0xcd: 0x05, 0xce: 0x06, 0xcf: 0x07, + 0xd0: 0x1b, 0xd1: 0x1c, 0xd2: 0x1d, 0xd3: 0x1e, 0xd4: 0x1f, 0xd5: 0x20, 0xd6: 0x08, 0xd7: 0x21, + 0xd8: 0x22, 0xd9: 0x23, 0xda: 0x24, 0xdb: 0x25, 0xdc: 0x26, 0xdd: 0x27, 0xde: 0x28, 0xdf: 0x29, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x08, 0xef: 0x09, + 0xf0: 0x14, 0xf3: 0x16, + // Block 0x4, offset 0x100 + 0x120: 0x2a, 0x121: 0x2b, 0x122: 0x2c, 0x123: 0x2d, 0x124: 0x2e, 0x125: 0x2f, 0x126: 0x30, 0x127: 0x31, + 0x128: 0x32, 0x129: 0x33, 0x12a: 0x34, 0x12b: 0x35, 0x12c: 0x36, 0x12d: 0x37, 0x12e: 0x38, 0x12f: 0x39, + 0x130: 0x3a, 0x131: 0x3b, 0x132: 0x3c, 0x133: 0x3d, 0x134: 0x3e, 0x135: 0x3f, 0x136: 0x40, 0x137: 0x41, + 0x138: 0x42, 0x139: 0x43, 0x13a: 0x44, 0x13b: 0x45, 0x13c: 0x46, 0x13d: 0x47, 0x13e: 0x48, 0x13f: 0x49, + // Block 0x5, offset 0x140 + 0x140: 0x4a, 0x141: 0x4b, 0x142: 0x4c, 0x143: 0x09, 0x144: 0x24, 0x145: 0x24, 0x146: 0x24, 0x147: 0x24, + 0x148: 0x24, 0x149: 0x4d, 0x14a: 0x4e, 0x14b: 0x4f, 0x14c: 0x50, 0x14d: 0x51, 0x14e: 0x52, 0x14f: 0x53, + 0x150: 0x54, 0x151: 0x24, 0x152: 0x24, 0x153: 0x24, 0x154: 0x24, 0x155: 0x24, 0x156: 0x24, 0x157: 0x24, + 0x158: 0x24, 0x159: 0x55, 0x15a: 0x56, 0x15b: 0x57, 0x15c: 0x58, 0x15d: 0x59, 0x15e: 0x5a, 0x15f: 0x5b, + 0x160: 0x5c, 0x161: 0x5d, 0x162: 0x5e, 0x163: 0x5f, 0x164: 0x60, 0x165: 0x61, 0x167: 0x62, + 0x168: 0x63, 0x169: 0x64, 0x16a: 0x65, 0x16c: 0x66, 0x16d: 0x67, 0x16e: 0x68, 0x16f: 0x69, + 0x170: 0x6a, 0x171: 0x6b, 0x172: 0x6c, 0x173: 0x6d, 0x174: 0x6e, 0x175: 0x6f, 0x176: 0x70, 0x177: 0x71, + 0x178: 0x72, 0x179: 0x72, 0x17a: 0x73, 0x17b: 0x72, 0x17c: 0x74, 0x17d: 0x0a, 0x17e: 0x0b, 0x17f: 0x0c, + // Block 0x6, offset 0x180 + 0x180: 0x75, 0x181: 0x76, 0x182: 0x77, 0x183: 0x78, 0x184: 0x0d, 0x185: 0x79, 0x186: 0x7a, + 0x192: 0x7b, 0x193: 0x0e, + 0x1b0: 0x7c, 0x1b1: 0x0f, 0x1b2: 0x72, 0x1b3: 0x7d, 0x1b4: 0x7e, 0x1b5: 0x7f, 0x1b6: 0x80, 0x1b7: 0x81, + 0x1b8: 0x82, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x83, 0x1c2: 0x84, 0x1c3: 0x85, 0x1c4: 0x86, 0x1c5: 0x24, 0x1c6: 0x87, + // Block 0x8, offset 0x200 + 0x200: 0x88, 0x201: 0x24, 0x202: 0x24, 0x203: 0x24, 0x204: 0x24, 0x205: 0x24, 0x206: 0x24, 0x207: 0x24, + 0x208: 0x24, 0x209: 0x24, 0x20a: 0x24, 0x20b: 0x24, 0x20c: 0x24, 0x20d: 0x24, 0x20e: 0x24, 0x20f: 0x24, + 0x210: 0x24, 0x211: 0x24, 0x212: 0x89, 0x213: 0x8a, 0x214: 0x24, 0x215: 0x24, 0x216: 0x24, 0x217: 0x24, + 0x218: 0x8b, 0x219: 0x8c, 0x21a: 0x8d, 0x21b: 0x8e, 0x21c: 0x8f, 0x21d: 0x90, 0x21e: 0x10, 0x21f: 0x91, + 0x220: 0x92, 0x221: 0x93, 0x222: 0x24, 0x223: 0x94, 0x224: 0x95, 0x225: 0x96, 0x226: 0x97, 0x227: 0x98, + 0x228: 0x99, 0x229: 0x9a, 0x22a: 0x9b, 0x22b: 0x9c, 0x22c: 0x9d, 0x22d: 0x9e, 0x22e: 0x9f, 0x22f: 0xa0, + 0x230: 0x24, 0x231: 0x24, 0x232: 0x24, 0x233: 0x24, 0x234: 0x24, 0x235: 0x24, 0x236: 0x24, 0x237: 0x24, + 0x238: 0x24, 0x239: 0x24, 0x23a: 0x24, 0x23b: 0x24, 0x23c: 0x24, 0x23d: 0x24, 0x23e: 0x24, 0x23f: 0x24, + // Block 0x9, offset 0x240 + 0x240: 0x24, 0x241: 0x24, 0x242: 0x24, 0x243: 0x24, 0x244: 0x24, 0x245: 0x24, 0x246: 0x24, 0x247: 0x24, + 0x248: 0x24, 0x249: 0x24, 0x24a: 0x24, 0x24b: 0x24, 0x24c: 0x24, 0x24d: 0x24, 0x24e: 0x24, 0x24f: 0x24, + 0x250: 0x24, 0x251: 0x24, 0x252: 0x24, 0x253: 0x24, 0x254: 0x24, 0x255: 0x24, 0x256: 0x24, 0x257: 0x24, + 0x258: 0x24, 0x259: 0x24, 0x25a: 0x24, 0x25b: 0x24, 0x25c: 0x24, 0x25d: 0x24, 0x25e: 0x24, 0x25f: 0x24, + 0x260: 0x24, 0x261: 0x24, 0x262: 0x24, 0x263: 0x24, 0x264: 0x24, 0x265: 0x24, 0x266: 0x24, 0x267: 0x24, + 0x268: 0x24, 0x269: 0x24, 0x26a: 0x24, 0x26b: 0x24, 0x26c: 0x24, 0x26d: 0x24, 0x26e: 0x24, 0x26f: 0x24, + 0x270: 0x24, 0x271: 0x24, 0x272: 0x24, 0x273: 0x24, 0x274: 0x24, 0x275: 0x24, 0x276: 0x24, 0x277: 0x24, + 0x278: 0x24, 0x279: 0x24, 0x27a: 0x24, 0x27b: 0x24, 0x27c: 0x24, 0x27d: 0x24, 0x27e: 0x24, 0x27f: 0x24, + // Block 0xa, offset 0x280 + 0x280: 0x24, 0x281: 0x24, 0x282: 0x24, 0x283: 0x24, 0x284: 0x24, 0x285: 0x24, 0x286: 0x24, 0x287: 0x24, + 0x288: 0x24, 0x289: 0x24, 0x28a: 0x24, 0x28b: 0x24, 0x28c: 0x24, 0x28d: 0x24, 0x28e: 0x24, 0x28f: 0x24, + 0x290: 0x24, 0x291: 0x24, 0x292: 0x24, 0x293: 0x24, 0x294: 0x24, 0x295: 0x24, 0x296: 0x24, 0x297: 0x24, + 0x298: 0x24, 0x299: 0x24, 0x29a: 0x24, 0x29b: 0x24, 0x29c: 0x24, 0x29d: 0x24, 0x29e: 0xa1, 0x29f: 0xa2, + // Block 0xb, offset 0x2c0 + 0x2ec: 0x11, 0x2ed: 0xa3, 0x2ee: 0xa4, 0x2ef: 0xa5, + 0x2f0: 0x24, 0x2f1: 0x24, 0x2f2: 0x24, 0x2f3: 0x24, 0x2f4: 0xa6, 0x2f5: 0xa7, 0x2f6: 0xa8, 0x2f7: 0xa9, + 0x2f8: 0xaa, 0x2f9: 0xab, 0x2fa: 0x24, 0x2fb: 0xac, 0x2fc: 0xad, 0x2fd: 0xae, 0x2fe: 0xaf, 0x2ff: 0xb0, + // Block 0xc, offset 0x300 + 0x300: 0xb1, 0x301: 0xb2, 0x302: 0x24, 0x303: 0xb3, 0x305: 0xb4, 0x307: 0xb5, + 0x30a: 0xb6, 0x30b: 0xb7, 0x30c: 0xb8, 0x30d: 0xb9, 0x30e: 0xba, 0x30f: 0xbb, + 0x310: 0xbc, 0x311: 0xbd, 0x312: 0xbe, 0x313: 0xbf, 0x314: 0xc0, 0x315: 0xc1, + 0x318: 0x24, 0x319: 0x24, 0x31a: 0x24, 0x31b: 0x24, 0x31c: 0xc2, 0x31d: 0xc3, + 0x320: 0xc4, 0x321: 0xc5, 0x322: 0xc6, 0x323: 0xc7, 0x324: 0xc8, 0x326: 0xc9, + 0x328: 0xca, 0x329: 0xcb, 0x32a: 0xcc, 0x32b: 0xcd, 0x32c: 0x5f, 0x32d: 0xce, 0x32e: 0xcf, + 0x330: 0x24, 0x331: 0xd0, 0x332: 0xd1, 0x333: 0xd2, 0x334: 0xd3, + 0x33c: 0xd4, 0x33d: 0xd5, 0x33f: 0xd6, + // Block 0xd, offset 0x340 + 0x340: 0xd7, 0x341: 0xd8, 0x342: 0xd9, 0x343: 0xda, 0x344: 0xdb, 0x345: 0xdc, 0x346: 0xdd, 0x347: 0xde, + 0x348: 0xdf, 0x34a: 0xe0, 0x34b: 0xe1, 0x34c: 0xe2, 0x34d: 0xe3, + 0x350: 0xe4, 0x351: 0xe5, 0x352: 0xe6, 0x353: 0xe7, 0x356: 0xe8, 0x357: 0xe9, + 0x358: 0xea, 0x359: 0xeb, 0x35a: 0xec, 0x35b: 0xed, 0x35c: 0xee, + 0x360: 0xef, 0x362: 0xf0, 0x363: 0xf1, 0x366: 0xf2, 0x367: 0xf3, + 0x368: 0xf4, 0x369: 0xf5, 0x36a: 0xf6, 0x36b: 0xf7, + 0x370: 0xf8, 0x371: 0xf9, 0x372: 0xfa, 0x374: 0xfb, 0x375: 0xfc, 0x376: 0xfd, + 0x37b: 0xfe, + // Block 0xe, offset 0x380 + 0x380: 0x24, 0x381: 0x24, 0x382: 0x24, 0x383: 0x24, 0x384: 0x24, 0x385: 0x24, 0x386: 0x24, 0x387: 0x24, + 0x388: 0x24, 0x389: 0x24, 0x38a: 0x24, 0x38b: 0x24, 0x38c: 0x24, 0x38d: 0x24, 0x38e: 0xff, + 0x390: 0x24, 0x391: 0x100, 0x392: 0x24, 0x393: 0x24, 0x394: 0x24, 0x395: 0x101, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x24, 0x3c1: 0x24, 0x3c2: 0x24, 0x3c3: 0x24, 0x3c4: 0x24, 0x3c5: 0x24, 0x3c6: 0x24, 0x3c7: 0x24, + 0x3c8: 0x24, 0x3c9: 0x24, 0x3ca: 0x24, 0x3cb: 0x24, 0x3cc: 0x24, 0x3cd: 0x24, 0x3ce: 0x24, 0x3cf: 0x24, + 0x3d0: 0x102, + // Block 0x10, offset 0x400 + 0x410: 0x24, 0x411: 0x24, 0x412: 0x24, 0x413: 0x24, 0x414: 0x24, 0x415: 0x24, 0x416: 0x24, 0x417: 0x24, + 0x418: 0x24, 0x419: 0x103, + // Block 0x11, offset 0x440 + 0x460: 0x24, 0x461: 0x24, 0x462: 0x24, 0x463: 0x24, 0x464: 0x24, 0x465: 0x24, 0x466: 0x24, 0x467: 0x24, + 0x468: 0xf7, 0x469: 0x104, 0x46b: 0x105, 0x46c: 0x106, 0x46d: 0x107, 0x46e: 0x108, + 0x479: 0x109, 0x47c: 0x24, 0x47d: 0x10a, 0x47e: 0x10b, 0x47f: 0x10c, + // Block 0x12, offset 0x480 + 0x4b0: 0x24, 0x4b1: 0x10d, 0x4b2: 0x10e, + // Block 0x13, offset 0x4c0 + 0x4c5: 0x10f, 0x4c6: 0x110, + 0x4c9: 0x111, + 0x4d0: 0x112, 0x4d1: 0x113, 0x4d2: 0x114, 0x4d3: 0x115, 0x4d4: 0x116, 0x4d5: 0x117, 0x4d6: 0x118, 0x4d7: 0x119, + 0x4d8: 0x11a, 0x4d9: 0x11b, 0x4da: 0x11c, 0x4db: 0x11d, 0x4dc: 0x11e, 0x4dd: 0x11f, 0x4de: 0x120, 0x4df: 0x121, + 0x4e8: 0x122, 0x4e9: 0x123, 0x4ea: 0x124, + // Block 0x14, offset 0x500 + 0x500: 0x125, 0x504: 0x126, 0x505: 0x127, + 0x50b: 0x128, + 0x520: 0x24, 0x521: 0x24, 0x522: 0x24, 0x523: 0x129, 0x524: 0x12, 0x525: 0x12a, + 0x538: 0x12b, 0x539: 0x13, 0x53a: 0x12c, + // Block 0x15, offset 0x540 + 0x544: 0x12d, 0x545: 0x12e, 0x546: 0x12f, + 0x54f: 0x130, + // Block 0x16, offset 0x580 + 0x590: 0x0a, 0x591: 0x0b, 0x592: 0x0c, 0x593: 0x0d, 0x594: 0x0e, 0x596: 0x0f, + 0x59b: 0x10, 0x59d: 0x11, 0x59e: 0x12, 0x59f: 0x13, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x131, 0x5c1: 0x132, 0x5c4: 0x132, 0x5c5: 0x132, 0x5c6: 0x132, 0x5c7: 0x133, + // Block 0x18, offset 0x600 + 0x620: 0x15, +} + +// sparseOffsets: 289 entries, 578 bytes +var sparseOffsets = []uint16{0x0, 0x9, 0xf, 0x18, 0x24, 0x2e, 0x35, 0x38, 0x3c, 0x3f, 0x43, 0x4d, 0x4f, 0x57, 0x5e, 0x63, 0x71, 0x72, 0x80, 0x8f, 0x99, 0x9c, 0xa3, 0xab, 0xae, 0xb0, 0xbf, 0xc5, 0xd3, 0xde, 0xeb, 0xf6, 0x102, 0x10c, 0x118, 0x123, 0x12f, 0x13b, 0x143, 0x14c, 0x156, 0x161, 0x16d, 0x174, 0x17f, 0x184, 0x18c, 0x18f, 0x194, 0x198, 0x19c, 0x1a3, 0x1ac, 0x1b4, 0x1b5, 0x1be, 0x1c5, 0x1cd, 0x1d3, 0x1d8, 0x1dc, 0x1df, 0x1e1, 0x1e4, 0x1e9, 0x1ea, 0x1ec, 0x1ee, 0x1f0, 0x1f7, 0x1fc, 0x200, 0x209, 0x20c, 0x20f, 0x215, 0x216, 0x221, 0x222, 0x223, 0x228, 0x235, 0x23d, 0x245, 0x24e, 0x257, 0x260, 0x265, 0x268, 0x273, 0x281, 0x283, 0x28a, 0x28e, 0x29a, 0x29b, 0x2a6, 0x2ae, 0x2b6, 0x2bc, 0x2bd, 0x2cb, 0x2d0, 0x2d3, 0x2d8, 0x2dc, 0x2e2, 0x2e7, 0x2ea, 0x2ef, 0x2f4, 0x2f5, 0x2fb, 0x2fd, 0x2fe, 0x300, 0x302, 0x305, 0x306, 0x308, 0x30b, 0x311, 0x315, 0x317, 0x31c, 0x323, 0x32b, 0x334, 0x335, 0x33e, 0x342, 0x347, 0x34f, 0x355, 0x35b, 0x365, 0x36a, 0x373, 0x379, 0x380, 0x384, 0x38c, 0x38e, 0x390, 0x393, 0x395, 0x397, 0x398, 0x399, 0x39b, 0x39d, 0x3a3, 0x3a8, 0x3aa, 0x3b1, 0x3b4, 0x3b6, 0x3bc, 0x3c1, 0x3c3, 0x3c4, 0x3c5, 0x3c6, 0x3c8, 0x3ca, 0x3cc, 0x3cf, 0x3d1, 0x3d4, 0x3dc, 0x3df, 0x3e3, 0x3eb, 0x3ed, 0x3ee, 0x3ef, 0x3f1, 0x3f7, 0x3f9, 0x3fa, 0x3fc, 0x3fe, 0x400, 0x40d, 0x40e, 0x40f, 0x413, 0x415, 0x416, 0x417, 0x418, 0x419, 0x41c, 0x41f, 0x425, 0x426, 0x42a, 0x42e, 0x434, 0x437, 0x43e, 0x442, 0x446, 0x44d, 0x456, 0x45c, 0x462, 0x46c, 0x476, 0x478, 0x481, 0x487, 0x48d, 0x493, 0x496, 0x49c, 0x49f, 0x4a8, 0x4a9, 0x4b0, 0x4b4, 0x4b5, 0x4b8, 0x4ba, 0x4c1, 0x4c9, 0x4cf, 0x4d5, 0x4d6, 0x4dc, 0x4df, 0x4e7, 0x4ee, 0x4f8, 0x500, 0x503, 0x504, 0x505, 0x506, 0x508, 0x509, 0x50b, 0x50d, 0x50f, 0x513, 0x514, 0x516, 0x519, 0x51b, 0x51d, 0x51f, 0x524, 0x529, 0x52d, 0x52e, 0x531, 0x535, 0x540, 0x544, 0x54c, 0x551, 0x555, 0x558, 0x55c, 0x55f, 0x562, 0x567, 0x56b, 0x56f, 0x573, 0x577, 0x579, 0x57b, 0x57e, 0x583, 0x586, 0x588, 0x58b, 0x58d, 0x593, 0x59c, 0x5a1, 0x5a2, 0x5a5, 0x5a6, 0x5a7, 0x5a9, 0x5aa, 0x5ab} + +// sparseValues: 1451 entries, 5804 bytes +var sparseValues = [1451]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0004, lo: 0xa8, hi: 0xa8}, + {value: 0x0012, lo: 0xaa, hi: 0xaa}, + {value: 0x0014, lo: 0xad, hi: 0xad}, + {value: 0x0004, lo: 0xaf, hi: 0xaf}, + {value: 0x0004, lo: 0xb4, hi: 0xb4}, + {value: 0x001a, lo: 0xb5, hi: 0xb5}, + {value: 0x0054, lo: 0xb7, hi: 0xb7}, + {value: 0x0004, lo: 0xb8, hi: 0xb8}, + {value: 0x0012, lo: 0xba, hi: 0xba}, + // Block 0x1, offset 0x9 + {value: 0x2013, lo: 0x80, hi: 0x96}, + {value: 0x2013, lo: 0x98, hi: 0x9e}, + {value: 0x009a, lo: 0x9f, hi: 0x9f}, + {value: 0x2012, lo: 0xa0, hi: 0xb6}, + {value: 0x2012, lo: 0xb8, hi: 0xbe}, + {value: 0x0252, lo: 0xbf, hi: 0xbf}, + // Block 0x2, offset 0xf + {value: 0x0117, lo: 0x80, hi: 0xaf}, + {value: 0x011b, lo: 0xb0, hi: 0xb0}, + {value: 0x019a, lo: 0xb1, hi: 0xb1}, + {value: 0x0117, lo: 0xb2, hi: 0xb7}, + {value: 0x0012, lo: 0xb8, hi: 0xb8}, + {value: 0x0316, lo: 0xb9, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x0316, lo: 0xbd, hi: 0xbe}, + {value: 0x0553, lo: 0xbf, hi: 0xbf}, + // Block 0x3, offset 0x18 + {value: 0x0552, lo: 0x80, hi: 0x80}, + {value: 0x0316, lo: 0x81, hi: 0x82}, + {value: 0x0716, lo: 0x83, hi: 0x84}, + {value: 0x0316, lo: 0x85, hi: 0x86}, + {value: 0x0f16, lo: 0x87, hi: 0x88}, + {value: 0x01da, lo: 0x89, hi: 0x89}, + {value: 0x0117, lo: 0x8a, hi: 0xb7}, + {value: 0x0253, lo: 0xb8, hi: 0xb8}, + {value: 0x0316, lo: 0xb9, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x0316, lo: 0xbd, hi: 0xbe}, + {value: 0x028a, lo: 0xbf, hi: 0xbf}, + // Block 0x4, offset 0x24 + {value: 0x0117, lo: 0x80, hi: 0x9f}, + {value: 0x2f53, lo: 0xa0, hi: 0xa0}, + {value: 0x0012, lo: 0xa1, hi: 0xa1}, + {value: 0x0117, lo: 0xa2, hi: 0xb3}, + {value: 0x0012, lo: 0xb4, hi: 0xb9}, + {value: 0x090b, lo: 0xba, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x2953, lo: 0xbd, hi: 0xbd}, + {value: 0x098b, lo: 0xbe, hi: 0xbe}, + {value: 0x0a0a, lo: 0xbf, hi: 0xbf}, + // Block 0x5, offset 0x2e + {value: 0x0015, lo: 0x80, hi: 0x81}, + {value: 0x0014, lo: 0x82, hi: 0x97}, + {value: 0x0004, lo: 0x98, hi: 0x9d}, + {value: 0x0014, lo: 0x9e, hi: 0x9f}, + {value: 0x0015, lo: 0xa0, hi: 0xa4}, + {value: 0x0004, lo: 0xa5, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xbf}, + // Block 0x6, offset 0x35 + {value: 0x0024, lo: 0x80, hi: 0x94}, + {value: 0x0034, lo: 0x95, hi: 0xbc}, + {value: 0x0024, lo: 0xbd, hi: 0xbf}, + // Block 0x7, offset 0x38 + {value: 0x6553, lo: 0x80, hi: 0x8f}, + {value: 0x2013, lo: 0x90, hi: 0x9f}, + {value: 0x5f53, lo: 0xa0, hi: 0xaf}, + {value: 0x2012, lo: 0xb0, hi: 0xbf}, + // Block 0x8, offset 0x3c + {value: 0x5f52, lo: 0x80, hi: 0x8f}, + {value: 0x6552, lo: 0x90, hi: 0x9f}, + {value: 0x0117, lo: 0xa0, hi: 0xbf}, + // Block 0x9, offset 0x3f + {value: 0x0117, lo: 0x80, hi: 0x81}, + {value: 0x0024, lo: 0x83, hi: 0x87}, + {value: 0x0014, lo: 0x88, hi: 0x89}, + {value: 0x0117, lo: 0x8a, hi: 0xbf}, + // Block 0xa, offset 0x43 + {value: 0x0f13, lo: 0x80, hi: 0x80}, + {value: 0x0316, lo: 0x81, hi: 0x82}, + {value: 0x0716, lo: 0x83, hi: 0x84}, + {value: 0x0316, lo: 0x85, hi: 0x86}, + {value: 0x0f16, lo: 0x87, hi: 0x88}, + {value: 0x0316, lo: 0x89, hi: 0x8a}, + {value: 0x0716, lo: 0x8b, hi: 0x8c}, + {value: 0x0316, lo: 0x8d, hi: 0x8e}, + {value: 0x0f12, lo: 0x8f, hi: 0x8f}, + {value: 0x0117, lo: 0x90, hi: 0xbf}, + // Block 0xb, offset 0x4d + {value: 0x0117, lo: 0x80, hi: 0xaf}, + {value: 0x6553, lo: 0xb1, hi: 0xbf}, + // Block 0xc, offset 0x4f + {value: 0x3013, lo: 0x80, hi: 0x8f}, + {value: 0x6853, lo: 0x90, hi: 0x96}, + {value: 0x0014, lo: 0x99, hi: 0x99}, + {value: 0x0010, lo: 0x9b, hi: 0x9c}, + {value: 0x0010, lo: 0x9e, hi: 0x9e}, + {value: 0x0012, lo: 0xa0, hi: 0xa0}, + {value: 0x6552, lo: 0xa1, hi: 0xaf}, + {value: 0x3012, lo: 0xb0, hi: 0xbf}, + // Block 0xd, offset 0x57 + {value: 0x0034, lo: 0x81, hi: 0x82}, + {value: 0x0024, lo: 0x84, hi: 0x84}, + {value: 0x0034, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0xaa}, + {value: 0x0010, lo: 0xaf, hi: 0xb3}, + {value: 0x0054, lo: 0xb4, hi: 0xb4}, + // Block 0xe, offset 0x5e + {value: 0x0014, lo: 0x80, hi: 0x85}, + {value: 0x0024, lo: 0x90, hi: 0x97}, + {value: 0x0034, lo: 0x98, hi: 0x9a}, + {value: 0x0014, lo: 0x9c, hi: 0x9c}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0xf, offset 0x63 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x8a}, + {value: 0x0034, lo: 0x8b, hi: 0x92}, + {value: 0x0024, lo: 0x93, hi: 0x94}, + {value: 0x0034, lo: 0x95, hi: 0x96}, + {value: 0x0024, lo: 0x97, hi: 0x9b}, + {value: 0x0034, lo: 0x9c, hi: 0x9c}, + {value: 0x0024, lo: 0x9d, hi: 0x9e}, + {value: 0x0034, lo: 0x9f, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0x0010, lo: 0xab, hi: 0xab}, + {value: 0x0010, lo: 0xae, hi: 0xaf}, + {value: 0x0034, lo: 0xb0, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xbf}, + // Block 0x10, offset 0x71 + {value: 0x0010, lo: 0x80, hi: 0xbf}, + // Block 0x11, offset 0x72 + {value: 0x0010, lo: 0x80, hi: 0x93}, + {value: 0x0010, lo: 0x95, hi: 0x95}, + {value: 0x0024, lo: 0x96, hi: 0x9c}, + {value: 0x0014, lo: 0x9d, hi: 0x9d}, + {value: 0x0024, lo: 0x9f, hi: 0xa2}, + {value: 0x0034, lo: 0xa3, hi: 0xa3}, + {value: 0x0024, lo: 0xa4, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xa6}, + {value: 0x0024, lo: 0xa7, hi: 0xa8}, + {value: 0x0034, lo: 0xaa, hi: 0xaa}, + {value: 0x0024, lo: 0xab, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xbc}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x12, offset 0x80 + {value: 0x0014, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0034, lo: 0x91, hi: 0x91}, + {value: 0x0010, lo: 0x92, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb0}, + {value: 0x0034, lo: 0xb1, hi: 0xb1}, + {value: 0x0024, lo: 0xb2, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0024, lo: 0xb5, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb9}, + {value: 0x0024, lo: 0xba, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbc}, + {value: 0x0024, lo: 0xbd, hi: 0xbd}, + {value: 0x0034, lo: 0xbe, hi: 0xbe}, + {value: 0x0024, lo: 0xbf, hi: 0xbf}, + // Block 0x13, offset 0x8f + {value: 0x0024, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0024, lo: 0x83, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x84}, + {value: 0x0024, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0024, lo: 0x87, hi: 0x87}, + {value: 0x0034, lo: 0x88, hi: 0x88}, + {value: 0x0024, lo: 0x89, hi: 0x8a}, + {value: 0x0010, lo: 0x8d, hi: 0xbf}, + // Block 0x14, offset 0x99 + {value: 0x0010, lo: 0x80, hi: 0xa5}, + {value: 0x0014, lo: 0xa6, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + // Block 0x15, offset 0x9c + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0024, lo: 0xab, hi: 0xb1}, + {value: 0x0034, lo: 0xb2, hi: 0xb2}, + {value: 0x0024, lo: 0xb3, hi: 0xb3}, + {value: 0x0014, lo: 0xb4, hi: 0xb5}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0034, lo: 0xbd, hi: 0xbd}, + // Block 0x16, offset 0xa3 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0024, lo: 0x96, hi: 0x99}, + {value: 0x0014, lo: 0x9a, hi: 0x9a}, + {value: 0x0024, lo: 0x9b, hi: 0xa3}, + {value: 0x0014, lo: 0xa4, hi: 0xa4}, + {value: 0x0024, lo: 0xa5, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa8}, + {value: 0x0024, lo: 0xa9, hi: 0xad}, + // Block 0x17, offset 0xab + {value: 0x0010, lo: 0x80, hi: 0x98}, + {value: 0x0034, lo: 0x99, hi: 0x9b}, + {value: 0x0010, lo: 0xa0, hi: 0xaa}, + // Block 0x18, offset 0xae + {value: 0x0010, lo: 0xa0, hi: 0xb4}, + {value: 0x0010, lo: 0xb6, hi: 0xbd}, + // Block 0x19, offset 0xb0 + {value: 0x0034, lo: 0x93, hi: 0x93}, + {value: 0x0024, lo: 0x94, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa2}, + {value: 0x0034, lo: 0xa3, hi: 0xa3}, + {value: 0x0024, lo: 0xa4, hi: 0xa5}, + {value: 0x0034, lo: 0xa6, hi: 0xa6}, + {value: 0x0024, lo: 0xa7, hi: 0xa8}, + {value: 0x0034, lo: 0xa9, hi: 0xa9}, + {value: 0x0024, lo: 0xaa, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xb2}, + {value: 0x0024, lo: 0xb3, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb6}, + {value: 0x0024, lo: 0xb7, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0024, lo: 0xbb, hi: 0xbf}, + // Block 0x1a, offset 0xbf + {value: 0x0014, lo: 0x80, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0xb9}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x1b, offset 0xc5 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x88}, + {value: 0x0010, lo: 0x89, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0024, lo: 0x91, hi: 0x91}, + {value: 0x0034, lo: 0x92, hi: 0x92}, + {value: 0x0024, lo: 0x93, hi: 0x94}, + {value: 0x0014, lo: 0x95, hi: 0x97}, + {value: 0x0010, lo: 0x98, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0014, lo: 0xb1, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xbf}, + // Block 0x1c, offset 0xd3 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb2}, + {value: 0x0010, lo: 0xb6, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x1d, offset 0xde + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8e, hi: 0x8e}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x9c, hi: 0x9d}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xb1}, + {value: 0x0010, lo: 0xbc, hi: 0xbc}, + {value: 0x0024, lo: 0xbe, hi: 0xbe}, + // Block 0x1e, offset 0xeb + {value: 0x0014, lo: 0x81, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8a}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb6}, + {value: 0x0010, lo: 0xb8, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x1f, offset 0xf6 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x82}, + {value: 0x0014, lo: 0x87, hi: 0x88}, + {value: 0x0014, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0014, lo: 0x91, hi: 0x91}, + {value: 0x0010, lo: 0x99, hi: 0x9c}, + {value: 0x0010, lo: 0x9e, hi: 0x9e}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb5}, + // Block 0x20, offset 0x102 + {value: 0x0014, lo: 0x81, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8d}, + {value: 0x0010, lo: 0x8f, hi: 0x91}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x21, offset 0x10c + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x85}, + {value: 0x0014, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x89, hi: 0x89}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb9, hi: 0xb9}, + {value: 0x0014, lo: 0xba, hi: 0xbf}, + // Block 0x22, offset 0x118 + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x23, offset 0x123 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0014, lo: 0x96, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x9c, hi: 0x9d}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + // Block 0x24, offset 0x12f + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8a}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0x95}, + {value: 0x0010, lo: 0x99, hi: 0x9a}, + {value: 0x0010, lo: 0x9c, hi: 0x9c}, + {value: 0x0010, lo: 0x9e, hi: 0x9f}, + {value: 0x0010, lo: 0xa3, hi: 0xa4}, + {value: 0x0010, lo: 0xa8, hi: 0xaa}, + {value: 0x0010, lo: 0xae, hi: 0xb9}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x25, offset 0x13b + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x82}, + {value: 0x0010, lo: 0x86, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + // Block 0x26, offset 0x143 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x83}, + {value: 0x0014, lo: 0x84, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb9}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + {value: 0x0014, lo: 0xbe, hi: 0xbf}, + // Block 0x27, offset 0x14c + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x84}, + {value: 0x0014, lo: 0x86, hi: 0x88}, + {value: 0x0014, lo: 0x8a, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0034, lo: 0x95, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x9a}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + // Block 0x28, offset 0x156 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x29, offset 0x161 + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0014, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x95, hi: 0x96}, + {value: 0x0010, lo: 0x9e, hi: 0x9e}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb1, hi: 0xb2}, + // Block 0x2a, offset 0x16d + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x2b, offset 0x174 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x86, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8e, hi: 0x8e}, + {value: 0x0010, lo: 0x94, hi: 0x97}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xba, hi: 0xbf}, + // Block 0x2c, offset 0x17f + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x96}, + {value: 0x0010, lo: 0x9a, hi: 0xb1}, + {value: 0x0010, lo: 0xb3, hi: 0xbb}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + // Block 0x2d, offset 0x184 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0010, lo: 0x8f, hi: 0x91}, + {value: 0x0014, lo: 0x92, hi: 0x94}, + {value: 0x0014, lo: 0x96, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x9f}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + // Block 0x2e, offset 0x18c + {value: 0x0014, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb4, hi: 0xb7}, + {value: 0x0034, lo: 0xb8, hi: 0xba}, + // Block 0x2f, offset 0x18f + {value: 0x0004, lo: 0x86, hi: 0x86}, + {value: 0x0014, lo: 0x87, hi: 0x87}, + {value: 0x0034, lo: 0x88, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x30, offset 0x194 + {value: 0x0014, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb4, hi: 0xb7}, + {value: 0x0034, lo: 0xb8, hi: 0xba}, + {value: 0x0014, lo: 0xbb, hi: 0xbc}, + // Block 0x31, offset 0x198 + {value: 0x0004, lo: 0x86, hi: 0x86}, + {value: 0x0034, lo: 0x88, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x32, offset 0x19c + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0034, lo: 0x98, hi: 0x99}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0x0034, lo: 0xb5, hi: 0xb5}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + {value: 0x0034, lo: 0xb9, hi: 0xb9}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x33, offset 0x1a3 + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0010, lo: 0x89, hi: 0xac}, + {value: 0x0034, lo: 0xb1, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xba, hi: 0xbd}, + {value: 0x0014, lo: 0xbe, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x34, offset 0x1ac + {value: 0x0034, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0024, lo: 0x82, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x84}, + {value: 0x0024, lo: 0x86, hi: 0x87}, + {value: 0x0010, lo: 0x88, hi: 0x8c}, + {value: 0x0014, lo: 0x8d, hi: 0x97}, + {value: 0x0014, lo: 0x99, hi: 0xbc}, + // Block 0x35, offset 0x1b4 + {value: 0x0034, lo: 0x86, hi: 0x86}, + // Block 0x36, offset 0x1b5 + {value: 0x0010, lo: 0xab, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + {value: 0x0010, lo: 0xb8, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbc}, + {value: 0x0014, lo: 0xbd, hi: 0xbe}, + // Block 0x37, offset 0x1be + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x96, hi: 0x97}, + {value: 0x0014, lo: 0x98, hi: 0x99}, + {value: 0x0014, lo: 0x9e, hi: 0xa0}, + {value: 0x0010, lo: 0xa2, hi: 0xa4}, + {value: 0x0010, lo: 0xa7, hi: 0xad}, + {value: 0x0014, lo: 0xb1, hi: 0xb4}, + // Block 0x38, offset 0x1c5 + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x84}, + {value: 0x0014, lo: 0x85, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8f, hi: 0x9c}, + {value: 0x0014, lo: 0x9d, hi: 0x9d}, + {value: 0x6c53, lo: 0xa0, hi: 0xbf}, + // Block 0x39, offset 0x1cd + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x98}, + {value: 0x0010, lo: 0x9a, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x3a, offset 0x1d3 + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb5}, + {value: 0x0010, lo: 0xb8, hi: 0xbe}, + // Block 0x3b, offset 0x1d8 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x82, hi: 0x85}, + {value: 0x0010, lo: 0x88, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0xbf}, + // Block 0x3c, offset 0x1dc + {value: 0x0010, lo: 0x80, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0x95}, + {value: 0x0010, lo: 0x98, hi: 0xbf}, + // Block 0x3d, offset 0x1df + {value: 0x0010, lo: 0x80, hi: 0x9a}, + {value: 0x0024, lo: 0x9d, hi: 0x9f}, + // Block 0x3e, offset 0x1e1 + {value: 0x0010, lo: 0x80, hi: 0x8f}, + {value: 0x7453, lo: 0xa0, hi: 0xaf}, + {value: 0x7853, lo: 0xb0, hi: 0xbf}, + // Block 0x3f, offset 0x1e4 + {value: 0x7c53, lo: 0x80, hi: 0x8f}, + {value: 0x8053, lo: 0x90, hi: 0x9f}, + {value: 0x7c53, lo: 0xa0, hi: 0xaf}, + {value: 0x0813, lo: 0xb0, hi: 0xb5}, + {value: 0x0892, lo: 0xb8, hi: 0xbd}, + // Block 0x40, offset 0x1e9 + {value: 0x0010, lo: 0x81, hi: 0xbf}, + // Block 0x41, offset 0x1ea + {value: 0x0010, lo: 0x80, hi: 0xac}, + {value: 0x0010, lo: 0xaf, hi: 0xbf}, + // Block 0x42, offset 0x1ec + {value: 0x0010, lo: 0x81, hi: 0x9a}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x43, offset 0x1ee + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0010, lo: 0xae, hi: 0xb8}, + // Block 0x44, offset 0x1f0 + {value: 0x0010, lo: 0x80, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x91}, + {value: 0x0014, lo: 0x92, hi: 0x93}, + {value: 0x0034, lo: 0x94, hi: 0x94}, + {value: 0x0010, lo: 0xa0, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + // Block 0x45, offset 0x1f7 + {value: 0x0010, lo: 0x80, hi: 0x91}, + {value: 0x0014, lo: 0x92, hi: 0x93}, + {value: 0x0010, lo: 0xa0, hi: 0xac}, + {value: 0x0010, lo: 0xae, hi: 0xb0}, + {value: 0x0014, lo: 0xb2, hi: 0xb3}, + // Block 0x46, offset 0x1fc + {value: 0x0014, lo: 0xb4, hi: 0xb5}, + {value: 0x0010, lo: 0xb6, hi: 0xb6}, + {value: 0x0014, lo: 0xb7, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x47, offset 0x200 + {value: 0x0010, lo: 0x80, hi: 0x85}, + {value: 0x0014, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0014, lo: 0x89, hi: 0x91}, + {value: 0x0034, lo: 0x92, hi: 0x92}, + {value: 0x0014, lo: 0x93, hi: 0x93}, + {value: 0x0004, lo: 0x97, hi: 0x97}, + {value: 0x0024, lo: 0x9d, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + // Block 0x48, offset 0x209 + {value: 0x0014, lo: 0x8b, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x49, offset 0x20c + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0xb8}, + // Block 0x4a, offset 0x20f + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0014, lo: 0x85, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0xa8}, + {value: 0x0034, lo: 0xa9, hi: 0xa9}, + {value: 0x0010, lo: 0xaa, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x4b, offset 0x215 + {value: 0x0010, lo: 0x80, hi: 0xb5}, + // Block 0x4c, offset 0x216 + {value: 0x0010, lo: 0x80, hi: 0x9e}, + {value: 0x0014, lo: 0xa0, hi: 0xa2}, + {value: 0x0010, lo: 0xa3, hi: 0xa6}, + {value: 0x0014, lo: 0xa7, hi: 0xa8}, + {value: 0x0010, lo: 0xa9, hi: 0xab}, + {value: 0x0010, lo: 0xb0, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb2}, + {value: 0x0010, lo: 0xb3, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xb9}, + {value: 0x0024, lo: 0xba, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbb}, + // Block 0x4d, offset 0x221 + {value: 0x0010, lo: 0x86, hi: 0x8f}, + // Block 0x4e, offset 0x222 + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x4f, offset 0x223 + {value: 0x0010, lo: 0x80, hi: 0x96}, + {value: 0x0024, lo: 0x97, hi: 0x97}, + {value: 0x0034, lo: 0x98, hi: 0x98}, + {value: 0x0010, lo: 0x99, hi: 0x9a}, + {value: 0x0014, lo: 0x9b, hi: 0x9b}, + // Block 0x50, offset 0x228 + {value: 0x0010, lo: 0x95, hi: 0x95}, + {value: 0x0014, lo: 0x96, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0014, lo: 0x98, hi: 0x9e}, + {value: 0x0034, lo: 0xa0, hi: 0xa0}, + {value: 0x0010, lo: 0xa1, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa2}, + {value: 0x0010, lo: 0xa3, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xac}, + {value: 0x0010, lo: 0xad, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb4}, + {value: 0x0024, lo: 0xb5, hi: 0xbc}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x51, offset 0x235 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0004, lo: 0xa7, hi: 0xa7}, + {value: 0x0024, lo: 0xb0, hi: 0xb4}, + {value: 0x0034, lo: 0xb5, hi: 0xba}, + {value: 0x0024, lo: 0xbb, hi: 0xbc}, + {value: 0x0034, lo: 0xbd, hi: 0xbd}, + {value: 0x0014, lo: 0xbe, hi: 0xbe}, + // Block 0x52, offset 0x23d + {value: 0x0014, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x53, offset 0x245 + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0030, lo: 0x84, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x8b}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0024, lo: 0xab, hi: 0xab}, + {value: 0x0034, lo: 0xac, hi: 0xac}, + {value: 0x0024, lo: 0xad, hi: 0xb3}, + // Block 0x54, offset 0x24e + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa5}, + {value: 0x0010, lo: 0xa6, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa9}, + {value: 0x0030, lo: 0xaa, hi: 0xaa}, + {value: 0x0034, lo: 0xab, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xbf}, + // Block 0x55, offset 0x257 + {value: 0x0010, lo: 0x80, hi: 0xa5}, + {value: 0x0034, lo: 0xa6, hi: 0xa6}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa9}, + {value: 0x0010, lo: 0xaa, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xae}, + {value: 0x0014, lo: 0xaf, hi: 0xb1}, + {value: 0x0030, lo: 0xb2, hi: 0xb3}, + // Block 0x56, offset 0x260 + {value: 0x0010, lo: 0x80, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xb3}, + {value: 0x0010, lo: 0xb4, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + // Block 0x57, offset 0x265 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x8d, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbd}, + // Block 0x58, offset 0x268 + {value: 0x31ea, lo: 0x80, hi: 0x80}, + {value: 0x326a, lo: 0x81, hi: 0x81}, + {value: 0x32ea, lo: 0x82, hi: 0x82}, + {value: 0x336a, lo: 0x83, hi: 0x83}, + {value: 0x33ea, lo: 0x84, hi: 0x84}, + {value: 0x346a, lo: 0x85, hi: 0x85}, + {value: 0x34ea, lo: 0x86, hi: 0x86}, + {value: 0x356a, lo: 0x87, hi: 0x87}, + {value: 0x35ea, lo: 0x88, hi: 0x88}, + {value: 0x8353, lo: 0x90, hi: 0xba}, + {value: 0x8353, lo: 0xbd, hi: 0xbf}, + // Block 0x59, offset 0x273 + {value: 0x0024, lo: 0x90, hi: 0x92}, + {value: 0x0034, lo: 0x94, hi: 0x99}, + {value: 0x0024, lo: 0x9a, hi: 0x9b}, + {value: 0x0034, lo: 0x9c, hi: 0x9f}, + {value: 0x0024, lo: 0xa0, hi: 0xa0}, + {value: 0x0010, lo: 0xa1, hi: 0xa1}, + {value: 0x0034, lo: 0xa2, hi: 0xa8}, + {value: 0x0010, lo: 0xa9, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xb3}, + {value: 0x0024, lo: 0xb4, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb7}, + {value: 0x0024, lo: 0xb8, hi: 0xb9}, + {value: 0x0010, lo: 0xba, hi: 0xba}, + // Block 0x5a, offset 0x281 + {value: 0x0012, lo: 0x80, hi: 0xab}, + {value: 0x0015, lo: 0xac, hi: 0xbf}, + // Block 0x5b, offset 0x283 + {value: 0x0015, lo: 0x80, hi: 0xaa}, + {value: 0x0012, lo: 0xab, hi: 0xb7}, + {value: 0x0015, lo: 0xb8, hi: 0xb8}, + {value: 0x8752, lo: 0xb9, hi: 0xb9}, + {value: 0x0012, lo: 0xba, hi: 0xbc}, + {value: 0x8b52, lo: 0xbd, hi: 0xbd}, + {value: 0x0012, lo: 0xbe, hi: 0xbf}, + // Block 0x5c, offset 0x28a + {value: 0x0012, lo: 0x80, hi: 0x8d}, + {value: 0x8f52, lo: 0x8e, hi: 0x8e}, + {value: 0x0012, lo: 0x8f, hi: 0x9a}, + {value: 0x0015, lo: 0x9b, hi: 0xbf}, + // Block 0x5d, offset 0x28e + {value: 0x0024, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0024, lo: 0x83, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0024, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x90}, + {value: 0x0024, lo: 0x91, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb9}, + {value: 0x0024, lo: 0xbb, hi: 0xbb}, + {value: 0x0034, lo: 0xbc, hi: 0xbd}, + {value: 0x0024, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x5e, offset 0x29a + {value: 0x0117, lo: 0x80, hi: 0xbf}, + // Block 0x5f, offset 0x29b + {value: 0x0117, lo: 0x80, hi: 0x95}, + {value: 0x369a, lo: 0x96, hi: 0x96}, + {value: 0x374a, lo: 0x97, hi: 0x97}, + {value: 0x37fa, lo: 0x98, hi: 0x98}, + {value: 0x38aa, lo: 0x99, hi: 0x99}, + {value: 0x395a, lo: 0x9a, hi: 0x9a}, + {value: 0x3a0a, lo: 0x9b, hi: 0x9b}, + {value: 0x0012, lo: 0x9c, hi: 0x9d}, + {value: 0x3abb, lo: 0x9e, hi: 0x9e}, + {value: 0x0012, lo: 0x9f, hi: 0x9f}, + {value: 0x0117, lo: 0xa0, hi: 0xbf}, + // Block 0x60, offset 0x2a6 + {value: 0x0812, lo: 0x80, hi: 0x87}, + {value: 0x0813, lo: 0x88, hi: 0x8f}, + {value: 0x0812, lo: 0x90, hi: 0x95}, + {value: 0x0813, lo: 0x98, hi: 0x9d}, + {value: 0x0812, lo: 0xa0, hi: 0xa7}, + {value: 0x0813, lo: 0xa8, hi: 0xaf}, + {value: 0x0812, lo: 0xb0, hi: 0xb7}, + {value: 0x0813, lo: 0xb8, hi: 0xbf}, + // Block 0x61, offset 0x2ae + {value: 0x0004, lo: 0x8b, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8f}, + {value: 0x0054, lo: 0x98, hi: 0x99}, + {value: 0x0054, lo: 0xa4, hi: 0xa4}, + {value: 0x0054, lo: 0xa7, hi: 0xa7}, + {value: 0x0014, lo: 0xaa, hi: 0xae}, + {value: 0x0010, lo: 0xaf, hi: 0xaf}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x62, offset 0x2b6 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x94, hi: 0x94}, + {value: 0x0014, lo: 0xa0, hi: 0xa4}, + {value: 0x0014, lo: 0xa6, hi: 0xaf}, + {value: 0x0015, lo: 0xb1, hi: 0xb1}, + {value: 0x0015, lo: 0xbf, hi: 0xbf}, + // Block 0x63, offset 0x2bc + {value: 0x0015, lo: 0x90, hi: 0x9c}, + // Block 0x64, offset 0x2bd + {value: 0x0024, lo: 0x90, hi: 0x91}, + {value: 0x0034, lo: 0x92, hi: 0x93}, + {value: 0x0024, lo: 0x94, hi: 0x97}, + {value: 0x0034, lo: 0x98, hi: 0x9a}, + {value: 0x0024, lo: 0x9b, hi: 0x9c}, + {value: 0x0014, lo: 0x9d, hi: 0xa0}, + {value: 0x0024, lo: 0xa1, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa4}, + {value: 0x0034, lo: 0xa5, hi: 0xa6}, + {value: 0x0024, lo: 0xa7, hi: 0xa7}, + {value: 0x0034, lo: 0xa8, hi: 0xa8}, + {value: 0x0024, lo: 0xa9, hi: 0xa9}, + {value: 0x0034, lo: 0xaa, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb0}, + // Block 0x65, offset 0x2cb + {value: 0x0016, lo: 0x85, hi: 0x86}, + {value: 0x0012, lo: 0x87, hi: 0x89}, + {value: 0xa452, lo: 0x8e, hi: 0x8e}, + {value: 0x1013, lo: 0xa0, hi: 0xaf}, + {value: 0x1012, lo: 0xb0, hi: 0xbf}, + // Block 0x66, offset 0x2d0 + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0716, lo: 0x83, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x88}, + // Block 0x67, offset 0x2d3 + {value: 0xa753, lo: 0xb6, hi: 0xb7}, + {value: 0xaa53, lo: 0xb8, hi: 0xb9}, + {value: 0xad53, lo: 0xba, hi: 0xbb}, + {value: 0xaa53, lo: 0xbc, hi: 0xbd}, + {value: 0xa753, lo: 0xbe, hi: 0xbf}, + // Block 0x68, offset 0x2d8 + {value: 0x3013, lo: 0x80, hi: 0x8f}, + {value: 0x6553, lo: 0x90, hi: 0x9f}, + {value: 0xb053, lo: 0xa0, hi: 0xae}, + {value: 0x3012, lo: 0xb0, hi: 0xbf}, + // Block 0x69, offset 0x2dc + {value: 0x0117, lo: 0x80, hi: 0xa3}, + {value: 0x0012, lo: 0xa4, hi: 0xa4}, + {value: 0x0716, lo: 0xab, hi: 0xac}, + {value: 0x0316, lo: 0xad, hi: 0xae}, + {value: 0x0024, lo: 0xaf, hi: 0xb1}, + {value: 0x0117, lo: 0xb2, hi: 0xb3}, + // Block 0x6a, offset 0x2e2 + {value: 0x6c52, lo: 0x80, hi: 0x9f}, + {value: 0x7052, lo: 0xa0, hi: 0xa5}, + {value: 0x7052, lo: 0xa7, hi: 0xa7}, + {value: 0x7052, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x6b, offset 0x2e7 + {value: 0x0010, lo: 0x80, hi: 0xa7}, + {value: 0x0014, lo: 0xaf, hi: 0xaf}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x6c, offset 0x2ea + {value: 0x0010, lo: 0x80, hi: 0x96}, + {value: 0x0010, lo: 0xa0, hi: 0xa6}, + {value: 0x0010, lo: 0xa8, hi: 0xae}, + {value: 0x0010, lo: 0xb0, hi: 0xb6}, + {value: 0x0010, lo: 0xb8, hi: 0xbe}, + // Block 0x6d, offset 0x2ef + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x88, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x9e}, + {value: 0x0024, lo: 0xa0, hi: 0xbf}, + // Block 0x6e, offset 0x2f4 + {value: 0x0014, lo: 0xaf, hi: 0xaf}, + // Block 0x6f, offset 0x2f5 + {value: 0x0014, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0xaa, hi: 0xad}, + {value: 0x0030, lo: 0xae, hi: 0xaf}, + {value: 0x0004, lo: 0xb1, hi: 0xb5}, + {value: 0x0014, lo: 0xbb, hi: 0xbb}, + {value: 0x0010, lo: 0xbc, hi: 0xbc}, + // Block 0x70, offset 0x2fb + {value: 0x0034, lo: 0x99, hi: 0x9a}, + {value: 0x0004, lo: 0x9b, hi: 0x9e}, + // Block 0x71, offset 0x2fd + {value: 0x0004, lo: 0xbc, hi: 0xbe}, + // Block 0x72, offset 0x2fe + {value: 0x0010, lo: 0x85, hi: 0xaf}, + {value: 0x0010, lo: 0xb1, hi: 0xbf}, + // Block 0x73, offset 0x300 + {value: 0x0010, lo: 0x80, hi: 0x8e}, + {value: 0x0010, lo: 0xa0, hi: 0xba}, + // Block 0x74, offset 0x302 + {value: 0x0010, lo: 0x80, hi: 0x94}, + {value: 0x0014, lo: 0x95, hi: 0x95}, + {value: 0x0010, lo: 0x96, hi: 0xbf}, + // Block 0x75, offset 0x305 + {value: 0x0010, lo: 0x80, hi: 0x8c}, + // Block 0x76, offset 0x306 + {value: 0x0010, lo: 0x90, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbd}, + // Block 0x77, offset 0x308 + {value: 0x0010, lo: 0x80, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0010, lo: 0x90, hi: 0xab}, + // Block 0x78, offset 0x30b + {value: 0x0117, lo: 0x80, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xae}, + {value: 0x0024, lo: 0xaf, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb2}, + {value: 0x0024, lo: 0xb4, hi: 0xbd}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x79, offset 0x311 + {value: 0x0117, lo: 0x80, hi: 0x9b}, + {value: 0x0015, lo: 0x9c, hi: 0x9d}, + {value: 0x0024, lo: 0x9e, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x7a, offset 0x315 + {value: 0x0010, lo: 0x80, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb1}, + // Block 0x7b, offset 0x317 + {value: 0x0004, lo: 0x80, hi: 0x96}, + {value: 0x0014, lo: 0x97, hi: 0xa1}, + {value: 0x0117, lo: 0xa2, hi: 0xaf}, + {value: 0x0012, lo: 0xb0, hi: 0xb1}, + {value: 0x0117, lo: 0xb2, hi: 0xbf}, + // Block 0x7c, offset 0x31c + {value: 0x0117, lo: 0x80, hi: 0xaf}, + {value: 0x0015, lo: 0xb0, hi: 0xb0}, + {value: 0x0012, lo: 0xb1, hi: 0xb8}, + {value: 0x0316, lo: 0xb9, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x8753, lo: 0xbd, hi: 0xbd}, + {value: 0x0117, lo: 0xbe, hi: 0xbf}, + // Block 0x7d, offset 0x323 + {value: 0x0117, lo: 0x82, hi: 0x83}, + {value: 0x6553, lo: 0x84, hi: 0x84}, + {value: 0x908b, lo: 0x85, hi: 0x85}, + {value: 0x8f53, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0xb7, hi: 0xb7}, + {value: 0x0015, lo: 0xb8, hi: 0xb9}, + {value: 0x0012, lo: 0xba, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbf}, + // Block 0x7e, offset 0x32b + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x8a}, + {value: 0x0014, lo: 0x8b, hi: 0x8b}, + {value: 0x0010, lo: 0x8c, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xa6}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + // Block 0x7f, offset 0x334 + {value: 0x0010, lo: 0x80, hi: 0xb3}, + // Block 0x80, offset 0x335 + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x84}, + {value: 0x0014, lo: 0x85, hi: 0x85}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0024, lo: 0xa0, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xb7}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0010, lo: 0xbd, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x81, offset 0x33e + {value: 0x0010, lo: 0x80, hi: 0xa5}, + {value: 0x0014, lo: 0xa6, hi: 0xaa}, + {value: 0x0034, lo: 0xab, hi: 0xad}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x82, offset 0x342 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0014, lo: 0x87, hi: 0x91}, + {value: 0x0010, lo: 0x92, hi: 0x92}, + {value: 0x0030, lo: 0x93, hi: 0x93}, + {value: 0x0010, lo: 0xa0, hi: 0xbc}, + // Block 0x83, offset 0x347 + {value: 0x0014, lo: 0x80, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0xb2}, + {value: 0x0034, lo: 0xb3, hi: 0xb3}, + {value: 0x0010, lo: 0xb4, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xb9}, + {value: 0x0010, lo: 0xba, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x84, offset 0x34f + {value: 0x0030, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0014, lo: 0xa5, hi: 0xa5}, + {value: 0x0004, lo: 0xa6, hi: 0xa6}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0x85, offset 0x355 + {value: 0x0010, lo: 0x80, hi: 0xa8}, + {value: 0x0014, lo: 0xa9, hi: 0xae}, + {value: 0x0010, lo: 0xaf, hi: 0xb0}, + {value: 0x0014, lo: 0xb1, hi: 0xb2}, + {value: 0x0010, lo: 0xb3, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb6}, + // Block 0x86, offset 0x35b + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0010, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0004, lo: 0xb0, hi: 0xb0}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + // Block 0x87, offset 0x365 + {value: 0x0024, lo: 0xb0, hi: 0xb0}, + {value: 0x0024, lo: 0xb2, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0024, lo: 0xb7, hi: 0xb8}, + {value: 0x0024, lo: 0xbe, hi: 0xbf}, + // Block 0x88, offset 0x36a + {value: 0x0024, lo: 0x81, hi: 0x81}, + {value: 0x0004, lo: 0x9d, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xaf}, + {value: 0x0010, lo: 0xb2, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb6}, + // Block 0x89, offset 0x373 + {value: 0x0010, lo: 0x81, hi: 0x86}, + {value: 0x0010, lo: 0x89, hi: 0x8e}, + {value: 0x0010, lo: 0x91, hi: 0x96}, + {value: 0x0010, lo: 0xa0, hi: 0xa6}, + {value: 0x0010, lo: 0xa8, hi: 0xae}, + {value: 0x0012, lo: 0xb0, hi: 0xbf}, + // Block 0x8a, offset 0x379 + {value: 0x0012, lo: 0x80, hi: 0x92}, + {value: 0xb352, lo: 0x93, hi: 0x93}, + {value: 0x0012, lo: 0x94, hi: 0x9a}, + {value: 0x0014, lo: 0x9b, hi: 0x9b}, + {value: 0x0015, lo: 0x9c, hi: 0x9f}, + {value: 0x0012, lo: 0xa0, hi: 0xa7}, + {value: 0x74d2, lo: 0xb0, hi: 0xbf}, + // Block 0x8b, offset 0x380 + {value: 0x78d2, lo: 0x80, hi: 0x8f}, + {value: 0x7cd2, lo: 0x90, hi: 0x9f}, + {value: 0x80d2, lo: 0xa0, hi: 0xaf}, + {value: 0x7cd2, lo: 0xb0, hi: 0xbf}, + // Block 0x8c, offset 0x384 + {value: 0x0010, lo: 0x80, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xa5}, + {value: 0x0010, lo: 0xa6, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa8}, + {value: 0x0010, lo: 0xa9, hi: 0xaa}, + {value: 0x0010, lo: 0xac, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0x8d, offset 0x38c + {value: 0x0010, lo: 0x80, hi: 0xa3}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x8e, offset 0x38e + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x8b, hi: 0xbb}, + // Block 0x8f, offset 0x390 + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x83, hi: 0x84}, + {value: 0x0010, lo: 0x86, hi: 0xbf}, + // Block 0x90, offset 0x393 + {value: 0x0010, lo: 0x80, hi: 0xb1}, + {value: 0x0004, lo: 0xb2, hi: 0xbf}, + // Block 0x91, offset 0x395 + {value: 0x0004, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x93, hi: 0xbf}, + // Block 0x92, offset 0x397 + {value: 0x0010, lo: 0x80, hi: 0xbd}, + // Block 0x93, offset 0x398 + {value: 0x0010, lo: 0x90, hi: 0xbf}, + // Block 0x94, offset 0x399 + {value: 0x0010, lo: 0x80, hi: 0x8f}, + {value: 0x0010, lo: 0x92, hi: 0xbf}, + // Block 0x95, offset 0x39b + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0010, lo: 0xb0, hi: 0xbb}, + // Block 0x96, offset 0x39d + {value: 0x0014, lo: 0x80, hi: 0x8f}, + {value: 0x0054, lo: 0x93, hi: 0x93}, + {value: 0x0024, lo: 0xa0, hi: 0xa6}, + {value: 0x0034, lo: 0xa7, hi: 0xad}, + {value: 0x0024, lo: 0xae, hi: 0xaf}, + {value: 0x0010, lo: 0xb3, hi: 0xb4}, + // Block 0x97, offset 0x3a3 + {value: 0x0010, lo: 0x8d, hi: 0x8f}, + {value: 0x0054, lo: 0x92, hi: 0x92}, + {value: 0x0054, lo: 0x95, hi: 0x95}, + {value: 0x0010, lo: 0xb0, hi: 0xb4}, + {value: 0x0010, lo: 0xb6, hi: 0xbf}, + // Block 0x98, offset 0x3a8 + {value: 0x0010, lo: 0x80, hi: 0xbc}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x99, offset 0x3aa + {value: 0x0054, lo: 0x87, hi: 0x87}, + {value: 0x0054, lo: 0x8e, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0054, lo: 0x9a, hi: 0x9a}, + {value: 0x5f53, lo: 0xa1, hi: 0xba}, + {value: 0x0004, lo: 0xbe, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x9a, offset 0x3b1 + {value: 0x0004, lo: 0x80, hi: 0x80}, + {value: 0x5f52, lo: 0x81, hi: 0x9a}, + {value: 0x0004, lo: 0xb0, hi: 0xb0}, + // Block 0x9b, offset 0x3b4 + {value: 0x0014, lo: 0x9e, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xbe}, + // Block 0x9c, offset 0x3b6 + {value: 0x0010, lo: 0x82, hi: 0x87}, + {value: 0x0010, lo: 0x8a, hi: 0x8f}, + {value: 0x0010, lo: 0x92, hi: 0x97}, + {value: 0x0010, lo: 0x9a, hi: 0x9c}, + {value: 0x0004, lo: 0xa3, hi: 0xa3}, + {value: 0x0014, lo: 0xb9, hi: 0xbb}, + // Block 0x9d, offset 0x3bc + {value: 0x0010, lo: 0x80, hi: 0x8b}, + {value: 0x0010, lo: 0x8d, hi: 0xa6}, + {value: 0x0010, lo: 0xa8, hi: 0xba}, + {value: 0x0010, lo: 0xbc, hi: 0xbd}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x9e, offset 0x3c1 + {value: 0x0010, lo: 0x80, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x9d}, + // Block 0x9f, offset 0x3c3 + {value: 0x0010, lo: 0x80, hi: 0xba}, + // Block 0xa0, offset 0x3c4 + {value: 0x0010, lo: 0x80, hi: 0xb4}, + // Block 0xa1, offset 0x3c5 + {value: 0x0034, lo: 0xbd, hi: 0xbd}, + // Block 0xa2, offset 0x3c6 + {value: 0x0010, lo: 0x80, hi: 0x9c}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0xa3, offset 0x3c8 + {value: 0x0010, lo: 0x80, hi: 0x90}, + {value: 0x0034, lo: 0xa0, hi: 0xa0}, + // Block 0xa4, offset 0x3ca + {value: 0x0010, lo: 0x80, hi: 0x9f}, + {value: 0x0010, lo: 0xad, hi: 0xbf}, + // Block 0xa5, offset 0x3cc + {value: 0x0010, lo: 0x80, hi: 0x8a}, + {value: 0x0010, lo: 0x90, hi: 0xb5}, + {value: 0x0024, lo: 0xb6, hi: 0xba}, + // Block 0xa6, offset 0x3cf + {value: 0x0010, lo: 0x80, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0xa7, offset 0x3d1 + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x88, hi: 0x8f}, + {value: 0x0010, lo: 0x91, hi: 0x95}, + // Block 0xa8, offset 0x3d4 + {value: 0x2813, lo: 0x80, hi: 0x87}, + {value: 0x3813, lo: 0x88, hi: 0x8f}, + {value: 0x2813, lo: 0x90, hi: 0x97}, + {value: 0xb653, lo: 0x98, hi: 0x9f}, + {value: 0xb953, lo: 0xa0, hi: 0xa7}, + {value: 0x2812, lo: 0xa8, hi: 0xaf}, + {value: 0x3812, lo: 0xb0, hi: 0xb7}, + {value: 0x2812, lo: 0xb8, hi: 0xbf}, + // Block 0xa9, offset 0x3dc + {value: 0xb652, lo: 0x80, hi: 0x87}, + {value: 0xb952, lo: 0x88, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0xbf}, + // Block 0xaa, offset 0x3df + {value: 0x0010, lo: 0x80, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0xb953, lo: 0xb0, hi: 0xb7}, + {value: 0xb653, lo: 0xb8, hi: 0xbf}, + // Block 0xab, offset 0x3e3 + {value: 0x2813, lo: 0x80, hi: 0x87}, + {value: 0x3813, lo: 0x88, hi: 0x8f}, + {value: 0x2813, lo: 0x90, hi: 0x93}, + {value: 0xb952, lo: 0x98, hi: 0x9f}, + {value: 0xb652, lo: 0xa0, hi: 0xa7}, + {value: 0x2812, lo: 0xa8, hi: 0xaf}, + {value: 0x3812, lo: 0xb0, hi: 0xb7}, + {value: 0x2812, lo: 0xb8, hi: 0xbb}, + // Block 0xac, offset 0x3eb + {value: 0x0010, lo: 0x80, hi: 0xa7}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xad, offset 0x3ed + {value: 0x0010, lo: 0x80, hi: 0xa3}, + // Block 0xae, offset 0x3ee + {value: 0x0010, lo: 0x80, hi: 0xb6}, + // Block 0xaf, offset 0x3ef + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xa7}, + // Block 0xb0, offset 0x3f1 + {value: 0x0010, lo: 0x80, hi: 0x85}, + {value: 0x0010, lo: 0x88, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0xb5}, + {value: 0x0010, lo: 0xb7, hi: 0xb8}, + {value: 0x0010, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xb1, offset 0x3f7 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xb6}, + // Block 0xb2, offset 0x3f9 + {value: 0x0010, lo: 0x80, hi: 0x9e}, + // Block 0xb3, offset 0x3fa + {value: 0x0010, lo: 0xa0, hi: 0xb2}, + {value: 0x0010, lo: 0xb4, hi: 0xb5}, + // Block 0xb4, offset 0x3fc + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xb9}, + // Block 0xb5, offset 0x3fe + {value: 0x0010, lo: 0x80, hi: 0xb7}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0xb6, offset 0x400 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x83}, + {value: 0x0014, lo: 0x85, hi: 0x86}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0014, lo: 0x8e, hi: 0x8e}, + {value: 0x0024, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x93}, + {value: 0x0010, lo: 0x95, hi: 0x97}, + {value: 0x0010, lo: 0x99, hi: 0xb5}, + {value: 0x0024, lo: 0xb8, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xb7, offset 0x40d + {value: 0x0010, lo: 0xa0, hi: 0xbc}, + // Block 0xb8, offset 0x40e + {value: 0x0010, lo: 0x80, hi: 0x9c}, + // Block 0xb9, offset 0x40f + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0010, lo: 0x89, hi: 0xa4}, + {value: 0x0024, lo: 0xa5, hi: 0xa5}, + {value: 0x0034, lo: 0xa6, hi: 0xa6}, + // Block 0xba, offset 0x413 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xb2}, + // Block 0xbb, offset 0x415 + {value: 0x0010, lo: 0x80, hi: 0x91}, + // Block 0xbc, offset 0x416 + {value: 0x0010, lo: 0x80, hi: 0x88}, + // Block 0xbd, offset 0x417 + {value: 0x5653, lo: 0x80, hi: 0xb2}, + // Block 0xbe, offset 0x418 + {value: 0x5652, lo: 0x80, hi: 0xb2}, + // Block 0xbf, offset 0x419 + {value: 0x0010, lo: 0x80, hi: 0xa3}, + {value: 0x0024, lo: 0xa4, hi: 0xa7}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xc0, offset 0x41c + {value: 0x0010, lo: 0x80, hi: 0x9c}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xc1, offset 0x41f + {value: 0x0010, lo: 0x80, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x87}, + {value: 0x0024, lo: 0x88, hi: 0x8a}, + {value: 0x0034, lo: 0x8b, hi: 0x8b}, + {value: 0x0024, lo: 0x8c, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x90}, + // Block 0xc2, offset 0x425 + {value: 0x0010, lo: 0xa0, hi: 0xb6}, + // Block 0xc3, offset 0x426 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbf}, + // Block 0xc4, offset 0x42a + {value: 0x0014, lo: 0x80, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xc5, offset 0x42e + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb6}, + {value: 0x0010, lo: 0xb7, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0014, lo: 0xbd, hi: 0xbd}, + // Block 0xc6, offset 0x434 + {value: 0x0014, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0xa8}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xc7, offset 0x437 + {value: 0x0024, lo: 0x80, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0xa6}, + {value: 0x0014, lo: 0xa7, hi: 0xab}, + {value: 0x0010, lo: 0xac, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xb2}, + {value: 0x0034, lo: 0xb3, hi: 0xb4}, + {value: 0x0010, lo: 0xb6, hi: 0xbf}, + // Block 0xc8, offset 0x43e + {value: 0x0010, lo: 0x84, hi: 0x86}, + {value: 0x0010, lo: 0x90, hi: 0xb2}, + {value: 0x0034, lo: 0xb3, hi: 0xb3}, + {value: 0x0010, lo: 0xb6, hi: 0xb6}, + // Block 0xc9, offset 0x442 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xca, offset 0x446 + {value: 0x0030, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x84}, + {value: 0x0014, lo: 0x89, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0014, lo: 0x8b, hi: 0x8c}, + {value: 0x0010, lo: 0x90, hi: 0x9a}, + {value: 0x0010, lo: 0x9c, hi: 0x9c}, + // Block 0xcb, offset 0x44d + {value: 0x0010, lo: 0x80, hi: 0x91}, + {value: 0x0010, lo: 0x93, hi: 0xae}, + {value: 0x0014, lo: 0xaf, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0014, lo: 0xb4, hi: 0xb4}, + {value: 0x0030, lo: 0xb5, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb6}, + {value: 0x0014, lo: 0xb7, hi: 0xb7}, + {value: 0x0014, lo: 0xbe, hi: 0xbe}, + // Block 0xcc, offset 0x456 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x88, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8d}, + {value: 0x0010, lo: 0x8f, hi: 0x9d}, + {value: 0x0010, lo: 0x9f, hi: 0xa8}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xcd, offset 0x45c + {value: 0x0010, lo: 0x80, hi: 0x9e}, + {value: 0x0014, lo: 0x9f, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa2}, + {value: 0x0014, lo: 0xa3, hi: 0xa8}, + {value: 0x0034, lo: 0xa9, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xce, offset 0x462 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbb, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0xcf, offset 0x46c + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0030, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x9d, hi: 0xa3}, + {value: 0x0024, lo: 0xa6, hi: 0xac}, + {value: 0x0024, lo: 0xb0, hi: 0xb4}, + // Block 0xd0, offset 0x476 + {value: 0x0010, lo: 0x80, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbf}, + // Block 0xd1, offset 0x478 + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x8a}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0024, lo: 0x9e, hi: 0x9e}, + {value: 0x0010, lo: 0x9f, hi: 0x9f}, + // Block 0xd2, offset 0x481 + {value: 0x0010, lo: 0x80, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb8}, + {value: 0x0010, lo: 0xb9, hi: 0xb9}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0xd3, offset 0x487 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0x85}, + {value: 0x0010, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0xd4, offset 0x48d + {value: 0x0010, lo: 0x80, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb5}, + {value: 0x0010, lo: 0xb8, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xd5, offset 0x493 + {value: 0x0034, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x98, hi: 0x9b}, + {value: 0x0014, lo: 0x9c, hi: 0x9d}, + // Block 0xd6, offset 0x496 + {value: 0x0010, lo: 0x80, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbc}, + {value: 0x0014, lo: 0xbd, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xd7, offset 0x49c + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x84, hi: 0x84}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0xd8, offset 0x49f + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0014, lo: 0xab, hi: 0xab}, + {value: 0x0010, lo: 0xac, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb5}, + {value: 0x0030, lo: 0xb6, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + {value: 0x0010, lo: 0xb8, hi: 0xb8}, + // Block 0xd9, offset 0x4a8 + {value: 0x0010, lo: 0x80, hi: 0x89}, + // Block 0xda, offset 0x4a9 + {value: 0x0014, lo: 0x9d, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa5}, + {value: 0x0010, lo: 0xa6, hi: 0xa6}, + {value: 0x0014, lo: 0xa7, hi: 0xaa}, + {value: 0x0034, lo: 0xab, hi: 0xab}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xdb, offset 0x4b0 + {value: 0x0010, lo: 0x80, hi: 0xae}, + {value: 0x0014, lo: 0xaf, hi: 0xb7}, + {value: 0x0010, lo: 0xb8, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + // Block 0xdc, offset 0x4b4 + {value: 0x5f53, lo: 0xa0, hi: 0xbf}, + // Block 0xdd, offset 0x4b5 + {value: 0x5f52, lo: 0x80, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xde, offset 0x4b8 + {value: 0x0010, lo: 0xa0, hi: 0xa7}, + {value: 0x0010, lo: 0xaa, hi: 0xbf}, + // Block 0xdf, offset 0x4ba + {value: 0x0010, lo: 0x80, hi: 0x93}, + {value: 0x0014, lo: 0x94, hi: 0x97}, + {value: 0x0014, lo: 0x9a, hi: 0x9b}, + {value: 0x0010, lo: 0x9c, hi: 0x9f}, + {value: 0x0034, lo: 0xa0, hi: 0xa0}, + {value: 0x0010, lo: 0xa1, hi: 0xa1}, + {value: 0x0010, lo: 0xa3, hi: 0xa4}, + // Block 0xe0, offset 0x4c1 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x8a}, + {value: 0x0010, lo: 0x8b, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb8}, + {value: 0x0010, lo: 0xb9, hi: 0xba}, + {value: 0x0014, lo: 0xbb, hi: 0xbe}, + // Block 0xe1, offset 0x4c9 + {value: 0x0034, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0014, lo: 0x91, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x98}, + {value: 0x0014, lo: 0x99, hi: 0x9b}, + {value: 0x0010, lo: 0x9c, hi: 0xbf}, + // Block 0xe2, offset 0x4cf + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0014, lo: 0x8a, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0014, lo: 0x98, hi: 0x98}, + {value: 0x0034, lo: 0x99, hi: 0x99}, + {value: 0x0010, lo: 0x9d, hi: 0x9d}, + // Block 0xe3, offset 0x4d5 + {value: 0x0010, lo: 0x80, hi: 0xb8}, + // Block 0xe4, offset 0x4d6 + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb6}, + {value: 0x0014, lo: 0xb8, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xe5, offset 0x4dc + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xb2, hi: 0xbf}, + // Block 0xe6, offset 0x4df + {value: 0x0010, lo: 0x80, hi: 0x8f}, + {value: 0x0014, lo: 0x92, hi: 0xa7}, + {value: 0x0010, lo: 0xa9, hi: 0xa9}, + {value: 0x0014, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb4, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb6}, + // Block 0xe7, offset 0x4e7 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x88, hi: 0x89}, + {value: 0x0010, lo: 0x8b, hi: 0xb0}, + {value: 0x0014, lo: 0xb1, hi: 0xb6}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0014, lo: 0xbc, hi: 0xbd}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0xe8, offset 0x4ee + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x85}, + {value: 0x0010, lo: 0x86, hi: 0x86}, + {value: 0x0014, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xa0, hi: 0xa5}, + {value: 0x0010, lo: 0xa7, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xbf}, + // Block 0xe9, offset 0x4f8 + {value: 0x0010, lo: 0x80, hi: 0x8e}, + {value: 0x0014, lo: 0x90, hi: 0x91}, + {value: 0x0010, lo: 0x93, hi: 0x94}, + {value: 0x0014, lo: 0x95, hi: 0x95}, + {value: 0x0010, lo: 0x96, hi: 0x96}, + {value: 0x0034, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x98, hi: 0x98}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + // Block 0xea, offset 0x500 + {value: 0x0010, lo: 0xa0, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb6}, + // Block 0xeb, offset 0x503 + {value: 0x0010, lo: 0x80, hi: 0x99}, + // Block 0xec, offset 0x504 + {value: 0x0010, lo: 0x80, hi: 0xae}, + // Block 0xed, offset 0x505 + {value: 0x0010, lo: 0x80, hi: 0x83}, + // Block 0xee, offset 0x506 + {value: 0x0010, lo: 0x80, hi: 0xae}, + {value: 0x0014, lo: 0xb0, hi: 0xb8}, + // Block 0xef, offset 0x508 + {value: 0x0010, lo: 0x80, hi: 0x86}, + // Block 0xf0, offset 0x509 + {value: 0x0010, lo: 0x80, hi: 0x9e}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + // Block 0xf1, offset 0x50b + {value: 0x0010, lo: 0x90, hi: 0xad}, + {value: 0x0034, lo: 0xb0, hi: 0xb4}, + // Block 0xf2, offset 0x50d + {value: 0x0010, lo: 0x80, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb6}, + // Block 0xf3, offset 0x50f + {value: 0x0014, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xa3, hi: 0xb7}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0xf4, offset 0x513 + {value: 0x0010, lo: 0x80, hi: 0x8f}, + // Block 0xf5, offset 0x514 + {value: 0x2013, lo: 0x80, hi: 0x9f}, + {value: 0x2012, lo: 0xa0, hi: 0xbf}, + // Block 0xf6, offset 0x516 + {value: 0x0010, lo: 0x80, hi: 0x8a}, + {value: 0x0014, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0xbf}, + // Block 0xf7, offset 0x519 + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0014, lo: 0x8f, hi: 0x9f}, + // Block 0xf8, offset 0x51b + {value: 0x0014, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa3, hi: 0xa3}, + // Block 0xf9, offset 0x51d + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xbc}, + // Block 0xfa, offset 0x51f + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0014, lo: 0x9d, hi: 0x9d}, + {value: 0x0034, lo: 0x9e, hi: 0x9e}, + {value: 0x0014, lo: 0xa0, hi: 0xa3}, + // Block 0xfb, offset 0x524 + {value: 0x0030, lo: 0xa5, hi: 0xa6}, + {value: 0x0034, lo: 0xa7, hi: 0xa9}, + {value: 0x0030, lo: 0xad, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbf}, + // Block 0xfc, offset 0x529 + {value: 0x0034, lo: 0x80, hi: 0x82}, + {value: 0x0024, lo: 0x85, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8b}, + {value: 0x0024, lo: 0xaa, hi: 0xad}, + // Block 0xfd, offset 0x52d + {value: 0x0024, lo: 0x82, hi: 0x84}, + // Block 0xfe, offset 0x52e + {value: 0x0013, lo: 0x80, hi: 0x99}, + {value: 0x0012, lo: 0x9a, hi: 0xb3}, + {value: 0x0013, lo: 0xb4, hi: 0xbf}, + // Block 0xff, offset 0x531 + {value: 0x0013, lo: 0x80, hi: 0x8d}, + {value: 0x0012, lo: 0x8e, hi: 0x94}, + {value: 0x0012, lo: 0x96, hi: 0xa7}, + {value: 0x0013, lo: 0xa8, hi: 0xbf}, + // Block 0x100, offset 0x535 + {value: 0x0013, lo: 0x80, hi: 0x81}, + {value: 0x0012, lo: 0x82, hi: 0x9b}, + {value: 0x0013, lo: 0x9c, hi: 0x9c}, + {value: 0x0013, lo: 0x9e, hi: 0x9f}, + {value: 0x0013, lo: 0xa2, hi: 0xa2}, + {value: 0x0013, lo: 0xa5, hi: 0xa6}, + {value: 0x0013, lo: 0xa9, hi: 0xac}, + {value: 0x0013, lo: 0xae, hi: 0xb5}, + {value: 0x0012, lo: 0xb6, hi: 0xb9}, + {value: 0x0012, lo: 0xbb, hi: 0xbb}, + {value: 0x0012, lo: 0xbd, hi: 0xbf}, + // Block 0x101, offset 0x540 + {value: 0x0012, lo: 0x80, hi: 0x83}, + {value: 0x0012, lo: 0x85, hi: 0x8f}, + {value: 0x0013, lo: 0x90, hi: 0xa9}, + {value: 0x0012, lo: 0xaa, hi: 0xbf}, + // Block 0x102, offset 0x544 + {value: 0x0012, lo: 0x80, hi: 0x83}, + {value: 0x0013, lo: 0x84, hi: 0x85}, + {value: 0x0013, lo: 0x87, hi: 0x8a}, + {value: 0x0013, lo: 0x8d, hi: 0x94}, + {value: 0x0013, lo: 0x96, hi: 0x9c}, + {value: 0x0012, lo: 0x9e, hi: 0xb7}, + {value: 0x0013, lo: 0xb8, hi: 0xb9}, + {value: 0x0013, lo: 0xbb, hi: 0xbe}, + // Block 0x103, offset 0x54c + {value: 0x0013, lo: 0x80, hi: 0x84}, + {value: 0x0013, lo: 0x86, hi: 0x86}, + {value: 0x0013, lo: 0x8a, hi: 0x90}, + {value: 0x0012, lo: 0x92, hi: 0xab}, + {value: 0x0013, lo: 0xac, hi: 0xbf}, + // Block 0x104, offset 0x551 + {value: 0x0013, lo: 0x80, hi: 0x85}, + {value: 0x0012, lo: 0x86, hi: 0x9f}, + {value: 0x0013, lo: 0xa0, hi: 0xb9}, + {value: 0x0012, lo: 0xba, hi: 0xbf}, + // Block 0x105, offset 0x555 + {value: 0x0012, lo: 0x80, hi: 0x93}, + {value: 0x0013, lo: 0x94, hi: 0xad}, + {value: 0x0012, lo: 0xae, hi: 0xbf}, + // Block 0x106, offset 0x558 + {value: 0x0012, lo: 0x80, hi: 0x87}, + {value: 0x0013, lo: 0x88, hi: 0xa1}, + {value: 0x0012, lo: 0xa2, hi: 0xbb}, + {value: 0x0013, lo: 0xbc, hi: 0xbf}, + // Block 0x107, offset 0x55c + {value: 0x0013, lo: 0x80, hi: 0x95}, + {value: 0x0012, lo: 0x96, hi: 0xaf}, + {value: 0x0013, lo: 0xb0, hi: 0xbf}, + // Block 0x108, offset 0x55f + {value: 0x0013, lo: 0x80, hi: 0x89}, + {value: 0x0012, lo: 0x8a, hi: 0xa5}, + {value: 0x0013, lo: 0xa8, hi: 0xbf}, + // Block 0x109, offset 0x562 + {value: 0x0013, lo: 0x80, hi: 0x80}, + {value: 0x0012, lo: 0x82, hi: 0x9a}, + {value: 0x0012, lo: 0x9c, hi: 0xa1}, + {value: 0x0013, lo: 0xa2, hi: 0xba}, + {value: 0x0012, lo: 0xbc, hi: 0xbf}, + // Block 0x10a, offset 0x567 + {value: 0x0012, lo: 0x80, hi: 0x94}, + {value: 0x0012, lo: 0x96, hi: 0x9b}, + {value: 0x0013, lo: 0x9c, hi: 0xb4}, + {value: 0x0012, lo: 0xb6, hi: 0xbf}, + // Block 0x10b, offset 0x56b + {value: 0x0012, lo: 0x80, hi: 0x8e}, + {value: 0x0012, lo: 0x90, hi: 0x95}, + {value: 0x0013, lo: 0x96, hi: 0xae}, + {value: 0x0012, lo: 0xb0, hi: 0xbf}, + // Block 0x10c, offset 0x56f + {value: 0x0012, lo: 0x80, hi: 0x88}, + {value: 0x0012, lo: 0x8a, hi: 0x8f}, + {value: 0x0013, lo: 0x90, hi: 0xa8}, + {value: 0x0012, lo: 0xaa, hi: 0xbf}, + // Block 0x10d, offset 0x573 + {value: 0x0012, lo: 0x80, hi: 0x82}, + {value: 0x0012, lo: 0x84, hi: 0x89}, + {value: 0x0017, lo: 0x8a, hi: 0x8b}, + {value: 0x0010, lo: 0x8e, hi: 0xbf}, + // Block 0x10e, offset 0x577 + {value: 0x0014, lo: 0x80, hi: 0xb6}, + {value: 0x0014, lo: 0xbb, hi: 0xbf}, + // Block 0x10f, offset 0x579 + {value: 0x0014, lo: 0x80, hi: 0xac}, + {value: 0x0014, lo: 0xb5, hi: 0xb5}, + // Block 0x110, offset 0x57b + {value: 0x0014, lo: 0x84, hi: 0x84}, + {value: 0x0014, lo: 0x9b, hi: 0x9f}, + {value: 0x0014, lo: 0xa1, hi: 0xaf}, + // Block 0x111, offset 0x57e + {value: 0x0024, lo: 0x80, hi: 0x86}, + {value: 0x0024, lo: 0x88, hi: 0x98}, + {value: 0x0024, lo: 0x9b, hi: 0xa1}, + {value: 0x0024, lo: 0xa3, hi: 0xa4}, + {value: 0x0024, lo: 0xa6, hi: 0xaa}, + // Block 0x112, offset 0x583 + {value: 0x0010, lo: 0x80, hi: 0xac}, + {value: 0x0024, lo: 0xb0, hi: 0xb6}, + {value: 0x0014, lo: 0xb7, hi: 0xbd}, + // Block 0x113, offset 0x586 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x8e, hi: 0x8e}, + // Block 0x114, offset 0x588 + {value: 0x0010, lo: 0x80, hi: 0xab}, + {value: 0x0024, lo: 0xac, hi: 0xaf}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0x115, offset 0x58b + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0034, lo: 0x90, hi: 0x96}, + // Block 0x116, offset 0x58d + {value: 0xbc52, lo: 0x80, hi: 0x81}, + {value: 0xbf52, lo: 0x82, hi: 0x83}, + {value: 0x0024, lo: 0x84, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0014, lo: 0x8b, hi: 0x8b}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x117, offset 0x593 + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x9f}, + {value: 0x0010, lo: 0xa1, hi: 0xa2}, + {value: 0x0010, lo: 0xa4, hi: 0xa4}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + {value: 0x0010, lo: 0xa9, hi: 0xb2}, + {value: 0x0010, lo: 0xb4, hi: 0xb7}, + {value: 0x0010, lo: 0xb9, hi: 0xb9}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + // Block 0x118, offset 0x59c + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x8b, hi: 0x9b}, + {value: 0x0010, lo: 0xa1, hi: 0xa3}, + {value: 0x0010, lo: 0xa5, hi: 0xa9}, + {value: 0x0010, lo: 0xab, hi: 0xbb}, + // Block 0x119, offset 0x5a1 + {value: 0x0013, lo: 0xb0, hi: 0xbf}, + // Block 0x11a, offset 0x5a2 + {value: 0x0013, lo: 0x80, hi: 0x89}, + {value: 0x0013, lo: 0x90, hi: 0xa9}, + {value: 0x0013, lo: 0xb0, hi: 0xbf}, + // Block 0x11b, offset 0x5a5 + {value: 0x0013, lo: 0x80, hi: 0x89}, + // Block 0x11c, offset 0x5a6 + {value: 0x0014, lo: 0xbb, hi: 0xbf}, + // Block 0x11d, offset 0x5a7 + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0014, lo: 0xa0, hi: 0xbf}, + // Block 0x11e, offset 0x5a9 + {value: 0x0014, lo: 0x80, hi: 0xbf}, + // Block 0x11f, offset 0x5aa + {value: 0x0014, lo: 0x80, hi: 0xaf}, +} + +// Total table size 15070 bytes (14KiB); checksum: 1EB13752 diff --git a/vendor/golang.org/x/text/cases/tables13.0.0.go b/vendor/golang.org/x/text/cases/tables13.0.0.go new file mode 100644 index 000000000..6187e6b46 --- /dev/null +++ b/vendor/golang.org/x/text/cases/tables13.0.0.go @@ -0,0 +1,2399 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build go1.16 && !go1.21 + +package cases + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "13.0.0" + +var xorData string = "" + // Size: 192 bytes + "\x00\x06\x07\x00\x01?\x00\x0f\x03\x00\x0f\x12\x00\x0f\x1f\x00\x0f\x1d" + + "\x00\x01\x13\x00\x0f\x16\x00\x0f\x0b\x00\x0f3\x00\x0f7\x00\x01#\x00\x0f?" + + "\x00\x0e'\x00\x0f/\x00\x0e>\x00\x0f*\x00\x0c&\x00\x0c*\x00\x0c;\x00\x0c9" + + "\x00\x0c%\x00\x01\x08\x00\x03\x0d\x00\x03\x09\x00\x02\x06\x00\x02\x02" + + "\x00\x02\x0c\x00\x01\x00\x00\x01\x03\x00\x01\x01\x00\x01 \x00\x01\x0c" + + "\x00\x01\x10\x00\x03\x10\x00\x036 \x00\x037 \x00\x0b#\x10\x00\x0b 0\x00" + + "\x0b!\x10\x00\x0b!0\x001\x00\x00\x0b(\x04\x00\x03\x04\x1e\x00\x0b)\x08" + + "\x00\x03\x0a\x00\x02:\x00\x02>\x00\x02,\x00\x02\x00\x00\x02\x10\x00\x01<" + + "\x00\x01&\x00\x01*\x00\x01.\x00\x010\x003 \x00\x01\x18\x00\x01(\x00\x01" + + "\x1e\x00\x01\x22" + +var exceptions string = "" + // Size: 2450 bytes + "\x00\x12\x12μΜΜ\x12\x12ssSSSs\x13\x18i̇i̇\x10\x09II\x13\x1bʼnʼNʼN\x11" + + "\x09sSS\x12\x12dždžDž\x12\x12dždžDŽ\x10\x12DŽDž\x12\x12ljljLj\x12\x12ljljLJ\x10\x12LJLj" + + "\x12\x12njnjNj\x12\x12njnjNJ\x10\x12NJNj\x13\x1bǰJ̌J̌\x12\x12dzdzDz\x12\x12dzdzDZ\x10" + + "\x12DZDz\x13\x18ⱥⱥ\x13\x18ⱦⱦ\x10\x1bⱾⱾ\x10\x1bⱿⱿ\x10\x1bⱯⱯ\x10\x1bⱭⱭ\x10" + + "\x1bⱰⱰ\x10\x1bꞫꞫ\x10\x1bꞬꞬ\x10\x1bꞍꞍ\x10\x1bꞪꞪ\x10\x1bꞮꞮ\x10\x1bⱢⱢ\x10" + + "\x1bꞭꞭ\x10\x1bⱮⱮ\x10\x1bⱤⱤ\x10\x1bꟅꟅ\x10\x1bꞱꞱ\x10\x1bꞲꞲ\x10\x1bꞰꞰ2\x12ι" + + "ΙΙ\x166ΐΪ́Ϊ́\x166ΰΫ́Ϋ́\x12\x12σΣΣ\x12\x12βΒΒ\x12\x12θΘΘ\x12\x12" + + "φΦΦ\x12\x12πΠΠ\x12\x12κΚΚ\x12\x12ρΡΡ\x12\x12εΕΕ\x14$եւԵՒԵւ\x10\x1bᲐა" + + "\x10\x1bᲑბ\x10\x1bᲒგ\x10\x1bᲓდ\x10\x1bᲔე\x10\x1bᲕვ\x10\x1bᲖზ\x10\x1bᲗთ" + + "\x10\x1bᲘი\x10\x1bᲙკ\x10\x1bᲚლ\x10\x1bᲛმ\x10\x1bᲜნ\x10\x1bᲝო\x10\x1bᲞპ" + + "\x10\x1bᲟჟ\x10\x1bᲠრ\x10\x1bᲡს\x10\x1bᲢტ\x10\x1bᲣუ\x10\x1bᲤფ\x10\x1bᲥქ" + + "\x10\x1bᲦღ\x10\x1bᲧყ\x10\x1bᲨშ\x10\x1bᲩჩ\x10\x1bᲪც\x10\x1bᲫძ\x10\x1bᲬწ" + + "\x10\x1bᲭჭ\x10\x1bᲮხ\x10\x1bᲯჯ\x10\x1bᲰჰ\x10\x1bᲱჱ\x10\x1bᲲჲ\x10\x1bᲳჳ" + + "\x10\x1bᲴჴ\x10\x1bᲵჵ\x10\x1bᲶჶ\x10\x1bᲷჷ\x10\x1bᲸჸ\x10\x1bᲹჹ\x10\x1bᲺჺ" + + "\x10\x1bᲽჽ\x10\x1bᲾჾ\x10\x1bᲿჿ\x12\x12вВВ\x12\x12дДД\x12\x12оОО\x12\x12с" + + "СС\x12\x12тТТ\x12\x12тТТ\x12\x12ъЪЪ\x12\x12ѣѢѢ\x13\x1bꙋꙊꙊ\x13\x1bẖH̱H̱" + + "\x13\x1bẗT̈T̈\x13\x1bẘW̊W̊\x13\x1bẙY̊Y̊\x13\x1baʾAʾAʾ\x13\x1bṡṠṠ\x12" + + "\x10ssß\x14$ὐΥ̓Υ̓\x166ὒΥ̓̀Υ̓̀\x166ὔΥ̓́Υ̓́\x166ὖΥ̓͂Υ̓͂\x15+ἀιἈΙᾈ" + + "\x15+ἁιἉΙᾉ\x15+ἂιἊΙᾊ\x15+ἃιἋΙᾋ\x15+ἄιἌΙᾌ\x15+ἅιἍΙᾍ\x15+ἆιἎΙᾎ\x15+ἇιἏΙᾏ" + + "\x15\x1dἀιᾀἈΙ\x15\x1dἁιᾁἉΙ\x15\x1dἂιᾂἊΙ\x15\x1dἃιᾃἋΙ\x15\x1dἄιᾄἌΙ\x15" + + "\x1dἅιᾅἍΙ\x15\x1dἆιᾆἎΙ\x15\x1dἇιᾇἏΙ\x15+ἠιἨΙᾘ\x15+ἡιἩΙᾙ\x15+ἢιἪΙᾚ\x15+ἣι" + + "ἫΙᾛ\x15+ἤιἬΙᾜ\x15+ἥιἭΙᾝ\x15+ἦιἮΙᾞ\x15+ἧιἯΙᾟ\x15\x1dἠιᾐἨΙ\x15\x1dἡιᾑἩΙ" + + "\x15\x1dἢιᾒἪΙ\x15\x1dἣιᾓἫΙ\x15\x1dἤιᾔἬΙ\x15\x1dἥιᾕἭΙ\x15\x1dἦιᾖἮΙ\x15" + + "\x1dἧιᾗἯΙ\x15+ὠιὨΙᾨ\x15+ὡιὩΙᾩ\x15+ὢιὪΙᾪ\x15+ὣιὫΙᾫ\x15+ὤιὬΙᾬ\x15+ὥιὭΙᾭ" + + "\x15+ὦιὮΙᾮ\x15+ὧιὯΙᾯ\x15\x1dὠιᾠὨΙ\x15\x1dὡιᾡὩΙ\x15\x1dὢιᾢὪΙ\x15\x1dὣιᾣὫΙ" + + "\x15\x1dὤιᾤὬΙ\x15\x1dὥιᾥὭΙ\x15\x1dὦιᾦὮΙ\x15\x1dὧιᾧὯΙ\x15-ὰιᾺΙᾺͅ\x14#αιΑΙ" + + "ᾼ\x14$άιΆΙΆͅ\x14$ᾶΑ͂Α͂\x166ᾶιΑ͂Ιᾼ͂\x14\x1cαιᾳΑΙ\x12\x12ιΙΙ\x15-ὴιῊΙ" + + "Ὴͅ\x14#ηιΗΙῌ\x14$ήιΉΙΉͅ\x14$ῆΗ͂Η͂\x166ῆιΗ͂Ιῌ͂\x14\x1cηιῃΗΙ\x166ῒΙ" + + "̈̀Ϊ̀\x166ΐΪ́Ϊ́\x14$ῖΙ͂Ι͂\x166ῗΪ͂Ϊ͂\x166ῢΫ̀Ϋ̀\x166ΰΫ́Ϋ" + + "́\x14$ῤΡ̓Ρ̓\x14$ῦΥ͂Υ͂\x166ῧΫ͂Ϋ͂\x15-ὼιῺΙῺͅ\x14#ωιΩΙῼ\x14$ώιΏΙΏͅ" + + "\x14$ῶΩ͂Ω͂\x166ῶιΩ͂Ιῼ͂\x14\x1cωιῳΩΙ\x12\x10ωω\x11\x08kk\x12\x10åå\x12" + + "\x10ɫɫ\x12\x10ɽɽ\x10\x12ȺȺ\x10\x12ȾȾ\x12\x10ɑɑ\x12\x10ɱɱ\x12\x10ɐɐ\x12" + + "\x10ɒɒ\x12\x10ȿȿ\x12\x10ɀɀ\x12\x10ɥɥ\x12\x10ɦɦ\x12\x10ɜɜ\x12\x10ɡɡ\x12" + + "\x10ɬɬ\x12\x10ɪɪ\x12\x10ʞʞ\x12\x10ʇʇ\x12\x10ʝʝ\x12\x10ʂʂ\x12\x12ffFFFf" + + "\x12\x12fiFIFi\x12\x12flFLFl\x13\x1bffiFFIFfi\x13\x1bfflFFLFfl\x12\x12st" + + "STSt\x12\x12stSTSt\x14$մնՄՆՄն\x14$մեՄԵՄե\x14$միՄԻՄի\x14$վնՎՆՎն\x14$մխՄԽՄ" + + "խ" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *caseTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return caseValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = caseIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *caseTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return caseValues[c0] + } + i := caseIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = caseIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = caseIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *caseTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return caseValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = caseIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *caseTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return caseValues[c0] + } + i := caseIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = caseIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = caseIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// caseTrie. Total size: 12538 bytes (12.24 KiB). Checksum: af4dfa7d60c71d4c. +type caseTrie struct{} + +func newCaseTrie(i int) *caseTrie { + return &caseTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *caseTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 20: + return uint16(caseValues[n<<6+uint32(b)]) + default: + n -= 20 + return uint16(sparse.lookup(n, b)) + } +} + +// caseValues: 22 blocks, 1408 entries, 2816 bytes +// The third block is the zero block. +var caseValues = [1408]uint16{ + // Block 0x0, offset 0x0 + 0x27: 0x0054, + 0x2e: 0x0054, + 0x30: 0x0010, 0x31: 0x0010, 0x32: 0x0010, 0x33: 0x0010, 0x34: 0x0010, 0x35: 0x0010, + 0x36: 0x0010, 0x37: 0x0010, 0x38: 0x0010, 0x39: 0x0010, 0x3a: 0x0054, + // Block 0x1, offset 0x40 + 0x41: 0x2013, 0x42: 0x2013, 0x43: 0x2013, 0x44: 0x2013, 0x45: 0x2013, + 0x46: 0x2013, 0x47: 0x2013, 0x48: 0x2013, 0x49: 0x2013, 0x4a: 0x2013, 0x4b: 0x2013, + 0x4c: 0x2013, 0x4d: 0x2013, 0x4e: 0x2013, 0x4f: 0x2013, 0x50: 0x2013, 0x51: 0x2013, + 0x52: 0x2013, 0x53: 0x2013, 0x54: 0x2013, 0x55: 0x2013, 0x56: 0x2013, 0x57: 0x2013, + 0x58: 0x2013, 0x59: 0x2013, 0x5a: 0x2013, + 0x5e: 0x0004, 0x5f: 0x0010, 0x60: 0x0004, 0x61: 0x2012, 0x62: 0x2012, 0x63: 0x2012, + 0x64: 0x2012, 0x65: 0x2012, 0x66: 0x2012, 0x67: 0x2012, 0x68: 0x2012, 0x69: 0x2012, + 0x6a: 0x2012, 0x6b: 0x2012, 0x6c: 0x2012, 0x6d: 0x2012, 0x6e: 0x2012, 0x6f: 0x2012, + 0x70: 0x2012, 0x71: 0x2012, 0x72: 0x2012, 0x73: 0x2012, 0x74: 0x2012, 0x75: 0x2012, + 0x76: 0x2012, 0x77: 0x2012, 0x78: 0x2012, 0x79: 0x2012, 0x7a: 0x2012, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x0852, 0xc1: 0x0b53, 0xc2: 0x0113, 0xc3: 0x0112, 0xc4: 0x0113, 0xc5: 0x0112, + 0xc6: 0x0b53, 0xc7: 0x0f13, 0xc8: 0x0f12, 0xc9: 0x0e53, 0xca: 0x1153, 0xcb: 0x0713, + 0xcc: 0x0712, 0xcd: 0x0012, 0xce: 0x1453, 0xcf: 0x1753, 0xd0: 0x1a53, 0xd1: 0x0313, + 0xd2: 0x0312, 0xd3: 0x1d53, 0xd4: 0x2053, 0xd5: 0x2352, 0xd6: 0x2653, 0xd7: 0x2653, + 0xd8: 0x0113, 0xd9: 0x0112, 0xda: 0x2952, 0xdb: 0x0012, 0xdc: 0x1d53, 0xdd: 0x2c53, + 0xde: 0x2f52, 0xdf: 0x3253, 0xe0: 0x0113, 0xe1: 0x0112, 0xe2: 0x0113, 0xe3: 0x0112, + 0xe4: 0x0113, 0xe5: 0x0112, 0xe6: 0x3553, 0xe7: 0x0f13, 0xe8: 0x0f12, 0xe9: 0x3853, + 0xea: 0x0012, 0xeb: 0x0012, 0xec: 0x0113, 0xed: 0x0112, 0xee: 0x3553, 0xef: 0x1f13, + 0xf0: 0x1f12, 0xf1: 0x3b53, 0xf2: 0x3e53, 0xf3: 0x0713, 0xf4: 0x0712, 0xf5: 0x0313, + 0xf6: 0x0312, 0xf7: 0x4153, 0xf8: 0x0113, 0xf9: 0x0112, 0xfa: 0x0012, 0xfb: 0x0010, + 0xfc: 0x0113, 0xfd: 0x0112, 0xfe: 0x0012, 0xff: 0x4452, + // Block 0x4, offset 0x100 + 0x100: 0x0010, 0x101: 0x0010, 0x102: 0x0010, 0x103: 0x0010, 0x104: 0x02db, 0x105: 0x0359, + 0x106: 0x03da, 0x107: 0x043b, 0x108: 0x04b9, 0x109: 0x053a, 0x10a: 0x059b, 0x10b: 0x0619, + 0x10c: 0x069a, 0x10d: 0x0313, 0x10e: 0x0312, 0x10f: 0x1f13, 0x110: 0x1f12, 0x111: 0x0313, + 0x112: 0x0312, 0x113: 0x0713, 0x114: 0x0712, 0x115: 0x0313, 0x116: 0x0312, 0x117: 0x0f13, + 0x118: 0x0f12, 0x119: 0x0313, 0x11a: 0x0312, 0x11b: 0x0713, 0x11c: 0x0712, 0x11d: 0x1452, + 0x11e: 0x0113, 0x11f: 0x0112, 0x120: 0x0113, 0x121: 0x0112, 0x122: 0x0113, 0x123: 0x0112, + 0x124: 0x0113, 0x125: 0x0112, 0x126: 0x0113, 0x127: 0x0112, 0x128: 0x0113, 0x129: 0x0112, + 0x12a: 0x0113, 0x12b: 0x0112, 0x12c: 0x0113, 0x12d: 0x0112, 0x12e: 0x0113, 0x12f: 0x0112, + 0x130: 0x06fa, 0x131: 0x07ab, 0x132: 0x0829, 0x133: 0x08aa, 0x134: 0x0113, 0x135: 0x0112, + 0x136: 0x2353, 0x137: 0x4453, 0x138: 0x0113, 0x139: 0x0112, 0x13a: 0x0113, 0x13b: 0x0112, + 0x13c: 0x0113, 0x13d: 0x0112, 0x13e: 0x0113, 0x13f: 0x0112, + // Block 0x5, offset 0x140 + 0x140: 0x0a8a, 0x141: 0x0313, 0x142: 0x0312, 0x143: 0x0853, 0x144: 0x4753, 0x145: 0x4a53, + 0x146: 0x0113, 0x147: 0x0112, 0x148: 0x0113, 0x149: 0x0112, 0x14a: 0x0113, 0x14b: 0x0112, + 0x14c: 0x0113, 0x14d: 0x0112, 0x14e: 0x0113, 0x14f: 0x0112, 0x150: 0x0b0a, 0x151: 0x0b8a, + 0x152: 0x0c0a, 0x153: 0x0b52, 0x154: 0x0b52, 0x155: 0x0012, 0x156: 0x0e52, 0x157: 0x1152, + 0x158: 0x0012, 0x159: 0x1752, 0x15a: 0x0012, 0x15b: 0x1a52, 0x15c: 0x0c8a, 0x15d: 0x0012, + 0x15e: 0x0012, 0x15f: 0x0012, 0x160: 0x1d52, 0x161: 0x0d0a, 0x162: 0x0012, 0x163: 0x2052, + 0x164: 0x0012, 0x165: 0x0d8a, 0x166: 0x0e0a, 0x167: 0x0012, 0x168: 0x2652, 0x169: 0x2652, + 0x16a: 0x0e8a, 0x16b: 0x0f0a, 0x16c: 0x0f8a, 0x16d: 0x0012, 0x16e: 0x0012, 0x16f: 0x1d52, + 0x170: 0x0012, 0x171: 0x100a, 0x172: 0x2c52, 0x173: 0x0012, 0x174: 0x0012, 0x175: 0x3252, + 0x176: 0x0012, 0x177: 0x0012, 0x178: 0x0012, 0x179: 0x0012, 0x17a: 0x0012, 0x17b: 0x0012, + 0x17c: 0x0012, 0x17d: 0x108a, 0x17e: 0x0012, 0x17f: 0x0012, + // Block 0x6, offset 0x180 + 0x180: 0x3552, 0x181: 0x0012, 0x182: 0x110a, 0x183: 0x3852, 0x184: 0x0012, 0x185: 0x0012, + 0x186: 0x0012, 0x187: 0x118a, 0x188: 0x3552, 0x189: 0x4752, 0x18a: 0x3b52, 0x18b: 0x3e52, + 0x18c: 0x4a52, 0x18d: 0x0012, 0x18e: 0x0012, 0x18f: 0x0012, 0x190: 0x0012, 0x191: 0x0012, + 0x192: 0x4152, 0x193: 0x0012, 0x194: 0x0010, 0x195: 0x0012, 0x196: 0x0012, 0x197: 0x0012, + 0x198: 0x0012, 0x199: 0x0012, 0x19a: 0x0012, 0x19b: 0x0012, 0x19c: 0x0012, 0x19d: 0x120a, + 0x19e: 0x128a, 0x19f: 0x0012, 0x1a0: 0x0012, 0x1a1: 0x0012, 0x1a2: 0x0012, 0x1a3: 0x0012, + 0x1a4: 0x0012, 0x1a5: 0x0012, 0x1a6: 0x0012, 0x1a7: 0x0012, 0x1a8: 0x0012, 0x1a9: 0x0012, + 0x1aa: 0x0012, 0x1ab: 0x0012, 0x1ac: 0x0012, 0x1ad: 0x0012, 0x1ae: 0x0012, 0x1af: 0x0012, + 0x1b0: 0x0015, 0x1b1: 0x0015, 0x1b2: 0x0015, 0x1b3: 0x0015, 0x1b4: 0x0015, 0x1b5: 0x0015, + 0x1b6: 0x0015, 0x1b7: 0x0015, 0x1b8: 0x0015, 0x1b9: 0x0014, 0x1ba: 0x0014, 0x1bb: 0x0014, + 0x1bc: 0x0014, 0x1bd: 0x0014, 0x1be: 0x0014, 0x1bf: 0x0014, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0024, 0x1c1: 0x0024, 0x1c2: 0x0024, 0x1c3: 0x0024, 0x1c4: 0x0024, 0x1c5: 0x130d, + 0x1c6: 0x0024, 0x1c7: 0x0034, 0x1c8: 0x0034, 0x1c9: 0x0034, 0x1ca: 0x0024, 0x1cb: 0x0024, + 0x1cc: 0x0024, 0x1cd: 0x0034, 0x1ce: 0x0034, 0x1cf: 0x0014, 0x1d0: 0x0024, 0x1d1: 0x0024, + 0x1d2: 0x0024, 0x1d3: 0x0034, 0x1d4: 0x0034, 0x1d5: 0x0034, 0x1d6: 0x0034, 0x1d7: 0x0024, + 0x1d8: 0x0034, 0x1d9: 0x0034, 0x1da: 0x0034, 0x1db: 0x0024, 0x1dc: 0x0034, 0x1dd: 0x0034, + 0x1de: 0x0034, 0x1df: 0x0034, 0x1e0: 0x0034, 0x1e1: 0x0034, 0x1e2: 0x0034, 0x1e3: 0x0024, + 0x1e4: 0x0024, 0x1e5: 0x0024, 0x1e6: 0x0024, 0x1e7: 0x0024, 0x1e8: 0x0024, 0x1e9: 0x0024, + 0x1ea: 0x0024, 0x1eb: 0x0024, 0x1ec: 0x0024, 0x1ed: 0x0024, 0x1ee: 0x0024, 0x1ef: 0x0024, + 0x1f0: 0x0113, 0x1f1: 0x0112, 0x1f2: 0x0113, 0x1f3: 0x0112, 0x1f4: 0x0014, 0x1f5: 0x0004, + 0x1f6: 0x0113, 0x1f7: 0x0112, 0x1fa: 0x0015, 0x1fb: 0x4d52, + 0x1fc: 0x5052, 0x1fd: 0x5052, 0x1ff: 0x5353, + // Block 0x8, offset 0x200 + 0x204: 0x0004, 0x205: 0x0004, + 0x206: 0x2a13, 0x207: 0x0054, 0x208: 0x2513, 0x209: 0x2713, 0x20a: 0x2513, + 0x20c: 0x5653, 0x20e: 0x5953, 0x20f: 0x5c53, 0x210: 0x138a, 0x211: 0x2013, + 0x212: 0x2013, 0x213: 0x2013, 0x214: 0x2013, 0x215: 0x2013, 0x216: 0x2013, 0x217: 0x2013, + 0x218: 0x2013, 0x219: 0x2013, 0x21a: 0x2013, 0x21b: 0x2013, 0x21c: 0x2013, 0x21d: 0x2013, + 0x21e: 0x2013, 0x21f: 0x2013, 0x220: 0x5f53, 0x221: 0x5f53, 0x223: 0x5f53, + 0x224: 0x5f53, 0x225: 0x5f53, 0x226: 0x5f53, 0x227: 0x5f53, 0x228: 0x5f53, 0x229: 0x5f53, + 0x22a: 0x5f53, 0x22b: 0x5f53, 0x22c: 0x2a12, 0x22d: 0x2512, 0x22e: 0x2712, 0x22f: 0x2512, + 0x230: 0x14ca, 0x231: 0x2012, 0x232: 0x2012, 0x233: 0x2012, 0x234: 0x2012, 0x235: 0x2012, + 0x236: 0x2012, 0x237: 0x2012, 0x238: 0x2012, 0x239: 0x2012, 0x23a: 0x2012, 0x23b: 0x2012, + 0x23c: 0x2012, 0x23d: 0x2012, 0x23e: 0x2012, 0x23f: 0x2012, + // Block 0x9, offset 0x240 + 0x240: 0x5f52, 0x241: 0x5f52, 0x242: 0x160a, 0x243: 0x5f52, 0x244: 0x5f52, 0x245: 0x5f52, + 0x246: 0x5f52, 0x247: 0x5f52, 0x248: 0x5f52, 0x249: 0x5f52, 0x24a: 0x5f52, 0x24b: 0x5f52, + 0x24c: 0x5652, 0x24d: 0x5952, 0x24e: 0x5c52, 0x24f: 0x1813, 0x250: 0x168a, 0x251: 0x170a, + 0x252: 0x0013, 0x253: 0x0013, 0x254: 0x0013, 0x255: 0x178a, 0x256: 0x180a, 0x257: 0x1812, + 0x258: 0x0113, 0x259: 0x0112, 0x25a: 0x0113, 0x25b: 0x0112, 0x25c: 0x0113, 0x25d: 0x0112, + 0x25e: 0x0113, 0x25f: 0x0112, 0x260: 0x0113, 0x261: 0x0112, 0x262: 0x0113, 0x263: 0x0112, + 0x264: 0x0113, 0x265: 0x0112, 0x266: 0x0113, 0x267: 0x0112, 0x268: 0x0113, 0x269: 0x0112, + 0x26a: 0x0113, 0x26b: 0x0112, 0x26c: 0x0113, 0x26d: 0x0112, 0x26e: 0x0113, 0x26f: 0x0112, + 0x270: 0x188a, 0x271: 0x190a, 0x272: 0x0b12, 0x273: 0x5352, 0x274: 0x6253, 0x275: 0x198a, + 0x277: 0x0f13, 0x278: 0x0f12, 0x279: 0x0b13, 0x27a: 0x0113, 0x27b: 0x0112, + 0x27c: 0x0012, 0x27d: 0x4d53, 0x27e: 0x5053, 0x27f: 0x5053, + // Block 0xa, offset 0x280 + 0x280: 0x6852, 0x281: 0x6852, 0x282: 0x6852, 0x283: 0x6852, 0x284: 0x6852, 0x285: 0x6852, + 0x286: 0x6852, 0x287: 0x1a0a, 0x288: 0x0012, 0x28a: 0x0010, + 0x291: 0x0034, + 0x292: 0x0024, 0x293: 0x0024, 0x294: 0x0024, 0x295: 0x0024, 0x296: 0x0034, 0x297: 0x0024, + 0x298: 0x0024, 0x299: 0x0024, 0x29a: 0x0034, 0x29b: 0x0034, 0x29c: 0x0024, 0x29d: 0x0024, + 0x29e: 0x0024, 0x29f: 0x0024, 0x2a0: 0x0024, 0x2a1: 0x0024, 0x2a2: 0x0034, 0x2a3: 0x0034, + 0x2a4: 0x0034, 0x2a5: 0x0034, 0x2a6: 0x0034, 0x2a7: 0x0034, 0x2a8: 0x0024, 0x2a9: 0x0024, + 0x2aa: 0x0034, 0x2ab: 0x0024, 0x2ac: 0x0024, 0x2ad: 0x0034, 0x2ae: 0x0034, 0x2af: 0x0024, + 0x2b0: 0x0034, 0x2b1: 0x0034, 0x2b2: 0x0034, 0x2b3: 0x0034, 0x2b4: 0x0034, 0x2b5: 0x0034, + 0x2b6: 0x0034, 0x2b7: 0x0034, 0x2b8: 0x0034, 0x2b9: 0x0034, 0x2ba: 0x0034, 0x2bb: 0x0034, + 0x2bc: 0x0034, 0x2bd: 0x0034, 0x2bf: 0x0034, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x7053, 0x2c1: 0x7053, 0x2c2: 0x7053, 0x2c3: 0x7053, 0x2c4: 0x7053, 0x2c5: 0x7053, + 0x2c7: 0x7053, + 0x2cd: 0x7053, 0x2d0: 0x1aea, 0x2d1: 0x1b6a, + 0x2d2: 0x1bea, 0x2d3: 0x1c6a, 0x2d4: 0x1cea, 0x2d5: 0x1d6a, 0x2d6: 0x1dea, 0x2d7: 0x1e6a, + 0x2d8: 0x1eea, 0x2d9: 0x1f6a, 0x2da: 0x1fea, 0x2db: 0x206a, 0x2dc: 0x20ea, 0x2dd: 0x216a, + 0x2de: 0x21ea, 0x2df: 0x226a, 0x2e0: 0x22ea, 0x2e1: 0x236a, 0x2e2: 0x23ea, 0x2e3: 0x246a, + 0x2e4: 0x24ea, 0x2e5: 0x256a, 0x2e6: 0x25ea, 0x2e7: 0x266a, 0x2e8: 0x26ea, 0x2e9: 0x276a, + 0x2ea: 0x27ea, 0x2eb: 0x286a, 0x2ec: 0x28ea, 0x2ed: 0x296a, 0x2ee: 0x29ea, 0x2ef: 0x2a6a, + 0x2f0: 0x2aea, 0x2f1: 0x2b6a, 0x2f2: 0x2bea, 0x2f3: 0x2c6a, 0x2f4: 0x2cea, 0x2f5: 0x2d6a, + 0x2f6: 0x2dea, 0x2f7: 0x2e6a, 0x2f8: 0x2eea, 0x2f9: 0x2f6a, 0x2fa: 0x2fea, + 0x2fc: 0x0014, 0x2fd: 0x306a, 0x2fe: 0x30ea, 0x2ff: 0x316a, + // Block 0xc, offset 0x300 + 0x300: 0x0812, 0x301: 0x0812, 0x302: 0x0812, 0x303: 0x0812, 0x304: 0x0812, 0x305: 0x0812, + 0x308: 0x0813, 0x309: 0x0813, 0x30a: 0x0813, 0x30b: 0x0813, + 0x30c: 0x0813, 0x30d: 0x0813, 0x310: 0x3b1a, 0x311: 0x0812, + 0x312: 0x3bfa, 0x313: 0x0812, 0x314: 0x3d3a, 0x315: 0x0812, 0x316: 0x3e7a, 0x317: 0x0812, + 0x319: 0x0813, 0x31b: 0x0813, 0x31d: 0x0813, + 0x31f: 0x0813, 0x320: 0x0812, 0x321: 0x0812, 0x322: 0x0812, 0x323: 0x0812, + 0x324: 0x0812, 0x325: 0x0812, 0x326: 0x0812, 0x327: 0x0812, 0x328: 0x0813, 0x329: 0x0813, + 0x32a: 0x0813, 0x32b: 0x0813, 0x32c: 0x0813, 0x32d: 0x0813, 0x32e: 0x0813, 0x32f: 0x0813, + 0x330: 0x9252, 0x331: 0x9252, 0x332: 0x9552, 0x333: 0x9552, 0x334: 0x9852, 0x335: 0x9852, + 0x336: 0x9b52, 0x337: 0x9b52, 0x338: 0x9e52, 0x339: 0x9e52, 0x33a: 0xa152, 0x33b: 0xa152, + 0x33c: 0x4d52, 0x33d: 0x4d52, + // Block 0xd, offset 0x340 + 0x340: 0x3fba, 0x341: 0x40aa, 0x342: 0x419a, 0x343: 0x428a, 0x344: 0x437a, 0x345: 0x446a, + 0x346: 0x455a, 0x347: 0x464a, 0x348: 0x4739, 0x349: 0x4829, 0x34a: 0x4919, 0x34b: 0x4a09, + 0x34c: 0x4af9, 0x34d: 0x4be9, 0x34e: 0x4cd9, 0x34f: 0x4dc9, 0x350: 0x4eba, 0x351: 0x4faa, + 0x352: 0x509a, 0x353: 0x518a, 0x354: 0x527a, 0x355: 0x536a, 0x356: 0x545a, 0x357: 0x554a, + 0x358: 0x5639, 0x359: 0x5729, 0x35a: 0x5819, 0x35b: 0x5909, 0x35c: 0x59f9, 0x35d: 0x5ae9, + 0x35e: 0x5bd9, 0x35f: 0x5cc9, 0x360: 0x5dba, 0x361: 0x5eaa, 0x362: 0x5f9a, 0x363: 0x608a, + 0x364: 0x617a, 0x365: 0x626a, 0x366: 0x635a, 0x367: 0x644a, 0x368: 0x6539, 0x369: 0x6629, + 0x36a: 0x6719, 0x36b: 0x6809, 0x36c: 0x68f9, 0x36d: 0x69e9, 0x36e: 0x6ad9, 0x36f: 0x6bc9, + 0x370: 0x0812, 0x371: 0x0812, 0x372: 0x6cba, 0x373: 0x6dca, 0x374: 0x6e9a, + 0x376: 0x6f7a, 0x377: 0x705a, 0x378: 0x0813, 0x379: 0x0813, 0x37a: 0x9253, 0x37b: 0x9253, + 0x37c: 0x7199, 0x37d: 0x0004, 0x37e: 0x726a, 0x37f: 0x0004, + // Block 0xe, offset 0x380 + 0x380: 0x0004, 0x381: 0x0004, 0x382: 0x72ea, 0x383: 0x73fa, 0x384: 0x74ca, + 0x386: 0x75aa, 0x387: 0x768a, 0x388: 0x9553, 0x389: 0x9553, 0x38a: 0x9853, 0x38b: 0x9853, + 0x38c: 0x77c9, 0x38d: 0x0004, 0x38e: 0x0004, 0x38f: 0x0004, 0x390: 0x0812, 0x391: 0x0812, + 0x392: 0x789a, 0x393: 0x79da, 0x396: 0x7b1a, 0x397: 0x7bfa, + 0x398: 0x0813, 0x399: 0x0813, 0x39a: 0x9b53, 0x39b: 0x9b53, 0x39d: 0x0004, + 0x39e: 0x0004, 0x39f: 0x0004, 0x3a0: 0x0812, 0x3a1: 0x0812, 0x3a2: 0x7d3a, 0x3a3: 0x7e7a, + 0x3a4: 0x7fba, 0x3a5: 0x0912, 0x3a6: 0x809a, 0x3a7: 0x817a, 0x3a8: 0x0813, 0x3a9: 0x0813, + 0x3aa: 0xa153, 0x3ab: 0xa153, 0x3ac: 0x0913, 0x3ad: 0x0004, 0x3ae: 0x0004, 0x3af: 0x0004, + 0x3b2: 0x82ba, 0x3b3: 0x83ca, 0x3b4: 0x849a, + 0x3b6: 0x857a, 0x3b7: 0x865a, 0x3b8: 0x9e53, 0x3b9: 0x9e53, 0x3ba: 0x4d53, 0x3bb: 0x4d53, + 0x3bc: 0x8799, 0x3bd: 0x0004, 0x3be: 0x0004, + // Block 0xf, offset 0x3c0 + 0x3c2: 0x0013, + 0x3c7: 0x0013, 0x3ca: 0x0012, 0x3cb: 0x0013, + 0x3cc: 0x0013, 0x3cd: 0x0013, 0x3ce: 0x0012, 0x3cf: 0x0012, 0x3d0: 0x0013, 0x3d1: 0x0013, + 0x3d2: 0x0013, 0x3d3: 0x0012, 0x3d5: 0x0013, + 0x3d9: 0x0013, 0x3da: 0x0013, 0x3db: 0x0013, 0x3dc: 0x0013, 0x3dd: 0x0013, + 0x3e4: 0x0013, 0x3e6: 0x886b, 0x3e8: 0x0013, + 0x3ea: 0x88cb, 0x3eb: 0x890b, 0x3ec: 0x0013, 0x3ed: 0x0013, 0x3ef: 0x0012, + 0x3f0: 0x0013, 0x3f1: 0x0013, 0x3f2: 0xa453, 0x3f3: 0x0013, 0x3f4: 0x0012, 0x3f5: 0x0010, + 0x3f6: 0x0010, 0x3f7: 0x0010, 0x3f8: 0x0010, 0x3f9: 0x0012, + 0x3fc: 0x0012, 0x3fd: 0x0012, 0x3fe: 0x0013, 0x3ff: 0x0013, + // Block 0x10, offset 0x400 + 0x400: 0x1a13, 0x401: 0x1a13, 0x402: 0x1e13, 0x403: 0x1e13, 0x404: 0x1a13, 0x405: 0x1a13, + 0x406: 0x2613, 0x407: 0x2613, 0x408: 0x2a13, 0x409: 0x2a13, 0x40a: 0x2e13, 0x40b: 0x2e13, + 0x40c: 0x2a13, 0x40d: 0x2a13, 0x40e: 0x2613, 0x40f: 0x2613, 0x410: 0xa752, 0x411: 0xa752, + 0x412: 0xaa52, 0x413: 0xaa52, 0x414: 0xad52, 0x415: 0xad52, 0x416: 0xaa52, 0x417: 0xaa52, + 0x418: 0xa752, 0x419: 0xa752, 0x41a: 0x1a12, 0x41b: 0x1a12, 0x41c: 0x1e12, 0x41d: 0x1e12, + 0x41e: 0x1a12, 0x41f: 0x1a12, 0x420: 0x2612, 0x421: 0x2612, 0x422: 0x2a12, 0x423: 0x2a12, + 0x424: 0x2e12, 0x425: 0x2e12, 0x426: 0x2a12, 0x427: 0x2a12, 0x428: 0x2612, 0x429: 0x2612, + // Block 0x11, offset 0x440 + 0x440: 0x6552, 0x441: 0x6552, 0x442: 0x6552, 0x443: 0x6552, 0x444: 0x6552, 0x445: 0x6552, + 0x446: 0x6552, 0x447: 0x6552, 0x448: 0x6552, 0x449: 0x6552, 0x44a: 0x6552, 0x44b: 0x6552, + 0x44c: 0x6552, 0x44d: 0x6552, 0x44e: 0x6552, 0x44f: 0x6552, 0x450: 0xb052, 0x451: 0xb052, + 0x452: 0xb052, 0x453: 0xb052, 0x454: 0xb052, 0x455: 0xb052, 0x456: 0xb052, 0x457: 0xb052, + 0x458: 0xb052, 0x459: 0xb052, 0x45a: 0xb052, 0x45b: 0xb052, 0x45c: 0xb052, 0x45d: 0xb052, + 0x45e: 0xb052, 0x460: 0x0113, 0x461: 0x0112, 0x462: 0x896b, 0x463: 0x8b53, + 0x464: 0x89cb, 0x465: 0x8a2a, 0x466: 0x8a8a, 0x467: 0x0f13, 0x468: 0x0f12, 0x469: 0x0313, + 0x46a: 0x0312, 0x46b: 0x0713, 0x46c: 0x0712, 0x46d: 0x8aeb, 0x46e: 0x8b4b, 0x46f: 0x8bab, + 0x470: 0x8c0b, 0x471: 0x0012, 0x472: 0x0113, 0x473: 0x0112, 0x474: 0x0012, 0x475: 0x0313, + 0x476: 0x0312, 0x477: 0x0012, 0x478: 0x0012, 0x479: 0x0012, 0x47a: 0x0012, 0x47b: 0x0012, + 0x47c: 0x0015, 0x47d: 0x0015, 0x47e: 0x8c6b, 0x47f: 0x8ccb, + // Block 0x12, offset 0x480 + 0x480: 0x0113, 0x481: 0x0112, 0x482: 0x0113, 0x483: 0x0112, 0x484: 0x0113, 0x485: 0x0112, + 0x486: 0x0113, 0x487: 0x0112, 0x488: 0x0014, 0x489: 0x0014, 0x48a: 0x0014, 0x48b: 0x0713, + 0x48c: 0x0712, 0x48d: 0x8d2b, 0x48e: 0x0012, 0x48f: 0x0010, 0x490: 0x0113, 0x491: 0x0112, + 0x492: 0x0113, 0x493: 0x0112, 0x494: 0x6552, 0x495: 0x0012, 0x496: 0x0113, 0x497: 0x0112, + 0x498: 0x0113, 0x499: 0x0112, 0x49a: 0x0113, 0x49b: 0x0112, 0x49c: 0x0113, 0x49d: 0x0112, + 0x49e: 0x0113, 0x49f: 0x0112, 0x4a0: 0x0113, 0x4a1: 0x0112, 0x4a2: 0x0113, 0x4a3: 0x0112, + 0x4a4: 0x0113, 0x4a5: 0x0112, 0x4a6: 0x0113, 0x4a7: 0x0112, 0x4a8: 0x0113, 0x4a9: 0x0112, + 0x4aa: 0x8d8b, 0x4ab: 0x8deb, 0x4ac: 0x8e4b, 0x4ad: 0x8eab, 0x4ae: 0x8f0b, 0x4af: 0x0012, + 0x4b0: 0x8f6b, 0x4b1: 0x8fcb, 0x4b2: 0x902b, 0x4b3: 0xb353, 0x4b4: 0x0113, 0x4b5: 0x0112, + 0x4b6: 0x0113, 0x4b7: 0x0112, 0x4b8: 0x0113, 0x4b9: 0x0112, 0x4ba: 0x0113, 0x4bb: 0x0112, + 0x4bc: 0x0113, 0x4bd: 0x0112, 0x4be: 0x0113, 0x4bf: 0x0112, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x90ea, 0x4c1: 0x916a, 0x4c2: 0x91ea, 0x4c3: 0x926a, 0x4c4: 0x931a, 0x4c5: 0x93ca, + 0x4c6: 0x944a, + 0x4d3: 0x94ca, 0x4d4: 0x95aa, 0x4d5: 0x968a, 0x4d6: 0x976a, 0x4d7: 0x984a, + 0x4dd: 0x0010, + 0x4de: 0x0034, 0x4df: 0x0010, 0x4e0: 0x0010, 0x4e1: 0x0010, 0x4e2: 0x0010, 0x4e3: 0x0010, + 0x4e4: 0x0010, 0x4e5: 0x0010, 0x4e6: 0x0010, 0x4e7: 0x0010, 0x4e8: 0x0010, + 0x4ea: 0x0010, 0x4eb: 0x0010, 0x4ec: 0x0010, 0x4ed: 0x0010, 0x4ee: 0x0010, 0x4ef: 0x0010, + 0x4f0: 0x0010, 0x4f1: 0x0010, 0x4f2: 0x0010, 0x4f3: 0x0010, 0x4f4: 0x0010, 0x4f5: 0x0010, + 0x4f6: 0x0010, 0x4f8: 0x0010, 0x4f9: 0x0010, 0x4fa: 0x0010, 0x4fb: 0x0010, + 0x4fc: 0x0010, 0x4fe: 0x0010, + // Block 0x14, offset 0x500 + 0x500: 0x2213, 0x501: 0x2213, 0x502: 0x2613, 0x503: 0x2613, 0x504: 0x2213, 0x505: 0x2213, + 0x506: 0x2e13, 0x507: 0x2e13, 0x508: 0x2213, 0x509: 0x2213, 0x50a: 0x2613, 0x50b: 0x2613, + 0x50c: 0x2213, 0x50d: 0x2213, 0x50e: 0x3e13, 0x50f: 0x3e13, 0x510: 0x2213, 0x511: 0x2213, + 0x512: 0x2613, 0x513: 0x2613, 0x514: 0x2213, 0x515: 0x2213, 0x516: 0x2e13, 0x517: 0x2e13, + 0x518: 0x2213, 0x519: 0x2213, 0x51a: 0x2613, 0x51b: 0x2613, 0x51c: 0x2213, 0x51d: 0x2213, + 0x51e: 0xbc53, 0x51f: 0xbc53, 0x520: 0xbf53, 0x521: 0xbf53, 0x522: 0x2212, 0x523: 0x2212, + 0x524: 0x2612, 0x525: 0x2612, 0x526: 0x2212, 0x527: 0x2212, 0x528: 0x2e12, 0x529: 0x2e12, + 0x52a: 0x2212, 0x52b: 0x2212, 0x52c: 0x2612, 0x52d: 0x2612, 0x52e: 0x2212, 0x52f: 0x2212, + 0x530: 0x3e12, 0x531: 0x3e12, 0x532: 0x2212, 0x533: 0x2212, 0x534: 0x2612, 0x535: 0x2612, + 0x536: 0x2212, 0x537: 0x2212, 0x538: 0x2e12, 0x539: 0x2e12, 0x53a: 0x2212, 0x53b: 0x2212, + 0x53c: 0x2612, 0x53d: 0x2612, 0x53e: 0x2212, 0x53f: 0x2212, + // Block 0x15, offset 0x540 + 0x542: 0x0010, + 0x547: 0x0010, 0x549: 0x0010, 0x54b: 0x0010, + 0x54d: 0x0010, 0x54e: 0x0010, 0x54f: 0x0010, 0x551: 0x0010, + 0x552: 0x0010, 0x554: 0x0010, 0x557: 0x0010, + 0x559: 0x0010, 0x55b: 0x0010, 0x55d: 0x0010, + 0x55f: 0x0010, 0x561: 0x0010, 0x562: 0x0010, + 0x564: 0x0010, 0x567: 0x0010, 0x568: 0x0010, 0x569: 0x0010, + 0x56a: 0x0010, 0x56c: 0x0010, 0x56d: 0x0010, 0x56e: 0x0010, 0x56f: 0x0010, + 0x570: 0x0010, 0x571: 0x0010, 0x572: 0x0010, 0x574: 0x0010, 0x575: 0x0010, + 0x576: 0x0010, 0x577: 0x0010, 0x579: 0x0010, 0x57a: 0x0010, 0x57b: 0x0010, + 0x57c: 0x0010, 0x57e: 0x0010, +} + +// caseIndex: 25 blocks, 1600 entries, 3200 bytes +// Block 0 is the zero block. +var caseIndex = [1600]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x14, 0xc3: 0x15, 0xc4: 0x16, 0xc5: 0x17, 0xc6: 0x01, 0xc7: 0x02, + 0xc8: 0x18, 0xc9: 0x03, 0xca: 0x04, 0xcb: 0x19, 0xcc: 0x1a, 0xcd: 0x05, 0xce: 0x06, 0xcf: 0x07, + 0xd0: 0x1b, 0xd1: 0x1c, 0xd2: 0x1d, 0xd3: 0x1e, 0xd4: 0x1f, 0xd5: 0x20, 0xd6: 0x08, 0xd7: 0x21, + 0xd8: 0x22, 0xd9: 0x23, 0xda: 0x24, 0xdb: 0x25, 0xdc: 0x26, 0xdd: 0x27, 0xde: 0x28, 0xdf: 0x29, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x08, 0xef: 0x09, + 0xf0: 0x14, 0xf3: 0x16, + // Block 0x4, offset 0x100 + 0x120: 0x2a, 0x121: 0x2b, 0x122: 0x2c, 0x123: 0x2d, 0x124: 0x2e, 0x125: 0x2f, 0x126: 0x30, 0x127: 0x31, + 0x128: 0x32, 0x129: 0x33, 0x12a: 0x34, 0x12b: 0x35, 0x12c: 0x36, 0x12d: 0x37, 0x12e: 0x38, 0x12f: 0x39, + 0x130: 0x3a, 0x131: 0x3b, 0x132: 0x3c, 0x133: 0x3d, 0x134: 0x3e, 0x135: 0x3f, 0x136: 0x40, 0x137: 0x41, + 0x138: 0x42, 0x139: 0x43, 0x13a: 0x44, 0x13b: 0x45, 0x13c: 0x46, 0x13d: 0x47, 0x13e: 0x48, 0x13f: 0x49, + // Block 0x5, offset 0x140 + 0x140: 0x4a, 0x141: 0x4b, 0x142: 0x4c, 0x143: 0x09, 0x144: 0x24, 0x145: 0x24, 0x146: 0x24, 0x147: 0x24, + 0x148: 0x24, 0x149: 0x4d, 0x14a: 0x4e, 0x14b: 0x4f, 0x14c: 0x50, 0x14d: 0x51, 0x14e: 0x52, 0x14f: 0x53, + 0x150: 0x54, 0x151: 0x24, 0x152: 0x24, 0x153: 0x24, 0x154: 0x24, 0x155: 0x24, 0x156: 0x24, 0x157: 0x24, + 0x158: 0x24, 0x159: 0x55, 0x15a: 0x56, 0x15b: 0x57, 0x15c: 0x58, 0x15d: 0x59, 0x15e: 0x5a, 0x15f: 0x5b, + 0x160: 0x5c, 0x161: 0x5d, 0x162: 0x5e, 0x163: 0x5f, 0x164: 0x60, 0x165: 0x61, 0x167: 0x62, + 0x168: 0x63, 0x169: 0x64, 0x16a: 0x65, 0x16b: 0x66, 0x16c: 0x67, 0x16d: 0x68, 0x16e: 0x69, 0x16f: 0x6a, + 0x170: 0x6b, 0x171: 0x6c, 0x172: 0x6d, 0x173: 0x6e, 0x174: 0x6f, 0x175: 0x70, 0x176: 0x71, 0x177: 0x72, + 0x178: 0x73, 0x179: 0x73, 0x17a: 0x74, 0x17b: 0x73, 0x17c: 0x75, 0x17d: 0x0a, 0x17e: 0x0b, 0x17f: 0x0c, + // Block 0x6, offset 0x180 + 0x180: 0x76, 0x181: 0x77, 0x182: 0x78, 0x183: 0x79, 0x184: 0x0d, 0x185: 0x7a, 0x186: 0x7b, + 0x192: 0x7c, 0x193: 0x0e, + 0x1b0: 0x7d, 0x1b1: 0x0f, 0x1b2: 0x73, 0x1b3: 0x7e, 0x1b4: 0x7f, 0x1b5: 0x80, 0x1b6: 0x81, 0x1b7: 0x82, + 0x1b8: 0x83, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x84, 0x1c2: 0x85, 0x1c3: 0x86, 0x1c4: 0x87, 0x1c5: 0x24, 0x1c6: 0x88, + // Block 0x8, offset 0x200 + 0x200: 0x89, 0x201: 0x24, 0x202: 0x24, 0x203: 0x24, 0x204: 0x24, 0x205: 0x24, 0x206: 0x24, 0x207: 0x24, + 0x208: 0x24, 0x209: 0x24, 0x20a: 0x24, 0x20b: 0x24, 0x20c: 0x24, 0x20d: 0x24, 0x20e: 0x24, 0x20f: 0x24, + 0x210: 0x24, 0x211: 0x24, 0x212: 0x8a, 0x213: 0x8b, 0x214: 0x24, 0x215: 0x24, 0x216: 0x24, 0x217: 0x24, + 0x218: 0x8c, 0x219: 0x8d, 0x21a: 0x8e, 0x21b: 0x8f, 0x21c: 0x90, 0x21d: 0x91, 0x21e: 0x10, 0x21f: 0x92, + 0x220: 0x93, 0x221: 0x94, 0x222: 0x24, 0x223: 0x95, 0x224: 0x96, 0x225: 0x97, 0x226: 0x98, 0x227: 0x99, + 0x228: 0x9a, 0x229: 0x9b, 0x22a: 0x9c, 0x22b: 0x9d, 0x22c: 0x9e, 0x22d: 0x9f, 0x22e: 0xa0, 0x22f: 0xa1, + 0x230: 0x24, 0x231: 0x24, 0x232: 0x24, 0x233: 0x24, 0x234: 0x24, 0x235: 0x24, 0x236: 0x24, 0x237: 0x24, + 0x238: 0x24, 0x239: 0x24, 0x23a: 0x24, 0x23b: 0x24, 0x23c: 0x24, 0x23d: 0x24, 0x23e: 0x24, 0x23f: 0x24, + // Block 0x9, offset 0x240 + 0x240: 0x24, 0x241: 0x24, 0x242: 0x24, 0x243: 0x24, 0x244: 0x24, 0x245: 0x24, 0x246: 0x24, 0x247: 0x24, + 0x248: 0x24, 0x249: 0x24, 0x24a: 0x24, 0x24b: 0x24, 0x24c: 0x24, 0x24d: 0x24, 0x24e: 0x24, 0x24f: 0x24, + 0x250: 0x24, 0x251: 0x24, 0x252: 0x24, 0x253: 0x24, 0x254: 0x24, 0x255: 0x24, 0x256: 0x24, 0x257: 0x24, + 0x258: 0x24, 0x259: 0x24, 0x25a: 0x24, 0x25b: 0x24, 0x25c: 0x24, 0x25d: 0x24, 0x25e: 0x24, 0x25f: 0x24, + 0x260: 0x24, 0x261: 0x24, 0x262: 0x24, 0x263: 0x24, 0x264: 0x24, 0x265: 0x24, 0x266: 0x24, 0x267: 0x24, + 0x268: 0x24, 0x269: 0x24, 0x26a: 0x24, 0x26b: 0x24, 0x26c: 0x24, 0x26d: 0x24, 0x26e: 0x24, 0x26f: 0x24, + 0x270: 0x24, 0x271: 0x24, 0x272: 0x24, 0x273: 0x24, 0x274: 0x24, 0x275: 0x24, 0x276: 0x24, 0x277: 0x24, + 0x278: 0x24, 0x279: 0x24, 0x27a: 0x24, 0x27b: 0x24, 0x27c: 0x24, 0x27d: 0x24, 0x27e: 0x24, 0x27f: 0x24, + // Block 0xa, offset 0x280 + 0x280: 0x24, 0x281: 0x24, 0x282: 0x24, 0x283: 0x24, 0x284: 0x24, 0x285: 0x24, 0x286: 0x24, 0x287: 0x24, + 0x288: 0x24, 0x289: 0x24, 0x28a: 0x24, 0x28b: 0x24, 0x28c: 0x24, 0x28d: 0x24, 0x28e: 0x24, 0x28f: 0x24, + 0x290: 0x24, 0x291: 0x24, 0x292: 0x24, 0x293: 0x24, 0x294: 0x24, 0x295: 0x24, 0x296: 0x24, 0x297: 0x24, + 0x298: 0x24, 0x299: 0x24, 0x29a: 0x24, 0x29b: 0x24, 0x29c: 0x24, 0x29d: 0x24, 0x29e: 0xa2, 0x29f: 0xa3, + // Block 0xb, offset 0x2c0 + 0x2ec: 0x11, 0x2ed: 0xa4, 0x2ee: 0xa5, 0x2ef: 0xa6, + 0x2f0: 0x24, 0x2f1: 0x24, 0x2f2: 0x24, 0x2f3: 0x24, 0x2f4: 0xa7, 0x2f5: 0xa8, 0x2f6: 0xa9, 0x2f7: 0xaa, + 0x2f8: 0xab, 0x2f9: 0xac, 0x2fa: 0x24, 0x2fb: 0xad, 0x2fc: 0xae, 0x2fd: 0xaf, 0x2fe: 0xb0, 0x2ff: 0xb1, + // Block 0xc, offset 0x300 + 0x300: 0xb2, 0x301: 0xb3, 0x302: 0x24, 0x303: 0xb4, 0x305: 0xb5, 0x307: 0xb6, + 0x30a: 0xb7, 0x30b: 0xb8, 0x30c: 0xb9, 0x30d: 0xba, 0x30e: 0xbb, 0x30f: 0xbc, + 0x310: 0xbd, 0x311: 0xbe, 0x312: 0xbf, 0x313: 0xc0, 0x314: 0xc1, 0x315: 0xc2, + 0x318: 0x24, 0x319: 0x24, 0x31a: 0x24, 0x31b: 0x24, 0x31c: 0xc3, 0x31d: 0xc4, + 0x320: 0xc5, 0x321: 0xc6, 0x322: 0xc7, 0x323: 0xc8, 0x324: 0xc9, 0x326: 0xca, + 0x328: 0xcb, 0x329: 0xcc, 0x32a: 0xcd, 0x32b: 0xce, 0x32c: 0x5f, 0x32d: 0xcf, 0x32e: 0xd0, + 0x330: 0x24, 0x331: 0xd1, 0x332: 0xd2, 0x333: 0xd3, 0x334: 0xd4, + 0x33a: 0xd5, 0x33c: 0xd6, 0x33d: 0xd7, 0x33e: 0xd8, 0x33f: 0xd9, + // Block 0xd, offset 0x340 + 0x340: 0xda, 0x341: 0xdb, 0x342: 0xdc, 0x343: 0xdd, 0x344: 0xde, 0x345: 0xdf, 0x346: 0xe0, 0x347: 0xe1, + 0x348: 0xe2, 0x34a: 0xe3, 0x34b: 0xe4, 0x34c: 0xe5, 0x34d: 0xe6, + 0x350: 0xe7, 0x351: 0xe8, 0x352: 0xe9, 0x353: 0xea, 0x356: 0xeb, 0x357: 0xec, + 0x358: 0xed, 0x359: 0xee, 0x35a: 0xef, 0x35b: 0xf0, 0x35c: 0xf1, + 0x360: 0xf2, 0x362: 0xf3, 0x363: 0xf4, 0x364: 0xf5, 0x365: 0xf6, 0x366: 0xf7, 0x367: 0xf8, + 0x368: 0xf9, 0x369: 0xfa, 0x36a: 0xfb, 0x36b: 0xfc, + 0x370: 0xfd, 0x371: 0xfe, 0x372: 0xff, 0x374: 0x100, 0x375: 0x101, 0x376: 0x102, + 0x37b: 0x103, 0x37e: 0x104, + // Block 0xe, offset 0x380 + 0x380: 0x24, 0x381: 0x24, 0x382: 0x24, 0x383: 0x24, 0x384: 0x24, 0x385: 0x24, 0x386: 0x24, 0x387: 0x24, + 0x388: 0x24, 0x389: 0x24, 0x38a: 0x24, 0x38b: 0x24, 0x38c: 0x24, 0x38d: 0x24, 0x38e: 0x105, + 0x390: 0x24, 0x391: 0x106, 0x392: 0x24, 0x393: 0x24, 0x394: 0x24, 0x395: 0x107, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x24, 0x3c1: 0x24, 0x3c2: 0x24, 0x3c3: 0x24, 0x3c4: 0x24, 0x3c5: 0x24, 0x3c6: 0x24, 0x3c7: 0x24, + 0x3c8: 0x24, 0x3c9: 0x24, 0x3ca: 0x24, 0x3cb: 0x24, 0x3cc: 0x24, 0x3cd: 0x24, 0x3ce: 0x24, 0x3cf: 0x24, + 0x3d0: 0x108, + // Block 0x10, offset 0x400 + 0x410: 0x24, 0x411: 0x24, 0x412: 0x24, 0x413: 0x24, 0x414: 0x24, 0x415: 0x24, 0x416: 0x24, 0x417: 0x24, + 0x418: 0x24, 0x419: 0x109, + // Block 0x11, offset 0x440 + 0x460: 0x24, 0x461: 0x24, 0x462: 0x24, 0x463: 0x24, 0x464: 0x24, 0x465: 0x24, 0x466: 0x24, 0x467: 0x24, + 0x468: 0xfc, 0x469: 0x10a, 0x46b: 0x10b, 0x46c: 0x10c, 0x46d: 0x10d, 0x46e: 0x10e, + 0x479: 0x10f, 0x47c: 0x24, 0x47d: 0x110, 0x47e: 0x111, 0x47f: 0x112, + // Block 0x12, offset 0x480 + 0x4b0: 0x24, 0x4b1: 0x113, 0x4b2: 0x114, + // Block 0x13, offset 0x4c0 + 0x4c5: 0x115, 0x4c6: 0x116, + 0x4c9: 0x117, + 0x4d0: 0x118, 0x4d1: 0x119, 0x4d2: 0x11a, 0x4d3: 0x11b, 0x4d4: 0x11c, 0x4d5: 0x11d, 0x4d6: 0x11e, 0x4d7: 0x11f, + 0x4d8: 0x120, 0x4d9: 0x121, 0x4da: 0x122, 0x4db: 0x123, 0x4dc: 0x124, 0x4dd: 0x125, 0x4de: 0x126, 0x4df: 0x127, + 0x4e8: 0x128, 0x4e9: 0x129, 0x4ea: 0x12a, + // Block 0x14, offset 0x500 + 0x500: 0x12b, 0x504: 0x12c, 0x505: 0x12d, + 0x50b: 0x12e, + 0x520: 0x24, 0x521: 0x24, 0x522: 0x24, 0x523: 0x12f, 0x524: 0x12, 0x525: 0x130, + 0x538: 0x131, 0x539: 0x13, 0x53a: 0x132, + // Block 0x15, offset 0x540 + 0x544: 0x133, 0x545: 0x134, 0x546: 0x135, + 0x54f: 0x136, + 0x56f: 0x137, + // Block 0x16, offset 0x580 + 0x590: 0x0a, 0x591: 0x0b, 0x592: 0x0c, 0x593: 0x0d, 0x594: 0x0e, 0x596: 0x0f, + 0x59b: 0x10, 0x59d: 0x11, 0x59e: 0x12, 0x59f: 0x13, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x138, 0x5c1: 0x139, 0x5c4: 0x139, 0x5c5: 0x139, 0x5c6: 0x139, 0x5c7: 0x13a, + // Block 0x18, offset 0x600 + 0x620: 0x15, +} + +// sparseOffsets: 296 entries, 592 bytes +var sparseOffsets = []uint16{0x0, 0x9, 0xf, 0x18, 0x24, 0x2e, 0x34, 0x37, 0x3b, 0x3e, 0x42, 0x4c, 0x4e, 0x57, 0x5e, 0x63, 0x71, 0x72, 0x80, 0x8f, 0x99, 0x9c, 0xa3, 0xab, 0xae, 0xb0, 0xc0, 0xc6, 0xd4, 0xdf, 0xec, 0xf7, 0x103, 0x10d, 0x119, 0x124, 0x130, 0x13c, 0x144, 0x14d, 0x157, 0x162, 0x16e, 0x174, 0x17f, 0x185, 0x18d, 0x190, 0x195, 0x199, 0x19d, 0x1a4, 0x1ad, 0x1b5, 0x1b6, 0x1bf, 0x1c6, 0x1ce, 0x1d4, 0x1d9, 0x1dd, 0x1e0, 0x1e2, 0x1e5, 0x1ea, 0x1eb, 0x1ed, 0x1ef, 0x1f1, 0x1f8, 0x1fd, 0x201, 0x20a, 0x20d, 0x210, 0x216, 0x217, 0x222, 0x223, 0x224, 0x229, 0x236, 0x23f, 0x240, 0x248, 0x251, 0x25a, 0x263, 0x268, 0x26b, 0x276, 0x284, 0x286, 0x28d, 0x291, 0x29d, 0x29e, 0x2a9, 0x2b1, 0x2b9, 0x2bf, 0x2c0, 0x2ce, 0x2d3, 0x2d6, 0x2db, 0x2df, 0x2e5, 0x2ea, 0x2ed, 0x2f2, 0x2f7, 0x2f8, 0x2fe, 0x300, 0x301, 0x303, 0x305, 0x308, 0x309, 0x30b, 0x30e, 0x314, 0x318, 0x31a, 0x31f, 0x326, 0x331, 0x33b, 0x33c, 0x345, 0x349, 0x34e, 0x356, 0x35c, 0x362, 0x36c, 0x371, 0x37a, 0x380, 0x389, 0x38d, 0x395, 0x397, 0x399, 0x39c, 0x39e, 0x3a0, 0x3a1, 0x3a2, 0x3a4, 0x3a6, 0x3ac, 0x3b1, 0x3b3, 0x3ba, 0x3bd, 0x3bf, 0x3c5, 0x3ca, 0x3cc, 0x3cd, 0x3ce, 0x3cf, 0x3d1, 0x3d3, 0x3d5, 0x3d8, 0x3da, 0x3dd, 0x3e5, 0x3e8, 0x3ec, 0x3f4, 0x3f6, 0x3f7, 0x3f8, 0x3fa, 0x400, 0x402, 0x403, 0x405, 0x407, 0x409, 0x416, 0x417, 0x418, 0x41c, 0x41e, 0x41f, 0x420, 0x421, 0x422, 0x425, 0x428, 0x42b, 0x431, 0x432, 0x434, 0x438, 0x43c, 0x442, 0x445, 0x44c, 0x450, 0x454, 0x45d, 0x466, 0x46c, 0x472, 0x47c, 0x486, 0x488, 0x491, 0x497, 0x49d, 0x4a3, 0x4a6, 0x4ac, 0x4af, 0x4b8, 0x4b9, 0x4c0, 0x4c4, 0x4c5, 0x4c8, 0x4d2, 0x4d5, 0x4d7, 0x4de, 0x4e6, 0x4ec, 0x4f2, 0x4f3, 0x4f9, 0x4fc, 0x504, 0x50b, 0x515, 0x51d, 0x520, 0x521, 0x522, 0x523, 0x524, 0x526, 0x527, 0x529, 0x52b, 0x52d, 0x531, 0x532, 0x534, 0x537, 0x539, 0x53c, 0x53e, 0x543, 0x548, 0x54c, 0x54d, 0x550, 0x554, 0x55f, 0x563, 0x56b, 0x570, 0x574, 0x577, 0x57b, 0x57e, 0x581, 0x586, 0x58a, 0x58e, 0x592, 0x596, 0x598, 0x59a, 0x59d, 0x5a2, 0x5a5, 0x5a7, 0x5aa, 0x5ac, 0x5b2, 0x5bb, 0x5c0, 0x5c1, 0x5c4, 0x5c5, 0x5c6, 0x5c7, 0x5c9, 0x5ca, 0x5cb} + +// sparseValues: 1483 entries, 5932 bytes +var sparseValues = [1483]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0004, lo: 0xa8, hi: 0xa8}, + {value: 0x0012, lo: 0xaa, hi: 0xaa}, + {value: 0x0014, lo: 0xad, hi: 0xad}, + {value: 0x0004, lo: 0xaf, hi: 0xaf}, + {value: 0x0004, lo: 0xb4, hi: 0xb4}, + {value: 0x001a, lo: 0xb5, hi: 0xb5}, + {value: 0x0054, lo: 0xb7, hi: 0xb7}, + {value: 0x0004, lo: 0xb8, hi: 0xb8}, + {value: 0x0012, lo: 0xba, hi: 0xba}, + // Block 0x1, offset 0x9 + {value: 0x2013, lo: 0x80, hi: 0x96}, + {value: 0x2013, lo: 0x98, hi: 0x9e}, + {value: 0x009a, lo: 0x9f, hi: 0x9f}, + {value: 0x2012, lo: 0xa0, hi: 0xb6}, + {value: 0x2012, lo: 0xb8, hi: 0xbe}, + {value: 0x0252, lo: 0xbf, hi: 0xbf}, + // Block 0x2, offset 0xf + {value: 0x0117, lo: 0x80, hi: 0xaf}, + {value: 0x011b, lo: 0xb0, hi: 0xb0}, + {value: 0x019a, lo: 0xb1, hi: 0xb1}, + {value: 0x0117, lo: 0xb2, hi: 0xb7}, + {value: 0x0012, lo: 0xb8, hi: 0xb8}, + {value: 0x0316, lo: 0xb9, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x0316, lo: 0xbd, hi: 0xbe}, + {value: 0x0553, lo: 0xbf, hi: 0xbf}, + // Block 0x3, offset 0x18 + {value: 0x0552, lo: 0x80, hi: 0x80}, + {value: 0x0316, lo: 0x81, hi: 0x82}, + {value: 0x0716, lo: 0x83, hi: 0x84}, + {value: 0x0316, lo: 0x85, hi: 0x86}, + {value: 0x0f16, lo: 0x87, hi: 0x88}, + {value: 0x01da, lo: 0x89, hi: 0x89}, + {value: 0x0117, lo: 0x8a, hi: 0xb7}, + {value: 0x0253, lo: 0xb8, hi: 0xb8}, + {value: 0x0316, lo: 0xb9, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x0316, lo: 0xbd, hi: 0xbe}, + {value: 0x028a, lo: 0xbf, hi: 0xbf}, + // Block 0x4, offset 0x24 + {value: 0x0117, lo: 0x80, hi: 0x9f}, + {value: 0x2f53, lo: 0xa0, hi: 0xa0}, + {value: 0x0012, lo: 0xa1, hi: 0xa1}, + {value: 0x0117, lo: 0xa2, hi: 0xb3}, + {value: 0x0012, lo: 0xb4, hi: 0xb9}, + {value: 0x090b, lo: 0xba, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x2953, lo: 0xbd, hi: 0xbd}, + {value: 0x098b, lo: 0xbe, hi: 0xbe}, + {value: 0x0a0a, lo: 0xbf, hi: 0xbf}, + // Block 0x5, offset 0x2e + {value: 0x0015, lo: 0x80, hi: 0x81}, + {value: 0x0014, lo: 0x82, hi: 0x97}, + {value: 0x0004, lo: 0x98, hi: 0x9d}, + {value: 0x0014, lo: 0x9e, hi: 0x9f}, + {value: 0x0015, lo: 0xa0, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xbf}, + // Block 0x6, offset 0x34 + {value: 0x0024, lo: 0x80, hi: 0x94}, + {value: 0x0034, lo: 0x95, hi: 0xbc}, + {value: 0x0024, lo: 0xbd, hi: 0xbf}, + // Block 0x7, offset 0x37 + {value: 0x6553, lo: 0x80, hi: 0x8f}, + {value: 0x2013, lo: 0x90, hi: 0x9f}, + {value: 0x5f53, lo: 0xa0, hi: 0xaf}, + {value: 0x2012, lo: 0xb0, hi: 0xbf}, + // Block 0x8, offset 0x3b + {value: 0x5f52, lo: 0x80, hi: 0x8f}, + {value: 0x6552, lo: 0x90, hi: 0x9f}, + {value: 0x0117, lo: 0xa0, hi: 0xbf}, + // Block 0x9, offset 0x3e + {value: 0x0117, lo: 0x80, hi: 0x81}, + {value: 0x0024, lo: 0x83, hi: 0x87}, + {value: 0x0014, lo: 0x88, hi: 0x89}, + {value: 0x0117, lo: 0x8a, hi: 0xbf}, + // Block 0xa, offset 0x42 + {value: 0x0f13, lo: 0x80, hi: 0x80}, + {value: 0x0316, lo: 0x81, hi: 0x82}, + {value: 0x0716, lo: 0x83, hi: 0x84}, + {value: 0x0316, lo: 0x85, hi: 0x86}, + {value: 0x0f16, lo: 0x87, hi: 0x88}, + {value: 0x0316, lo: 0x89, hi: 0x8a}, + {value: 0x0716, lo: 0x8b, hi: 0x8c}, + {value: 0x0316, lo: 0x8d, hi: 0x8e}, + {value: 0x0f12, lo: 0x8f, hi: 0x8f}, + {value: 0x0117, lo: 0x90, hi: 0xbf}, + // Block 0xb, offset 0x4c + {value: 0x0117, lo: 0x80, hi: 0xaf}, + {value: 0x6553, lo: 0xb1, hi: 0xbf}, + // Block 0xc, offset 0x4e + {value: 0x3013, lo: 0x80, hi: 0x8f}, + {value: 0x6853, lo: 0x90, hi: 0x96}, + {value: 0x0014, lo: 0x99, hi: 0x99}, + {value: 0x0010, lo: 0x9a, hi: 0x9c}, + {value: 0x0010, lo: 0x9e, hi: 0x9e}, + {value: 0x0054, lo: 0x9f, hi: 0x9f}, + {value: 0x0012, lo: 0xa0, hi: 0xa0}, + {value: 0x6552, lo: 0xa1, hi: 0xaf}, + {value: 0x3012, lo: 0xb0, hi: 0xbf}, + // Block 0xd, offset 0x57 + {value: 0x0034, lo: 0x81, hi: 0x82}, + {value: 0x0024, lo: 0x84, hi: 0x84}, + {value: 0x0034, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0xaa}, + {value: 0x0010, lo: 0xaf, hi: 0xb3}, + {value: 0x0054, lo: 0xb4, hi: 0xb4}, + // Block 0xe, offset 0x5e + {value: 0x0014, lo: 0x80, hi: 0x85}, + {value: 0x0024, lo: 0x90, hi: 0x97}, + {value: 0x0034, lo: 0x98, hi: 0x9a}, + {value: 0x0014, lo: 0x9c, hi: 0x9c}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0xf, offset 0x63 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x8a}, + {value: 0x0034, lo: 0x8b, hi: 0x92}, + {value: 0x0024, lo: 0x93, hi: 0x94}, + {value: 0x0034, lo: 0x95, hi: 0x96}, + {value: 0x0024, lo: 0x97, hi: 0x9b}, + {value: 0x0034, lo: 0x9c, hi: 0x9c}, + {value: 0x0024, lo: 0x9d, hi: 0x9e}, + {value: 0x0034, lo: 0x9f, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0x0010, lo: 0xab, hi: 0xab}, + {value: 0x0010, lo: 0xae, hi: 0xaf}, + {value: 0x0034, lo: 0xb0, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xbf}, + // Block 0x10, offset 0x71 + {value: 0x0010, lo: 0x80, hi: 0xbf}, + // Block 0x11, offset 0x72 + {value: 0x0010, lo: 0x80, hi: 0x93}, + {value: 0x0010, lo: 0x95, hi: 0x95}, + {value: 0x0024, lo: 0x96, hi: 0x9c}, + {value: 0x0014, lo: 0x9d, hi: 0x9d}, + {value: 0x0024, lo: 0x9f, hi: 0xa2}, + {value: 0x0034, lo: 0xa3, hi: 0xa3}, + {value: 0x0024, lo: 0xa4, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xa6}, + {value: 0x0024, lo: 0xa7, hi: 0xa8}, + {value: 0x0034, lo: 0xaa, hi: 0xaa}, + {value: 0x0024, lo: 0xab, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xbc}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x12, offset 0x80 + {value: 0x0014, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0034, lo: 0x91, hi: 0x91}, + {value: 0x0010, lo: 0x92, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb0}, + {value: 0x0034, lo: 0xb1, hi: 0xb1}, + {value: 0x0024, lo: 0xb2, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0024, lo: 0xb5, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb9}, + {value: 0x0024, lo: 0xba, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbc}, + {value: 0x0024, lo: 0xbd, hi: 0xbd}, + {value: 0x0034, lo: 0xbe, hi: 0xbe}, + {value: 0x0024, lo: 0xbf, hi: 0xbf}, + // Block 0x13, offset 0x8f + {value: 0x0024, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0024, lo: 0x83, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x84}, + {value: 0x0024, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0024, lo: 0x87, hi: 0x87}, + {value: 0x0034, lo: 0x88, hi: 0x88}, + {value: 0x0024, lo: 0x89, hi: 0x8a}, + {value: 0x0010, lo: 0x8d, hi: 0xbf}, + // Block 0x14, offset 0x99 + {value: 0x0010, lo: 0x80, hi: 0xa5}, + {value: 0x0014, lo: 0xa6, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + // Block 0x15, offset 0x9c + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0024, lo: 0xab, hi: 0xb1}, + {value: 0x0034, lo: 0xb2, hi: 0xb2}, + {value: 0x0024, lo: 0xb3, hi: 0xb3}, + {value: 0x0014, lo: 0xb4, hi: 0xb5}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0034, lo: 0xbd, hi: 0xbd}, + // Block 0x16, offset 0xa3 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0024, lo: 0x96, hi: 0x99}, + {value: 0x0014, lo: 0x9a, hi: 0x9a}, + {value: 0x0024, lo: 0x9b, hi: 0xa3}, + {value: 0x0014, lo: 0xa4, hi: 0xa4}, + {value: 0x0024, lo: 0xa5, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa8}, + {value: 0x0024, lo: 0xa9, hi: 0xad}, + // Block 0x17, offset 0xab + {value: 0x0010, lo: 0x80, hi: 0x98}, + {value: 0x0034, lo: 0x99, hi: 0x9b}, + {value: 0x0010, lo: 0xa0, hi: 0xaa}, + // Block 0x18, offset 0xae + {value: 0x0010, lo: 0xa0, hi: 0xb4}, + {value: 0x0010, lo: 0xb6, hi: 0xbf}, + // Block 0x19, offset 0xb0 + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0034, lo: 0x93, hi: 0x93}, + {value: 0x0024, lo: 0x94, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa2}, + {value: 0x0034, lo: 0xa3, hi: 0xa3}, + {value: 0x0024, lo: 0xa4, hi: 0xa5}, + {value: 0x0034, lo: 0xa6, hi: 0xa6}, + {value: 0x0024, lo: 0xa7, hi: 0xa8}, + {value: 0x0034, lo: 0xa9, hi: 0xa9}, + {value: 0x0024, lo: 0xaa, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xb2}, + {value: 0x0024, lo: 0xb3, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb6}, + {value: 0x0024, lo: 0xb7, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0024, lo: 0xbb, hi: 0xbf}, + // Block 0x1a, offset 0xc0 + {value: 0x0014, lo: 0x80, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0xb9}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x1b, offset 0xc6 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x88}, + {value: 0x0010, lo: 0x89, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0024, lo: 0x91, hi: 0x91}, + {value: 0x0034, lo: 0x92, hi: 0x92}, + {value: 0x0024, lo: 0x93, hi: 0x94}, + {value: 0x0014, lo: 0x95, hi: 0x97}, + {value: 0x0010, lo: 0x98, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0014, lo: 0xb1, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xbf}, + // Block 0x1c, offset 0xd4 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb2}, + {value: 0x0010, lo: 0xb6, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x1d, offset 0xdf + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8e, hi: 0x8e}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x9c, hi: 0x9d}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xb1}, + {value: 0x0010, lo: 0xbc, hi: 0xbc}, + {value: 0x0024, lo: 0xbe, hi: 0xbe}, + // Block 0x1e, offset 0xec + {value: 0x0014, lo: 0x81, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8a}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb6}, + {value: 0x0010, lo: 0xb8, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x1f, offset 0xf7 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x82}, + {value: 0x0014, lo: 0x87, hi: 0x88}, + {value: 0x0014, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0014, lo: 0x91, hi: 0x91}, + {value: 0x0010, lo: 0x99, hi: 0x9c}, + {value: 0x0010, lo: 0x9e, hi: 0x9e}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb5}, + // Block 0x20, offset 0x103 + {value: 0x0014, lo: 0x81, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8d}, + {value: 0x0010, lo: 0x8f, hi: 0x91}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x21, offset 0x10d + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x85}, + {value: 0x0014, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x89, hi: 0x89}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb9, hi: 0xb9}, + {value: 0x0014, lo: 0xba, hi: 0xbf}, + // Block 0x22, offset 0x119 + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x23, offset 0x124 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0014, lo: 0x95, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x9c, hi: 0x9d}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + // Block 0x24, offset 0x130 + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8a}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0x95}, + {value: 0x0010, lo: 0x99, hi: 0x9a}, + {value: 0x0010, lo: 0x9c, hi: 0x9c}, + {value: 0x0010, lo: 0x9e, hi: 0x9f}, + {value: 0x0010, lo: 0xa3, hi: 0xa4}, + {value: 0x0010, lo: 0xa8, hi: 0xaa}, + {value: 0x0010, lo: 0xae, hi: 0xb9}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x25, offset 0x13c + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x82}, + {value: 0x0010, lo: 0x86, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + // Block 0x26, offset 0x144 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x83}, + {value: 0x0014, lo: 0x84, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb9}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + {value: 0x0014, lo: 0xbe, hi: 0xbf}, + // Block 0x27, offset 0x14d + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x84}, + {value: 0x0014, lo: 0x86, hi: 0x88}, + {value: 0x0014, lo: 0x8a, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0034, lo: 0x95, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x9a}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + // Block 0x28, offset 0x157 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x29, offset 0x162 + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0014, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x95, hi: 0x96}, + {value: 0x0010, lo: 0x9e, hi: 0x9e}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb1, hi: 0xb2}, + // Block 0x2a, offset 0x16e + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x2b, offset 0x174 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x86, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8e, hi: 0x8e}, + {value: 0x0010, lo: 0x94, hi: 0x97}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xba, hi: 0xbf}, + // Block 0x2c, offset 0x17f + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x96}, + {value: 0x0010, lo: 0x9a, hi: 0xb1}, + {value: 0x0010, lo: 0xb3, hi: 0xbb}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + // Block 0x2d, offset 0x185 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0010, lo: 0x8f, hi: 0x91}, + {value: 0x0014, lo: 0x92, hi: 0x94}, + {value: 0x0014, lo: 0x96, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x9f}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + // Block 0x2e, offset 0x18d + {value: 0x0014, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb4, hi: 0xb7}, + {value: 0x0034, lo: 0xb8, hi: 0xba}, + // Block 0x2f, offset 0x190 + {value: 0x0004, lo: 0x86, hi: 0x86}, + {value: 0x0014, lo: 0x87, hi: 0x87}, + {value: 0x0034, lo: 0x88, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x30, offset 0x195 + {value: 0x0014, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb4, hi: 0xb7}, + {value: 0x0034, lo: 0xb8, hi: 0xba}, + {value: 0x0014, lo: 0xbb, hi: 0xbc}, + // Block 0x31, offset 0x199 + {value: 0x0004, lo: 0x86, hi: 0x86}, + {value: 0x0034, lo: 0x88, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x32, offset 0x19d + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0034, lo: 0x98, hi: 0x99}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0x0034, lo: 0xb5, hi: 0xb5}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + {value: 0x0034, lo: 0xb9, hi: 0xb9}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x33, offset 0x1a4 + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0010, lo: 0x89, hi: 0xac}, + {value: 0x0034, lo: 0xb1, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xba, hi: 0xbd}, + {value: 0x0014, lo: 0xbe, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x34, offset 0x1ad + {value: 0x0034, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0024, lo: 0x82, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x84}, + {value: 0x0024, lo: 0x86, hi: 0x87}, + {value: 0x0010, lo: 0x88, hi: 0x8c}, + {value: 0x0014, lo: 0x8d, hi: 0x97}, + {value: 0x0014, lo: 0x99, hi: 0xbc}, + // Block 0x35, offset 0x1b5 + {value: 0x0034, lo: 0x86, hi: 0x86}, + // Block 0x36, offset 0x1b6 + {value: 0x0010, lo: 0xab, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + {value: 0x0010, lo: 0xb8, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbc}, + {value: 0x0014, lo: 0xbd, hi: 0xbe}, + // Block 0x37, offset 0x1bf + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x96, hi: 0x97}, + {value: 0x0014, lo: 0x98, hi: 0x99}, + {value: 0x0014, lo: 0x9e, hi: 0xa0}, + {value: 0x0010, lo: 0xa2, hi: 0xa4}, + {value: 0x0010, lo: 0xa7, hi: 0xad}, + {value: 0x0014, lo: 0xb1, hi: 0xb4}, + // Block 0x38, offset 0x1c6 + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x84}, + {value: 0x0014, lo: 0x85, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8f, hi: 0x9c}, + {value: 0x0014, lo: 0x9d, hi: 0x9d}, + {value: 0x6c53, lo: 0xa0, hi: 0xbf}, + // Block 0x39, offset 0x1ce + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x98}, + {value: 0x0010, lo: 0x9a, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x3a, offset 0x1d4 + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb5}, + {value: 0x0010, lo: 0xb8, hi: 0xbe}, + // Block 0x3b, offset 0x1d9 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x82, hi: 0x85}, + {value: 0x0010, lo: 0x88, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0xbf}, + // Block 0x3c, offset 0x1dd + {value: 0x0010, lo: 0x80, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0x95}, + {value: 0x0010, lo: 0x98, hi: 0xbf}, + // Block 0x3d, offset 0x1e0 + {value: 0x0010, lo: 0x80, hi: 0x9a}, + {value: 0x0024, lo: 0x9d, hi: 0x9f}, + // Block 0x3e, offset 0x1e2 + {value: 0x0010, lo: 0x80, hi: 0x8f}, + {value: 0x7453, lo: 0xa0, hi: 0xaf}, + {value: 0x7853, lo: 0xb0, hi: 0xbf}, + // Block 0x3f, offset 0x1e5 + {value: 0x7c53, lo: 0x80, hi: 0x8f}, + {value: 0x8053, lo: 0x90, hi: 0x9f}, + {value: 0x7c53, lo: 0xa0, hi: 0xaf}, + {value: 0x0813, lo: 0xb0, hi: 0xb5}, + {value: 0x0892, lo: 0xb8, hi: 0xbd}, + // Block 0x40, offset 0x1ea + {value: 0x0010, lo: 0x81, hi: 0xbf}, + // Block 0x41, offset 0x1eb + {value: 0x0010, lo: 0x80, hi: 0xac}, + {value: 0x0010, lo: 0xaf, hi: 0xbf}, + // Block 0x42, offset 0x1ed + {value: 0x0010, lo: 0x81, hi: 0x9a}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x43, offset 0x1ef + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0010, lo: 0xae, hi: 0xb8}, + // Block 0x44, offset 0x1f1 + {value: 0x0010, lo: 0x80, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x91}, + {value: 0x0014, lo: 0x92, hi: 0x93}, + {value: 0x0034, lo: 0x94, hi: 0x94}, + {value: 0x0010, lo: 0xa0, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + // Block 0x45, offset 0x1f8 + {value: 0x0010, lo: 0x80, hi: 0x91}, + {value: 0x0014, lo: 0x92, hi: 0x93}, + {value: 0x0010, lo: 0xa0, hi: 0xac}, + {value: 0x0010, lo: 0xae, hi: 0xb0}, + {value: 0x0014, lo: 0xb2, hi: 0xb3}, + // Block 0x46, offset 0x1fd + {value: 0x0014, lo: 0xb4, hi: 0xb5}, + {value: 0x0010, lo: 0xb6, hi: 0xb6}, + {value: 0x0014, lo: 0xb7, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x47, offset 0x201 + {value: 0x0010, lo: 0x80, hi: 0x85}, + {value: 0x0014, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0014, lo: 0x89, hi: 0x91}, + {value: 0x0034, lo: 0x92, hi: 0x92}, + {value: 0x0014, lo: 0x93, hi: 0x93}, + {value: 0x0004, lo: 0x97, hi: 0x97}, + {value: 0x0024, lo: 0x9d, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + // Block 0x48, offset 0x20a + {value: 0x0014, lo: 0x8b, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x49, offset 0x20d + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0xb8}, + // Block 0x4a, offset 0x210 + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0014, lo: 0x85, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0xa8}, + {value: 0x0034, lo: 0xa9, hi: 0xa9}, + {value: 0x0010, lo: 0xaa, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x4b, offset 0x216 + {value: 0x0010, lo: 0x80, hi: 0xb5}, + // Block 0x4c, offset 0x217 + {value: 0x0010, lo: 0x80, hi: 0x9e}, + {value: 0x0014, lo: 0xa0, hi: 0xa2}, + {value: 0x0010, lo: 0xa3, hi: 0xa6}, + {value: 0x0014, lo: 0xa7, hi: 0xa8}, + {value: 0x0010, lo: 0xa9, hi: 0xab}, + {value: 0x0010, lo: 0xb0, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb2}, + {value: 0x0010, lo: 0xb3, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xb9}, + {value: 0x0024, lo: 0xba, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbb}, + // Block 0x4d, offset 0x222 + {value: 0x0010, lo: 0x86, hi: 0x8f}, + // Block 0x4e, offset 0x223 + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x4f, offset 0x224 + {value: 0x0010, lo: 0x80, hi: 0x96}, + {value: 0x0024, lo: 0x97, hi: 0x97}, + {value: 0x0034, lo: 0x98, hi: 0x98}, + {value: 0x0010, lo: 0x99, hi: 0x9a}, + {value: 0x0014, lo: 0x9b, hi: 0x9b}, + // Block 0x50, offset 0x229 + {value: 0x0010, lo: 0x95, hi: 0x95}, + {value: 0x0014, lo: 0x96, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0014, lo: 0x98, hi: 0x9e}, + {value: 0x0034, lo: 0xa0, hi: 0xa0}, + {value: 0x0010, lo: 0xa1, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa2}, + {value: 0x0010, lo: 0xa3, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xac}, + {value: 0x0010, lo: 0xad, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb4}, + {value: 0x0024, lo: 0xb5, hi: 0xbc}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x51, offset 0x236 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0004, lo: 0xa7, hi: 0xa7}, + {value: 0x0024, lo: 0xb0, hi: 0xb4}, + {value: 0x0034, lo: 0xb5, hi: 0xba}, + {value: 0x0024, lo: 0xbb, hi: 0xbc}, + {value: 0x0034, lo: 0xbd, hi: 0xbd}, + {value: 0x0014, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x52, offset 0x23f + {value: 0x0034, lo: 0x80, hi: 0x80}, + // Block 0x53, offset 0x240 + {value: 0x0014, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x54, offset 0x248 + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0030, lo: 0x84, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x8b}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0024, lo: 0xab, hi: 0xab}, + {value: 0x0034, lo: 0xac, hi: 0xac}, + {value: 0x0024, lo: 0xad, hi: 0xb3}, + // Block 0x55, offset 0x251 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa5}, + {value: 0x0010, lo: 0xa6, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa9}, + {value: 0x0030, lo: 0xaa, hi: 0xaa}, + {value: 0x0034, lo: 0xab, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xbf}, + // Block 0x56, offset 0x25a + {value: 0x0010, lo: 0x80, hi: 0xa5}, + {value: 0x0034, lo: 0xa6, hi: 0xa6}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa9}, + {value: 0x0010, lo: 0xaa, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xae}, + {value: 0x0014, lo: 0xaf, hi: 0xb1}, + {value: 0x0030, lo: 0xb2, hi: 0xb3}, + // Block 0x57, offset 0x263 + {value: 0x0010, lo: 0x80, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xb3}, + {value: 0x0010, lo: 0xb4, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + // Block 0x58, offset 0x268 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x8d, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbd}, + // Block 0x59, offset 0x26b + {value: 0x31ea, lo: 0x80, hi: 0x80}, + {value: 0x326a, lo: 0x81, hi: 0x81}, + {value: 0x32ea, lo: 0x82, hi: 0x82}, + {value: 0x336a, lo: 0x83, hi: 0x83}, + {value: 0x33ea, lo: 0x84, hi: 0x84}, + {value: 0x346a, lo: 0x85, hi: 0x85}, + {value: 0x34ea, lo: 0x86, hi: 0x86}, + {value: 0x356a, lo: 0x87, hi: 0x87}, + {value: 0x35ea, lo: 0x88, hi: 0x88}, + {value: 0x8353, lo: 0x90, hi: 0xba}, + {value: 0x8353, lo: 0xbd, hi: 0xbf}, + // Block 0x5a, offset 0x276 + {value: 0x0024, lo: 0x90, hi: 0x92}, + {value: 0x0034, lo: 0x94, hi: 0x99}, + {value: 0x0024, lo: 0x9a, hi: 0x9b}, + {value: 0x0034, lo: 0x9c, hi: 0x9f}, + {value: 0x0024, lo: 0xa0, hi: 0xa0}, + {value: 0x0010, lo: 0xa1, hi: 0xa1}, + {value: 0x0034, lo: 0xa2, hi: 0xa8}, + {value: 0x0010, lo: 0xa9, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xb3}, + {value: 0x0024, lo: 0xb4, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb7}, + {value: 0x0024, lo: 0xb8, hi: 0xb9}, + {value: 0x0010, lo: 0xba, hi: 0xba}, + // Block 0x5b, offset 0x284 + {value: 0x0012, lo: 0x80, hi: 0xab}, + {value: 0x0015, lo: 0xac, hi: 0xbf}, + // Block 0x5c, offset 0x286 + {value: 0x0015, lo: 0x80, hi: 0xaa}, + {value: 0x0012, lo: 0xab, hi: 0xb7}, + {value: 0x0015, lo: 0xb8, hi: 0xb8}, + {value: 0x8752, lo: 0xb9, hi: 0xb9}, + {value: 0x0012, lo: 0xba, hi: 0xbc}, + {value: 0x8b52, lo: 0xbd, hi: 0xbd}, + {value: 0x0012, lo: 0xbe, hi: 0xbf}, + // Block 0x5d, offset 0x28d + {value: 0x0012, lo: 0x80, hi: 0x8d}, + {value: 0x8f52, lo: 0x8e, hi: 0x8e}, + {value: 0x0012, lo: 0x8f, hi: 0x9a}, + {value: 0x0015, lo: 0x9b, hi: 0xbf}, + // Block 0x5e, offset 0x291 + {value: 0x0024, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0024, lo: 0x83, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0024, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x90}, + {value: 0x0024, lo: 0x91, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb9}, + {value: 0x0024, lo: 0xbb, hi: 0xbb}, + {value: 0x0034, lo: 0xbc, hi: 0xbd}, + {value: 0x0024, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x5f, offset 0x29d + {value: 0x0117, lo: 0x80, hi: 0xbf}, + // Block 0x60, offset 0x29e + {value: 0x0117, lo: 0x80, hi: 0x95}, + {value: 0x369a, lo: 0x96, hi: 0x96}, + {value: 0x374a, lo: 0x97, hi: 0x97}, + {value: 0x37fa, lo: 0x98, hi: 0x98}, + {value: 0x38aa, lo: 0x99, hi: 0x99}, + {value: 0x395a, lo: 0x9a, hi: 0x9a}, + {value: 0x3a0a, lo: 0x9b, hi: 0x9b}, + {value: 0x0012, lo: 0x9c, hi: 0x9d}, + {value: 0x3abb, lo: 0x9e, hi: 0x9e}, + {value: 0x0012, lo: 0x9f, hi: 0x9f}, + {value: 0x0117, lo: 0xa0, hi: 0xbf}, + // Block 0x61, offset 0x2a9 + {value: 0x0812, lo: 0x80, hi: 0x87}, + {value: 0x0813, lo: 0x88, hi: 0x8f}, + {value: 0x0812, lo: 0x90, hi: 0x95}, + {value: 0x0813, lo: 0x98, hi: 0x9d}, + {value: 0x0812, lo: 0xa0, hi: 0xa7}, + {value: 0x0813, lo: 0xa8, hi: 0xaf}, + {value: 0x0812, lo: 0xb0, hi: 0xb7}, + {value: 0x0813, lo: 0xb8, hi: 0xbf}, + // Block 0x62, offset 0x2b1 + {value: 0x0004, lo: 0x8b, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8f}, + {value: 0x0054, lo: 0x98, hi: 0x99}, + {value: 0x0054, lo: 0xa4, hi: 0xa4}, + {value: 0x0054, lo: 0xa7, hi: 0xa7}, + {value: 0x0014, lo: 0xaa, hi: 0xae}, + {value: 0x0010, lo: 0xaf, hi: 0xaf}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x63, offset 0x2b9 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x94, hi: 0x94}, + {value: 0x0014, lo: 0xa0, hi: 0xa4}, + {value: 0x0014, lo: 0xa6, hi: 0xaf}, + {value: 0x0015, lo: 0xb1, hi: 0xb1}, + {value: 0x0015, lo: 0xbf, hi: 0xbf}, + // Block 0x64, offset 0x2bf + {value: 0x0015, lo: 0x90, hi: 0x9c}, + // Block 0x65, offset 0x2c0 + {value: 0x0024, lo: 0x90, hi: 0x91}, + {value: 0x0034, lo: 0x92, hi: 0x93}, + {value: 0x0024, lo: 0x94, hi: 0x97}, + {value: 0x0034, lo: 0x98, hi: 0x9a}, + {value: 0x0024, lo: 0x9b, hi: 0x9c}, + {value: 0x0014, lo: 0x9d, hi: 0xa0}, + {value: 0x0024, lo: 0xa1, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa4}, + {value: 0x0034, lo: 0xa5, hi: 0xa6}, + {value: 0x0024, lo: 0xa7, hi: 0xa7}, + {value: 0x0034, lo: 0xa8, hi: 0xa8}, + {value: 0x0024, lo: 0xa9, hi: 0xa9}, + {value: 0x0034, lo: 0xaa, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb0}, + // Block 0x66, offset 0x2ce + {value: 0x0016, lo: 0x85, hi: 0x86}, + {value: 0x0012, lo: 0x87, hi: 0x89}, + {value: 0xa452, lo: 0x8e, hi: 0x8e}, + {value: 0x1013, lo: 0xa0, hi: 0xaf}, + {value: 0x1012, lo: 0xb0, hi: 0xbf}, + // Block 0x67, offset 0x2d3 + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0716, lo: 0x83, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x88}, + // Block 0x68, offset 0x2d6 + {value: 0xa753, lo: 0xb6, hi: 0xb7}, + {value: 0xaa53, lo: 0xb8, hi: 0xb9}, + {value: 0xad53, lo: 0xba, hi: 0xbb}, + {value: 0xaa53, lo: 0xbc, hi: 0xbd}, + {value: 0xa753, lo: 0xbe, hi: 0xbf}, + // Block 0x69, offset 0x2db + {value: 0x3013, lo: 0x80, hi: 0x8f}, + {value: 0x6553, lo: 0x90, hi: 0x9f}, + {value: 0xb053, lo: 0xa0, hi: 0xae}, + {value: 0x3012, lo: 0xb0, hi: 0xbf}, + // Block 0x6a, offset 0x2df + {value: 0x0117, lo: 0x80, hi: 0xa3}, + {value: 0x0012, lo: 0xa4, hi: 0xa4}, + {value: 0x0716, lo: 0xab, hi: 0xac}, + {value: 0x0316, lo: 0xad, hi: 0xae}, + {value: 0x0024, lo: 0xaf, hi: 0xb1}, + {value: 0x0117, lo: 0xb2, hi: 0xb3}, + // Block 0x6b, offset 0x2e5 + {value: 0x6c52, lo: 0x80, hi: 0x9f}, + {value: 0x7052, lo: 0xa0, hi: 0xa5}, + {value: 0x7052, lo: 0xa7, hi: 0xa7}, + {value: 0x7052, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x6c, offset 0x2ea + {value: 0x0010, lo: 0x80, hi: 0xa7}, + {value: 0x0014, lo: 0xaf, hi: 0xaf}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x6d, offset 0x2ed + {value: 0x0010, lo: 0x80, hi: 0x96}, + {value: 0x0010, lo: 0xa0, hi: 0xa6}, + {value: 0x0010, lo: 0xa8, hi: 0xae}, + {value: 0x0010, lo: 0xb0, hi: 0xb6}, + {value: 0x0010, lo: 0xb8, hi: 0xbe}, + // Block 0x6e, offset 0x2f2 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x88, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x9e}, + {value: 0x0024, lo: 0xa0, hi: 0xbf}, + // Block 0x6f, offset 0x2f7 + {value: 0x0014, lo: 0xaf, hi: 0xaf}, + // Block 0x70, offset 0x2f8 + {value: 0x0014, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0xaa, hi: 0xad}, + {value: 0x0030, lo: 0xae, hi: 0xaf}, + {value: 0x0004, lo: 0xb1, hi: 0xb5}, + {value: 0x0014, lo: 0xbb, hi: 0xbb}, + {value: 0x0010, lo: 0xbc, hi: 0xbc}, + // Block 0x71, offset 0x2fe + {value: 0x0034, lo: 0x99, hi: 0x9a}, + {value: 0x0004, lo: 0x9b, hi: 0x9e}, + // Block 0x72, offset 0x300 + {value: 0x0004, lo: 0xbc, hi: 0xbe}, + // Block 0x73, offset 0x301 + {value: 0x0010, lo: 0x85, hi: 0xaf}, + {value: 0x0010, lo: 0xb1, hi: 0xbf}, + // Block 0x74, offset 0x303 + {value: 0x0010, lo: 0x80, hi: 0x8e}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x75, offset 0x305 + {value: 0x0010, lo: 0x80, hi: 0x94}, + {value: 0x0014, lo: 0x95, hi: 0x95}, + {value: 0x0010, lo: 0x96, hi: 0xbf}, + // Block 0x76, offset 0x308 + {value: 0x0010, lo: 0x80, hi: 0x8c}, + // Block 0x77, offset 0x309 + {value: 0x0010, lo: 0x90, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbd}, + // Block 0x78, offset 0x30b + {value: 0x0010, lo: 0x80, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0010, lo: 0x90, hi: 0xab}, + // Block 0x79, offset 0x30e + {value: 0x0117, lo: 0x80, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xae}, + {value: 0x0024, lo: 0xaf, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb2}, + {value: 0x0024, lo: 0xb4, hi: 0xbd}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x7a, offset 0x314 + {value: 0x0117, lo: 0x80, hi: 0x9b}, + {value: 0x0015, lo: 0x9c, hi: 0x9d}, + {value: 0x0024, lo: 0x9e, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x7b, offset 0x318 + {value: 0x0010, lo: 0x80, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb1}, + // Block 0x7c, offset 0x31a + {value: 0x0004, lo: 0x80, hi: 0x87}, + {value: 0x0014, lo: 0x88, hi: 0xa1}, + {value: 0x0117, lo: 0xa2, hi: 0xaf}, + {value: 0x0012, lo: 0xb0, hi: 0xb1}, + {value: 0x0117, lo: 0xb2, hi: 0xbf}, + // Block 0x7d, offset 0x31f + {value: 0x0117, lo: 0x80, hi: 0xaf}, + {value: 0x0015, lo: 0xb0, hi: 0xb0}, + {value: 0x0012, lo: 0xb1, hi: 0xb8}, + {value: 0x0316, lo: 0xb9, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x8753, lo: 0xbd, hi: 0xbd}, + {value: 0x0117, lo: 0xbe, hi: 0xbf}, + // Block 0x7e, offset 0x326 + {value: 0x0117, lo: 0x82, hi: 0x83}, + {value: 0x6553, lo: 0x84, hi: 0x84}, + {value: 0x908b, lo: 0x85, hi: 0x85}, + {value: 0x8f53, lo: 0x86, hi: 0x86}, + {value: 0x0f16, lo: 0x87, hi: 0x88}, + {value: 0x0316, lo: 0x89, hi: 0x8a}, + {value: 0x0316, lo: 0xb5, hi: 0xb6}, + {value: 0x0010, lo: 0xb7, hi: 0xb7}, + {value: 0x0015, lo: 0xb8, hi: 0xb9}, + {value: 0x0012, lo: 0xba, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbf}, + // Block 0x7f, offset 0x331 + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x8a}, + {value: 0x0014, lo: 0x8b, hi: 0x8b}, + {value: 0x0010, lo: 0x8c, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xa6}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + {value: 0x0034, lo: 0xac, hi: 0xac}, + // Block 0x80, offset 0x33b + {value: 0x0010, lo: 0x80, hi: 0xb3}, + // Block 0x81, offset 0x33c + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x84}, + {value: 0x0014, lo: 0x85, hi: 0x85}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0024, lo: 0xa0, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xb7}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0010, lo: 0xbd, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x82, offset 0x345 + {value: 0x0010, lo: 0x80, hi: 0xa5}, + {value: 0x0014, lo: 0xa6, hi: 0xaa}, + {value: 0x0034, lo: 0xab, hi: 0xad}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x83, offset 0x349 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0014, lo: 0x87, hi: 0x91}, + {value: 0x0010, lo: 0x92, hi: 0x92}, + {value: 0x0030, lo: 0x93, hi: 0x93}, + {value: 0x0010, lo: 0xa0, hi: 0xbc}, + // Block 0x84, offset 0x34e + {value: 0x0014, lo: 0x80, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0xb2}, + {value: 0x0034, lo: 0xb3, hi: 0xb3}, + {value: 0x0010, lo: 0xb4, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xb9}, + {value: 0x0010, lo: 0xba, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x85, offset 0x356 + {value: 0x0030, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0014, lo: 0xa5, hi: 0xa5}, + {value: 0x0004, lo: 0xa6, hi: 0xa6}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0x86, offset 0x35c + {value: 0x0010, lo: 0x80, hi: 0xa8}, + {value: 0x0014, lo: 0xa9, hi: 0xae}, + {value: 0x0010, lo: 0xaf, hi: 0xb0}, + {value: 0x0014, lo: 0xb1, hi: 0xb2}, + {value: 0x0010, lo: 0xb3, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb6}, + // Block 0x87, offset 0x362 + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0010, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0004, lo: 0xb0, hi: 0xb0}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + // Block 0x88, offset 0x36c + {value: 0x0024, lo: 0xb0, hi: 0xb0}, + {value: 0x0024, lo: 0xb2, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0024, lo: 0xb7, hi: 0xb8}, + {value: 0x0024, lo: 0xbe, hi: 0xbf}, + // Block 0x89, offset 0x371 + {value: 0x0024, lo: 0x81, hi: 0x81}, + {value: 0x0004, lo: 0x9d, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xaf}, + {value: 0x0010, lo: 0xb2, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb6}, + // Block 0x8a, offset 0x37a + {value: 0x0010, lo: 0x81, hi: 0x86}, + {value: 0x0010, lo: 0x89, hi: 0x8e}, + {value: 0x0010, lo: 0x91, hi: 0x96}, + {value: 0x0010, lo: 0xa0, hi: 0xa6}, + {value: 0x0010, lo: 0xa8, hi: 0xae}, + {value: 0x0012, lo: 0xb0, hi: 0xbf}, + // Block 0x8b, offset 0x380 + {value: 0x0012, lo: 0x80, hi: 0x92}, + {value: 0xb352, lo: 0x93, hi: 0x93}, + {value: 0x0012, lo: 0x94, hi: 0x9a}, + {value: 0x0014, lo: 0x9b, hi: 0x9b}, + {value: 0x0015, lo: 0x9c, hi: 0x9f}, + {value: 0x0012, lo: 0xa0, hi: 0xa8}, + {value: 0x0014, lo: 0xa9, hi: 0xa9}, + {value: 0x0004, lo: 0xaa, hi: 0xab}, + {value: 0x74d2, lo: 0xb0, hi: 0xbf}, + // Block 0x8c, offset 0x389 + {value: 0x78d2, lo: 0x80, hi: 0x8f}, + {value: 0x7cd2, lo: 0x90, hi: 0x9f}, + {value: 0x80d2, lo: 0xa0, hi: 0xaf}, + {value: 0x7cd2, lo: 0xb0, hi: 0xbf}, + // Block 0x8d, offset 0x38d + {value: 0x0010, lo: 0x80, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xa5}, + {value: 0x0010, lo: 0xa6, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa8}, + {value: 0x0010, lo: 0xa9, hi: 0xaa}, + {value: 0x0010, lo: 0xac, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0x8e, offset 0x395 + {value: 0x0010, lo: 0x80, hi: 0xa3}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x8f, offset 0x397 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x8b, hi: 0xbb}, + // Block 0x90, offset 0x399 + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x83, hi: 0x84}, + {value: 0x0010, lo: 0x86, hi: 0xbf}, + // Block 0x91, offset 0x39c + {value: 0x0010, lo: 0x80, hi: 0xb1}, + {value: 0x0004, lo: 0xb2, hi: 0xbf}, + // Block 0x92, offset 0x39e + {value: 0x0004, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x93, hi: 0xbf}, + // Block 0x93, offset 0x3a0 + {value: 0x0010, lo: 0x80, hi: 0xbd}, + // Block 0x94, offset 0x3a1 + {value: 0x0010, lo: 0x90, hi: 0xbf}, + // Block 0x95, offset 0x3a2 + {value: 0x0010, lo: 0x80, hi: 0x8f}, + {value: 0x0010, lo: 0x92, hi: 0xbf}, + // Block 0x96, offset 0x3a4 + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0010, lo: 0xb0, hi: 0xbb}, + // Block 0x97, offset 0x3a6 + {value: 0x0014, lo: 0x80, hi: 0x8f}, + {value: 0x0054, lo: 0x93, hi: 0x93}, + {value: 0x0024, lo: 0xa0, hi: 0xa6}, + {value: 0x0034, lo: 0xa7, hi: 0xad}, + {value: 0x0024, lo: 0xae, hi: 0xaf}, + {value: 0x0010, lo: 0xb3, hi: 0xb4}, + // Block 0x98, offset 0x3ac + {value: 0x0010, lo: 0x8d, hi: 0x8f}, + {value: 0x0054, lo: 0x92, hi: 0x92}, + {value: 0x0054, lo: 0x95, hi: 0x95}, + {value: 0x0010, lo: 0xb0, hi: 0xb4}, + {value: 0x0010, lo: 0xb6, hi: 0xbf}, + // Block 0x99, offset 0x3b1 + {value: 0x0010, lo: 0x80, hi: 0xbc}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x9a, offset 0x3b3 + {value: 0x0054, lo: 0x87, hi: 0x87}, + {value: 0x0054, lo: 0x8e, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0054, lo: 0x9a, hi: 0x9a}, + {value: 0x5f53, lo: 0xa1, hi: 0xba}, + {value: 0x0004, lo: 0xbe, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x9b, offset 0x3ba + {value: 0x0004, lo: 0x80, hi: 0x80}, + {value: 0x5f52, lo: 0x81, hi: 0x9a}, + {value: 0x0004, lo: 0xb0, hi: 0xb0}, + // Block 0x9c, offset 0x3bd + {value: 0x0014, lo: 0x9e, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xbe}, + // Block 0x9d, offset 0x3bf + {value: 0x0010, lo: 0x82, hi: 0x87}, + {value: 0x0010, lo: 0x8a, hi: 0x8f}, + {value: 0x0010, lo: 0x92, hi: 0x97}, + {value: 0x0010, lo: 0x9a, hi: 0x9c}, + {value: 0x0004, lo: 0xa3, hi: 0xa3}, + {value: 0x0014, lo: 0xb9, hi: 0xbb}, + // Block 0x9e, offset 0x3c5 + {value: 0x0010, lo: 0x80, hi: 0x8b}, + {value: 0x0010, lo: 0x8d, hi: 0xa6}, + {value: 0x0010, lo: 0xa8, hi: 0xba}, + {value: 0x0010, lo: 0xbc, hi: 0xbd}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x9f, offset 0x3ca + {value: 0x0010, lo: 0x80, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x9d}, + // Block 0xa0, offset 0x3cc + {value: 0x0010, lo: 0x80, hi: 0xba}, + // Block 0xa1, offset 0x3cd + {value: 0x0010, lo: 0x80, hi: 0xb4}, + // Block 0xa2, offset 0x3ce + {value: 0x0034, lo: 0xbd, hi: 0xbd}, + // Block 0xa3, offset 0x3cf + {value: 0x0010, lo: 0x80, hi: 0x9c}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0xa4, offset 0x3d1 + {value: 0x0010, lo: 0x80, hi: 0x90}, + {value: 0x0034, lo: 0xa0, hi: 0xa0}, + // Block 0xa5, offset 0x3d3 + {value: 0x0010, lo: 0x80, hi: 0x9f}, + {value: 0x0010, lo: 0xad, hi: 0xbf}, + // Block 0xa6, offset 0x3d5 + {value: 0x0010, lo: 0x80, hi: 0x8a}, + {value: 0x0010, lo: 0x90, hi: 0xb5}, + {value: 0x0024, lo: 0xb6, hi: 0xba}, + // Block 0xa7, offset 0x3d8 + {value: 0x0010, lo: 0x80, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0xa8, offset 0x3da + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x88, hi: 0x8f}, + {value: 0x0010, lo: 0x91, hi: 0x95}, + // Block 0xa9, offset 0x3dd + {value: 0x2813, lo: 0x80, hi: 0x87}, + {value: 0x3813, lo: 0x88, hi: 0x8f}, + {value: 0x2813, lo: 0x90, hi: 0x97}, + {value: 0xb653, lo: 0x98, hi: 0x9f}, + {value: 0xb953, lo: 0xa0, hi: 0xa7}, + {value: 0x2812, lo: 0xa8, hi: 0xaf}, + {value: 0x3812, lo: 0xb0, hi: 0xb7}, + {value: 0x2812, lo: 0xb8, hi: 0xbf}, + // Block 0xaa, offset 0x3e5 + {value: 0xb652, lo: 0x80, hi: 0x87}, + {value: 0xb952, lo: 0x88, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0xbf}, + // Block 0xab, offset 0x3e8 + {value: 0x0010, lo: 0x80, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0xb953, lo: 0xb0, hi: 0xb7}, + {value: 0xb653, lo: 0xb8, hi: 0xbf}, + // Block 0xac, offset 0x3ec + {value: 0x2813, lo: 0x80, hi: 0x87}, + {value: 0x3813, lo: 0x88, hi: 0x8f}, + {value: 0x2813, lo: 0x90, hi: 0x93}, + {value: 0xb952, lo: 0x98, hi: 0x9f}, + {value: 0xb652, lo: 0xa0, hi: 0xa7}, + {value: 0x2812, lo: 0xa8, hi: 0xaf}, + {value: 0x3812, lo: 0xb0, hi: 0xb7}, + {value: 0x2812, lo: 0xb8, hi: 0xbb}, + // Block 0xad, offset 0x3f4 + {value: 0x0010, lo: 0x80, hi: 0xa7}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xae, offset 0x3f6 + {value: 0x0010, lo: 0x80, hi: 0xa3}, + // Block 0xaf, offset 0x3f7 + {value: 0x0010, lo: 0x80, hi: 0xb6}, + // Block 0xb0, offset 0x3f8 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xa7}, + // Block 0xb1, offset 0x3fa + {value: 0x0010, lo: 0x80, hi: 0x85}, + {value: 0x0010, lo: 0x88, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0xb5}, + {value: 0x0010, lo: 0xb7, hi: 0xb8}, + {value: 0x0010, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xb2, offset 0x400 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xb6}, + // Block 0xb3, offset 0x402 + {value: 0x0010, lo: 0x80, hi: 0x9e}, + // Block 0xb4, offset 0x403 + {value: 0x0010, lo: 0xa0, hi: 0xb2}, + {value: 0x0010, lo: 0xb4, hi: 0xb5}, + // Block 0xb5, offset 0x405 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xb9}, + // Block 0xb6, offset 0x407 + {value: 0x0010, lo: 0x80, hi: 0xb7}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0xb7, offset 0x409 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x83}, + {value: 0x0014, lo: 0x85, hi: 0x86}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0014, lo: 0x8e, hi: 0x8e}, + {value: 0x0024, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x93}, + {value: 0x0010, lo: 0x95, hi: 0x97}, + {value: 0x0010, lo: 0x99, hi: 0xb5}, + {value: 0x0024, lo: 0xb8, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xb8, offset 0x416 + {value: 0x0010, lo: 0xa0, hi: 0xbc}, + // Block 0xb9, offset 0x417 + {value: 0x0010, lo: 0x80, hi: 0x9c}, + // Block 0xba, offset 0x418 + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0010, lo: 0x89, hi: 0xa4}, + {value: 0x0024, lo: 0xa5, hi: 0xa5}, + {value: 0x0034, lo: 0xa6, hi: 0xa6}, + // Block 0xbb, offset 0x41c + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xb2}, + // Block 0xbc, offset 0x41e + {value: 0x0010, lo: 0x80, hi: 0x91}, + // Block 0xbd, offset 0x41f + {value: 0x0010, lo: 0x80, hi: 0x88}, + // Block 0xbe, offset 0x420 + {value: 0x5653, lo: 0x80, hi: 0xb2}, + // Block 0xbf, offset 0x421 + {value: 0x5652, lo: 0x80, hi: 0xb2}, + // Block 0xc0, offset 0x422 + {value: 0x0010, lo: 0x80, hi: 0xa3}, + {value: 0x0024, lo: 0xa4, hi: 0xa7}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xc1, offset 0x425 + {value: 0x0010, lo: 0x80, hi: 0xa9}, + {value: 0x0024, lo: 0xab, hi: 0xac}, + {value: 0x0010, lo: 0xb0, hi: 0xb1}, + // Block 0xc2, offset 0x428 + {value: 0x0010, lo: 0x80, hi: 0x9c}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xc3, offset 0x42b + {value: 0x0010, lo: 0x80, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x87}, + {value: 0x0024, lo: 0x88, hi: 0x8a}, + {value: 0x0034, lo: 0x8b, hi: 0x8b}, + {value: 0x0024, lo: 0x8c, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x90}, + // Block 0xc4, offset 0x431 + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xc5, offset 0x432 + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0010, lo: 0xa0, hi: 0xb6}, + // Block 0xc6, offset 0x434 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbf}, + // Block 0xc7, offset 0x438 + {value: 0x0014, lo: 0x80, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xc8, offset 0x43c + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb6}, + {value: 0x0010, lo: 0xb7, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0014, lo: 0xbd, hi: 0xbd}, + // Block 0xc9, offset 0x442 + {value: 0x0014, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0xa8}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xca, offset 0x445 + {value: 0x0024, lo: 0x80, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0xa6}, + {value: 0x0014, lo: 0xa7, hi: 0xab}, + {value: 0x0010, lo: 0xac, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xb2}, + {value: 0x0034, lo: 0xb3, hi: 0xb4}, + {value: 0x0010, lo: 0xb6, hi: 0xbf}, + // Block 0xcb, offset 0x44c + {value: 0x0010, lo: 0x84, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0xb2}, + {value: 0x0034, lo: 0xb3, hi: 0xb3}, + {value: 0x0010, lo: 0xb6, hi: 0xb6}, + // Block 0xcc, offset 0x450 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xcd, offset 0x454 + {value: 0x0030, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x84}, + {value: 0x0014, lo: 0x89, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0014, lo: 0x8b, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x8e}, + {value: 0x0014, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x9a}, + {value: 0x0010, lo: 0x9c, hi: 0x9c}, + // Block 0xce, offset 0x45d + {value: 0x0010, lo: 0x80, hi: 0x91}, + {value: 0x0010, lo: 0x93, hi: 0xae}, + {value: 0x0014, lo: 0xaf, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0014, lo: 0xb4, hi: 0xb4}, + {value: 0x0030, lo: 0xb5, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb6}, + {value: 0x0014, lo: 0xb7, hi: 0xb7}, + {value: 0x0014, lo: 0xbe, hi: 0xbe}, + // Block 0xcf, offset 0x466 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x88, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8d}, + {value: 0x0010, lo: 0x8f, hi: 0x9d}, + {value: 0x0010, lo: 0x9f, hi: 0xa8}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xd0, offset 0x46c + {value: 0x0010, lo: 0x80, hi: 0x9e}, + {value: 0x0014, lo: 0x9f, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa2}, + {value: 0x0014, lo: 0xa3, hi: 0xa8}, + {value: 0x0034, lo: 0xa9, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xd1, offset 0x472 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbb, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0xd2, offset 0x47c + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0030, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x9d, hi: 0xa3}, + {value: 0x0024, lo: 0xa6, hi: 0xac}, + {value: 0x0024, lo: 0xb0, hi: 0xb4}, + // Block 0xd3, offset 0x486 + {value: 0x0010, lo: 0x80, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbf}, + // Block 0xd4, offset 0x488 + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x8a}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0024, lo: 0x9e, hi: 0x9e}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + // Block 0xd5, offset 0x491 + {value: 0x0010, lo: 0x80, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb8}, + {value: 0x0010, lo: 0xb9, hi: 0xb9}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0xd6, offset 0x497 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0x85}, + {value: 0x0010, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0xd7, offset 0x49d + {value: 0x0010, lo: 0x80, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb5}, + {value: 0x0010, lo: 0xb8, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xd8, offset 0x4a3 + {value: 0x0034, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x98, hi: 0x9b}, + {value: 0x0014, lo: 0x9c, hi: 0x9d}, + // Block 0xd9, offset 0x4a6 + {value: 0x0010, lo: 0x80, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbc}, + {value: 0x0014, lo: 0xbd, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xda, offset 0x4ac + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x84, hi: 0x84}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0xdb, offset 0x4af + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0014, lo: 0xab, hi: 0xab}, + {value: 0x0010, lo: 0xac, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb5}, + {value: 0x0030, lo: 0xb6, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + {value: 0x0010, lo: 0xb8, hi: 0xb8}, + // Block 0xdc, offset 0x4b8 + {value: 0x0010, lo: 0x80, hi: 0x89}, + // Block 0xdd, offset 0x4b9 + {value: 0x0014, lo: 0x9d, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa5}, + {value: 0x0010, lo: 0xa6, hi: 0xa6}, + {value: 0x0014, lo: 0xa7, hi: 0xaa}, + {value: 0x0034, lo: 0xab, hi: 0xab}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xde, offset 0x4c0 + {value: 0x0010, lo: 0x80, hi: 0xae}, + {value: 0x0014, lo: 0xaf, hi: 0xb7}, + {value: 0x0010, lo: 0xb8, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + // Block 0xdf, offset 0x4c4 + {value: 0x5f53, lo: 0xa0, hi: 0xbf}, + // Block 0xe0, offset 0x4c5 + {value: 0x5f52, lo: 0x80, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xe1, offset 0x4c8 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x89, hi: 0x89}, + {value: 0x0010, lo: 0x8c, hi: 0x93}, + {value: 0x0010, lo: 0x95, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0xb5}, + {value: 0x0010, lo: 0xb7, hi: 0xb8}, + {value: 0x0014, lo: 0xbb, hi: 0xbc}, + {value: 0x0030, lo: 0xbd, hi: 0xbd}, + {value: 0x0034, lo: 0xbe, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xe2, offset 0x4d2 + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0034, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0xe3, offset 0x4d5 + {value: 0x0010, lo: 0xa0, hi: 0xa7}, + {value: 0x0010, lo: 0xaa, hi: 0xbf}, + // Block 0xe4, offset 0x4d7 + {value: 0x0010, lo: 0x80, hi: 0x93}, + {value: 0x0014, lo: 0x94, hi: 0x97}, + {value: 0x0014, lo: 0x9a, hi: 0x9b}, + {value: 0x0010, lo: 0x9c, hi: 0x9f}, + {value: 0x0034, lo: 0xa0, hi: 0xa0}, + {value: 0x0010, lo: 0xa1, hi: 0xa1}, + {value: 0x0010, lo: 0xa3, hi: 0xa4}, + // Block 0xe5, offset 0x4de + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x8a}, + {value: 0x0010, lo: 0x8b, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb8}, + {value: 0x0010, lo: 0xb9, hi: 0xba}, + {value: 0x0014, lo: 0xbb, hi: 0xbe}, + // Block 0xe6, offset 0x4e6 + {value: 0x0034, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0014, lo: 0x91, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x98}, + {value: 0x0014, lo: 0x99, hi: 0x9b}, + {value: 0x0010, lo: 0x9c, hi: 0xbf}, + // Block 0xe7, offset 0x4ec + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0014, lo: 0x8a, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0014, lo: 0x98, hi: 0x98}, + {value: 0x0034, lo: 0x99, hi: 0x99}, + {value: 0x0010, lo: 0x9d, hi: 0x9d}, + // Block 0xe8, offset 0x4f2 + {value: 0x0010, lo: 0x80, hi: 0xb8}, + // Block 0xe9, offset 0x4f3 + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb6}, + {value: 0x0014, lo: 0xb8, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xea, offset 0x4f9 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xb2, hi: 0xbf}, + // Block 0xeb, offset 0x4fc + {value: 0x0010, lo: 0x80, hi: 0x8f}, + {value: 0x0014, lo: 0x92, hi: 0xa7}, + {value: 0x0010, lo: 0xa9, hi: 0xa9}, + {value: 0x0014, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb4, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb6}, + // Block 0xec, offset 0x504 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x88, hi: 0x89}, + {value: 0x0010, lo: 0x8b, hi: 0xb0}, + {value: 0x0014, lo: 0xb1, hi: 0xb6}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0014, lo: 0xbc, hi: 0xbd}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0xed, offset 0x50b + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x85}, + {value: 0x0010, lo: 0x86, hi: 0x86}, + {value: 0x0014, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xa0, hi: 0xa5}, + {value: 0x0010, lo: 0xa7, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xbf}, + // Block 0xee, offset 0x515 + {value: 0x0010, lo: 0x80, hi: 0x8e}, + {value: 0x0014, lo: 0x90, hi: 0x91}, + {value: 0x0010, lo: 0x93, hi: 0x94}, + {value: 0x0014, lo: 0x95, hi: 0x95}, + {value: 0x0010, lo: 0x96, hi: 0x96}, + {value: 0x0034, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x98, hi: 0x98}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + // Block 0xef, offset 0x51d + {value: 0x0010, lo: 0xa0, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb6}, + // Block 0xf0, offset 0x520 + {value: 0x0010, lo: 0xb0, hi: 0xb0}, + // Block 0xf1, offset 0x521 + {value: 0x0010, lo: 0x80, hi: 0x99}, + // Block 0xf2, offset 0x522 + {value: 0x0010, lo: 0x80, hi: 0xae}, + // Block 0xf3, offset 0x523 + {value: 0x0010, lo: 0x80, hi: 0x83}, + // Block 0xf4, offset 0x524 + {value: 0x0010, lo: 0x80, hi: 0xae}, + {value: 0x0014, lo: 0xb0, hi: 0xb8}, + // Block 0xf5, offset 0x526 + {value: 0x0010, lo: 0x80, hi: 0x86}, + // Block 0xf6, offset 0x527 + {value: 0x0010, lo: 0x80, hi: 0x9e}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + // Block 0xf7, offset 0x529 + {value: 0x0010, lo: 0x90, hi: 0xad}, + {value: 0x0034, lo: 0xb0, hi: 0xb4}, + // Block 0xf8, offset 0x52b + {value: 0x0010, lo: 0x80, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb6}, + // Block 0xf9, offset 0x52d + {value: 0x0014, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xa3, hi: 0xb7}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0xfa, offset 0x531 + {value: 0x0010, lo: 0x80, hi: 0x8f}, + // Block 0xfb, offset 0x532 + {value: 0x2013, lo: 0x80, hi: 0x9f}, + {value: 0x2012, lo: 0xa0, hi: 0xbf}, + // Block 0xfc, offset 0x534 + {value: 0x0010, lo: 0x80, hi: 0x8a}, + {value: 0x0014, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0xbf}, + // Block 0xfd, offset 0x537 + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0014, lo: 0x8f, hi: 0x9f}, + // Block 0xfe, offset 0x539 + {value: 0x0014, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa3, hi: 0xa4}, + {value: 0x0030, lo: 0xb0, hi: 0xb1}, + // Block 0xff, offset 0x53c + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xbc}, + // Block 0x100, offset 0x53e + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0014, lo: 0x9d, hi: 0x9d}, + {value: 0x0034, lo: 0x9e, hi: 0x9e}, + {value: 0x0014, lo: 0xa0, hi: 0xa3}, + // Block 0x101, offset 0x543 + {value: 0x0030, lo: 0xa5, hi: 0xa6}, + {value: 0x0034, lo: 0xa7, hi: 0xa9}, + {value: 0x0030, lo: 0xad, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbf}, + // Block 0x102, offset 0x548 + {value: 0x0034, lo: 0x80, hi: 0x82}, + {value: 0x0024, lo: 0x85, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8b}, + {value: 0x0024, lo: 0xaa, hi: 0xad}, + // Block 0x103, offset 0x54c + {value: 0x0024, lo: 0x82, hi: 0x84}, + // Block 0x104, offset 0x54d + {value: 0x0013, lo: 0x80, hi: 0x99}, + {value: 0x0012, lo: 0x9a, hi: 0xb3}, + {value: 0x0013, lo: 0xb4, hi: 0xbf}, + // Block 0x105, offset 0x550 + {value: 0x0013, lo: 0x80, hi: 0x8d}, + {value: 0x0012, lo: 0x8e, hi: 0x94}, + {value: 0x0012, lo: 0x96, hi: 0xa7}, + {value: 0x0013, lo: 0xa8, hi: 0xbf}, + // Block 0x106, offset 0x554 + {value: 0x0013, lo: 0x80, hi: 0x81}, + {value: 0x0012, lo: 0x82, hi: 0x9b}, + {value: 0x0013, lo: 0x9c, hi: 0x9c}, + {value: 0x0013, lo: 0x9e, hi: 0x9f}, + {value: 0x0013, lo: 0xa2, hi: 0xa2}, + {value: 0x0013, lo: 0xa5, hi: 0xa6}, + {value: 0x0013, lo: 0xa9, hi: 0xac}, + {value: 0x0013, lo: 0xae, hi: 0xb5}, + {value: 0x0012, lo: 0xb6, hi: 0xb9}, + {value: 0x0012, lo: 0xbb, hi: 0xbb}, + {value: 0x0012, lo: 0xbd, hi: 0xbf}, + // Block 0x107, offset 0x55f + {value: 0x0012, lo: 0x80, hi: 0x83}, + {value: 0x0012, lo: 0x85, hi: 0x8f}, + {value: 0x0013, lo: 0x90, hi: 0xa9}, + {value: 0x0012, lo: 0xaa, hi: 0xbf}, + // Block 0x108, offset 0x563 + {value: 0x0012, lo: 0x80, hi: 0x83}, + {value: 0x0013, lo: 0x84, hi: 0x85}, + {value: 0x0013, lo: 0x87, hi: 0x8a}, + {value: 0x0013, lo: 0x8d, hi: 0x94}, + {value: 0x0013, lo: 0x96, hi: 0x9c}, + {value: 0x0012, lo: 0x9e, hi: 0xb7}, + {value: 0x0013, lo: 0xb8, hi: 0xb9}, + {value: 0x0013, lo: 0xbb, hi: 0xbe}, + // Block 0x109, offset 0x56b + {value: 0x0013, lo: 0x80, hi: 0x84}, + {value: 0x0013, lo: 0x86, hi: 0x86}, + {value: 0x0013, lo: 0x8a, hi: 0x90}, + {value: 0x0012, lo: 0x92, hi: 0xab}, + {value: 0x0013, lo: 0xac, hi: 0xbf}, + // Block 0x10a, offset 0x570 + {value: 0x0013, lo: 0x80, hi: 0x85}, + {value: 0x0012, lo: 0x86, hi: 0x9f}, + {value: 0x0013, lo: 0xa0, hi: 0xb9}, + {value: 0x0012, lo: 0xba, hi: 0xbf}, + // Block 0x10b, offset 0x574 + {value: 0x0012, lo: 0x80, hi: 0x93}, + {value: 0x0013, lo: 0x94, hi: 0xad}, + {value: 0x0012, lo: 0xae, hi: 0xbf}, + // Block 0x10c, offset 0x577 + {value: 0x0012, lo: 0x80, hi: 0x87}, + {value: 0x0013, lo: 0x88, hi: 0xa1}, + {value: 0x0012, lo: 0xa2, hi: 0xbb}, + {value: 0x0013, lo: 0xbc, hi: 0xbf}, + // Block 0x10d, offset 0x57b + {value: 0x0013, lo: 0x80, hi: 0x95}, + {value: 0x0012, lo: 0x96, hi: 0xaf}, + {value: 0x0013, lo: 0xb0, hi: 0xbf}, + // Block 0x10e, offset 0x57e + {value: 0x0013, lo: 0x80, hi: 0x89}, + {value: 0x0012, lo: 0x8a, hi: 0xa5}, + {value: 0x0013, lo: 0xa8, hi: 0xbf}, + // Block 0x10f, offset 0x581 + {value: 0x0013, lo: 0x80, hi: 0x80}, + {value: 0x0012, lo: 0x82, hi: 0x9a}, + {value: 0x0012, lo: 0x9c, hi: 0xa1}, + {value: 0x0013, lo: 0xa2, hi: 0xba}, + {value: 0x0012, lo: 0xbc, hi: 0xbf}, + // Block 0x110, offset 0x586 + {value: 0x0012, lo: 0x80, hi: 0x94}, + {value: 0x0012, lo: 0x96, hi: 0x9b}, + {value: 0x0013, lo: 0x9c, hi: 0xb4}, + {value: 0x0012, lo: 0xb6, hi: 0xbf}, + // Block 0x111, offset 0x58a + {value: 0x0012, lo: 0x80, hi: 0x8e}, + {value: 0x0012, lo: 0x90, hi: 0x95}, + {value: 0x0013, lo: 0x96, hi: 0xae}, + {value: 0x0012, lo: 0xb0, hi: 0xbf}, + // Block 0x112, offset 0x58e + {value: 0x0012, lo: 0x80, hi: 0x88}, + {value: 0x0012, lo: 0x8a, hi: 0x8f}, + {value: 0x0013, lo: 0x90, hi: 0xa8}, + {value: 0x0012, lo: 0xaa, hi: 0xbf}, + // Block 0x113, offset 0x592 + {value: 0x0012, lo: 0x80, hi: 0x82}, + {value: 0x0012, lo: 0x84, hi: 0x89}, + {value: 0x0017, lo: 0x8a, hi: 0x8b}, + {value: 0x0010, lo: 0x8e, hi: 0xbf}, + // Block 0x114, offset 0x596 + {value: 0x0014, lo: 0x80, hi: 0xb6}, + {value: 0x0014, lo: 0xbb, hi: 0xbf}, + // Block 0x115, offset 0x598 + {value: 0x0014, lo: 0x80, hi: 0xac}, + {value: 0x0014, lo: 0xb5, hi: 0xb5}, + // Block 0x116, offset 0x59a + {value: 0x0014, lo: 0x84, hi: 0x84}, + {value: 0x0014, lo: 0x9b, hi: 0x9f}, + {value: 0x0014, lo: 0xa1, hi: 0xaf}, + // Block 0x117, offset 0x59d + {value: 0x0024, lo: 0x80, hi: 0x86}, + {value: 0x0024, lo: 0x88, hi: 0x98}, + {value: 0x0024, lo: 0x9b, hi: 0xa1}, + {value: 0x0024, lo: 0xa3, hi: 0xa4}, + {value: 0x0024, lo: 0xa6, hi: 0xaa}, + // Block 0x118, offset 0x5a2 + {value: 0x0010, lo: 0x80, hi: 0xac}, + {value: 0x0024, lo: 0xb0, hi: 0xb6}, + {value: 0x0014, lo: 0xb7, hi: 0xbd}, + // Block 0x119, offset 0x5a5 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x8e, hi: 0x8e}, + // Block 0x11a, offset 0x5a7 + {value: 0x0010, lo: 0x80, hi: 0xab}, + {value: 0x0024, lo: 0xac, hi: 0xaf}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0x11b, offset 0x5aa + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0034, lo: 0x90, hi: 0x96}, + // Block 0x11c, offset 0x5ac + {value: 0xbc52, lo: 0x80, hi: 0x81}, + {value: 0xbf52, lo: 0x82, hi: 0x83}, + {value: 0x0024, lo: 0x84, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0014, lo: 0x8b, hi: 0x8b}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x11d, offset 0x5b2 + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x9f}, + {value: 0x0010, lo: 0xa1, hi: 0xa2}, + {value: 0x0010, lo: 0xa4, hi: 0xa4}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + {value: 0x0010, lo: 0xa9, hi: 0xb2}, + {value: 0x0010, lo: 0xb4, hi: 0xb7}, + {value: 0x0010, lo: 0xb9, hi: 0xb9}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + // Block 0x11e, offset 0x5bb + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x8b, hi: 0x9b}, + {value: 0x0010, lo: 0xa1, hi: 0xa3}, + {value: 0x0010, lo: 0xa5, hi: 0xa9}, + {value: 0x0010, lo: 0xab, hi: 0xbb}, + // Block 0x11f, offset 0x5c0 + {value: 0x0013, lo: 0xb0, hi: 0xbf}, + // Block 0x120, offset 0x5c1 + {value: 0x0013, lo: 0x80, hi: 0x89}, + {value: 0x0013, lo: 0x90, hi: 0xa9}, + {value: 0x0013, lo: 0xb0, hi: 0xbf}, + // Block 0x121, offset 0x5c4 + {value: 0x0013, lo: 0x80, hi: 0x89}, + // Block 0x122, offset 0x5c5 + {value: 0x0014, lo: 0xbb, hi: 0xbf}, + // Block 0x123, offset 0x5c6 + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0x124, offset 0x5c7 + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0014, lo: 0xa0, hi: 0xbf}, + // Block 0x125, offset 0x5c9 + {value: 0x0014, lo: 0x80, hi: 0xbf}, + // Block 0x126, offset 0x5ca + {value: 0x0014, lo: 0x80, hi: 0xaf}, +} + +// Total table size 15212 bytes (14KiB); checksum: 1EB13752 diff --git a/vendor/golang.org/x/text/cases/tables15.0.0.go b/vendor/golang.org/x/text/cases/tables15.0.0.go new file mode 100644 index 000000000..aee0f3108 --- /dev/null +++ b/vendor/golang.org/x/text/cases/tables15.0.0.go @@ -0,0 +1,2527 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build go1.21 + +package cases + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "15.0.0" + +var xorData string = "" + // Size: 213 bytes + "\x00\x06\x07\x00\x01?\x00\x0f\x03\x00\x0f\x12\x00\x0f\x1f\x00\x0f\x1d" + + "\x00\x01\x13\x00\x0f\x16\x00\x0f\x0b\x00\x0f3\x00\x0f7\x00\x01#\x00\x0f?" + + "\x00\x0e'\x00\x0f/\x00\x0e>\x00\x0f*\x00\x0c&\x00\x0c*\x00\x0c;\x00\x0c9" + + "\x00\x0c%\x00\x01\x08\x00\x03\x0d\x00\x03\x09\x00\x02\x06\x00\x02\x02" + + "\x00\x02\x0c\x00\x01\x00\x00\x01\x03\x00\x01\x01\x00\x01 \x00\x01\x0c" + + "\x00\x01\x10\x00\x03\x10\x00\x036 \x00\x037 \x00\x0b#\x10\x00\x0b 0\x00" + + "\x0b!\x10\x00\x0b!0\x001\x00\x00\x0b(\x04\x00\x03\x04\x1e\x00\x0b)\x08" + + "\x00\x03\x0a\x00\x02:\x00\x02>\x00\x02,\x00\x02\x00\x00\x02\x10\x00\x01<" + + "\x00\x01&\x00\x01*\x00\x01.\x00\x010\x003 \x00\x01\x18\x00\x01(\x00\x03'" + + "\x00\x03)\x00\x03+\x00\x03/\x00\x03\x19\x00\x03\x1b\x00\x03\x1f\x00\x01" + + "\x1e\x00\x01\x22" + +var exceptions string = "" + // Size: 2450 bytes + "\x00\x12\x12μΜΜ\x12\x12ssSSSs\x13\x18i̇i̇\x10\x09II\x13\x1bʼnʼNʼN\x11" + + "\x09sSS\x12\x12dždžDž\x12\x12dždžDŽ\x10\x12DŽDž\x12\x12ljljLj\x12\x12ljljLJ\x10\x12LJLj" + + "\x12\x12njnjNj\x12\x12njnjNJ\x10\x12NJNj\x13\x1bǰJ̌J̌\x12\x12dzdzDz\x12\x12dzdzDZ\x10" + + "\x12DZDz\x13\x18ⱥⱥ\x13\x18ⱦⱦ\x10\x1bⱾⱾ\x10\x1bⱿⱿ\x10\x1bⱯⱯ\x10\x1bⱭⱭ\x10" + + "\x1bⱰⱰ\x10\x1bꞫꞫ\x10\x1bꞬꞬ\x10\x1bꞍꞍ\x10\x1bꞪꞪ\x10\x1bꞮꞮ\x10\x1bⱢⱢ\x10" + + "\x1bꞭꞭ\x10\x1bⱮⱮ\x10\x1bⱤⱤ\x10\x1bꟅꟅ\x10\x1bꞱꞱ\x10\x1bꞲꞲ\x10\x1bꞰꞰ2\x12ι" + + "ΙΙ\x166ΐΪ́Ϊ́\x166ΰΫ́Ϋ́\x12\x12σΣΣ\x12\x12βΒΒ\x12\x12θΘΘ\x12\x12" + + "φΦΦ\x12\x12πΠΠ\x12\x12κΚΚ\x12\x12ρΡΡ\x12\x12εΕΕ\x14$եւԵՒԵւ\x10\x1bᲐა" + + "\x10\x1bᲑბ\x10\x1bᲒგ\x10\x1bᲓდ\x10\x1bᲔე\x10\x1bᲕვ\x10\x1bᲖზ\x10\x1bᲗთ" + + "\x10\x1bᲘი\x10\x1bᲙკ\x10\x1bᲚლ\x10\x1bᲛმ\x10\x1bᲜნ\x10\x1bᲝო\x10\x1bᲞპ" + + "\x10\x1bᲟჟ\x10\x1bᲠრ\x10\x1bᲡს\x10\x1bᲢტ\x10\x1bᲣუ\x10\x1bᲤფ\x10\x1bᲥქ" + + "\x10\x1bᲦღ\x10\x1bᲧყ\x10\x1bᲨშ\x10\x1bᲩჩ\x10\x1bᲪც\x10\x1bᲫძ\x10\x1bᲬწ" + + "\x10\x1bᲭჭ\x10\x1bᲮხ\x10\x1bᲯჯ\x10\x1bᲰჰ\x10\x1bᲱჱ\x10\x1bᲲჲ\x10\x1bᲳჳ" + + "\x10\x1bᲴჴ\x10\x1bᲵჵ\x10\x1bᲶჶ\x10\x1bᲷჷ\x10\x1bᲸჸ\x10\x1bᲹჹ\x10\x1bᲺჺ" + + "\x10\x1bᲽჽ\x10\x1bᲾჾ\x10\x1bᲿჿ\x12\x12вВВ\x12\x12дДД\x12\x12оОО\x12\x12с" + + "СС\x12\x12тТТ\x12\x12тТТ\x12\x12ъЪЪ\x12\x12ѣѢѢ\x13\x1bꙋꙊꙊ\x13\x1bẖH̱H̱" + + "\x13\x1bẗT̈T̈\x13\x1bẘW̊W̊\x13\x1bẙY̊Y̊\x13\x1baʾAʾAʾ\x13\x1bṡṠṠ\x12" + + "\x10ssß\x14$ὐΥ̓Υ̓\x166ὒΥ̓̀Υ̓̀\x166ὔΥ̓́Υ̓́\x166ὖΥ̓͂Υ̓͂\x15+ἀιἈΙᾈ" + + "\x15+ἁιἉΙᾉ\x15+ἂιἊΙᾊ\x15+ἃιἋΙᾋ\x15+ἄιἌΙᾌ\x15+ἅιἍΙᾍ\x15+ἆιἎΙᾎ\x15+ἇιἏΙᾏ" + + "\x15\x1dἀιᾀἈΙ\x15\x1dἁιᾁἉΙ\x15\x1dἂιᾂἊΙ\x15\x1dἃιᾃἋΙ\x15\x1dἄιᾄἌΙ\x15" + + "\x1dἅιᾅἍΙ\x15\x1dἆιᾆἎΙ\x15\x1dἇιᾇἏΙ\x15+ἠιἨΙᾘ\x15+ἡιἩΙᾙ\x15+ἢιἪΙᾚ\x15+ἣι" + + "ἫΙᾛ\x15+ἤιἬΙᾜ\x15+ἥιἭΙᾝ\x15+ἦιἮΙᾞ\x15+ἧιἯΙᾟ\x15\x1dἠιᾐἨΙ\x15\x1dἡιᾑἩΙ" + + "\x15\x1dἢιᾒἪΙ\x15\x1dἣιᾓἫΙ\x15\x1dἤιᾔἬΙ\x15\x1dἥιᾕἭΙ\x15\x1dἦιᾖἮΙ\x15" + + "\x1dἧιᾗἯΙ\x15+ὠιὨΙᾨ\x15+ὡιὩΙᾩ\x15+ὢιὪΙᾪ\x15+ὣιὫΙᾫ\x15+ὤιὬΙᾬ\x15+ὥιὭΙᾭ" + + "\x15+ὦιὮΙᾮ\x15+ὧιὯΙᾯ\x15\x1dὠιᾠὨΙ\x15\x1dὡιᾡὩΙ\x15\x1dὢιᾢὪΙ\x15\x1dὣιᾣὫΙ" + + "\x15\x1dὤιᾤὬΙ\x15\x1dὥιᾥὭΙ\x15\x1dὦιᾦὮΙ\x15\x1dὧιᾧὯΙ\x15-ὰιᾺΙᾺͅ\x14#αιΑΙ" + + "ᾼ\x14$άιΆΙΆͅ\x14$ᾶΑ͂Α͂\x166ᾶιΑ͂Ιᾼ͂\x14\x1cαιᾳΑΙ\x12\x12ιΙΙ\x15-ὴιῊΙ" + + "Ὴͅ\x14#ηιΗΙῌ\x14$ήιΉΙΉͅ\x14$ῆΗ͂Η͂\x166ῆιΗ͂Ιῌ͂\x14\x1cηιῃΗΙ\x166ῒΙ" + + "̈̀Ϊ̀\x166ΐΪ́Ϊ́\x14$ῖΙ͂Ι͂\x166ῗΪ͂Ϊ͂\x166ῢΫ̀Ϋ̀\x166ΰΫ́Ϋ" + + "́\x14$ῤΡ̓Ρ̓\x14$ῦΥ͂Υ͂\x166ῧΫ͂Ϋ͂\x15-ὼιῺΙῺͅ\x14#ωιΩΙῼ\x14$ώιΏΙΏͅ" + + "\x14$ῶΩ͂Ω͂\x166ῶιΩ͂Ιῼ͂\x14\x1cωιῳΩΙ\x12\x10ωω\x11\x08kk\x12\x10åå\x12" + + "\x10ɫɫ\x12\x10ɽɽ\x10\x12ȺȺ\x10\x12ȾȾ\x12\x10ɑɑ\x12\x10ɱɱ\x12\x10ɐɐ\x12" + + "\x10ɒɒ\x12\x10ȿȿ\x12\x10ɀɀ\x12\x10ɥɥ\x12\x10ɦɦ\x12\x10ɜɜ\x12\x10ɡɡ\x12" + + "\x10ɬɬ\x12\x10ɪɪ\x12\x10ʞʞ\x12\x10ʇʇ\x12\x10ʝʝ\x12\x10ʂʂ\x12\x12ffFFFf" + + "\x12\x12fiFIFi\x12\x12flFLFl\x13\x1bffiFFIFfi\x13\x1bfflFFLFfl\x12\x12st" + + "STSt\x12\x12stSTSt\x14$մնՄՆՄն\x14$մեՄԵՄե\x14$միՄԻՄի\x14$վնՎՆՎն\x14$մխՄԽՄ" + + "խ" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *caseTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return caseValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = caseIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *caseTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return caseValues[c0] + } + i := caseIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = caseIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = caseIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *caseTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return caseValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = caseIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *caseTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return caseValues[c0] + } + i := caseIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = caseIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = caseIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// caseTrie. Total size: 13398 bytes (13.08 KiB). Checksum: 544af6e6b1b70931. +type caseTrie struct{} + +func newCaseTrie(i int) *caseTrie { + return &caseTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *caseTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 22: + return uint16(caseValues[n<<6+uint32(b)]) + default: + n -= 22 + return uint16(sparse.lookup(n, b)) + } +} + +// caseValues: 24 blocks, 1536 entries, 3072 bytes +// The third block is the zero block. +var caseValues = [1536]uint16{ + // Block 0x0, offset 0x0 + 0x27: 0x0054, + 0x2e: 0x0054, + 0x30: 0x0010, 0x31: 0x0010, 0x32: 0x0010, 0x33: 0x0010, 0x34: 0x0010, 0x35: 0x0010, + 0x36: 0x0010, 0x37: 0x0010, 0x38: 0x0010, 0x39: 0x0010, 0x3a: 0x0054, + // Block 0x1, offset 0x40 + 0x41: 0x2013, 0x42: 0x2013, 0x43: 0x2013, 0x44: 0x2013, 0x45: 0x2013, + 0x46: 0x2013, 0x47: 0x2013, 0x48: 0x2013, 0x49: 0x2013, 0x4a: 0x2013, 0x4b: 0x2013, + 0x4c: 0x2013, 0x4d: 0x2013, 0x4e: 0x2013, 0x4f: 0x2013, 0x50: 0x2013, 0x51: 0x2013, + 0x52: 0x2013, 0x53: 0x2013, 0x54: 0x2013, 0x55: 0x2013, 0x56: 0x2013, 0x57: 0x2013, + 0x58: 0x2013, 0x59: 0x2013, 0x5a: 0x2013, + 0x5e: 0x0004, 0x5f: 0x0010, 0x60: 0x0004, 0x61: 0x2012, 0x62: 0x2012, 0x63: 0x2012, + 0x64: 0x2012, 0x65: 0x2012, 0x66: 0x2012, 0x67: 0x2012, 0x68: 0x2012, 0x69: 0x2012, + 0x6a: 0x2012, 0x6b: 0x2012, 0x6c: 0x2012, 0x6d: 0x2012, 0x6e: 0x2012, 0x6f: 0x2012, + 0x70: 0x2012, 0x71: 0x2012, 0x72: 0x2012, 0x73: 0x2012, 0x74: 0x2012, 0x75: 0x2012, + 0x76: 0x2012, 0x77: 0x2012, 0x78: 0x2012, 0x79: 0x2012, 0x7a: 0x2012, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x0852, 0xc1: 0x0b53, 0xc2: 0x0113, 0xc3: 0x0112, 0xc4: 0x0113, 0xc5: 0x0112, + 0xc6: 0x0b53, 0xc7: 0x0f13, 0xc8: 0x0f12, 0xc9: 0x0e53, 0xca: 0x1153, 0xcb: 0x0713, + 0xcc: 0x0712, 0xcd: 0x0012, 0xce: 0x1453, 0xcf: 0x1753, 0xd0: 0x1a53, 0xd1: 0x0313, + 0xd2: 0x0312, 0xd3: 0x1d53, 0xd4: 0x2053, 0xd5: 0x2352, 0xd6: 0x2653, 0xd7: 0x2653, + 0xd8: 0x0113, 0xd9: 0x0112, 0xda: 0x2952, 0xdb: 0x0012, 0xdc: 0x1d53, 0xdd: 0x2c53, + 0xde: 0x2f52, 0xdf: 0x3253, 0xe0: 0x0113, 0xe1: 0x0112, 0xe2: 0x0113, 0xe3: 0x0112, + 0xe4: 0x0113, 0xe5: 0x0112, 0xe6: 0x3553, 0xe7: 0x0f13, 0xe8: 0x0f12, 0xe9: 0x3853, + 0xea: 0x0012, 0xeb: 0x0012, 0xec: 0x0113, 0xed: 0x0112, 0xee: 0x3553, 0xef: 0x1f13, + 0xf0: 0x1f12, 0xf1: 0x3b53, 0xf2: 0x3e53, 0xf3: 0x0713, 0xf4: 0x0712, 0xf5: 0x0313, + 0xf6: 0x0312, 0xf7: 0x4153, 0xf8: 0x0113, 0xf9: 0x0112, 0xfa: 0x0012, 0xfb: 0x0010, + 0xfc: 0x0113, 0xfd: 0x0112, 0xfe: 0x0012, 0xff: 0x4452, + // Block 0x4, offset 0x100 + 0x100: 0x0010, 0x101: 0x0010, 0x102: 0x0010, 0x103: 0x0010, 0x104: 0x02db, 0x105: 0x0359, + 0x106: 0x03da, 0x107: 0x043b, 0x108: 0x04b9, 0x109: 0x053a, 0x10a: 0x059b, 0x10b: 0x0619, + 0x10c: 0x069a, 0x10d: 0x0313, 0x10e: 0x0312, 0x10f: 0x1f13, 0x110: 0x1f12, 0x111: 0x0313, + 0x112: 0x0312, 0x113: 0x0713, 0x114: 0x0712, 0x115: 0x0313, 0x116: 0x0312, 0x117: 0x0f13, + 0x118: 0x0f12, 0x119: 0x0313, 0x11a: 0x0312, 0x11b: 0x0713, 0x11c: 0x0712, 0x11d: 0x1452, + 0x11e: 0x0113, 0x11f: 0x0112, 0x120: 0x0113, 0x121: 0x0112, 0x122: 0x0113, 0x123: 0x0112, + 0x124: 0x0113, 0x125: 0x0112, 0x126: 0x0113, 0x127: 0x0112, 0x128: 0x0113, 0x129: 0x0112, + 0x12a: 0x0113, 0x12b: 0x0112, 0x12c: 0x0113, 0x12d: 0x0112, 0x12e: 0x0113, 0x12f: 0x0112, + 0x130: 0x06fa, 0x131: 0x07ab, 0x132: 0x0829, 0x133: 0x08aa, 0x134: 0x0113, 0x135: 0x0112, + 0x136: 0x2353, 0x137: 0x4453, 0x138: 0x0113, 0x139: 0x0112, 0x13a: 0x0113, 0x13b: 0x0112, + 0x13c: 0x0113, 0x13d: 0x0112, 0x13e: 0x0113, 0x13f: 0x0112, + // Block 0x5, offset 0x140 + 0x140: 0x0a8a, 0x141: 0x0313, 0x142: 0x0312, 0x143: 0x0853, 0x144: 0x4753, 0x145: 0x4a53, + 0x146: 0x0113, 0x147: 0x0112, 0x148: 0x0113, 0x149: 0x0112, 0x14a: 0x0113, 0x14b: 0x0112, + 0x14c: 0x0113, 0x14d: 0x0112, 0x14e: 0x0113, 0x14f: 0x0112, 0x150: 0x0b0a, 0x151: 0x0b8a, + 0x152: 0x0c0a, 0x153: 0x0b52, 0x154: 0x0b52, 0x155: 0x0012, 0x156: 0x0e52, 0x157: 0x1152, + 0x158: 0x0012, 0x159: 0x1752, 0x15a: 0x0012, 0x15b: 0x1a52, 0x15c: 0x0c8a, 0x15d: 0x0012, + 0x15e: 0x0012, 0x15f: 0x0012, 0x160: 0x1d52, 0x161: 0x0d0a, 0x162: 0x0012, 0x163: 0x2052, + 0x164: 0x0012, 0x165: 0x0d8a, 0x166: 0x0e0a, 0x167: 0x0012, 0x168: 0x2652, 0x169: 0x2652, + 0x16a: 0x0e8a, 0x16b: 0x0f0a, 0x16c: 0x0f8a, 0x16d: 0x0012, 0x16e: 0x0012, 0x16f: 0x1d52, + 0x170: 0x0012, 0x171: 0x100a, 0x172: 0x2c52, 0x173: 0x0012, 0x174: 0x0012, 0x175: 0x3252, + 0x176: 0x0012, 0x177: 0x0012, 0x178: 0x0012, 0x179: 0x0012, 0x17a: 0x0012, 0x17b: 0x0012, + 0x17c: 0x0012, 0x17d: 0x108a, 0x17e: 0x0012, 0x17f: 0x0012, + // Block 0x6, offset 0x180 + 0x180: 0x3552, 0x181: 0x0012, 0x182: 0x110a, 0x183: 0x3852, 0x184: 0x0012, 0x185: 0x0012, + 0x186: 0x0012, 0x187: 0x118a, 0x188: 0x3552, 0x189: 0x4752, 0x18a: 0x3b52, 0x18b: 0x3e52, + 0x18c: 0x4a52, 0x18d: 0x0012, 0x18e: 0x0012, 0x18f: 0x0012, 0x190: 0x0012, 0x191: 0x0012, + 0x192: 0x4152, 0x193: 0x0012, 0x194: 0x0010, 0x195: 0x0012, 0x196: 0x0012, 0x197: 0x0012, + 0x198: 0x0012, 0x199: 0x0012, 0x19a: 0x0012, 0x19b: 0x0012, 0x19c: 0x0012, 0x19d: 0x120a, + 0x19e: 0x128a, 0x19f: 0x0012, 0x1a0: 0x0012, 0x1a1: 0x0012, 0x1a2: 0x0012, 0x1a3: 0x0012, + 0x1a4: 0x0012, 0x1a5: 0x0012, 0x1a6: 0x0012, 0x1a7: 0x0012, 0x1a8: 0x0012, 0x1a9: 0x0012, + 0x1aa: 0x0012, 0x1ab: 0x0012, 0x1ac: 0x0012, 0x1ad: 0x0012, 0x1ae: 0x0012, 0x1af: 0x0012, + 0x1b0: 0x0015, 0x1b1: 0x0015, 0x1b2: 0x0015, 0x1b3: 0x0015, 0x1b4: 0x0015, 0x1b5: 0x0015, + 0x1b6: 0x0015, 0x1b7: 0x0015, 0x1b8: 0x0015, 0x1b9: 0x0014, 0x1ba: 0x0014, 0x1bb: 0x0014, + 0x1bc: 0x0014, 0x1bd: 0x0014, 0x1be: 0x0014, 0x1bf: 0x0014, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0024, 0x1c1: 0x0024, 0x1c2: 0x0024, 0x1c3: 0x0024, 0x1c4: 0x0024, 0x1c5: 0x130d, + 0x1c6: 0x0024, 0x1c7: 0x0034, 0x1c8: 0x0034, 0x1c9: 0x0034, 0x1ca: 0x0024, 0x1cb: 0x0024, + 0x1cc: 0x0024, 0x1cd: 0x0034, 0x1ce: 0x0034, 0x1cf: 0x0014, 0x1d0: 0x0024, 0x1d1: 0x0024, + 0x1d2: 0x0024, 0x1d3: 0x0034, 0x1d4: 0x0034, 0x1d5: 0x0034, 0x1d6: 0x0034, 0x1d7: 0x0024, + 0x1d8: 0x0034, 0x1d9: 0x0034, 0x1da: 0x0034, 0x1db: 0x0024, 0x1dc: 0x0034, 0x1dd: 0x0034, + 0x1de: 0x0034, 0x1df: 0x0034, 0x1e0: 0x0034, 0x1e1: 0x0034, 0x1e2: 0x0034, 0x1e3: 0x0024, + 0x1e4: 0x0024, 0x1e5: 0x0024, 0x1e6: 0x0024, 0x1e7: 0x0024, 0x1e8: 0x0024, 0x1e9: 0x0024, + 0x1ea: 0x0024, 0x1eb: 0x0024, 0x1ec: 0x0024, 0x1ed: 0x0024, 0x1ee: 0x0024, 0x1ef: 0x0024, + 0x1f0: 0x0113, 0x1f1: 0x0112, 0x1f2: 0x0113, 0x1f3: 0x0112, 0x1f4: 0x0014, 0x1f5: 0x0004, + 0x1f6: 0x0113, 0x1f7: 0x0112, 0x1fa: 0x0015, 0x1fb: 0x4d52, + 0x1fc: 0x5052, 0x1fd: 0x5052, 0x1ff: 0x5353, + // Block 0x8, offset 0x200 + 0x204: 0x0004, 0x205: 0x0004, + 0x206: 0x2a13, 0x207: 0x0054, 0x208: 0x2513, 0x209: 0x2713, 0x20a: 0x2513, + 0x20c: 0x5653, 0x20e: 0x5953, 0x20f: 0x5c53, 0x210: 0x138a, 0x211: 0x2013, + 0x212: 0x2013, 0x213: 0x2013, 0x214: 0x2013, 0x215: 0x2013, 0x216: 0x2013, 0x217: 0x2013, + 0x218: 0x2013, 0x219: 0x2013, 0x21a: 0x2013, 0x21b: 0x2013, 0x21c: 0x2013, 0x21d: 0x2013, + 0x21e: 0x2013, 0x21f: 0x2013, 0x220: 0x5f53, 0x221: 0x5f53, 0x223: 0x5f53, + 0x224: 0x5f53, 0x225: 0x5f53, 0x226: 0x5f53, 0x227: 0x5f53, 0x228: 0x5f53, 0x229: 0x5f53, + 0x22a: 0x5f53, 0x22b: 0x5f53, 0x22c: 0x2a12, 0x22d: 0x2512, 0x22e: 0x2712, 0x22f: 0x2512, + 0x230: 0x14ca, 0x231: 0x2012, 0x232: 0x2012, 0x233: 0x2012, 0x234: 0x2012, 0x235: 0x2012, + 0x236: 0x2012, 0x237: 0x2012, 0x238: 0x2012, 0x239: 0x2012, 0x23a: 0x2012, 0x23b: 0x2012, + 0x23c: 0x2012, 0x23d: 0x2012, 0x23e: 0x2012, 0x23f: 0x2012, + // Block 0x9, offset 0x240 + 0x240: 0x5f52, 0x241: 0x5f52, 0x242: 0x160a, 0x243: 0x5f52, 0x244: 0x5f52, 0x245: 0x5f52, + 0x246: 0x5f52, 0x247: 0x5f52, 0x248: 0x5f52, 0x249: 0x5f52, 0x24a: 0x5f52, 0x24b: 0x5f52, + 0x24c: 0x5652, 0x24d: 0x5952, 0x24e: 0x5c52, 0x24f: 0x1813, 0x250: 0x168a, 0x251: 0x170a, + 0x252: 0x0013, 0x253: 0x0013, 0x254: 0x0013, 0x255: 0x178a, 0x256: 0x180a, 0x257: 0x1812, + 0x258: 0x0113, 0x259: 0x0112, 0x25a: 0x0113, 0x25b: 0x0112, 0x25c: 0x0113, 0x25d: 0x0112, + 0x25e: 0x0113, 0x25f: 0x0112, 0x260: 0x0113, 0x261: 0x0112, 0x262: 0x0113, 0x263: 0x0112, + 0x264: 0x0113, 0x265: 0x0112, 0x266: 0x0113, 0x267: 0x0112, 0x268: 0x0113, 0x269: 0x0112, + 0x26a: 0x0113, 0x26b: 0x0112, 0x26c: 0x0113, 0x26d: 0x0112, 0x26e: 0x0113, 0x26f: 0x0112, + 0x270: 0x188a, 0x271: 0x190a, 0x272: 0x0b12, 0x273: 0x5352, 0x274: 0x6253, 0x275: 0x198a, + 0x277: 0x0f13, 0x278: 0x0f12, 0x279: 0x0b13, 0x27a: 0x0113, 0x27b: 0x0112, + 0x27c: 0x0012, 0x27d: 0x4d53, 0x27e: 0x5053, 0x27f: 0x5053, + // Block 0xa, offset 0x280 + 0x280: 0x6852, 0x281: 0x6852, 0x282: 0x6852, 0x283: 0x6852, 0x284: 0x6852, 0x285: 0x6852, + 0x286: 0x6852, 0x287: 0x1a0a, 0x288: 0x0012, 0x28a: 0x0010, + 0x291: 0x0034, + 0x292: 0x0024, 0x293: 0x0024, 0x294: 0x0024, 0x295: 0x0024, 0x296: 0x0034, 0x297: 0x0024, + 0x298: 0x0024, 0x299: 0x0024, 0x29a: 0x0034, 0x29b: 0x0034, 0x29c: 0x0024, 0x29d: 0x0024, + 0x29e: 0x0024, 0x29f: 0x0024, 0x2a0: 0x0024, 0x2a1: 0x0024, 0x2a2: 0x0034, 0x2a3: 0x0034, + 0x2a4: 0x0034, 0x2a5: 0x0034, 0x2a6: 0x0034, 0x2a7: 0x0034, 0x2a8: 0x0024, 0x2a9: 0x0024, + 0x2aa: 0x0034, 0x2ab: 0x0024, 0x2ac: 0x0024, 0x2ad: 0x0034, 0x2ae: 0x0034, 0x2af: 0x0024, + 0x2b0: 0x0034, 0x2b1: 0x0034, 0x2b2: 0x0034, 0x2b3: 0x0034, 0x2b4: 0x0034, 0x2b5: 0x0034, + 0x2b6: 0x0034, 0x2b7: 0x0034, 0x2b8: 0x0034, 0x2b9: 0x0034, 0x2ba: 0x0034, 0x2bb: 0x0034, + 0x2bc: 0x0034, 0x2bd: 0x0034, 0x2bf: 0x0034, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x0010, 0x2c1: 0x0010, 0x2c2: 0x0010, 0x2c3: 0x0010, 0x2c4: 0x0010, 0x2c5: 0x0010, + 0x2c6: 0x0010, 0x2c7: 0x0010, 0x2c8: 0x0010, 0x2c9: 0x0014, 0x2ca: 0x0024, 0x2cb: 0x0024, + 0x2cc: 0x0024, 0x2cd: 0x0024, 0x2ce: 0x0024, 0x2cf: 0x0034, 0x2d0: 0x0034, 0x2d1: 0x0034, + 0x2d2: 0x0034, 0x2d3: 0x0034, 0x2d4: 0x0024, 0x2d5: 0x0024, 0x2d6: 0x0024, 0x2d7: 0x0024, + 0x2d8: 0x0024, 0x2d9: 0x0024, 0x2da: 0x0024, 0x2db: 0x0024, 0x2dc: 0x0024, 0x2dd: 0x0024, + 0x2de: 0x0024, 0x2df: 0x0024, 0x2e0: 0x0024, 0x2e1: 0x0024, 0x2e2: 0x0014, 0x2e3: 0x0034, + 0x2e4: 0x0024, 0x2e5: 0x0024, 0x2e6: 0x0034, 0x2e7: 0x0024, 0x2e8: 0x0024, 0x2e9: 0x0034, + 0x2ea: 0x0024, 0x2eb: 0x0024, 0x2ec: 0x0024, 0x2ed: 0x0034, 0x2ee: 0x0034, 0x2ef: 0x0034, + 0x2f0: 0x0034, 0x2f1: 0x0034, 0x2f2: 0x0034, 0x2f3: 0x0024, 0x2f4: 0x0024, 0x2f5: 0x0024, + 0x2f6: 0x0034, 0x2f7: 0x0024, 0x2f8: 0x0024, 0x2f9: 0x0034, 0x2fa: 0x0034, 0x2fb: 0x0024, + 0x2fc: 0x0024, 0x2fd: 0x0024, 0x2fe: 0x0024, 0x2ff: 0x0024, + // Block 0xc, offset 0x300 + 0x300: 0x7053, 0x301: 0x7053, 0x302: 0x7053, 0x303: 0x7053, 0x304: 0x7053, 0x305: 0x7053, + 0x307: 0x7053, + 0x30d: 0x7053, 0x310: 0x1aea, 0x311: 0x1b6a, + 0x312: 0x1bea, 0x313: 0x1c6a, 0x314: 0x1cea, 0x315: 0x1d6a, 0x316: 0x1dea, 0x317: 0x1e6a, + 0x318: 0x1eea, 0x319: 0x1f6a, 0x31a: 0x1fea, 0x31b: 0x206a, 0x31c: 0x20ea, 0x31d: 0x216a, + 0x31e: 0x21ea, 0x31f: 0x226a, 0x320: 0x22ea, 0x321: 0x236a, 0x322: 0x23ea, 0x323: 0x246a, + 0x324: 0x24ea, 0x325: 0x256a, 0x326: 0x25ea, 0x327: 0x266a, 0x328: 0x26ea, 0x329: 0x276a, + 0x32a: 0x27ea, 0x32b: 0x286a, 0x32c: 0x28ea, 0x32d: 0x296a, 0x32e: 0x29ea, 0x32f: 0x2a6a, + 0x330: 0x2aea, 0x331: 0x2b6a, 0x332: 0x2bea, 0x333: 0x2c6a, 0x334: 0x2cea, 0x335: 0x2d6a, + 0x336: 0x2dea, 0x337: 0x2e6a, 0x338: 0x2eea, 0x339: 0x2f6a, 0x33a: 0x2fea, + 0x33c: 0x0015, 0x33d: 0x306a, 0x33e: 0x30ea, 0x33f: 0x316a, + // Block 0xd, offset 0x340 + 0x340: 0x0812, 0x341: 0x0812, 0x342: 0x0812, 0x343: 0x0812, 0x344: 0x0812, 0x345: 0x0812, + 0x348: 0x0813, 0x349: 0x0813, 0x34a: 0x0813, 0x34b: 0x0813, + 0x34c: 0x0813, 0x34d: 0x0813, 0x350: 0x3b1a, 0x351: 0x0812, + 0x352: 0x3bfa, 0x353: 0x0812, 0x354: 0x3d3a, 0x355: 0x0812, 0x356: 0x3e7a, 0x357: 0x0812, + 0x359: 0x0813, 0x35b: 0x0813, 0x35d: 0x0813, + 0x35f: 0x0813, 0x360: 0x0812, 0x361: 0x0812, 0x362: 0x0812, 0x363: 0x0812, + 0x364: 0x0812, 0x365: 0x0812, 0x366: 0x0812, 0x367: 0x0812, 0x368: 0x0813, 0x369: 0x0813, + 0x36a: 0x0813, 0x36b: 0x0813, 0x36c: 0x0813, 0x36d: 0x0813, 0x36e: 0x0813, 0x36f: 0x0813, + 0x370: 0x9252, 0x371: 0x9252, 0x372: 0x9552, 0x373: 0x9552, 0x374: 0x9852, 0x375: 0x9852, + 0x376: 0x9b52, 0x377: 0x9b52, 0x378: 0x9e52, 0x379: 0x9e52, 0x37a: 0xa152, 0x37b: 0xa152, + 0x37c: 0x4d52, 0x37d: 0x4d52, + // Block 0xe, offset 0x380 + 0x380: 0x3fba, 0x381: 0x40aa, 0x382: 0x419a, 0x383: 0x428a, 0x384: 0x437a, 0x385: 0x446a, + 0x386: 0x455a, 0x387: 0x464a, 0x388: 0x4739, 0x389: 0x4829, 0x38a: 0x4919, 0x38b: 0x4a09, + 0x38c: 0x4af9, 0x38d: 0x4be9, 0x38e: 0x4cd9, 0x38f: 0x4dc9, 0x390: 0x4eba, 0x391: 0x4faa, + 0x392: 0x509a, 0x393: 0x518a, 0x394: 0x527a, 0x395: 0x536a, 0x396: 0x545a, 0x397: 0x554a, + 0x398: 0x5639, 0x399: 0x5729, 0x39a: 0x5819, 0x39b: 0x5909, 0x39c: 0x59f9, 0x39d: 0x5ae9, + 0x39e: 0x5bd9, 0x39f: 0x5cc9, 0x3a0: 0x5dba, 0x3a1: 0x5eaa, 0x3a2: 0x5f9a, 0x3a3: 0x608a, + 0x3a4: 0x617a, 0x3a5: 0x626a, 0x3a6: 0x635a, 0x3a7: 0x644a, 0x3a8: 0x6539, 0x3a9: 0x6629, + 0x3aa: 0x6719, 0x3ab: 0x6809, 0x3ac: 0x68f9, 0x3ad: 0x69e9, 0x3ae: 0x6ad9, 0x3af: 0x6bc9, + 0x3b0: 0x0812, 0x3b1: 0x0812, 0x3b2: 0x6cba, 0x3b3: 0x6dca, 0x3b4: 0x6e9a, + 0x3b6: 0x6f7a, 0x3b7: 0x705a, 0x3b8: 0x0813, 0x3b9: 0x0813, 0x3ba: 0x9253, 0x3bb: 0x9253, + 0x3bc: 0x7199, 0x3bd: 0x0004, 0x3be: 0x726a, 0x3bf: 0x0004, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x0004, 0x3c1: 0x0004, 0x3c2: 0x72ea, 0x3c3: 0x73fa, 0x3c4: 0x74ca, + 0x3c6: 0x75aa, 0x3c7: 0x768a, 0x3c8: 0x9553, 0x3c9: 0x9553, 0x3ca: 0x9853, 0x3cb: 0x9853, + 0x3cc: 0x77c9, 0x3cd: 0x0004, 0x3ce: 0x0004, 0x3cf: 0x0004, 0x3d0: 0x0812, 0x3d1: 0x0812, + 0x3d2: 0x789a, 0x3d3: 0x79da, 0x3d6: 0x7b1a, 0x3d7: 0x7bfa, + 0x3d8: 0x0813, 0x3d9: 0x0813, 0x3da: 0x9b53, 0x3db: 0x9b53, 0x3dd: 0x0004, + 0x3de: 0x0004, 0x3df: 0x0004, 0x3e0: 0x0812, 0x3e1: 0x0812, 0x3e2: 0x7d3a, 0x3e3: 0x7e7a, + 0x3e4: 0x7fba, 0x3e5: 0x0912, 0x3e6: 0x809a, 0x3e7: 0x817a, 0x3e8: 0x0813, 0x3e9: 0x0813, + 0x3ea: 0xa153, 0x3eb: 0xa153, 0x3ec: 0x0913, 0x3ed: 0x0004, 0x3ee: 0x0004, 0x3ef: 0x0004, + 0x3f2: 0x82ba, 0x3f3: 0x83ca, 0x3f4: 0x849a, + 0x3f6: 0x857a, 0x3f7: 0x865a, 0x3f8: 0x9e53, 0x3f9: 0x9e53, 0x3fa: 0x4d53, 0x3fb: 0x4d53, + 0x3fc: 0x8799, 0x3fd: 0x0004, 0x3fe: 0x0004, + // Block 0x10, offset 0x400 + 0x402: 0x0013, + 0x407: 0x0013, 0x40a: 0x0012, 0x40b: 0x0013, + 0x40c: 0x0013, 0x40d: 0x0013, 0x40e: 0x0012, 0x40f: 0x0012, 0x410: 0x0013, 0x411: 0x0013, + 0x412: 0x0013, 0x413: 0x0012, 0x415: 0x0013, + 0x419: 0x0013, 0x41a: 0x0013, 0x41b: 0x0013, 0x41c: 0x0013, 0x41d: 0x0013, + 0x424: 0x0013, 0x426: 0x886b, 0x428: 0x0013, + 0x42a: 0x88cb, 0x42b: 0x890b, 0x42c: 0x0013, 0x42d: 0x0013, 0x42f: 0x0012, + 0x430: 0x0013, 0x431: 0x0013, 0x432: 0xa453, 0x433: 0x0013, 0x434: 0x0012, 0x435: 0x0010, + 0x436: 0x0010, 0x437: 0x0010, 0x438: 0x0010, 0x439: 0x0012, + 0x43c: 0x0012, 0x43d: 0x0012, 0x43e: 0x0013, 0x43f: 0x0013, + // Block 0x11, offset 0x440 + 0x440: 0x1a13, 0x441: 0x1a13, 0x442: 0x1e13, 0x443: 0x1e13, 0x444: 0x1a13, 0x445: 0x1a13, + 0x446: 0x2613, 0x447: 0x2613, 0x448: 0x2a13, 0x449: 0x2a13, 0x44a: 0x2e13, 0x44b: 0x2e13, + 0x44c: 0x2a13, 0x44d: 0x2a13, 0x44e: 0x2613, 0x44f: 0x2613, 0x450: 0xa752, 0x451: 0xa752, + 0x452: 0xaa52, 0x453: 0xaa52, 0x454: 0xad52, 0x455: 0xad52, 0x456: 0xaa52, 0x457: 0xaa52, + 0x458: 0xa752, 0x459: 0xa752, 0x45a: 0x1a12, 0x45b: 0x1a12, 0x45c: 0x1e12, 0x45d: 0x1e12, + 0x45e: 0x1a12, 0x45f: 0x1a12, 0x460: 0x2612, 0x461: 0x2612, 0x462: 0x2a12, 0x463: 0x2a12, + 0x464: 0x2e12, 0x465: 0x2e12, 0x466: 0x2a12, 0x467: 0x2a12, 0x468: 0x2612, 0x469: 0x2612, + // Block 0x12, offset 0x480 + 0x480: 0x6552, 0x481: 0x6552, 0x482: 0x6552, 0x483: 0x6552, 0x484: 0x6552, 0x485: 0x6552, + 0x486: 0x6552, 0x487: 0x6552, 0x488: 0x6552, 0x489: 0x6552, 0x48a: 0x6552, 0x48b: 0x6552, + 0x48c: 0x6552, 0x48d: 0x6552, 0x48e: 0x6552, 0x48f: 0x6552, 0x490: 0xb052, 0x491: 0xb052, + 0x492: 0xb052, 0x493: 0xb052, 0x494: 0xb052, 0x495: 0xb052, 0x496: 0xb052, 0x497: 0xb052, + 0x498: 0xb052, 0x499: 0xb052, 0x49a: 0xb052, 0x49b: 0xb052, 0x49c: 0xb052, 0x49d: 0xb052, + 0x49e: 0xb052, 0x49f: 0xb052, 0x4a0: 0x0113, 0x4a1: 0x0112, 0x4a2: 0x896b, 0x4a3: 0x8b53, + 0x4a4: 0x89cb, 0x4a5: 0x8a2a, 0x4a6: 0x8a8a, 0x4a7: 0x0f13, 0x4a8: 0x0f12, 0x4a9: 0x0313, + 0x4aa: 0x0312, 0x4ab: 0x0713, 0x4ac: 0x0712, 0x4ad: 0x8aeb, 0x4ae: 0x8b4b, 0x4af: 0x8bab, + 0x4b0: 0x8c0b, 0x4b1: 0x0012, 0x4b2: 0x0113, 0x4b3: 0x0112, 0x4b4: 0x0012, 0x4b5: 0x0313, + 0x4b6: 0x0312, 0x4b7: 0x0012, 0x4b8: 0x0012, 0x4b9: 0x0012, 0x4ba: 0x0012, 0x4bb: 0x0012, + 0x4bc: 0x0015, 0x4bd: 0x0015, 0x4be: 0x8c6b, 0x4bf: 0x8ccb, + // Block 0x13, offset 0x4c0 + 0x4c0: 0x0113, 0x4c1: 0x0112, 0x4c2: 0x0113, 0x4c3: 0x0112, 0x4c4: 0x0113, 0x4c5: 0x0112, + 0x4c6: 0x0113, 0x4c7: 0x0112, 0x4c8: 0x0014, 0x4c9: 0x0014, 0x4ca: 0x0014, 0x4cb: 0x0713, + 0x4cc: 0x0712, 0x4cd: 0x8d2b, 0x4ce: 0x0012, 0x4cf: 0x0010, 0x4d0: 0x0113, 0x4d1: 0x0112, + 0x4d2: 0x0113, 0x4d3: 0x0112, 0x4d4: 0x6552, 0x4d5: 0x0012, 0x4d6: 0x0113, 0x4d7: 0x0112, + 0x4d8: 0x0113, 0x4d9: 0x0112, 0x4da: 0x0113, 0x4db: 0x0112, 0x4dc: 0x0113, 0x4dd: 0x0112, + 0x4de: 0x0113, 0x4df: 0x0112, 0x4e0: 0x0113, 0x4e1: 0x0112, 0x4e2: 0x0113, 0x4e3: 0x0112, + 0x4e4: 0x0113, 0x4e5: 0x0112, 0x4e6: 0x0113, 0x4e7: 0x0112, 0x4e8: 0x0113, 0x4e9: 0x0112, + 0x4ea: 0x8d8b, 0x4eb: 0x8deb, 0x4ec: 0x8e4b, 0x4ed: 0x8eab, 0x4ee: 0x8f0b, 0x4ef: 0x0012, + 0x4f0: 0x8f6b, 0x4f1: 0x8fcb, 0x4f2: 0x902b, 0x4f3: 0xb353, 0x4f4: 0x0113, 0x4f5: 0x0112, + 0x4f6: 0x0113, 0x4f7: 0x0112, 0x4f8: 0x0113, 0x4f9: 0x0112, 0x4fa: 0x0113, 0x4fb: 0x0112, + 0x4fc: 0x0113, 0x4fd: 0x0112, 0x4fe: 0x0113, 0x4ff: 0x0112, + // Block 0x14, offset 0x500 + 0x500: 0x90ea, 0x501: 0x916a, 0x502: 0x91ea, 0x503: 0x926a, 0x504: 0x931a, 0x505: 0x93ca, + 0x506: 0x944a, + 0x513: 0x94ca, 0x514: 0x95aa, 0x515: 0x968a, 0x516: 0x976a, 0x517: 0x984a, + 0x51d: 0x0010, + 0x51e: 0x0034, 0x51f: 0x0010, 0x520: 0x0010, 0x521: 0x0010, 0x522: 0x0010, 0x523: 0x0010, + 0x524: 0x0010, 0x525: 0x0010, 0x526: 0x0010, 0x527: 0x0010, 0x528: 0x0010, + 0x52a: 0x0010, 0x52b: 0x0010, 0x52c: 0x0010, 0x52d: 0x0010, 0x52e: 0x0010, 0x52f: 0x0010, + 0x530: 0x0010, 0x531: 0x0010, 0x532: 0x0010, 0x533: 0x0010, 0x534: 0x0010, 0x535: 0x0010, + 0x536: 0x0010, 0x538: 0x0010, 0x539: 0x0010, 0x53a: 0x0010, 0x53b: 0x0010, + 0x53c: 0x0010, 0x53e: 0x0010, + // Block 0x15, offset 0x540 + 0x540: 0x2713, 0x541: 0x2913, 0x542: 0x2b13, 0x543: 0x2913, 0x544: 0x2f13, 0x545: 0x2913, + 0x546: 0x2b13, 0x547: 0x2913, 0x548: 0x2713, 0x549: 0x3913, 0x54a: 0x3b13, + 0x54c: 0x3f13, 0x54d: 0x3913, 0x54e: 0x3b13, 0x54f: 0x3913, 0x550: 0x2713, 0x551: 0x2913, + 0x552: 0x2b13, 0x554: 0x2f13, 0x555: 0x2913, 0x557: 0xbc52, + 0x558: 0xbf52, 0x559: 0xc252, 0x55a: 0xbf52, 0x55b: 0xc552, 0x55c: 0xbf52, 0x55d: 0xc252, + 0x55e: 0xbf52, 0x55f: 0xbc52, 0x560: 0xc852, 0x561: 0xcb52, 0x563: 0xce52, + 0x564: 0xc852, 0x565: 0xcb52, 0x566: 0xc852, 0x567: 0x2712, 0x568: 0x2912, 0x569: 0x2b12, + 0x56a: 0x2912, 0x56b: 0x2f12, 0x56c: 0x2912, 0x56d: 0x2b12, 0x56e: 0x2912, 0x56f: 0x2712, + 0x570: 0x3912, 0x571: 0x3b12, 0x573: 0x3f12, 0x574: 0x3912, 0x575: 0x3b12, + 0x576: 0x3912, 0x577: 0x2712, 0x578: 0x2912, 0x579: 0x2b12, 0x57b: 0x2f12, + 0x57c: 0x2912, + // Block 0x16, offset 0x580 + 0x580: 0x2213, 0x581: 0x2213, 0x582: 0x2613, 0x583: 0x2613, 0x584: 0x2213, 0x585: 0x2213, + 0x586: 0x2e13, 0x587: 0x2e13, 0x588: 0x2213, 0x589: 0x2213, 0x58a: 0x2613, 0x58b: 0x2613, + 0x58c: 0x2213, 0x58d: 0x2213, 0x58e: 0x3e13, 0x58f: 0x3e13, 0x590: 0x2213, 0x591: 0x2213, + 0x592: 0x2613, 0x593: 0x2613, 0x594: 0x2213, 0x595: 0x2213, 0x596: 0x2e13, 0x597: 0x2e13, + 0x598: 0x2213, 0x599: 0x2213, 0x59a: 0x2613, 0x59b: 0x2613, 0x59c: 0x2213, 0x59d: 0x2213, + 0x59e: 0xd153, 0x59f: 0xd153, 0x5a0: 0xd453, 0x5a1: 0xd453, 0x5a2: 0x2212, 0x5a3: 0x2212, + 0x5a4: 0x2612, 0x5a5: 0x2612, 0x5a6: 0x2212, 0x5a7: 0x2212, 0x5a8: 0x2e12, 0x5a9: 0x2e12, + 0x5aa: 0x2212, 0x5ab: 0x2212, 0x5ac: 0x2612, 0x5ad: 0x2612, 0x5ae: 0x2212, 0x5af: 0x2212, + 0x5b0: 0x3e12, 0x5b1: 0x3e12, 0x5b2: 0x2212, 0x5b3: 0x2212, 0x5b4: 0x2612, 0x5b5: 0x2612, + 0x5b6: 0x2212, 0x5b7: 0x2212, 0x5b8: 0x2e12, 0x5b9: 0x2e12, 0x5ba: 0x2212, 0x5bb: 0x2212, + 0x5bc: 0x2612, 0x5bd: 0x2612, 0x5be: 0x2212, 0x5bf: 0x2212, + // Block 0x17, offset 0x5c0 + 0x5c2: 0x0010, + 0x5c7: 0x0010, 0x5c9: 0x0010, 0x5cb: 0x0010, + 0x5cd: 0x0010, 0x5ce: 0x0010, 0x5cf: 0x0010, 0x5d1: 0x0010, + 0x5d2: 0x0010, 0x5d4: 0x0010, 0x5d7: 0x0010, + 0x5d9: 0x0010, 0x5db: 0x0010, 0x5dd: 0x0010, + 0x5df: 0x0010, 0x5e1: 0x0010, 0x5e2: 0x0010, + 0x5e4: 0x0010, 0x5e7: 0x0010, 0x5e8: 0x0010, 0x5e9: 0x0010, + 0x5ea: 0x0010, 0x5ec: 0x0010, 0x5ed: 0x0010, 0x5ee: 0x0010, 0x5ef: 0x0010, + 0x5f0: 0x0010, 0x5f1: 0x0010, 0x5f2: 0x0010, 0x5f4: 0x0010, 0x5f5: 0x0010, + 0x5f6: 0x0010, 0x5f7: 0x0010, 0x5f9: 0x0010, 0x5fa: 0x0010, 0x5fb: 0x0010, + 0x5fc: 0x0010, 0x5fe: 0x0010, +} + +// caseIndex: 27 blocks, 1728 entries, 3456 bytes +// Block 0 is the zero block. +var caseIndex = [1728]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x16, 0xc3: 0x17, 0xc4: 0x18, 0xc5: 0x19, 0xc6: 0x01, 0xc7: 0x02, + 0xc8: 0x1a, 0xc9: 0x03, 0xca: 0x04, 0xcb: 0x1b, 0xcc: 0x1c, 0xcd: 0x05, 0xce: 0x06, 0xcf: 0x07, + 0xd0: 0x1d, 0xd1: 0x1e, 0xd2: 0x1f, 0xd3: 0x20, 0xd4: 0x21, 0xd5: 0x22, 0xd6: 0x08, 0xd7: 0x23, + 0xd8: 0x24, 0xd9: 0x25, 0xda: 0x26, 0xdb: 0x27, 0xdc: 0x28, 0xdd: 0x29, 0xde: 0x2a, 0xdf: 0x2b, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x08, 0xef: 0x09, + 0xf0: 0x16, 0xf3: 0x18, + // Block 0x4, offset 0x100 + 0x120: 0x2c, 0x121: 0x2d, 0x122: 0x2e, 0x123: 0x09, 0x124: 0x2f, 0x125: 0x30, 0x126: 0x31, 0x127: 0x32, + 0x128: 0x33, 0x129: 0x34, 0x12a: 0x35, 0x12b: 0x36, 0x12c: 0x37, 0x12d: 0x38, 0x12e: 0x39, 0x12f: 0x3a, + 0x130: 0x3b, 0x131: 0x3c, 0x132: 0x3d, 0x133: 0x3e, 0x134: 0x3f, 0x135: 0x40, 0x136: 0x41, 0x137: 0x42, + 0x138: 0x43, 0x139: 0x44, 0x13a: 0x45, 0x13b: 0x46, 0x13c: 0x47, 0x13d: 0x48, 0x13e: 0x49, 0x13f: 0x4a, + // Block 0x5, offset 0x140 + 0x140: 0x4b, 0x141: 0x4c, 0x142: 0x4d, 0x143: 0x0a, 0x144: 0x26, 0x145: 0x26, 0x146: 0x26, 0x147: 0x26, + 0x148: 0x26, 0x149: 0x4e, 0x14a: 0x4f, 0x14b: 0x50, 0x14c: 0x51, 0x14d: 0x52, 0x14e: 0x53, 0x14f: 0x54, + 0x150: 0x55, 0x151: 0x26, 0x152: 0x26, 0x153: 0x26, 0x154: 0x26, 0x155: 0x26, 0x156: 0x26, 0x157: 0x26, + 0x158: 0x26, 0x159: 0x56, 0x15a: 0x57, 0x15b: 0x58, 0x15c: 0x59, 0x15d: 0x5a, 0x15e: 0x5b, 0x15f: 0x5c, + 0x160: 0x5d, 0x161: 0x5e, 0x162: 0x5f, 0x163: 0x60, 0x164: 0x61, 0x165: 0x62, 0x167: 0x63, + 0x168: 0x64, 0x169: 0x65, 0x16a: 0x66, 0x16b: 0x67, 0x16c: 0x68, 0x16d: 0x69, 0x16e: 0x6a, 0x16f: 0x6b, + 0x170: 0x6c, 0x171: 0x6d, 0x172: 0x6e, 0x173: 0x6f, 0x174: 0x70, 0x175: 0x71, 0x176: 0x72, 0x177: 0x73, + 0x178: 0x74, 0x179: 0x74, 0x17a: 0x75, 0x17b: 0x74, 0x17c: 0x76, 0x17d: 0x0b, 0x17e: 0x0c, 0x17f: 0x0d, + // Block 0x6, offset 0x180 + 0x180: 0x77, 0x181: 0x78, 0x182: 0x79, 0x183: 0x7a, 0x184: 0x0e, 0x185: 0x7b, 0x186: 0x7c, + 0x192: 0x7d, 0x193: 0x0f, + 0x1b0: 0x7e, 0x1b1: 0x10, 0x1b2: 0x74, 0x1b3: 0x7f, 0x1b4: 0x80, 0x1b5: 0x81, 0x1b6: 0x82, 0x1b7: 0x83, + 0x1b8: 0x84, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x85, 0x1c2: 0x86, 0x1c3: 0x87, 0x1c4: 0x88, 0x1c5: 0x26, 0x1c6: 0x89, + // Block 0x8, offset 0x200 + 0x200: 0x8a, 0x201: 0x26, 0x202: 0x26, 0x203: 0x26, 0x204: 0x26, 0x205: 0x26, 0x206: 0x26, 0x207: 0x26, + 0x208: 0x26, 0x209: 0x26, 0x20a: 0x26, 0x20b: 0x26, 0x20c: 0x26, 0x20d: 0x26, 0x20e: 0x26, 0x20f: 0x26, + 0x210: 0x26, 0x211: 0x26, 0x212: 0x8b, 0x213: 0x8c, 0x214: 0x26, 0x215: 0x26, 0x216: 0x26, 0x217: 0x26, + 0x218: 0x8d, 0x219: 0x8e, 0x21a: 0x8f, 0x21b: 0x90, 0x21c: 0x91, 0x21d: 0x92, 0x21e: 0x11, 0x21f: 0x93, + 0x220: 0x94, 0x221: 0x95, 0x222: 0x26, 0x223: 0x96, 0x224: 0x97, 0x225: 0x98, 0x226: 0x99, 0x227: 0x9a, + 0x228: 0x9b, 0x229: 0x9c, 0x22a: 0x9d, 0x22b: 0x9e, 0x22c: 0x9f, 0x22d: 0xa0, 0x22e: 0xa1, 0x22f: 0xa2, + 0x230: 0x26, 0x231: 0x26, 0x232: 0x26, 0x233: 0x26, 0x234: 0x26, 0x235: 0x26, 0x236: 0x26, 0x237: 0x26, + 0x238: 0x26, 0x239: 0x26, 0x23a: 0x26, 0x23b: 0x26, 0x23c: 0x26, 0x23d: 0x26, 0x23e: 0x26, 0x23f: 0x26, + // Block 0x9, offset 0x240 + 0x240: 0x26, 0x241: 0x26, 0x242: 0x26, 0x243: 0x26, 0x244: 0x26, 0x245: 0x26, 0x246: 0x26, 0x247: 0x26, + 0x248: 0x26, 0x249: 0x26, 0x24a: 0x26, 0x24b: 0x26, 0x24c: 0x26, 0x24d: 0x26, 0x24e: 0x26, 0x24f: 0x26, + 0x250: 0x26, 0x251: 0x26, 0x252: 0x26, 0x253: 0x26, 0x254: 0x26, 0x255: 0x26, 0x256: 0x26, 0x257: 0x26, + 0x258: 0x26, 0x259: 0x26, 0x25a: 0x26, 0x25b: 0x26, 0x25c: 0x26, 0x25d: 0x26, 0x25e: 0x26, 0x25f: 0x26, + 0x260: 0x26, 0x261: 0x26, 0x262: 0x26, 0x263: 0x26, 0x264: 0x26, 0x265: 0x26, 0x266: 0x26, 0x267: 0x26, + 0x268: 0x26, 0x269: 0x26, 0x26a: 0x26, 0x26b: 0x26, 0x26c: 0x26, 0x26d: 0x26, 0x26e: 0x26, 0x26f: 0x26, + 0x270: 0x26, 0x271: 0x26, 0x272: 0x26, 0x273: 0x26, 0x274: 0x26, 0x275: 0x26, 0x276: 0x26, 0x277: 0x26, + 0x278: 0x26, 0x279: 0x26, 0x27a: 0x26, 0x27b: 0x26, 0x27c: 0x26, 0x27d: 0x26, 0x27e: 0x26, 0x27f: 0x26, + // Block 0xa, offset 0x280 + 0x280: 0x26, 0x281: 0x26, 0x282: 0x26, 0x283: 0x26, 0x284: 0x26, 0x285: 0x26, 0x286: 0x26, 0x287: 0x26, + 0x288: 0x26, 0x289: 0x26, 0x28a: 0x26, 0x28b: 0x26, 0x28c: 0x26, 0x28d: 0x26, 0x28e: 0x26, 0x28f: 0x26, + 0x290: 0x26, 0x291: 0x26, 0x292: 0x26, 0x293: 0x26, 0x294: 0x26, 0x295: 0x26, 0x296: 0x26, 0x297: 0x26, + 0x298: 0x26, 0x299: 0x26, 0x29a: 0x26, 0x29b: 0x26, 0x29c: 0x26, 0x29d: 0x26, 0x29e: 0xa3, 0x29f: 0xa4, + // Block 0xb, offset 0x2c0 + 0x2ec: 0x12, 0x2ed: 0xa5, 0x2ee: 0xa6, 0x2ef: 0xa7, + 0x2f0: 0x26, 0x2f1: 0x26, 0x2f2: 0x26, 0x2f3: 0x26, 0x2f4: 0xa8, 0x2f5: 0xa9, 0x2f6: 0xaa, 0x2f7: 0xab, + 0x2f8: 0xac, 0x2f9: 0xad, 0x2fa: 0x26, 0x2fb: 0xae, 0x2fc: 0xaf, 0x2fd: 0xb0, 0x2fe: 0xb1, 0x2ff: 0xb2, + // Block 0xc, offset 0x300 + 0x300: 0xb3, 0x301: 0xb4, 0x302: 0x26, 0x303: 0xb5, 0x305: 0xb6, 0x307: 0xb7, + 0x30a: 0xb8, 0x30b: 0xb9, 0x30c: 0xba, 0x30d: 0xbb, 0x30e: 0xbc, 0x30f: 0xbd, + 0x310: 0xbe, 0x311: 0xbf, 0x312: 0xc0, 0x313: 0xc1, 0x314: 0xc2, 0x315: 0xc3, 0x316: 0x13, + 0x318: 0x26, 0x319: 0x26, 0x31a: 0x26, 0x31b: 0x26, 0x31c: 0xc4, 0x31d: 0xc5, 0x31e: 0xc6, + 0x320: 0xc7, 0x321: 0xc8, 0x322: 0xc9, 0x323: 0xca, 0x324: 0xcb, 0x326: 0xcc, + 0x328: 0xcd, 0x329: 0xce, 0x32a: 0xcf, 0x32b: 0xd0, 0x32c: 0x60, 0x32d: 0xd1, 0x32e: 0xd2, + 0x330: 0x26, 0x331: 0xd3, 0x332: 0xd4, 0x333: 0xd5, 0x334: 0xd6, + 0x33a: 0xd7, 0x33b: 0xd8, 0x33c: 0xd9, 0x33d: 0xda, 0x33e: 0xdb, 0x33f: 0xdc, + // Block 0xd, offset 0x340 + 0x340: 0xdd, 0x341: 0xde, 0x342: 0xdf, 0x343: 0xe0, 0x344: 0xe1, 0x345: 0xe2, 0x346: 0xe3, 0x347: 0xe4, + 0x348: 0xe5, 0x349: 0xe6, 0x34a: 0xe7, 0x34b: 0xe8, 0x34c: 0xe9, 0x34d: 0xea, + 0x350: 0xeb, 0x351: 0xec, 0x352: 0xed, 0x353: 0xee, 0x356: 0xef, 0x357: 0xf0, + 0x358: 0xf1, 0x359: 0xf2, 0x35a: 0xf3, 0x35b: 0xf4, 0x35c: 0xf5, + 0x360: 0xf6, 0x362: 0xf7, 0x363: 0xf8, 0x364: 0xf9, 0x365: 0xfa, 0x366: 0xfb, 0x367: 0xfc, + 0x368: 0xfd, 0x369: 0xfe, 0x36a: 0xff, 0x36b: 0x100, + 0x370: 0x101, 0x371: 0x102, 0x372: 0x103, 0x374: 0x104, 0x375: 0x105, 0x376: 0x106, + 0x37b: 0x107, 0x37c: 0x108, 0x37d: 0x109, 0x37e: 0x10a, + // Block 0xe, offset 0x380 + 0x380: 0x26, 0x381: 0x26, 0x382: 0x26, 0x383: 0x26, 0x384: 0x26, 0x385: 0x26, 0x386: 0x26, 0x387: 0x26, + 0x388: 0x26, 0x389: 0x26, 0x38a: 0x26, 0x38b: 0x26, 0x38c: 0x26, 0x38d: 0x26, 0x38e: 0x10b, + 0x390: 0x26, 0x391: 0x10c, 0x392: 0x26, 0x393: 0x26, 0x394: 0x26, 0x395: 0x10d, + 0x3be: 0xa9, 0x3bf: 0x10e, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x26, 0x3c1: 0x26, 0x3c2: 0x26, 0x3c3: 0x26, 0x3c4: 0x26, 0x3c5: 0x26, 0x3c6: 0x26, 0x3c7: 0x26, + 0x3c8: 0x26, 0x3c9: 0x26, 0x3ca: 0x26, 0x3cb: 0x26, 0x3cc: 0x26, 0x3cd: 0x26, 0x3ce: 0x26, 0x3cf: 0x26, + 0x3d0: 0x10f, 0x3d1: 0x110, + // Block 0x10, offset 0x400 + 0x410: 0x26, 0x411: 0x26, 0x412: 0x26, 0x413: 0x26, 0x414: 0x26, 0x415: 0x26, 0x416: 0x26, 0x417: 0x26, + 0x418: 0x26, 0x419: 0x111, + // Block 0x11, offset 0x440 + 0x460: 0x26, 0x461: 0x26, 0x462: 0x26, 0x463: 0x26, 0x464: 0x26, 0x465: 0x26, 0x466: 0x26, 0x467: 0x26, + 0x468: 0x100, 0x469: 0x112, 0x46a: 0x113, 0x46b: 0x114, 0x46c: 0x115, 0x46d: 0x116, 0x46e: 0x117, + 0x479: 0x118, 0x47c: 0x26, 0x47d: 0x119, 0x47e: 0x11a, 0x47f: 0x11b, + // Block 0x12, offset 0x480 + 0x4bf: 0x11c, + // Block 0x13, offset 0x4c0 + 0x4f0: 0x26, 0x4f1: 0x11d, 0x4f2: 0x11e, + // Block 0x14, offset 0x500 + 0x53c: 0x11f, 0x53d: 0x120, + // Block 0x15, offset 0x540 + 0x545: 0x121, 0x546: 0x122, + 0x549: 0x123, + 0x550: 0x124, 0x551: 0x125, 0x552: 0x126, 0x553: 0x127, 0x554: 0x128, 0x555: 0x129, 0x556: 0x12a, 0x557: 0x12b, + 0x558: 0x12c, 0x559: 0x12d, 0x55a: 0x12e, 0x55b: 0x12f, 0x55c: 0x130, 0x55d: 0x131, 0x55e: 0x132, 0x55f: 0x133, + 0x568: 0x134, 0x569: 0x135, 0x56a: 0x136, + 0x57c: 0x137, + // Block 0x16, offset 0x580 + 0x580: 0x138, 0x581: 0x139, 0x582: 0x13a, 0x584: 0x13b, 0x585: 0x13c, + 0x58a: 0x13d, 0x58b: 0x13e, + 0x593: 0x13f, + 0x59f: 0x140, + 0x5a0: 0x26, 0x5a1: 0x26, 0x5a2: 0x26, 0x5a3: 0x141, 0x5a4: 0x14, 0x5a5: 0x142, + 0x5b8: 0x143, 0x5b9: 0x15, 0x5ba: 0x144, + // Block 0x17, offset 0x5c0 + 0x5c4: 0x145, 0x5c5: 0x146, 0x5c6: 0x147, + 0x5cf: 0x148, + 0x5ef: 0x149, + // Block 0x18, offset 0x600 + 0x610: 0x0a, 0x611: 0x0b, 0x612: 0x0c, 0x613: 0x0d, 0x614: 0x0e, 0x616: 0x0f, + 0x61a: 0x10, 0x61b: 0x11, 0x61c: 0x12, 0x61d: 0x13, 0x61e: 0x14, 0x61f: 0x15, + // Block 0x19, offset 0x640 + 0x640: 0x14a, 0x641: 0x14b, 0x644: 0x14b, 0x645: 0x14b, 0x646: 0x14b, 0x647: 0x14c, + // Block 0x1a, offset 0x680 + 0x6a0: 0x17, +} + +// sparseOffsets: 312 entries, 624 bytes +var sparseOffsets = []uint16{0x0, 0x9, 0xf, 0x18, 0x24, 0x2e, 0x34, 0x37, 0x3b, 0x3e, 0x42, 0x4c, 0x4e, 0x57, 0x5e, 0x63, 0x71, 0x72, 0x80, 0x8f, 0x99, 0x9c, 0xa3, 0xab, 0xaf, 0xb7, 0xbd, 0xcb, 0xd6, 0xe3, 0xee, 0xfa, 0x104, 0x110, 0x11b, 0x127, 0x133, 0x13b, 0x145, 0x150, 0x15b, 0x167, 0x16d, 0x178, 0x17e, 0x186, 0x189, 0x18e, 0x192, 0x196, 0x19d, 0x1a6, 0x1ae, 0x1af, 0x1b8, 0x1bf, 0x1c7, 0x1cd, 0x1d2, 0x1d6, 0x1d9, 0x1db, 0x1de, 0x1e3, 0x1e4, 0x1e6, 0x1e8, 0x1ea, 0x1f1, 0x1f6, 0x1fa, 0x203, 0x206, 0x209, 0x20f, 0x210, 0x21b, 0x21c, 0x21d, 0x222, 0x22f, 0x238, 0x23e, 0x246, 0x24f, 0x258, 0x261, 0x266, 0x269, 0x274, 0x282, 0x284, 0x28b, 0x28f, 0x29b, 0x29c, 0x2a7, 0x2af, 0x2b7, 0x2bd, 0x2be, 0x2cc, 0x2d1, 0x2d4, 0x2d9, 0x2dd, 0x2e3, 0x2e8, 0x2eb, 0x2f0, 0x2f5, 0x2f6, 0x2fc, 0x2fe, 0x2ff, 0x301, 0x303, 0x306, 0x307, 0x309, 0x30c, 0x312, 0x316, 0x318, 0x31d, 0x324, 0x334, 0x33e, 0x33f, 0x348, 0x34c, 0x351, 0x359, 0x35f, 0x365, 0x36f, 0x374, 0x37d, 0x383, 0x38c, 0x390, 0x398, 0x39a, 0x39c, 0x39f, 0x3a1, 0x3a3, 0x3a4, 0x3a5, 0x3a7, 0x3a9, 0x3af, 0x3b4, 0x3b6, 0x3bd, 0x3c0, 0x3c2, 0x3c8, 0x3cd, 0x3cf, 0x3d0, 0x3d1, 0x3d2, 0x3d4, 0x3d6, 0x3d8, 0x3db, 0x3dd, 0x3e0, 0x3e8, 0x3eb, 0x3ef, 0x3f7, 0x3f9, 0x409, 0x40a, 0x40c, 0x411, 0x417, 0x419, 0x41a, 0x41c, 0x41e, 0x420, 0x42d, 0x42e, 0x42f, 0x433, 0x435, 0x436, 0x437, 0x438, 0x439, 0x43c, 0x43f, 0x440, 0x443, 0x44a, 0x450, 0x452, 0x456, 0x45e, 0x464, 0x468, 0x46f, 0x473, 0x477, 0x480, 0x48a, 0x48c, 0x492, 0x498, 0x4a2, 0x4ac, 0x4ae, 0x4b7, 0x4bd, 0x4c3, 0x4c9, 0x4cc, 0x4d2, 0x4d5, 0x4de, 0x4df, 0x4e6, 0x4ea, 0x4eb, 0x4ee, 0x4f8, 0x4fb, 0x4fd, 0x504, 0x50c, 0x512, 0x519, 0x51a, 0x520, 0x523, 0x52b, 0x532, 0x53c, 0x544, 0x547, 0x54c, 0x550, 0x551, 0x552, 0x553, 0x554, 0x555, 0x557, 0x55a, 0x55b, 0x55e, 0x55f, 0x562, 0x564, 0x568, 0x569, 0x56b, 0x56e, 0x570, 0x573, 0x576, 0x578, 0x57d, 0x57f, 0x580, 0x585, 0x589, 0x58a, 0x58d, 0x591, 0x59c, 0x5a0, 0x5a8, 0x5ad, 0x5b1, 0x5b4, 0x5b8, 0x5bb, 0x5be, 0x5c3, 0x5c7, 0x5cb, 0x5cf, 0x5d3, 0x5d5, 0x5d7, 0x5da, 0x5de, 0x5e4, 0x5e5, 0x5e6, 0x5e9, 0x5eb, 0x5ed, 0x5f0, 0x5f5, 0x5f9, 0x5fb, 0x601, 0x60a, 0x60f, 0x610, 0x613, 0x614, 0x615, 0x616, 0x618, 0x619, 0x61a} + +// sparseValues: 1562 entries, 6248 bytes +var sparseValues = [1562]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0004, lo: 0xa8, hi: 0xa8}, + {value: 0x0012, lo: 0xaa, hi: 0xaa}, + {value: 0x0014, lo: 0xad, hi: 0xad}, + {value: 0x0004, lo: 0xaf, hi: 0xaf}, + {value: 0x0004, lo: 0xb4, hi: 0xb4}, + {value: 0x001a, lo: 0xb5, hi: 0xb5}, + {value: 0x0054, lo: 0xb7, hi: 0xb7}, + {value: 0x0004, lo: 0xb8, hi: 0xb8}, + {value: 0x0012, lo: 0xba, hi: 0xba}, + // Block 0x1, offset 0x9 + {value: 0x2013, lo: 0x80, hi: 0x96}, + {value: 0x2013, lo: 0x98, hi: 0x9e}, + {value: 0x009a, lo: 0x9f, hi: 0x9f}, + {value: 0x2012, lo: 0xa0, hi: 0xb6}, + {value: 0x2012, lo: 0xb8, hi: 0xbe}, + {value: 0x0252, lo: 0xbf, hi: 0xbf}, + // Block 0x2, offset 0xf + {value: 0x0117, lo: 0x80, hi: 0xaf}, + {value: 0x011b, lo: 0xb0, hi: 0xb0}, + {value: 0x019a, lo: 0xb1, hi: 0xb1}, + {value: 0x0117, lo: 0xb2, hi: 0xb7}, + {value: 0x0012, lo: 0xb8, hi: 0xb8}, + {value: 0x0316, lo: 0xb9, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x0316, lo: 0xbd, hi: 0xbe}, + {value: 0x0553, lo: 0xbf, hi: 0xbf}, + // Block 0x3, offset 0x18 + {value: 0x0552, lo: 0x80, hi: 0x80}, + {value: 0x0316, lo: 0x81, hi: 0x82}, + {value: 0x0716, lo: 0x83, hi: 0x84}, + {value: 0x0316, lo: 0x85, hi: 0x86}, + {value: 0x0f16, lo: 0x87, hi: 0x88}, + {value: 0x01da, lo: 0x89, hi: 0x89}, + {value: 0x0117, lo: 0x8a, hi: 0xb7}, + {value: 0x0253, lo: 0xb8, hi: 0xb8}, + {value: 0x0316, lo: 0xb9, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x0316, lo: 0xbd, hi: 0xbe}, + {value: 0x028a, lo: 0xbf, hi: 0xbf}, + // Block 0x4, offset 0x24 + {value: 0x0117, lo: 0x80, hi: 0x9f}, + {value: 0x2f53, lo: 0xa0, hi: 0xa0}, + {value: 0x0012, lo: 0xa1, hi: 0xa1}, + {value: 0x0117, lo: 0xa2, hi: 0xb3}, + {value: 0x0012, lo: 0xb4, hi: 0xb9}, + {value: 0x090b, lo: 0xba, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x2953, lo: 0xbd, hi: 0xbd}, + {value: 0x098b, lo: 0xbe, hi: 0xbe}, + {value: 0x0a0a, lo: 0xbf, hi: 0xbf}, + // Block 0x5, offset 0x2e + {value: 0x0015, lo: 0x80, hi: 0x81}, + {value: 0x0014, lo: 0x82, hi: 0x97}, + {value: 0x0004, lo: 0x98, hi: 0x9d}, + {value: 0x0014, lo: 0x9e, hi: 0x9f}, + {value: 0x0015, lo: 0xa0, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xbf}, + // Block 0x6, offset 0x34 + {value: 0x0024, lo: 0x80, hi: 0x94}, + {value: 0x0034, lo: 0x95, hi: 0xbc}, + {value: 0x0024, lo: 0xbd, hi: 0xbf}, + // Block 0x7, offset 0x37 + {value: 0x6553, lo: 0x80, hi: 0x8f}, + {value: 0x2013, lo: 0x90, hi: 0x9f}, + {value: 0x5f53, lo: 0xa0, hi: 0xaf}, + {value: 0x2012, lo: 0xb0, hi: 0xbf}, + // Block 0x8, offset 0x3b + {value: 0x5f52, lo: 0x80, hi: 0x8f}, + {value: 0x6552, lo: 0x90, hi: 0x9f}, + {value: 0x0117, lo: 0xa0, hi: 0xbf}, + // Block 0x9, offset 0x3e + {value: 0x0117, lo: 0x80, hi: 0x81}, + {value: 0x0024, lo: 0x83, hi: 0x87}, + {value: 0x0014, lo: 0x88, hi: 0x89}, + {value: 0x0117, lo: 0x8a, hi: 0xbf}, + // Block 0xa, offset 0x42 + {value: 0x0f13, lo: 0x80, hi: 0x80}, + {value: 0x0316, lo: 0x81, hi: 0x82}, + {value: 0x0716, lo: 0x83, hi: 0x84}, + {value: 0x0316, lo: 0x85, hi: 0x86}, + {value: 0x0f16, lo: 0x87, hi: 0x88}, + {value: 0x0316, lo: 0x89, hi: 0x8a}, + {value: 0x0716, lo: 0x8b, hi: 0x8c}, + {value: 0x0316, lo: 0x8d, hi: 0x8e}, + {value: 0x0f12, lo: 0x8f, hi: 0x8f}, + {value: 0x0117, lo: 0x90, hi: 0xbf}, + // Block 0xb, offset 0x4c + {value: 0x0117, lo: 0x80, hi: 0xaf}, + {value: 0x6553, lo: 0xb1, hi: 0xbf}, + // Block 0xc, offset 0x4e + {value: 0x3013, lo: 0x80, hi: 0x8f}, + {value: 0x6853, lo: 0x90, hi: 0x96}, + {value: 0x0014, lo: 0x99, hi: 0x99}, + {value: 0x0010, lo: 0x9a, hi: 0x9c}, + {value: 0x0010, lo: 0x9e, hi: 0x9e}, + {value: 0x0054, lo: 0x9f, hi: 0x9f}, + {value: 0x0012, lo: 0xa0, hi: 0xa0}, + {value: 0x6552, lo: 0xa1, hi: 0xaf}, + {value: 0x3012, lo: 0xb0, hi: 0xbf}, + // Block 0xd, offset 0x57 + {value: 0x0034, lo: 0x81, hi: 0x82}, + {value: 0x0024, lo: 0x84, hi: 0x84}, + {value: 0x0034, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0xaa}, + {value: 0x0010, lo: 0xaf, hi: 0xb3}, + {value: 0x0054, lo: 0xb4, hi: 0xb4}, + // Block 0xe, offset 0x5e + {value: 0x0014, lo: 0x80, hi: 0x85}, + {value: 0x0024, lo: 0x90, hi: 0x97}, + {value: 0x0034, lo: 0x98, hi: 0x9a}, + {value: 0x0014, lo: 0x9c, hi: 0x9c}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0xf, offset 0x63 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x8a}, + {value: 0x0034, lo: 0x8b, hi: 0x92}, + {value: 0x0024, lo: 0x93, hi: 0x94}, + {value: 0x0034, lo: 0x95, hi: 0x96}, + {value: 0x0024, lo: 0x97, hi: 0x9b}, + {value: 0x0034, lo: 0x9c, hi: 0x9c}, + {value: 0x0024, lo: 0x9d, hi: 0x9e}, + {value: 0x0034, lo: 0x9f, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0x0010, lo: 0xab, hi: 0xab}, + {value: 0x0010, lo: 0xae, hi: 0xaf}, + {value: 0x0034, lo: 0xb0, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xbf}, + // Block 0x10, offset 0x71 + {value: 0x0010, lo: 0x80, hi: 0xbf}, + // Block 0x11, offset 0x72 + {value: 0x0010, lo: 0x80, hi: 0x93}, + {value: 0x0010, lo: 0x95, hi: 0x95}, + {value: 0x0024, lo: 0x96, hi: 0x9c}, + {value: 0x0014, lo: 0x9d, hi: 0x9d}, + {value: 0x0024, lo: 0x9f, hi: 0xa2}, + {value: 0x0034, lo: 0xa3, hi: 0xa3}, + {value: 0x0024, lo: 0xa4, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xa6}, + {value: 0x0024, lo: 0xa7, hi: 0xa8}, + {value: 0x0034, lo: 0xaa, hi: 0xaa}, + {value: 0x0024, lo: 0xab, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xbc}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x12, offset 0x80 + {value: 0x0014, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0034, lo: 0x91, hi: 0x91}, + {value: 0x0010, lo: 0x92, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb0}, + {value: 0x0034, lo: 0xb1, hi: 0xb1}, + {value: 0x0024, lo: 0xb2, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0024, lo: 0xb5, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb9}, + {value: 0x0024, lo: 0xba, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbc}, + {value: 0x0024, lo: 0xbd, hi: 0xbd}, + {value: 0x0034, lo: 0xbe, hi: 0xbe}, + {value: 0x0024, lo: 0xbf, hi: 0xbf}, + // Block 0x13, offset 0x8f + {value: 0x0024, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0024, lo: 0x83, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x84}, + {value: 0x0024, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0024, lo: 0x87, hi: 0x87}, + {value: 0x0034, lo: 0x88, hi: 0x88}, + {value: 0x0024, lo: 0x89, hi: 0x8a}, + {value: 0x0010, lo: 0x8d, hi: 0xbf}, + // Block 0x14, offset 0x99 + {value: 0x0010, lo: 0x80, hi: 0xa5}, + {value: 0x0014, lo: 0xa6, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + // Block 0x15, offset 0x9c + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0024, lo: 0xab, hi: 0xb1}, + {value: 0x0034, lo: 0xb2, hi: 0xb2}, + {value: 0x0024, lo: 0xb3, hi: 0xb3}, + {value: 0x0014, lo: 0xb4, hi: 0xb5}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0034, lo: 0xbd, hi: 0xbd}, + // Block 0x16, offset 0xa3 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0024, lo: 0x96, hi: 0x99}, + {value: 0x0014, lo: 0x9a, hi: 0x9a}, + {value: 0x0024, lo: 0x9b, hi: 0xa3}, + {value: 0x0014, lo: 0xa4, hi: 0xa4}, + {value: 0x0024, lo: 0xa5, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa8}, + {value: 0x0024, lo: 0xa9, hi: 0xad}, + // Block 0x17, offset 0xab + {value: 0x0010, lo: 0x80, hi: 0x98}, + {value: 0x0034, lo: 0x99, hi: 0x9b}, + {value: 0x0010, lo: 0xa0, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x18, offset 0xaf + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0004, lo: 0x88, hi: 0x88}, + {value: 0x0010, lo: 0x89, hi: 0x8e}, + {value: 0x0014, lo: 0x90, hi: 0x91}, + {value: 0x0024, lo: 0x98, hi: 0x98}, + {value: 0x0034, lo: 0x99, hi: 0x9b}, + {value: 0x0024, lo: 0x9c, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x19, offset 0xb7 + {value: 0x0014, lo: 0x80, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0xb9}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x1a, offset 0xbd + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x88}, + {value: 0x0010, lo: 0x89, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0024, lo: 0x91, hi: 0x91}, + {value: 0x0034, lo: 0x92, hi: 0x92}, + {value: 0x0024, lo: 0x93, hi: 0x94}, + {value: 0x0014, lo: 0x95, hi: 0x97}, + {value: 0x0010, lo: 0x98, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0014, lo: 0xb1, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xbf}, + // Block 0x1b, offset 0xcb + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb2}, + {value: 0x0010, lo: 0xb6, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x1c, offset 0xd6 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8e, hi: 0x8e}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x9c, hi: 0x9d}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xb1}, + {value: 0x0010, lo: 0xbc, hi: 0xbc}, + {value: 0x0024, lo: 0xbe, hi: 0xbe}, + // Block 0x1d, offset 0xe3 + {value: 0x0014, lo: 0x81, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8a}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb6}, + {value: 0x0010, lo: 0xb8, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x1e, offset 0xee + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x82}, + {value: 0x0014, lo: 0x87, hi: 0x88}, + {value: 0x0014, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0014, lo: 0x91, hi: 0x91}, + {value: 0x0010, lo: 0x99, hi: 0x9c}, + {value: 0x0010, lo: 0x9e, hi: 0x9e}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb5}, + // Block 0x1f, offset 0xfa + {value: 0x0014, lo: 0x81, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8d}, + {value: 0x0010, lo: 0x8f, hi: 0x91}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x20, offset 0x104 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x85}, + {value: 0x0014, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x89, hi: 0x89}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb9, hi: 0xb9}, + {value: 0x0014, lo: 0xba, hi: 0xbf}, + // Block 0x21, offset 0x110 + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x22, offset 0x11b + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0014, lo: 0x95, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x9c, hi: 0x9d}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + // Block 0x23, offset 0x127 + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8a}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0x95}, + {value: 0x0010, lo: 0x99, hi: 0x9a}, + {value: 0x0010, lo: 0x9c, hi: 0x9c}, + {value: 0x0010, lo: 0x9e, hi: 0x9f}, + {value: 0x0010, lo: 0xa3, hi: 0xa4}, + {value: 0x0010, lo: 0xa8, hi: 0xaa}, + {value: 0x0010, lo: 0xae, hi: 0xb9}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x24, offset 0x133 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x82}, + {value: 0x0010, lo: 0x86, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + // Block 0x25, offset 0x13b + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x83}, + {value: 0x0014, lo: 0x84, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + {value: 0x0014, lo: 0xbe, hi: 0xbf}, + // Block 0x26, offset 0x145 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x84}, + {value: 0x0014, lo: 0x86, hi: 0x88}, + {value: 0x0014, lo: 0x8a, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0034, lo: 0x95, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x9a}, + {value: 0x0010, lo: 0x9d, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + // Block 0x27, offset 0x150 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x28, offset 0x15b + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0014, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x95, hi: 0x96}, + {value: 0x0010, lo: 0x9d, hi: 0x9e}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb1, hi: 0xb3}, + // Block 0x29, offset 0x167 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x2a, offset 0x16d + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x86, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8e, hi: 0x8e}, + {value: 0x0010, lo: 0x94, hi: 0x97}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xba, hi: 0xbf}, + // Block 0x2b, offset 0x178 + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x96}, + {value: 0x0010, lo: 0x9a, hi: 0xb1}, + {value: 0x0010, lo: 0xb3, hi: 0xbb}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + // Block 0x2c, offset 0x17e + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0010, lo: 0x8f, hi: 0x91}, + {value: 0x0014, lo: 0x92, hi: 0x94}, + {value: 0x0014, lo: 0x96, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x9f}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + // Block 0x2d, offset 0x186 + {value: 0x0014, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb4, hi: 0xb7}, + {value: 0x0034, lo: 0xb8, hi: 0xba}, + // Block 0x2e, offset 0x189 + {value: 0x0004, lo: 0x86, hi: 0x86}, + {value: 0x0014, lo: 0x87, hi: 0x87}, + {value: 0x0034, lo: 0x88, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x2f, offset 0x18e + {value: 0x0014, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb4, hi: 0xb7}, + {value: 0x0034, lo: 0xb8, hi: 0xba}, + {value: 0x0014, lo: 0xbb, hi: 0xbc}, + // Block 0x30, offset 0x192 + {value: 0x0004, lo: 0x86, hi: 0x86}, + {value: 0x0034, lo: 0x88, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x31, offset 0x196 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0034, lo: 0x98, hi: 0x99}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0x0034, lo: 0xb5, hi: 0xb5}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + {value: 0x0034, lo: 0xb9, hi: 0xb9}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x32, offset 0x19d + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0010, lo: 0x89, hi: 0xac}, + {value: 0x0034, lo: 0xb1, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xba, hi: 0xbd}, + {value: 0x0014, lo: 0xbe, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x33, offset 0x1a6 + {value: 0x0034, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0024, lo: 0x82, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x84}, + {value: 0x0024, lo: 0x86, hi: 0x87}, + {value: 0x0010, lo: 0x88, hi: 0x8c}, + {value: 0x0014, lo: 0x8d, hi: 0x97}, + {value: 0x0014, lo: 0x99, hi: 0xbc}, + // Block 0x34, offset 0x1ae + {value: 0x0034, lo: 0x86, hi: 0x86}, + // Block 0x35, offset 0x1af + {value: 0x0010, lo: 0xab, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + {value: 0x0010, lo: 0xb8, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbc}, + {value: 0x0014, lo: 0xbd, hi: 0xbe}, + // Block 0x36, offset 0x1b8 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x96, hi: 0x97}, + {value: 0x0014, lo: 0x98, hi: 0x99}, + {value: 0x0014, lo: 0x9e, hi: 0xa0}, + {value: 0x0010, lo: 0xa2, hi: 0xa4}, + {value: 0x0010, lo: 0xa7, hi: 0xad}, + {value: 0x0014, lo: 0xb1, hi: 0xb4}, + // Block 0x37, offset 0x1bf + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x84}, + {value: 0x0014, lo: 0x85, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8f, hi: 0x9c}, + {value: 0x0014, lo: 0x9d, hi: 0x9d}, + {value: 0x6c53, lo: 0xa0, hi: 0xbf}, + // Block 0x38, offset 0x1c7 + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x98}, + {value: 0x0010, lo: 0x9a, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x39, offset 0x1cd + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb5}, + {value: 0x0010, lo: 0xb8, hi: 0xbe}, + // Block 0x3a, offset 0x1d2 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x82, hi: 0x85}, + {value: 0x0010, lo: 0x88, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0xbf}, + // Block 0x3b, offset 0x1d6 + {value: 0x0010, lo: 0x80, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0x95}, + {value: 0x0010, lo: 0x98, hi: 0xbf}, + // Block 0x3c, offset 0x1d9 + {value: 0x0010, lo: 0x80, hi: 0x9a}, + {value: 0x0024, lo: 0x9d, hi: 0x9f}, + // Block 0x3d, offset 0x1db + {value: 0x0010, lo: 0x80, hi: 0x8f}, + {value: 0x7453, lo: 0xa0, hi: 0xaf}, + {value: 0x7853, lo: 0xb0, hi: 0xbf}, + // Block 0x3e, offset 0x1de + {value: 0x7c53, lo: 0x80, hi: 0x8f}, + {value: 0x8053, lo: 0x90, hi: 0x9f}, + {value: 0x7c53, lo: 0xa0, hi: 0xaf}, + {value: 0x0813, lo: 0xb0, hi: 0xb5}, + {value: 0x0892, lo: 0xb8, hi: 0xbd}, + // Block 0x3f, offset 0x1e3 + {value: 0x0010, lo: 0x81, hi: 0xbf}, + // Block 0x40, offset 0x1e4 + {value: 0x0010, lo: 0x80, hi: 0xac}, + {value: 0x0010, lo: 0xaf, hi: 0xbf}, + // Block 0x41, offset 0x1e6 + {value: 0x0010, lo: 0x81, hi: 0x9a}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x42, offset 0x1e8 + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0010, lo: 0xae, hi: 0xb8}, + // Block 0x43, offset 0x1ea + {value: 0x0010, lo: 0x80, hi: 0x91}, + {value: 0x0014, lo: 0x92, hi: 0x93}, + {value: 0x0034, lo: 0x94, hi: 0x94}, + {value: 0x0030, lo: 0x95, hi: 0x95}, + {value: 0x0010, lo: 0x9f, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb3}, + {value: 0x0030, lo: 0xb4, hi: 0xb4}, + // Block 0x44, offset 0x1f1 + {value: 0x0010, lo: 0x80, hi: 0x91}, + {value: 0x0014, lo: 0x92, hi: 0x93}, + {value: 0x0010, lo: 0xa0, hi: 0xac}, + {value: 0x0010, lo: 0xae, hi: 0xb0}, + {value: 0x0014, lo: 0xb2, hi: 0xb3}, + // Block 0x45, offset 0x1f6 + {value: 0x0014, lo: 0xb4, hi: 0xb5}, + {value: 0x0010, lo: 0xb6, hi: 0xb6}, + {value: 0x0014, lo: 0xb7, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x46, offset 0x1fa + {value: 0x0010, lo: 0x80, hi: 0x85}, + {value: 0x0014, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0014, lo: 0x89, hi: 0x91}, + {value: 0x0034, lo: 0x92, hi: 0x92}, + {value: 0x0014, lo: 0x93, hi: 0x93}, + {value: 0x0004, lo: 0x97, hi: 0x97}, + {value: 0x0024, lo: 0x9d, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + // Block 0x47, offset 0x203 + {value: 0x0014, lo: 0x8b, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x48, offset 0x206 + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0xb8}, + // Block 0x49, offset 0x209 + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0014, lo: 0x85, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0xa8}, + {value: 0x0034, lo: 0xa9, hi: 0xa9}, + {value: 0x0010, lo: 0xaa, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x4a, offset 0x20f + {value: 0x0010, lo: 0x80, hi: 0xb5}, + // Block 0x4b, offset 0x210 + {value: 0x0010, lo: 0x80, hi: 0x9e}, + {value: 0x0014, lo: 0xa0, hi: 0xa2}, + {value: 0x0010, lo: 0xa3, hi: 0xa6}, + {value: 0x0014, lo: 0xa7, hi: 0xa8}, + {value: 0x0010, lo: 0xa9, hi: 0xab}, + {value: 0x0010, lo: 0xb0, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb2}, + {value: 0x0010, lo: 0xb3, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xb9}, + {value: 0x0024, lo: 0xba, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbb}, + // Block 0x4c, offset 0x21b + {value: 0x0010, lo: 0x86, hi: 0x8f}, + // Block 0x4d, offset 0x21c + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x4e, offset 0x21d + {value: 0x0010, lo: 0x80, hi: 0x96}, + {value: 0x0024, lo: 0x97, hi: 0x97}, + {value: 0x0034, lo: 0x98, hi: 0x98}, + {value: 0x0010, lo: 0x99, hi: 0x9a}, + {value: 0x0014, lo: 0x9b, hi: 0x9b}, + // Block 0x4f, offset 0x222 + {value: 0x0010, lo: 0x95, hi: 0x95}, + {value: 0x0014, lo: 0x96, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0014, lo: 0x98, hi: 0x9e}, + {value: 0x0034, lo: 0xa0, hi: 0xa0}, + {value: 0x0010, lo: 0xa1, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa2}, + {value: 0x0010, lo: 0xa3, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xac}, + {value: 0x0010, lo: 0xad, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb4}, + {value: 0x0024, lo: 0xb5, hi: 0xbc}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x50, offset 0x22f + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0004, lo: 0xa7, hi: 0xa7}, + {value: 0x0024, lo: 0xb0, hi: 0xb4}, + {value: 0x0034, lo: 0xb5, hi: 0xba}, + {value: 0x0024, lo: 0xbb, hi: 0xbc}, + {value: 0x0034, lo: 0xbd, hi: 0xbd}, + {value: 0x0014, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x51, offset 0x238 + {value: 0x0034, lo: 0x80, hi: 0x80}, + {value: 0x0024, lo: 0x81, hi: 0x82}, + {value: 0x0034, lo: 0x83, hi: 0x84}, + {value: 0x0024, lo: 0x85, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0024, lo: 0x8b, hi: 0x8e}, + // Block 0x52, offset 0x23e + {value: 0x0014, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x53, offset 0x246 + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0030, lo: 0x84, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0024, lo: 0xab, hi: 0xab}, + {value: 0x0034, lo: 0xac, hi: 0xac}, + {value: 0x0024, lo: 0xad, hi: 0xb3}, + // Block 0x54, offset 0x24f + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa5}, + {value: 0x0010, lo: 0xa6, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa9}, + {value: 0x0030, lo: 0xaa, hi: 0xaa}, + {value: 0x0034, lo: 0xab, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xbf}, + // Block 0x55, offset 0x258 + {value: 0x0010, lo: 0x80, hi: 0xa5}, + {value: 0x0034, lo: 0xa6, hi: 0xa6}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa9}, + {value: 0x0010, lo: 0xaa, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xae}, + {value: 0x0014, lo: 0xaf, hi: 0xb1}, + {value: 0x0030, lo: 0xb2, hi: 0xb3}, + // Block 0x56, offset 0x261 + {value: 0x0010, lo: 0x80, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xb3}, + {value: 0x0010, lo: 0xb4, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + // Block 0x57, offset 0x266 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x8d, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbd}, + // Block 0x58, offset 0x269 + {value: 0x31ea, lo: 0x80, hi: 0x80}, + {value: 0x326a, lo: 0x81, hi: 0x81}, + {value: 0x32ea, lo: 0x82, hi: 0x82}, + {value: 0x336a, lo: 0x83, hi: 0x83}, + {value: 0x33ea, lo: 0x84, hi: 0x84}, + {value: 0x346a, lo: 0x85, hi: 0x85}, + {value: 0x34ea, lo: 0x86, hi: 0x86}, + {value: 0x356a, lo: 0x87, hi: 0x87}, + {value: 0x35ea, lo: 0x88, hi: 0x88}, + {value: 0x8353, lo: 0x90, hi: 0xba}, + {value: 0x8353, lo: 0xbd, hi: 0xbf}, + // Block 0x59, offset 0x274 + {value: 0x0024, lo: 0x90, hi: 0x92}, + {value: 0x0034, lo: 0x94, hi: 0x99}, + {value: 0x0024, lo: 0x9a, hi: 0x9b}, + {value: 0x0034, lo: 0x9c, hi: 0x9f}, + {value: 0x0024, lo: 0xa0, hi: 0xa0}, + {value: 0x0010, lo: 0xa1, hi: 0xa1}, + {value: 0x0034, lo: 0xa2, hi: 0xa8}, + {value: 0x0010, lo: 0xa9, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xb3}, + {value: 0x0024, lo: 0xb4, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb7}, + {value: 0x0024, lo: 0xb8, hi: 0xb9}, + {value: 0x0010, lo: 0xba, hi: 0xba}, + // Block 0x5a, offset 0x282 + {value: 0x0012, lo: 0x80, hi: 0xab}, + {value: 0x0015, lo: 0xac, hi: 0xbf}, + // Block 0x5b, offset 0x284 + {value: 0x0015, lo: 0x80, hi: 0xaa}, + {value: 0x0012, lo: 0xab, hi: 0xb7}, + {value: 0x0015, lo: 0xb8, hi: 0xb8}, + {value: 0x8752, lo: 0xb9, hi: 0xb9}, + {value: 0x0012, lo: 0xba, hi: 0xbc}, + {value: 0x8b52, lo: 0xbd, hi: 0xbd}, + {value: 0x0012, lo: 0xbe, hi: 0xbf}, + // Block 0x5c, offset 0x28b + {value: 0x0012, lo: 0x80, hi: 0x8d}, + {value: 0x8f52, lo: 0x8e, hi: 0x8e}, + {value: 0x0012, lo: 0x8f, hi: 0x9a}, + {value: 0x0015, lo: 0x9b, hi: 0xbf}, + // Block 0x5d, offset 0x28f + {value: 0x0024, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0024, lo: 0x83, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0024, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x90}, + {value: 0x0024, lo: 0x91, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xba}, + {value: 0x0024, lo: 0xbb, hi: 0xbb}, + {value: 0x0034, lo: 0xbc, hi: 0xbd}, + {value: 0x0024, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x5e, offset 0x29b + {value: 0x0117, lo: 0x80, hi: 0xbf}, + // Block 0x5f, offset 0x29c + {value: 0x0117, lo: 0x80, hi: 0x95}, + {value: 0x369a, lo: 0x96, hi: 0x96}, + {value: 0x374a, lo: 0x97, hi: 0x97}, + {value: 0x37fa, lo: 0x98, hi: 0x98}, + {value: 0x38aa, lo: 0x99, hi: 0x99}, + {value: 0x395a, lo: 0x9a, hi: 0x9a}, + {value: 0x3a0a, lo: 0x9b, hi: 0x9b}, + {value: 0x0012, lo: 0x9c, hi: 0x9d}, + {value: 0x3abb, lo: 0x9e, hi: 0x9e}, + {value: 0x0012, lo: 0x9f, hi: 0x9f}, + {value: 0x0117, lo: 0xa0, hi: 0xbf}, + // Block 0x60, offset 0x2a7 + {value: 0x0812, lo: 0x80, hi: 0x87}, + {value: 0x0813, lo: 0x88, hi: 0x8f}, + {value: 0x0812, lo: 0x90, hi: 0x95}, + {value: 0x0813, lo: 0x98, hi: 0x9d}, + {value: 0x0812, lo: 0xa0, hi: 0xa7}, + {value: 0x0813, lo: 0xa8, hi: 0xaf}, + {value: 0x0812, lo: 0xb0, hi: 0xb7}, + {value: 0x0813, lo: 0xb8, hi: 0xbf}, + // Block 0x61, offset 0x2af + {value: 0x0004, lo: 0x8b, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8f}, + {value: 0x0054, lo: 0x98, hi: 0x99}, + {value: 0x0054, lo: 0xa4, hi: 0xa4}, + {value: 0x0054, lo: 0xa7, hi: 0xa7}, + {value: 0x0014, lo: 0xaa, hi: 0xae}, + {value: 0x0010, lo: 0xaf, hi: 0xaf}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x62, offset 0x2b7 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x94, hi: 0x94}, + {value: 0x0014, lo: 0xa0, hi: 0xa4}, + {value: 0x0014, lo: 0xa6, hi: 0xaf}, + {value: 0x0015, lo: 0xb1, hi: 0xb1}, + {value: 0x0015, lo: 0xbf, hi: 0xbf}, + // Block 0x63, offset 0x2bd + {value: 0x0015, lo: 0x90, hi: 0x9c}, + // Block 0x64, offset 0x2be + {value: 0x0024, lo: 0x90, hi: 0x91}, + {value: 0x0034, lo: 0x92, hi: 0x93}, + {value: 0x0024, lo: 0x94, hi: 0x97}, + {value: 0x0034, lo: 0x98, hi: 0x9a}, + {value: 0x0024, lo: 0x9b, hi: 0x9c}, + {value: 0x0014, lo: 0x9d, hi: 0xa0}, + {value: 0x0024, lo: 0xa1, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa4}, + {value: 0x0034, lo: 0xa5, hi: 0xa6}, + {value: 0x0024, lo: 0xa7, hi: 0xa7}, + {value: 0x0034, lo: 0xa8, hi: 0xa8}, + {value: 0x0024, lo: 0xa9, hi: 0xa9}, + {value: 0x0034, lo: 0xaa, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb0}, + // Block 0x65, offset 0x2cc + {value: 0x0016, lo: 0x85, hi: 0x86}, + {value: 0x0012, lo: 0x87, hi: 0x89}, + {value: 0xa452, lo: 0x8e, hi: 0x8e}, + {value: 0x1013, lo: 0xa0, hi: 0xaf}, + {value: 0x1012, lo: 0xb0, hi: 0xbf}, + // Block 0x66, offset 0x2d1 + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0716, lo: 0x83, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x88}, + // Block 0x67, offset 0x2d4 + {value: 0xa753, lo: 0xb6, hi: 0xb7}, + {value: 0xaa53, lo: 0xb8, hi: 0xb9}, + {value: 0xad53, lo: 0xba, hi: 0xbb}, + {value: 0xaa53, lo: 0xbc, hi: 0xbd}, + {value: 0xa753, lo: 0xbe, hi: 0xbf}, + // Block 0x68, offset 0x2d9 + {value: 0x3013, lo: 0x80, hi: 0x8f}, + {value: 0x6553, lo: 0x90, hi: 0x9f}, + {value: 0xb053, lo: 0xa0, hi: 0xaf}, + {value: 0x3012, lo: 0xb0, hi: 0xbf}, + // Block 0x69, offset 0x2dd + {value: 0x0117, lo: 0x80, hi: 0xa3}, + {value: 0x0012, lo: 0xa4, hi: 0xa4}, + {value: 0x0716, lo: 0xab, hi: 0xac}, + {value: 0x0316, lo: 0xad, hi: 0xae}, + {value: 0x0024, lo: 0xaf, hi: 0xb1}, + {value: 0x0117, lo: 0xb2, hi: 0xb3}, + // Block 0x6a, offset 0x2e3 + {value: 0x6c52, lo: 0x80, hi: 0x9f}, + {value: 0x7052, lo: 0xa0, hi: 0xa5}, + {value: 0x7052, lo: 0xa7, hi: 0xa7}, + {value: 0x7052, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x6b, offset 0x2e8 + {value: 0x0010, lo: 0x80, hi: 0xa7}, + {value: 0x0014, lo: 0xaf, hi: 0xaf}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x6c, offset 0x2eb + {value: 0x0010, lo: 0x80, hi: 0x96}, + {value: 0x0010, lo: 0xa0, hi: 0xa6}, + {value: 0x0010, lo: 0xa8, hi: 0xae}, + {value: 0x0010, lo: 0xb0, hi: 0xb6}, + {value: 0x0010, lo: 0xb8, hi: 0xbe}, + // Block 0x6d, offset 0x2f0 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x88, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x9e}, + {value: 0x0024, lo: 0xa0, hi: 0xbf}, + // Block 0x6e, offset 0x2f5 + {value: 0x0014, lo: 0xaf, hi: 0xaf}, + // Block 0x6f, offset 0x2f6 + {value: 0x0014, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0xaa, hi: 0xad}, + {value: 0x0030, lo: 0xae, hi: 0xaf}, + {value: 0x0004, lo: 0xb1, hi: 0xb5}, + {value: 0x0014, lo: 0xbb, hi: 0xbb}, + {value: 0x0010, lo: 0xbc, hi: 0xbc}, + // Block 0x70, offset 0x2fc + {value: 0x0034, lo: 0x99, hi: 0x9a}, + {value: 0x0004, lo: 0x9b, hi: 0x9e}, + // Block 0x71, offset 0x2fe + {value: 0x0004, lo: 0xbc, hi: 0xbe}, + // Block 0x72, offset 0x2ff + {value: 0x0010, lo: 0x85, hi: 0xaf}, + {value: 0x0010, lo: 0xb1, hi: 0xbf}, + // Block 0x73, offset 0x301 + {value: 0x0010, lo: 0x80, hi: 0x8e}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x74, offset 0x303 + {value: 0x0010, lo: 0x80, hi: 0x94}, + {value: 0x0014, lo: 0x95, hi: 0x95}, + {value: 0x0010, lo: 0x96, hi: 0xbf}, + // Block 0x75, offset 0x306 + {value: 0x0010, lo: 0x80, hi: 0x8c}, + // Block 0x76, offset 0x307 + {value: 0x0010, lo: 0x90, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbd}, + // Block 0x77, offset 0x309 + {value: 0x0010, lo: 0x80, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0010, lo: 0x90, hi: 0xab}, + // Block 0x78, offset 0x30c + {value: 0x0117, lo: 0x80, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xae}, + {value: 0x0024, lo: 0xaf, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb2}, + {value: 0x0024, lo: 0xb4, hi: 0xbd}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x79, offset 0x312 + {value: 0x0117, lo: 0x80, hi: 0x9b}, + {value: 0x0015, lo: 0x9c, hi: 0x9d}, + {value: 0x0024, lo: 0x9e, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x7a, offset 0x316 + {value: 0x0010, lo: 0x80, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb1}, + // Block 0x7b, offset 0x318 + {value: 0x0004, lo: 0x80, hi: 0x87}, + {value: 0x0014, lo: 0x88, hi: 0xa1}, + {value: 0x0117, lo: 0xa2, hi: 0xaf}, + {value: 0x0012, lo: 0xb0, hi: 0xb1}, + {value: 0x0117, lo: 0xb2, hi: 0xbf}, + // Block 0x7c, offset 0x31d + {value: 0x0117, lo: 0x80, hi: 0xaf}, + {value: 0x0015, lo: 0xb0, hi: 0xb0}, + {value: 0x0012, lo: 0xb1, hi: 0xb8}, + {value: 0x0316, lo: 0xb9, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x8753, lo: 0xbd, hi: 0xbd}, + {value: 0x0117, lo: 0xbe, hi: 0xbf}, + // Block 0x7d, offset 0x324 + {value: 0x0117, lo: 0x80, hi: 0x83}, + {value: 0x6553, lo: 0x84, hi: 0x84}, + {value: 0x908b, lo: 0x85, hi: 0x85}, + {value: 0x8f53, lo: 0x86, hi: 0x86}, + {value: 0x0f16, lo: 0x87, hi: 0x88}, + {value: 0x0316, lo: 0x89, hi: 0x8a}, + {value: 0x0117, lo: 0x90, hi: 0x91}, + {value: 0x0012, lo: 0x93, hi: 0x93}, + {value: 0x0012, lo: 0x95, hi: 0x95}, + {value: 0x0117, lo: 0x96, hi: 0x99}, + {value: 0x0015, lo: 0xb2, hi: 0xb4}, + {value: 0x0316, lo: 0xb5, hi: 0xb6}, + {value: 0x0010, lo: 0xb7, hi: 0xb7}, + {value: 0x0015, lo: 0xb8, hi: 0xb9}, + {value: 0x0012, lo: 0xba, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbf}, + // Block 0x7e, offset 0x334 + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x8a}, + {value: 0x0014, lo: 0x8b, hi: 0x8b}, + {value: 0x0010, lo: 0x8c, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xa6}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + {value: 0x0034, lo: 0xac, hi: 0xac}, + // Block 0x7f, offset 0x33e + {value: 0x0010, lo: 0x80, hi: 0xb3}, + // Block 0x80, offset 0x33f + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x84}, + {value: 0x0014, lo: 0x85, hi: 0x85}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0024, lo: 0xa0, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xb7}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0010, lo: 0xbd, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x81, offset 0x348 + {value: 0x0010, lo: 0x80, hi: 0xa5}, + {value: 0x0014, lo: 0xa6, hi: 0xaa}, + {value: 0x0034, lo: 0xab, hi: 0xad}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x82, offset 0x34c + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0014, lo: 0x87, hi: 0x91}, + {value: 0x0010, lo: 0x92, hi: 0x92}, + {value: 0x0030, lo: 0x93, hi: 0x93}, + {value: 0x0010, lo: 0xa0, hi: 0xbc}, + // Block 0x83, offset 0x351 + {value: 0x0014, lo: 0x80, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0xb2}, + {value: 0x0034, lo: 0xb3, hi: 0xb3}, + {value: 0x0010, lo: 0xb4, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xb9}, + {value: 0x0010, lo: 0xba, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x84, offset 0x359 + {value: 0x0030, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0014, lo: 0xa5, hi: 0xa5}, + {value: 0x0004, lo: 0xa6, hi: 0xa6}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0x85, offset 0x35f + {value: 0x0010, lo: 0x80, hi: 0xa8}, + {value: 0x0014, lo: 0xa9, hi: 0xae}, + {value: 0x0010, lo: 0xaf, hi: 0xb0}, + {value: 0x0014, lo: 0xb1, hi: 0xb2}, + {value: 0x0010, lo: 0xb3, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb6}, + // Block 0x86, offset 0x365 + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0010, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0004, lo: 0xb0, hi: 0xb0}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + // Block 0x87, offset 0x36f + {value: 0x0024, lo: 0xb0, hi: 0xb0}, + {value: 0x0024, lo: 0xb2, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0024, lo: 0xb7, hi: 0xb8}, + {value: 0x0024, lo: 0xbe, hi: 0xbf}, + // Block 0x88, offset 0x374 + {value: 0x0024, lo: 0x81, hi: 0x81}, + {value: 0x0004, lo: 0x9d, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xaf}, + {value: 0x0010, lo: 0xb2, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb6}, + // Block 0x89, offset 0x37d + {value: 0x0010, lo: 0x81, hi: 0x86}, + {value: 0x0010, lo: 0x89, hi: 0x8e}, + {value: 0x0010, lo: 0x91, hi: 0x96}, + {value: 0x0010, lo: 0xa0, hi: 0xa6}, + {value: 0x0010, lo: 0xa8, hi: 0xae}, + {value: 0x0012, lo: 0xb0, hi: 0xbf}, + // Block 0x8a, offset 0x383 + {value: 0x0012, lo: 0x80, hi: 0x92}, + {value: 0xb352, lo: 0x93, hi: 0x93}, + {value: 0x0012, lo: 0x94, hi: 0x9a}, + {value: 0x0014, lo: 0x9b, hi: 0x9b}, + {value: 0x0015, lo: 0x9c, hi: 0x9f}, + {value: 0x0012, lo: 0xa0, hi: 0xa8}, + {value: 0x0015, lo: 0xa9, hi: 0xa9}, + {value: 0x0004, lo: 0xaa, hi: 0xab}, + {value: 0x74d2, lo: 0xb0, hi: 0xbf}, + // Block 0x8b, offset 0x38c + {value: 0x78d2, lo: 0x80, hi: 0x8f}, + {value: 0x7cd2, lo: 0x90, hi: 0x9f}, + {value: 0x80d2, lo: 0xa0, hi: 0xaf}, + {value: 0x7cd2, lo: 0xb0, hi: 0xbf}, + // Block 0x8c, offset 0x390 + {value: 0x0010, lo: 0x80, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xa5}, + {value: 0x0010, lo: 0xa6, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa8}, + {value: 0x0010, lo: 0xa9, hi: 0xaa}, + {value: 0x0010, lo: 0xac, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0x8d, offset 0x398 + {value: 0x0010, lo: 0x80, hi: 0xa3}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x8e, offset 0x39a + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x8b, hi: 0xbb}, + // Block 0x8f, offset 0x39c + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x83, hi: 0x84}, + {value: 0x0010, lo: 0x86, hi: 0xbf}, + // Block 0x90, offset 0x39f + {value: 0x0010, lo: 0x80, hi: 0xb1}, + {value: 0x0004, lo: 0xb2, hi: 0xbf}, + // Block 0x91, offset 0x3a1 + {value: 0x0004, lo: 0x80, hi: 0x82}, + {value: 0x0010, lo: 0x93, hi: 0xbf}, + // Block 0x92, offset 0x3a3 + {value: 0x0010, lo: 0x80, hi: 0xbd}, + // Block 0x93, offset 0x3a4 + {value: 0x0010, lo: 0x90, hi: 0xbf}, + // Block 0x94, offset 0x3a5 + {value: 0x0010, lo: 0x80, hi: 0x8f}, + {value: 0x0010, lo: 0x92, hi: 0xbf}, + // Block 0x95, offset 0x3a7 + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0010, lo: 0xb0, hi: 0xbb}, + // Block 0x96, offset 0x3a9 + {value: 0x0014, lo: 0x80, hi: 0x8f}, + {value: 0x0054, lo: 0x93, hi: 0x93}, + {value: 0x0024, lo: 0xa0, hi: 0xa6}, + {value: 0x0034, lo: 0xa7, hi: 0xad}, + {value: 0x0024, lo: 0xae, hi: 0xaf}, + {value: 0x0010, lo: 0xb3, hi: 0xb4}, + // Block 0x97, offset 0x3af + {value: 0x0010, lo: 0x8d, hi: 0x8f}, + {value: 0x0054, lo: 0x92, hi: 0x92}, + {value: 0x0054, lo: 0x95, hi: 0x95}, + {value: 0x0010, lo: 0xb0, hi: 0xb4}, + {value: 0x0010, lo: 0xb6, hi: 0xbf}, + // Block 0x98, offset 0x3b4 + {value: 0x0010, lo: 0x80, hi: 0xbc}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x99, offset 0x3b6 + {value: 0x0054, lo: 0x87, hi: 0x87}, + {value: 0x0054, lo: 0x8e, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0054, lo: 0x9a, hi: 0x9a}, + {value: 0x5f53, lo: 0xa1, hi: 0xba}, + {value: 0x0004, lo: 0xbe, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x9a, offset 0x3bd + {value: 0x0004, lo: 0x80, hi: 0x80}, + {value: 0x5f52, lo: 0x81, hi: 0x9a}, + {value: 0x0004, lo: 0xb0, hi: 0xb0}, + // Block 0x9b, offset 0x3c0 + {value: 0x0014, lo: 0x9e, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xbe}, + // Block 0x9c, offset 0x3c2 + {value: 0x0010, lo: 0x82, hi: 0x87}, + {value: 0x0010, lo: 0x8a, hi: 0x8f}, + {value: 0x0010, lo: 0x92, hi: 0x97}, + {value: 0x0010, lo: 0x9a, hi: 0x9c}, + {value: 0x0004, lo: 0xa3, hi: 0xa3}, + {value: 0x0014, lo: 0xb9, hi: 0xbb}, + // Block 0x9d, offset 0x3c8 + {value: 0x0010, lo: 0x80, hi: 0x8b}, + {value: 0x0010, lo: 0x8d, hi: 0xa6}, + {value: 0x0010, lo: 0xa8, hi: 0xba}, + {value: 0x0010, lo: 0xbc, hi: 0xbd}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x9e, offset 0x3cd + {value: 0x0010, lo: 0x80, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x9d}, + // Block 0x9f, offset 0x3cf + {value: 0x0010, lo: 0x80, hi: 0xba}, + // Block 0xa0, offset 0x3d0 + {value: 0x0010, lo: 0x80, hi: 0xb4}, + // Block 0xa1, offset 0x3d1 + {value: 0x0034, lo: 0xbd, hi: 0xbd}, + // Block 0xa2, offset 0x3d2 + {value: 0x0010, lo: 0x80, hi: 0x9c}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0xa3, offset 0x3d4 + {value: 0x0010, lo: 0x80, hi: 0x90}, + {value: 0x0034, lo: 0xa0, hi: 0xa0}, + // Block 0xa4, offset 0x3d6 + {value: 0x0010, lo: 0x80, hi: 0x9f}, + {value: 0x0010, lo: 0xad, hi: 0xbf}, + // Block 0xa5, offset 0x3d8 + {value: 0x0010, lo: 0x80, hi: 0x8a}, + {value: 0x0010, lo: 0x90, hi: 0xb5}, + {value: 0x0024, lo: 0xb6, hi: 0xba}, + // Block 0xa6, offset 0x3db + {value: 0x0010, lo: 0x80, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0xa7, offset 0x3dd + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x88, hi: 0x8f}, + {value: 0x0010, lo: 0x91, hi: 0x95}, + // Block 0xa8, offset 0x3e0 + {value: 0x2813, lo: 0x80, hi: 0x87}, + {value: 0x3813, lo: 0x88, hi: 0x8f}, + {value: 0x2813, lo: 0x90, hi: 0x97}, + {value: 0xb653, lo: 0x98, hi: 0x9f}, + {value: 0xb953, lo: 0xa0, hi: 0xa7}, + {value: 0x2812, lo: 0xa8, hi: 0xaf}, + {value: 0x3812, lo: 0xb0, hi: 0xb7}, + {value: 0x2812, lo: 0xb8, hi: 0xbf}, + // Block 0xa9, offset 0x3e8 + {value: 0xb652, lo: 0x80, hi: 0x87}, + {value: 0xb952, lo: 0x88, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0xbf}, + // Block 0xaa, offset 0x3eb + {value: 0x0010, lo: 0x80, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0xb953, lo: 0xb0, hi: 0xb7}, + {value: 0xb653, lo: 0xb8, hi: 0xbf}, + // Block 0xab, offset 0x3ef + {value: 0x2813, lo: 0x80, hi: 0x87}, + {value: 0x3813, lo: 0x88, hi: 0x8f}, + {value: 0x2813, lo: 0x90, hi: 0x93}, + {value: 0xb952, lo: 0x98, hi: 0x9f}, + {value: 0xb652, lo: 0xa0, hi: 0xa7}, + {value: 0x2812, lo: 0xa8, hi: 0xaf}, + {value: 0x3812, lo: 0xb0, hi: 0xb7}, + {value: 0x2812, lo: 0xb8, hi: 0xbb}, + // Block 0xac, offset 0x3f7 + {value: 0x0010, lo: 0x80, hi: 0xa7}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xad, offset 0x3f9 + {value: 0x0010, lo: 0x80, hi: 0xa3}, + {value: 0xbc53, lo: 0xb0, hi: 0xb0}, + {value: 0xbf53, lo: 0xb1, hi: 0xb1}, + {value: 0xc253, lo: 0xb2, hi: 0xb2}, + {value: 0xbf53, lo: 0xb3, hi: 0xb3}, + {value: 0xc553, lo: 0xb4, hi: 0xb4}, + {value: 0xbf53, lo: 0xb5, hi: 0xb5}, + {value: 0xc253, lo: 0xb6, hi: 0xb6}, + {value: 0xbf53, lo: 0xb7, hi: 0xb7}, + {value: 0xbc53, lo: 0xb8, hi: 0xb8}, + {value: 0xc853, lo: 0xb9, hi: 0xb9}, + {value: 0xcb53, lo: 0xba, hi: 0xba}, + {value: 0xce53, lo: 0xbc, hi: 0xbc}, + {value: 0xc853, lo: 0xbd, hi: 0xbd}, + {value: 0xcb53, lo: 0xbe, hi: 0xbe}, + {value: 0xc853, lo: 0xbf, hi: 0xbf}, + // Block 0xae, offset 0x409 + {value: 0x0010, lo: 0x80, hi: 0xb6}, + // Block 0xaf, offset 0x40a + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xa7}, + // Block 0xb0, offset 0x40c + {value: 0x0015, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x82}, + {value: 0x0015, lo: 0x83, hi: 0x85}, + {value: 0x0015, lo: 0x87, hi: 0xb0}, + {value: 0x0015, lo: 0xb2, hi: 0xba}, + // Block 0xb1, offset 0x411 + {value: 0x0010, lo: 0x80, hi: 0x85}, + {value: 0x0010, lo: 0x88, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0xb5}, + {value: 0x0010, lo: 0xb7, hi: 0xb8}, + {value: 0x0010, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xb2, offset 0x417 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xb6}, + // Block 0xb3, offset 0x419 + {value: 0x0010, lo: 0x80, hi: 0x9e}, + // Block 0xb4, offset 0x41a + {value: 0x0010, lo: 0xa0, hi: 0xb2}, + {value: 0x0010, lo: 0xb4, hi: 0xb5}, + // Block 0xb5, offset 0x41c + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xb9}, + // Block 0xb6, offset 0x41e + {value: 0x0010, lo: 0x80, hi: 0xb7}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0xb7, offset 0x420 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x83}, + {value: 0x0014, lo: 0x85, hi: 0x86}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0014, lo: 0x8e, hi: 0x8e}, + {value: 0x0024, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x93}, + {value: 0x0010, lo: 0x95, hi: 0x97}, + {value: 0x0010, lo: 0x99, hi: 0xb5}, + {value: 0x0024, lo: 0xb8, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xb8, offset 0x42d + {value: 0x0010, lo: 0xa0, hi: 0xbc}, + // Block 0xb9, offset 0x42e + {value: 0x0010, lo: 0x80, hi: 0x9c}, + // Block 0xba, offset 0x42f + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0010, lo: 0x89, hi: 0xa4}, + {value: 0x0024, lo: 0xa5, hi: 0xa5}, + {value: 0x0034, lo: 0xa6, hi: 0xa6}, + // Block 0xbb, offset 0x433 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xb2}, + // Block 0xbc, offset 0x435 + {value: 0x0010, lo: 0x80, hi: 0x91}, + // Block 0xbd, offset 0x436 + {value: 0x0010, lo: 0x80, hi: 0x88}, + // Block 0xbe, offset 0x437 + {value: 0x5653, lo: 0x80, hi: 0xb2}, + // Block 0xbf, offset 0x438 + {value: 0x5652, lo: 0x80, hi: 0xb2}, + // Block 0xc0, offset 0x439 + {value: 0x0010, lo: 0x80, hi: 0xa3}, + {value: 0x0024, lo: 0xa4, hi: 0xa7}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xc1, offset 0x43c + {value: 0x0010, lo: 0x80, hi: 0xa9}, + {value: 0x0024, lo: 0xab, hi: 0xac}, + {value: 0x0010, lo: 0xb0, hi: 0xb1}, + // Block 0xc2, offset 0x43f + {value: 0x0034, lo: 0xbd, hi: 0xbf}, + // Block 0xc3, offset 0x440 + {value: 0x0010, lo: 0x80, hi: 0x9c}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xc4, offset 0x443 + {value: 0x0010, lo: 0x80, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x87}, + {value: 0x0024, lo: 0x88, hi: 0x8a}, + {value: 0x0034, lo: 0x8b, hi: 0x8b}, + {value: 0x0024, lo: 0x8c, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x90}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xc5, offset 0x44a + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0024, lo: 0x82, hi: 0x82}, + {value: 0x0034, lo: 0x83, hi: 0x83}, + {value: 0x0024, lo: 0x84, hi: 0x84}, + {value: 0x0034, lo: 0x85, hi: 0x85}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xc6, offset 0x450 + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0010, lo: 0xa0, hi: 0xb6}, + // Block 0xc7, offset 0x452 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbf}, + // Block 0xc8, offset 0x456 + {value: 0x0014, lo: 0x80, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0034, lo: 0xb0, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb5}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xc9, offset 0x45e + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb6}, + {value: 0x0010, lo: 0xb7, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0014, lo: 0xbd, hi: 0xbd}, + // Block 0xca, offset 0x464 + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0014, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0xa8}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xcb, offset 0x468 + {value: 0x0024, lo: 0x80, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0xa6}, + {value: 0x0014, lo: 0xa7, hi: 0xab}, + {value: 0x0010, lo: 0xac, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xb2}, + {value: 0x0034, lo: 0xb3, hi: 0xb4}, + {value: 0x0010, lo: 0xb6, hi: 0xbf}, + // Block 0xcc, offset 0x46f + {value: 0x0010, lo: 0x84, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0xb2}, + {value: 0x0034, lo: 0xb3, hi: 0xb3}, + {value: 0x0010, lo: 0xb6, hi: 0xb6}, + // Block 0xcd, offset 0x473 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xce, offset 0x477 + {value: 0x0030, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x84}, + {value: 0x0014, lo: 0x89, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0014, lo: 0x8b, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x8e}, + {value: 0x0014, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x9a}, + {value: 0x0010, lo: 0x9c, hi: 0x9c}, + // Block 0xcf, offset 0x480 + {value: 0x0010, lo: 0x80, hi: 0x91}, + {value: 0x0010, lo: 0x93, hi: 0xae}, + {value: 0x0014, lo: 0xaf, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0014, lo: 0xb4, hi: 0xb4}, + {value: 0x0030, lo: 0xb5, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb6}, + {value: 0x0014, lo: 0xb7, hi: 0xb7}, + {value: 0x0014, lo: 0xbe, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xd0, offset 0x48a + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + // Block 0xd1, offset 0x48c + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x88, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8d}, + {value: 0x0010, lo: 0x8f, hi: 0x9d}, + {value: 0x0010, lo: 0x9f, hi: 0xa8}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xd2, offset 0x492 + {value: 0x0010, lo: 0x80, hi: 0x9e}, + {value: 0x0014, lo: 0x9f, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa2}, + {value: 0x0014, lo: 0xa3, hi: 0xa8}, + {value: 0x0034, lo: 0xa9, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xd3, offset 0x498 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbb, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0xd4, offset 0x4a2 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0030, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x9d, hi: 0xa3}, + {value: 0x0024, lo: 0xa6, hi: 0xac}, + {value: 0x0024, lo: 0xb0, hi: 0xb4}, + // Block 0xd5, offset 0x4ac + {value: 0x0010, lo: 0x80, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbf}, + // Block 0xd6, offset 0x4ae + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x8a}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0024, lo: 0x9e, hi: 0x9e}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + // Block 0xd7, offset 0x4b7 + {value: 0x0010, lo: 0x80, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb8}, + {value: 0x0010, lo: 0xb9, hi: 0xb9}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0xd8, offset 0x4bd + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0x85}, + {value: 0x0010, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0xd9, offset 0x4c3 + {value: 0x0010, lo: 0x80, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb5}, + {value: 0x0010, lo: 0xb8, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xda, offset 0x4c9 + {value: 0x0034, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x98, hi: 0x9b}, + {value: 0x0014, lo: 0x9c, hi: 0x9d}, + // Block 0xdb, offset 0x4cc + {value: 0x0010, lo: 0x80, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbc}, + {value: 0x0014, lo: 0xbd, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xdc, offset 0x4d2 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x84, hi: 0x84}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0xdd, offset 0x4d5 + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0014, lo: 0xab, hi: 0xab}, + {value: 0x0010, lo: 0xac, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb5}, + {value: 0x0030, lo: 0xb6, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + {value: 0x0010, lo: 0xb8, hi: 0xb8}, + // Block 0xde, offset 0x4de + {value: 0x0010, lo: 0x80, hi: 0x89}, + // Block 0xdf, offset 0x4df + {value: 0x0014, lo: 0x9d, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa5}, + {value: 0x0010, lo: 0xa6, hi: 0xa6}, + {value: 0x0014, lo: 0xa7, hi: 0xaa}, + {value: 0x0034, lo: 0xab, hi: 0xab}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xe0, offset 0x4e6 + {value: 0x0010, lo: 0x80, hi: 0xae}, + {value: 0x0014, lo: 0xaf, hi: 0xb7}, + {value: 0x0010, lo: 0xb8, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + // Block 0xe1, offset 0x4ea + {value: 0x5f53, lo: 0xa0, hi: 0xbf}, + // Block 0xe2, offset 0x4eb + {value: 0x5f52, lo: 0x80, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xe3, offset 0x4ee + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x89, hi: 0x89}, + {value: 0x0010, lo: 0x8c, hi: 0x93}, + {value: 0x0010, lo: 0x95, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0xb5}, + {value: 0x0010, lo: 0xb7, hi: 0xb8}, + {value: 0x0014, lo: 0xbb, hi: 0xbc}, + {value: 0x0030, lo: 0xbd, hi: 0xbd}, + {value: 0x0034, lo: 0xbe, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xe4, offset 0x4f8 + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0034, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0xe5, offset 0x4fb + {value: 0x0010, lo: 0xa0, hi: 0xa7}, + {value: 0x0010, lo: 0xaa, hi: 0xbf}, + // Block 0xe6, offset 0x4fd + {value: 0x0010, lo: 0x80, hi: 0x93}, + {value: 0x0014, lo: 0x94, hi: 0x97}, + {value: 0x0014, lo: 0x9a, hi: 0x9b}, + {value: 0x0010, lo: 0x9c, hi: 0x9f}, + {value: 0x0034, lo: 0xa0, hi: 0xa0}, + {value: 0x0010, lo: 0xa1, hi: 0xa1}, + {value: 0x0010, lo: 0xa3, hi: 0xa4}, + // Block 0xe7, offset 0x504 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x8a}, + {value: 0x0010, lo: 0x8b, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb8}, + {value: 0x0010, lo: 0xb9, hi: 0xba}, + {value: 0x0014, lo: 0xbb, hi: 0xbe}, + // Block 0xe8, offset 0x50c + {value: 0x0034, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0014, lo: 0x91, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x98}, + {value: 0x0014, lo: 0x99, hi: 0x9b}, + {value: 0x0010, lo: 0x9c, hi: 0xbf}, + // Block 0xe9, offset 0x512 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0014, lo: 0x8a, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0014, lo: 0x98, hi: 0x98}, + {value: 0x0034, lo: 0x99, hi: 0x99}, + {value: 0x0010, lo: 0x9d, hi: 0x9d}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xea, offset 0x519 + {value: 0x0010, lo: 0x80, hi: 0xb8}, + // Block 0xeb, offset 0x51a + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb6}, + {value: 0x0014, lo: 0xb8, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xec, offset 0x520 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xb2, hi: 0xbf}, + // Block 0xed, offset 0x523 + {value: 0x0010, lo: 0x80, hi: 0x8f}, + {value: 0x0014, lo: 0x92, hi: 0xa7}, + {value: 0x0010, lo: 0xa9, hi: 0xa9}, + {value: 0x0014, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb4, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb6}, + // Block 0xee, offset 0x52b + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x88, hi: 0x89}, + {value: 0x0010, lo: 0x8b, hi: 0xb0}, + {value: 0x0014, lo: 0xb1, hi: 0xb6}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0014, lo: 0xbc, hi: 0xbd}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0xef, offset 0x532 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x85}, + {value: 0x0010, lo: 0x86, hi: 0x86}, + {value: 0x0014, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xa0, hi: 0xa5}, + {value: 0x0010, lo: 0xa7, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xbf}, + // Block 0xf0, offset 0x53c + {value: 0x0010, lo: 0x80, hi: 0x8e}, + {value: 0x0014, lo: 0x90, hi: 0x91}, + {value: 0x0010, lo: 0x93, hi: 0x94}, + {value: 0x0014, lo: 0x95, hi: 0x95}, + {value: 0x0010, lo: 0x96, hi: 0x96}, + {value: 0x0034, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x98, hi: 0x98}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + // Block 0xf1, offset 0x544 + {value: 0x0010, lo: 0xa0, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb6}, + // Block 0xf2, offset 0x547 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xba}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0xf3, offset 0x54c + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0030, lo: 0x81, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0xf4, offset 0x550 + {value: 0x0010, lo: 0xb0, hi: 0xb0}, + // Block 0xf5, offset 0x551 + {value: 0x0010, lo: 0x80, hi: 0x99}, + // Block 0xf6, offset 0x552 + {value: 0x0010, lo: 0x80, hi: 0xae}, + // Block 0xf7, offset 0x553 + {value: 0x0010, lo: 0x80, hi: 0x83}, + // Block 0xf8, offset 0x554 + {value: 0x0010, lo: 0x80, hi: 0xb0}, + // Block 0xf9, offset 0x555 + {value: 0x0010, lo: 0x80, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xbf}, + // Block 0xfa, offset 0x557 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x86}, + {value: 0x0014, lo: 0x87, hi: 0x95}, + // Block 0xfb, offset 0x55a + {value: 0x0010, lo: 0x80, hi: 0x86}, + // Block 0xfc, offset 0x55b + {value: 0x0010, lo: 0x80, hi: 0x9e}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xfd, offset 0x55e + {value: 0x0010, lo: 0x80, hi: 0xbe}, + // Block 0xfe, offset 0x55f + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x90, hi: 0xad}, + {value: 0x0034, lo: 0xb0, hi: 0xb4}, + // Block 0xff, offset 0x562 + {value: 0x0010, lo: 0x80, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb6}, + // Block 0x100, offset 0x564 + {value: 0x0014, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xa3, hi: 0xb7}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x101, offset 0x568 + {value: 0x0010, lo: 0x80, hi: 0x8f}, + // Block 0x102, offset 0x569 + {value: 0x2013, lo: 0x80, hi: 0x9f}, + {value: 0x2012, lo: 0xa0, hi: 0xbf}, + // Block 0x103, offset 0x56b + {value: 0x0010, lo: 0x80, hi: 0x8a}, + {value: 0x0014, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0xbf}, + // Block 0x104, offset 0x56e + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0014, lo: 0x8f, hi: 0x9f}, + // Block 0x105, offset 0x570 + {value: 0x0014, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa3, hi: 0xa4}, + {value: 0x0030, lo: 0xb0, hi: 0xb1}, + // Block 0x106, offset 0x573 + {value: 0x0004, lo: 0xb0, hi: 0xb3}, + {value: 0x0004, lo: 0xb5, hi: 0xbb}, + {value: 0x0004, lo: 0xbd, hi: 0xbe}, + // Block 0x107, offset 0x576 + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xbc}, + // Block 0x108, offset 0x578 + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0014, lo: 0x9d, hi: 0x9d}, + {value: 0x0034, lo: 0x9e, hi: 0x9e}, + {value: 0x0014, lo: 0xa0, hi: 0xa3}, + // Block 0x109, offset 0x57d + {value: 0x0014, lo: 0x80, hi: 0xad}, + {value: 0x0014, lo: 0xb0, hi: 0xbf}, + // Block 0x10a, offset 0x57f + {value: 0x0014, lo: 0x80, hi: 0x86}, + // Block 0x10b, offset 0x580 + {value: 0x0030, lo: 0xa5, hi: 0xa6}, + {value: 0x0034, lo: 0xa7, hi: 0xa9}, + {value: 0x0030, lo: 0xad, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbf}, + // Block 0x10c, offset 0x585 + {value: 0x0034, lo: 0x80, hi: 0x82}, + {value: 0x0024, lo: 0x85, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8b}, + {value: 0x0024, lo: 0xaa, hi: 0xad}, + // Block 0x10d, offset 0x589 + {value: 0x0024, lo: 0x82, hi: 0x84}, + // Block 0x10e, offset 0x58a + {value: 0x0013, lo: 0x80, hi: 0x99}, + {value: 0x0012, lo: 0x9a, hi: 0xb3}, + {value: 0x0013, lo: 0xb4, hi: 0xbf}, + // Block 0x10f, offset 0x58d + {value: 0x0013, lo: 0x80, hi: 0x8d}, + {value: 0x0012, lo: 0x8e, hi: 0x94}, + {value: 0x0012, lo: 0x96, hi: 0xa7}, + {value: 0x0013, lo: 0xa8, hi: 0xbf}, + // Block 0x110, offset 0x591 + {value: 0x0013, lo: 0x80, hi: 0x81}, + {value: 0x0012, lo: 0x82, hi: 0x9b}, + {value: 0x0013, lo: 0x9c, hi: 0x9c}, + {value: 0x0013, lo: 0x9e, hi: 0x9f}, + {value: 0x0013, lo: 0xa2, hi: 0xa2}, + {value: 0x0013, lo: 0xa5, hi: 0xa6}, + {value: 0x0013, lo: 0xa9, hi: 0xac}, + {value: 0x0013, lo: 0xae, hi: 0xb5}, + {value: 0x0012, lo: 0xb6, hi: 0xb9}, + {value: 0x0012, lo: 0xbb, hi: 0xbb}, + {value: 0x0012, lo: 0xbd, hi: 0xbf}, + // Block 0x111, offset 0x59c + {value: 0x0012, lo: 0x80, hi: 0x83}, + {value: 0x0012, lo: 0x85, hi: 0x8f}, + {value: 0x0013, lo: 0x90, hi: 0xa9}, + {value: 0x0012, lo: 0xaa, hi: 0xbf}, + // Block 0x112, offset 0x5a0 + {value: 0x0012, lo: 0x80, hi: 0x83}, + {value: 0x0013, lo: 0x84, hi: 0x85}, + {value: 0x0013, lo: 0x87, hi: 0x8a}, + {value: 0x0013, lo: 0x8d, hi: 0x94}, + {value: 0x0013, lo: 0x96, hi: 0x9c}, + {value: 0x0012, lo: 0x9e, hi: 0xb7}, + {value: 0x0013, lo: 0xb8, hi: 0xb9}, + {value: 0x0013, lo: 0xbb, hi: 0xbe}, + // Block 0x113, offset 0x5a8 + {value: 0x0013, lo: 0x80, hi: 0x84}, + {value: 0x0013, lo: 0x86, hi: 0x86}, + {value: 0x0013, lo: 0x8a, hi: 0x90}, + {value: 0x0012, lo: 0x92, hi: 0xab}, + {value: 0x0013, lo: 0xac, hi: 0xbf}, + // Block 0x114, offset 0x5ad + {value: 0x0013, lo: 0x80, hi: 0x85}, + {value: 0x0012, lo: 0x86, hi: 0x9f}, + {value: 0x0013, lo: 0xa0, hi: 0xb9}, + {value: 0x0012, lo: 0xba, hi: 0xbf}, + // Block 0x115, offset 0x5b1 + {value: 0x0012, lo: 0x80, hi: 0x93}, + {value: 0x0013, lo: 0x94, hi: 0xad}, + {value: 0x0012, lo: 0xae, hi: 0xbf}, + // Block 0x116, offset 0x5b4 + {value: 0x0012, lo: 0x80, hi: 0x87}, + {value: 0x0013, lo: 0x88, hi: 0xa1}, + {value: 0x0012, lo: 0xa2, hi: 0xbb}, + {value: 0x0013, lo: 0xbc, hi: 0xbf}, + // Block 0x117, offset 0x5b8 + {value: 0x0013, lo: 0x80, hi: 0x95}, + {value: 0x0012, lo: 0x96, hi: 0xaf}, + {value: 0x0013, lo: 0xb0, hi: 0xbf}, + // Block 0x118, offset 0x5bb + {value: 0x0013, lo: 0x80, hi: 0x89}, + {value: 0x0012, lo: 0x8a, hi: 0xa5}, + {value: 0x0013, lo: 0xa8, hi: 0xbf}, + // Block 0x119, offset 0x5be + {value: 0x0013, lo: 0x80, hi: 0x80}, + {value: 0x0012, lo: 0x82, hi: 0x9a}, + {value: 0x0012, lo: 0x9c, hi: 0xa1}, + {value: 0x0013, lo: 0xa2, hi: 0xba}, + {value: 0x0012, lo: 0xbc, hi: 0xbf}, + // Block 0x11a, offset 0x5c3 + {value: 0x0012, lo: 0x80, hi: 0x94}, + {value: 0x0012, lo: 0x96, hi: 0x9b}, + {value: 0x0013, lo: 0x9c, hi: 0xb4}, + {value: 0x0012, lo: 0xb6, hi: 0xbf}, + // Block 0x11b, offset 0x5c7 + {value: 0x0012, lo: 0x80, hi: 0x8e}, + {value: 0x0012, lo: 0x90, hi: 0x95}, + {value: 0x0013, lo: 0x96, hi: 0xae}, + {value: 0x0012, lo: 0xb0, hi: 0xbf}, + // Block 0x11c, offset 0x5cb + {value: 0x0012, lo: 0x80, hi: 0x88}, + {value: 0x0012, lo: 0x8a, hi: 0x8f}, + {value: 0x0013, lo: 0x90, hi: 0xa8}, + {value: 0x0012, lo: 0xaa, hi: 0xbf}, + // Block 0x11d, offset 0x5cf + {value: 0x0012, lo: 0x80, hi: 0x82}, + {value: 0x0012, lo: 0x84, hi: 0x89}, + {value: 0x0017, lo: 0x8a, hi: 0x8b}, + {value: 0x0010, lo: 0x8e, hi: 0xbf}, + // Block 0x11e, offset 0x5d3 + {value: 0x0014, lo: 0x80, hi: 0xb6}, + {value: 0x0014, lo: 0xbb, hi: 0xbf}, + // Block 0x11f, offset 0x5d5 + {value: 0x0014, lo: 0x80, hi: 0xac}, + {value: 0x0014, lo: 0xb5, hi: 0xb5}, + // Block 0x120, offset 0x5d7 + {value: 0x0014, lo: 0x84, hi: 0x84}, + {value: 0x0014, lo: 0x9b, hi: 0x9f}, + {value: 0x0014, lo: 0xa1, hi: 0xaf}, + // Block 0x121, offset 0x5da + {value: 0x0012, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x8a, hi: 0x8a}, + {value: 0x0012, lo: 0x8b, hi: 0x9e}, + {value: 0x0012, lo: 0xa5, hi: 0xaa}, + // Block 0x122, offset 0x5de + {value: 0x0024, lo: 0x80, hi: 0x86}, + {value: 0x0024, lo: 0x88, hi: 0x98}, + {value: 0x0024, lo: 0x9b, hi: 0xa1}, + {value: 0x0024, lo: 0xa3, hi: 0xa4}, + {value: 0x0024, lo: 0xa6, hi: 0xaa}, + {value: 0x0015, lo: 0xb0, hi: 0xbf}, + // Block 0x123, offset 0x5e4 + {value: 0x0015, lo: 0x80, hi: 0xad}, + // Block 0x124, offset 0x5e5 + {value: 0x0024, lo: 0x8f, hi: 0x8f}, + // Block 0x125, offset 0x5e6 + {value: 0x0010, lo: 0x80, hi: 0xac}, + {value: 0x0024, lo: 0xb0, hi: 0xb6}, + {value: 0x0014, lo: 0xb7, hi: 0xbd}, + // Block 0x126, offset 0x5e9 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x8e, hi: 0x8e}, + // Block 0x127, offset 0x5eb + {value: 0x0010, lo: 0x90, hi: 0xad}, + {value: 0x0024, lo: 0xae, hi: 0xae}, + // Block 0x128, offset 0x5ed + {value: 0x0010, lo: 0x80, hi: 0xab}, + {value: 0x0024, lo: 0xac, hi: 0xaf}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0x129, offset 0x5f0 + {value: 0x0010, lo: 0x90, hi: 0xaa}, + {value: 0x0014, lo: 0xab, hi: 0xab}, + {value: 0x0034, lo: 0xac, hi: 0xae}, + {value: 0x0024, lo: 0xaf, hi: 0xaf}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0x12a, offset 0x5f5 + {value: 0x0010, lo: 0xa0, hi: 0xa6}, + {value: 0x0010, lo: 0xa8, hi: 0xab}, + {value: 0x0010, lo: 0xad, hi: 0xae}, + {value: 0x0010, lo: 0xb0, hi: 0xbe}, + // Block 0x12b, offset 0x5f9 + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0034, lo: 0x90, hi: 0x96}, + // Block 0x12c, offset 0x5fb + {value: 0xd152, lo: 0x80, hi: 0x81}, + {value: 0xd452, lo: 0x82, hi: 0x83}, + {value: 0x0024, lo: 0x84, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0014, lo: 0x8b, hi: 0x8b}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x12d, offset 0x601 + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x9f}, + {value: 0x0010, lo: 0xa1, hi: 0xa2}, + {value: 0x0010, lo: 0xa4, hi: 0xa4}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + {value: 0x0010, lo: 0xa9, hi: 0xb2}, + {value: 0x0010, lo: 0xb4, hi: 0xb7}, + {value: 0x0010, lo: 0xb9, hi: 0xb9}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + // Block 0x12e, offset 0x60a + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x8b, hi: 0x9b}, + {value: 0x0010, lo: 0xa1, hi: 0xa3}, + {value: 0x0010, lo: 0xa5, hi: 0xa9}, + {value: 0x0010, lo: 0xab, hi: 0xbb}, + // Block 0x12f, offset 0x60f + {value: 0x0013, lo: 0xb0, hi: 0xbf}, + // Block 0x130, offset 0x610 + {value: 0x0013, lo: 0x80, hi: 0x89}, + {value: 0x0013, lo: 0x90, hi: 0xa9}, + {value: 0x0013, lo: 0xb0, hi: 0xbf}, + // Block 0x131, offset 0x613 + {value: 0x0013, lo: 0x80, hi: 0x89}, + // Block 0x132, offset 0x614 + {value: 0x0014, lo: 0xbb, hi: 0xbf}, + // Block 0x133, offset 0x615 + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0x134, offset 0x616 + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0014, lo: 0xa0, hi: 0xbf}, + // Block 0x135, offset 0x618 + {value: 0x0014, lo: 0x80, hi: 0xbf}, + // Block 0x136, offset 0x619 + {value: 0x0014, lo: 0x80, hi: 0xaf}, +} + +// Total table size 16093 bytes (15KiB); checksum: EE91C452 diff --git a/vendor/golang.org/x/text/cases/tables9.0.0.go b/vendor/golang.org/x/text/cases/tables9.0.0.go new file mode 100644 index 000000000..3aeb7be6d --- /dev/null +++ b/vendor/golang.org/x/text/cases/tables9.0.0.go @@ -0,0 +1,2215 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +//go:build !go1.10 + +package cases + +// UnicodeVersion is the Unicode version from which the tables in this package are derived. +const UnicodeVersion = "9.0.0" + +var xorData string = "" + // Size: 185 bytes + "\x00\x06\x07\x00\x01?\x00\x0f\x03\x00\x0f\x12\x00\x0f\x1f\x00\x0f\x1d" + + "\x00\x01\x13\x00\x0f\x16\x00\x0f\x0b\x00\x0f3\x00\x0f7\x00\x01#\x00\x0f?" + + "\x00\x0e'\x00\x0f/\x00\x0e>\x00\x0f*\x00\x0c&\x00\x0c*\x00\x0c;\x00\x0c9" + + "\x00\x0c%\x00\x01\x08\x00\x03\x0d\x00\x03\x09\x00\x02\x06\x00\x02\x02" + + "\x00\x02\x0c\x00\x01\x00\x00\x01\x03\x00\x01\x01\x00\x01 \x00\x01\x0c" + + "\x00\x01\x10\x00\x03\x10\x00\x036 \x00\x037 \x00\x0b#\x10\x00\x0b 0\x00" + + "\x0b!\x10\x00\x0b!0\x00\x0b(\x04\x00\x03\x04\x1e\x00\x03\x0a\x00\x02:" + + "\x00\x02>\x00\x02,\x00\x02\x00\x00\x02\x10\x00\x01<\x00\x01&\x00\x01*" + + "\x00\x01.\x00\x010\x003 \x00\x01\x18\x00\x01(\x00\x01\x1e\x00\x01\x22" + +var exceptions string = "" + // Size: 2068 bytes + "\x00\x12\x12μΜΜ\x12\x12ssSSSs\x13\x18i̇i̇\x10\x09II\x13\x1bʼnʼNʼN\x11" + + "\x09sSS\x12\x12dždžDž\x12\x12dždžDŽ\x10\x12DŽDž\x12\x12ljljLj\x12\x12ljljLJ\x10\x12LJLj" + + "\x12\x12njnjNj\x12\x12njnjNJ\x10\x12NJNj\x13\x1bǰJ̌J̌\x12\x12dzdzDz\x12\x12dzdzDZ\x10" + + "\x12DZDz\x13\x18ⱥⱥ\x13\x18ⱦⱦ\x10\x1bⱾⱾ\x10\x1bⱿⱿ\x10\x1bⱯⱯ\x10\x1bⱭⱭ\x10" + + "\x1bⱰⱰ\x10\x1bꞫꞫ\x10\x1bꞬꞬ\x10\x1bꞍꞍ\x10\x1bꞪꞪ\x10\x1bꞮꞮ\x10\x1bⱢⱢ\x10" + + "\x1bꞭꞭ\x10\x1bⱮⱮ\x10\x1bⱤⱤ\x10\x1bꞱꞱ\x10\x1bꞲꞲ\x10\x1bꞰꞰ2\x12ιΙΙ\x166ΐ" + + "Ϊ́Ϊ́\x166ΰΫ́Ϋ́\x12\x12σΣΣ\x12\x12βΒΒ\x12\x12θΘΘ\x12\x12φΦΦ\x12" + + "\x12πΠΠ\x12\x12κΚΚ\x12\x12ρΡΡ\x12\x12εΕΕ\x14$եւԵՒԵւ\x12\x12вВВ\x12\x12дД" + + "Д\x12\x12оОО\x12\x12сСС\x12\x12тТТ\x12\x12тТТ\x12\x12ъЪЪ\x12\x12ѣѢѢ\x13" + + "\x1bꙋꙊꙊ\x13\x1bẖH̱H̱\x13\x1bẗT̈T̈\x13\x1bẘW̊W̊\x13\x1bẙY̊Y̊\x13\x1ba" + + "ʾAʾAʾ\x13\x1bṡṠṠ\x12\x10ssß\x14$ὐΥ̓Υ̓\x166ὒΥ̓̀Υ̓̀\x166ὔΥ̓́Υ̓́\x166" + + "ὖΥ̓͂Υ̓͂\x15+ἀιἈΙᾈ\x15+ἁιἉΙᾉ\x15+ἂιἊΙᾊ\x15+ἃιἋΙᾋ\x15+ἄιἌΙᾌ\x15+ἅιἍΙᾍ" + + "\x15+ἆιἎΙᾎ\x15+ἇιἏΙᾏ\x15\x1dἀιᾀἈΙ\x15\x1dἁιᾁἉΙ\x15\x1dἂιᾂἊΙ\x15\x1dἃιᾃἋΙ" + + "\x15\x1dἄιᾄἌΙ\x15\x1dἅιᾅἍΙ\x15\x1dἆιᾆἎΙ\x15\x1dἇιᾇἏΙ\x15+ἠιἨΙᾘ\x15+ἡιἩΙᾙ" + + "\x15+ἢιἪΙᾚ\x15+ἣιἫΙᾛ\x15+ἤιἬΙᾜ\x15+ἥιἭΙᾝ\x15+ἦιἮΙᾞ\x15+ἧιἯΙᾟ\x15\x1dἠιᾐἨ" + + "Ι\x15\x1dἡιᾑἩΙ\x15\x1dἢιᾒἪΙ\x15\x1dἣιᾓἫΙ\x15\x1dἤιᾔἬΙ\x15\x1dἥιᾕἭΙ\x15" + + "\x1dἦιᾖἮΙ\x15\x1dἧιᾗἯΙ\x15+ὠιὨΙᾨ\x15+ὡιὩΙᾩ\x15+ὢιὪΙᾪ\x15+ὣιὫΙᾫ\x15+ὤιὬΙᾬ" + + "\x15+ὥιὭΙᾭ\x15+ὦιὮΙᾮ\x15+ὧιὯΙᾯ\x15\x1dὠιᾠὨΙ\x15\x1dὡιᾡὩΙ\x15\x1dὢιᾢὪΙ" + + "\x15\x1dὣιᾣὫΙ\x15\x1dὤιᾤὬΙ\x15\x1dὥιᾥὭΙ\x15\x1dὦιᾦὮΙ\x15\x1dὧιᾧὯΙ\x15-ὰι" + + "ᾺΙᾺͅ\x14#αιΑΙᾼ\x14$άιΆΙΆͅ\x14$ᾶΑ͂Α͂\x166ᾶιΑ͂Ιᾼ͂\x14\x1cαιᾳΑΙ\x12" + + "\x12ιΙΙ\x15-ὴιῊΙῊͅ\x14#ηιΗΙῌ\x14$ήιΉΙΉͅ\x14$ῆΗ͂Η͂\x166ῆιΗ͂Ιῌ͂\x14\x1c" + + "ηιῃΗΙ\x166ῒΪ̀Ϊ̀\x166ΐΪ́Ϊ́\x14$ῖΙ͂Ι͂\x166ῗΪ͂Ϊ͂\x166ῢΫ̀Ϋ" + + "̀\x166ΰΫ́Ϋ́\x14$ῤΡ̓Ρ̓\x14$ῦΥ͂Υ͂\x166ῧΫ͂Ϋ͂\x15-ὼιῺΙῺͅ\x14#ωιΩΙ" + + "ῼ\x14$ώιΏΙΏͅ\x14$ῶΩ͂Ω͂\x166ῶιΩ͂Ιῼ͂\x14\x1cωιῳΩΙ\x12\x10ωω\x11\x08kk" + + "\x12\x10åå\x12\x10ɫɫ\x12\x10ɽɽ\x10\x12ȺȺ\x10\x12ȾȾ\x12\x10ɑɑ\x12\x10ɱɱ" + + "\x12\x10ɐɐ\x12\x10ɒɒ\x12\x10ȿȿ\x12\x10ɀɀ\x12\x10ɥɥ\x12\x10ɦɦ\x12\x10ɜɜ" + + "\x12\x10ɡɡ\x12\x10ɬɬ\x12\x10ɪɪ\x12\x10ʞʞ\x12\x10ʇʇ\x12\x10ʝʝ\x12\x12ffFF" + + "Ff\x12\x12fiFIFi\x12\x12flFLFl\x13\x1bffiFFIFfi\x13\x1bfflFFLFfl\x12\x12" + + "stSTSt\x12\x12stSTSt\x14$մնՄՆՄն\x14$մեՄԵՄե\x14$միՄԻՄի\x14$վնՎՆՎն\x14$մխՄ" + + "ԽՄխ" + +// lookup returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *caseTrie) lookup(s []byte) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return caseValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = caseIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *caseTrie) lookupUnsafe(s []byte) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return caseValues[c0] + } + i := caseIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = caseIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = caseIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// lookupString returns the trie value for the first UTF-8 encoding in s and +// the width in bytes of this encoding. The size will be 0 if s does not +// hold enough bytes to complete the encoding. len(s) must be greater than 0. +func (t *caseTrie) lookupString(s string) (v uint16, sz int) { + c0 := s[0] + switch { + case c0 < 0x80: // is ASCII + return caseValues[c0], 1 + case c0 < 0xC2: + return 0, 1 // Illegal UTF-8: not a starter, not ASCII. + case c0 < 0xE0: // 2-byte UTF-8 + if len(s) < 2 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c1), 2 + case c0 < 0xF0: // 3-byte UTF-8 + if len(s) < 3 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c2), 3 + case c0 < 0xF8: // 4-byte UTF-8 + if len(s) < 4 { + return 0, 0 + } + i := caseIndex[c0] + c1 := s[1] + if c1 < 0x80 || 0xC0 <= c1 { + return 0, 1 // Illegal UTF-8: not a continuation byte. + } + o := uint32(i)<<6 + uint32(c1) + i = caseIndex[o] + c2 := s[2] + if c2 < 0x80 || 0xC0 <= c2 { + return 0, 2 // Illegal UTF-8: not a continuation byte. + } + o = uint32(i)<<6 + uint32(c2) + i = caseIndex[o] + c3 := s[3] + if c3 < 0x80 || 0xC0 <= c3 { + return 0, 3 // Illegal UTF-8: not a continuation byte. + } + return t.lookupValue(uint32(i), c3), 4 + } + // Illegal rune + return 0, 1 +} + +// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. +// s must start with a full and valid UTF-8 encoded rune. +func (t *caseTrie) lookupStringUnsafe(s string) uint16 { + c0 := s[0] + if c0 < 0x80 { // is ASCII + return caseValues[c0] + } + i := caseIndex[c0] + if c0 < 0xE0 { // 2-byte UTF-8 + return t.lookupValue(uint32(i), s[1]) + } + i = caseIndex[uint32(i)<<6+uint32(s[1])] + if c0 < 0xF0 { // 3-byte UTF-8 + return t.lookupValue(uint32(i), s[2]) + } + i = caseIndex[uint32(i)<<6+uint32(s[2])] + if c0 < 0xF8 { // 4-byte UTF-8 + return t.lookupValue(uint32(i), s[3]) + } + return 0 +} + +// caseTrie. Total size: 11742 bytes (11.47 KiB). Checksum: 795fe57ee5135873. +type caseTrie struct{} + +func newCaseTrie(i int) *caseTrie { + return &caseTrie{} +} + +// lookupValue determines the type of block n and looks up the value for b. +func (t *caseTrie) lookupValue(n uint32, b byte) uint16 { + switch { + case n < 18: + return uint16(caseValues[n<<6+uint32(b)]) + default: + n -= 18 + return uint16(sparse.lookup(n, b)) + } +} + +// caseValues: 20 blocks, 1280 entries, 2560 bytes +// The third block is the zero block. +var caseValues = [1280]uint16{ + // Block 0x0, offset 0x0 + 0x27: 0x0054, + 0x2e: 0x0054, + 0x30: 0x0010, 0x31: 0x0010, 0x32: 0x0010, 0x33: 0x0010, 0x34: 0x0010, 0x35: 0x0010, + 0x36: 0x0010, 0x37: 0x0010, 0x38: 0x0010, 0x39: 0x0010, 0x3a: 0x0054, + // Block 0x1, offset 0x40 + 0x41: 0x2013, 0x42: 0x2013, 0x43: 0x2013, 0x44: 0x2013, 0x45: 0x2013, + 0x46: 0x2013, 0x47: 0x2013, 0x48: 0x2013, 0x49: 0x2013, 0x4a: 0x2013, 0x4b: 0x2013, + 0x4c: 0x2013, 0x4d: 0x2013, 0x4e: 0x2013, 0x4f: 0x2013, 0x50: 0x2013, 0x51: 0x2013, + 0x52: 0x2013, 0x53: 0x2013, 0x54: 0x2013, 0x55: 0x2013, 0x56: 0x2013, 0x57: 0x2013, + 0x58: 0x2013, 0x59: 0x2013, 0x5a: 0x2013, + 0x5e: 0x0004, 0x5f: 0x0010, 0x60: 0x0004, 0x61: 0x2012, 0x62: 0x2012, 0x63: 0x2012, + 0x64: 0x2012, 0x65: 0x2012, 0x66: 0x2012, 0x67: 0x2012, 0x68: 0x2012, 0x69: 0x2012, + 0x6a: 0x2012, 0x6b: 0x2012, 0x6c: 0x2012, 0x6d: 0x2012, 0x6e: 0x2012, 0x6f: 0x2012, + 0x70: 0x2012, 0x71: 0x2012, 0x72: 0x2012, 0x73: 0x2012, 0x74: 0x2012, 0x75: 0x2012, + 0x76: 0x2012, 0x77: 0x2012, 0x78: 0x2012, 0x79: 0x2012, 0x7a: 0x2012, + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc0: 0x0852, 0xc1: 0x0b53, 0xc2: 0x0113, 0xc3: 0x0112, 0xc4: 0x0113, 0xc5: 0x0112, + 0xc6: 0x0b53, 0xc7: 0x0f13, 0xc8: 0x0f12, 0xc9: 0x0e53, 0xca: 0x1153, 0xcb: 0x0713, + 0xcc: 0x0712, 0xcd: 0x0012, 0xce: 0x1453, 0xcf: 0x1753, 0xd0: 0x1a53, 0xd1: 0x0313, + 0xd2: 0x0312, 0xd3: 0x1d53, 0xd4: 0x2053, 0xd5: 0x2352, 0xd6: 0x2653, 0xd7: 0x2653, + 0xd8: 0x0113, 0xd9: 0x0112, 0xda: 0x2952, 0xdb: 0x0012, 0xdc: 0x1d53, 0xdd: 0x2c53, + 0xde: 0x2f52, 0xdf: 0x3253, 0xe0: 0x0113, 0xe1: 0x0112, 0xe2: 0x0113, 0xe3: 0x0112, + 0xe4: 0x0113, 0xe5: 0x0112, 0xe6: 0x3553, 0xe7: 0x0f13, 0xe8: 0x0f12, 0xe9: 0x3853, + 0xea: 0x0012, 0xeb: 0x0012, 0xec: 0x0113, 0xed: 0x0112, 0xee: 0x3553, 0xef: 0x1f13, + 0xf0: 0x1f12, 0xf1: 0x3b53, 0xf2: 0x3e53, 0xf3: 0x0713, 0xf4: 0x0712, 0xf5: 0x0313, + 0xf6: 0x0312, 0xf7: 0x4153, 0xf8: 0x0113, 0xf9: 0x0112, 0xfa: 0x0012, 0xfb: 0x0010, + 0xfc: 0x0113, 0xfd: 0x0112, 0xfe: 0x0012, 0xff: 0x4452, + // Block 0x4, offset 0x100 + 0x100: 0x0010, 0x101: 0x0010, 0x102: 0x0010, 0x103: 0x0010, 0x104: 0x02db, 0x105: 0x0359, + 0x106: 0x03da, 0x107: 0x043b, 0x108: 0x04b9, 0x109: 0x053a, 0x10a: 0x059b, 0x10b: 0x0619, + 0x10c: 0x069a, 0x10d: 0x0313, 0x10e: 0x0312, 0x10f: 0x1f13, 0x110: 0x1f12, 0x111: 0x0313, + 0x112: 0x0312, 0x113: 0x0713, 0x114: 0x0712, 0x115: 0x0313, 0x116: 0x0312, 0x117: 0x0f13, + 0x118: 0x0f12, 0x119: 0x0313, 0x11a: 0x0312, 0x11b: 0x0713, 0x11c: 0x0712, 0x11d: 0x1452, + 0x11e: 0x0113, 0x11f: 0x0112, 0x120: 0x0113, 0x121: 0x0112, 0x122: 0x0113, 0x123: 0x0112, + 0x124: 0x0113, 0x125: 0x0112, 0x126: 0x0113, 0x127: 0x0112, 0x128: 0x0113, 0x129: 0x0112, + 0x12a: 0x0113, 0x12b: 0x0112, 0x12c: 0x0113, 0x12d: 0x0112, 0x12e: 0x0113, 0x12f: 0x0112, + 0x130: 0x06fa, 0x131: 0x07ab, 0x132: 0x0829, 0x133: 0x08aa, 0x134: 0x0113, 0x135: 0x0112, + 0x136: 0x2353, 0x137: 0x4453, 0x138: 0x0113, 0x139: 0x0112, 0x13a: 0x0113, 0x13b: 0x0112, + 0x13c: 0x0113, 0x13d: 0x0112, 0x13e: 0x0113, 0x13f: 0x0112, + // Block 0x5, offset 0x140 + 0x140: 0x0a8a, 0x141: 0x0313, 0x142: 0x0312, 0x143: 0x0853, 0x144: 0x4753, 0x145: 0x4a53, + 0x146: 0x0113, 0x147: 0x0112, 0x148: 0x0113, 0x149: 0x0112, 0x14a: 0x0113, 0x14b: 0x0112, + 0x14c: 0x0113, 0x14d: 0x0112, 0x14e: 0x0113, 0x14f: 0x0112, 0x150: 0x0b0a, 0x151: 0x0b8a, + 0x152: 0x0c0a, 0x153: 0x0b52, 0x154: 0x0b52, 0x155: 0x0012, 0x156: 0x0e52, 0x157: 0x1152, + 0x158: 0x0012, 0x159: 0x1752, 0x15a: 0x0012, 0x15b: 0x1a52, 0x15c: 0x0c8a, 0x15d: 0x0012, + 0x15e: 0x0012, 0x15f: 0x0012, 0x160: 0x1d52, 0x161: 0x0d0a, 0x162: 0x0012, 0x163: 0x2052, + 0x164: 0x0012, 0x165: 0x0d8a, 0x166: 0x0e0a, 0x167: 0x0012, 0x168: 0x2652, 0x169: 0x2652, + 0x16a: 0x0e8a, 0x16b: 0x0f0a, 0x16c: 0x0f8a, 0x16d: 0x0012, 0x16e: 0x0012, 0x16f: 0x1d52, + 0x170: 0x0012, 0x171: 0x100a, 0x172: 0x2c52, 0x173: 0x0012, 0x174: 0x0012, 0x175: 0x3252, + 0x176: 0x0012, 0x177: 0x0012, 0x178: 0x0012, 0x179: 0x0012, 0x17a: 0x0012, 0x17b: 0x0012, + 0x17c: 0x0012, 0x17d: 0x108a, 0x17e: 0x0012, 0x17f: 0x0012, + // Block 0x6, offset 0x180 + 0x180: 0x3552, 0x181: 0x0012, 0x182: 0x0012, 0x183: 0x3852, 0x184: 0x0012, 0x185: 0x0012, + 0x186: 0x0012, 0x187: 0x110a, 0x188: 0x3552, 0x189: 0x4752, 0x18a: 0x3b52, 0x18b: 0x3e52, + 0x18c: 0x4a52, 0x18d: 0x0012, 0x18e: 0x0012, 0x18f: 0x0012, 0x190: 0x0012, 0x191: 0x0012, + 0x192: 0x4152, 0x193: 0x0012, 0x194: 0x0010, 0x195: 0x0012, 0x196: 0x0012, 0x197: 0x0012, + 0x198: 0x0012, 0x199: 0x0012, 0x19a: 0x0012, 0x19b: 0x0012, 0x19c: 0x0012, 0x19d: 0x118a, + 0x19e: 0x120a, 0x19f: 0x0012, 0x1a0: 0x0012, 0x1a1: 0x0012, 0x1a2: 0x0012, 0x1a3: 0x0012, + 0x1a4: 0x0012, 0x1a5: 0x0012, 0x1a6: 0x0012, 0x1a7: 0x0012, 0x1a8: 0x0012, 0x1a9: 0x0012, + 0x1aa: 0x0012, 0x1ab: 0x0012, 0x1ac: 0x0012, 0x1ad: 0x0012, 0x1ae: 0x0012, 0x1af: 0x0012, + 0x1b0: 0x0015, 0x1b1: 0x0015, 0x1b2: 0x0015, 0x1b3: 0x0015, 0x1b4: 0x0015, 0x1b5: 0x0015, + 0x1b6: 0x0015, 0x1b7: 0x0015, 0x1b8: 0x0015, 0x1b9: 0x0014, 0x1ba: 0x0014, 0x1bb: 0x0014, + 0x1bc: 0x0014, 0x1bd: 0x0014, 0x1be: 0x0014, 0x1bf: 0x0014, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x0024, 0x1c1: 0x0024, 0x1c2: 0x0024, 0x1c3: 0x0024, 0x1c4: 0x0024, 0x1c5: 0x128d, + 0x1c6: 0x0024, 0x1c7: 0x0034, 0x1c8: 0x0034, 0x1c9: 0x0034, 0x1ca: 0x0024, 0x1cb: 0x0024, + 0x1cc: 0x0024, 0x1cd: 0x0034, 0x1ce: 0x0034, 0x1cf: 0x0014, 0x1d0: 0x0024, 0x1d1: 0x0024, + 0x1d2: 0x0024, 0x1d3: 0x0034, 0x1d4: 0x0034, 0x1d5: 0x0034, 0x1d6: 0x0034, 0x1d7: 0x0024, + 0x1d8: 0x0034, 0x1d9: 0x0034, 0x1da: 0x0034, 0x1db: 0x0024, 0x1dc: 0x0034, 0x1dd: 0x0034, + 0x1de: 0x0034, 0x1df: 0x0034, 0x1e0: 0x0034, 0x1e1: 0x0034, 0x1e2: 0x0034, 0x1e3: 0x0024, + 0x1e4: 0x0024, 0x1e5: 0x0024, 0x1e6: 0x0024, 0x1e7: 0x0024, 0x1e8: 0x0024, 0x1e9: 0x0024, + 0x1ea: 0x0024, 0x1eb: 0x0024, 0x1ec: 0x0024, 0x1ed: 0x0024, 0x1ee: 0x0024, 0x1ef: 0x0024, + 0x1f0: 0x0113, 0x1f1: 0x0112, 0x1f2: 0x0113, 0x1f3: 0x0112, 0x1f4: 0x0014, 0x1f5: 0x0004, + 0x1f6: 0x0113, 0x1f7: 0x0112, 0x1fa: 0x0015, 0x1fb: 0x4d52, + 0x1fc: 0x5052, 0x1fd: 0x5052, 0x1ff: 0x5353, + // Block 0x8, offset 0x200 + 0x204: 0x0004, 0x205: 0x0004, + 0x206: 0x2a13, 0x207: 0x0054, 0x208: 0x2513, 0x209: 0x2713, 0x20a: 0x2513, + 0x20c: 0x5653, 0x20e: 0x5953, 0x20f: 0x5c53, 0x210: 0x130a, 0x211: 0x2013, + 0x212: 0x2013, 0x213: 0x2013, 0x214: 0x2013, 0x215: 0x2013, 0x216: 0x2013, 0x217: 0x2013, + 0x218: 0x2013, 0x219: 0x2013, 0x21a: 0x2013, 0x21b: 0x2013, 0x21c: 0x2013, 0x21d: 0x2013, + 0x21e: 0x2013, 0x21f: 0x2013, 0x220: 0x5f53, 0x221: 0x5f53, 0x223: 0x5f53, + 0x224: 0x5f53, 0x225: 0x5f53, 0x226: 0x5f53, 0x227: 0x5f53, 0x228: 0x5f53, 0x229: 0x5f53, + 0x22a: 0x5f53, 0x22b: 0x5f53, 0x22c: 0x2a12, 0x22d: 0x2512, 0x22e: 0x2712, 0x22f: 0x2512, + 0x230: 0x144a, 0x231: 0x2012, 0x232: 0x2012, 0x233: 0x2012, 0x234: 0x2012, 0x235: 0x2012, + 0x236: 0x2012, 0x237: 0x2012, 0x238: 0x2012, 0x239: 0x2012, 0x23a: 0x2012, 0x23b: 0x2012, + 0x23c: 0x2012, 0x23d: 0x2012, 0x23e: 0x2012, 0x23f: 0x2012, + // Block 0x9, offset 0x240 + 0x240: 0x5f52, 0x241: 0x5f52, 0x242: 0x158a, 0x243: 0x5f52, 0x244: 0x5f52, 0x245: 0x5f52, + 0x246: 0x5f52, 0x247: 0x5f52, 0x248: 0x5f52, 0x249: 0x5f52, 0x24a: 0x5f52, 0x24b: 0x5f52, + 0x24c: 0x5652, 0x24d: 0x5952, 0x24e: 0x5c52, 0x24f: 0x1813, 0x250: 0x160a, 0x251: 0x168a, + 0x252: 0x0013, 0x253: 0x0013, 0x254: 0x0013, 0x255: 0x170a, 0x256: 0x178a, 0x257: 0x1812, + 0x258: 0x0113, 0x259: 0x0112, 0x25a: 0x0113, 0x25b: 0x0112, 0x25c: 0x0113, 0x25d: 0x0112, + 0x25e: 0x0113, 0x25f: 0x0112, 0x260: 0x0113, 0x261: 0x0112, 0x262: 0x0113, 0x263: 0x0112, + 0x264: 0x0113, 0x265: 0x0112, 0x266: 0x0113, 0x267: 0x0112, 0x268: 0x0113, 0x269: 0x0112, + 0x26a: 0x0113, 0x26b: 0x0112, 0x26c: 0x0113, 0x26d: 0x0112, 0x26e: 0x0113, 0x26f: 0x0112, + 0x270: 0x180a, 0x271: 0x188a, 0x272: 0x0b12, 0x273: 0x5352, 0x274: 0x6253, 0x275: 0x190a, + 0x277: 0x0f13, 0x278: 0x0f12, 0x279: 0x0b13, 0x27a: 0x0113, 0x27b: 0x0112, + 0x27c: 0x0012, 0x27d: 0x4d53, 0x27e: 0x5053, 0x27f: 0x5053, + // Block 0xa, offset 0x280 + 0x280: 0x0812, 0x281: 0x0812, 0x282: 0x0812, 0x283: 0x0812, 0x284: 0x0812, 0x285: 0x0812, + 0x288: 0x0813, 0x289: 0x0813, 0x28a: 0x0813, 0x28b: 0x0813, + 0x28c: 0x0813, 0x28d: 0x0813, 0x290: 0x239a, 0x291: 0x0812, + 0x292: 0x247a, 0x293: 0x0812, 0x294: 0x25ba, 0x295: 0x0812, 0x296: 0x26fa, 0x297: 0x0812, + 0x299: 0x0813, 0x29b: 0x0813, 0x29d: 0x0813, + 0x29f: 0x0813, 0x2a0: 0x0812, 0x2a1: 0x0812, 0x2a2: 0x0812, 0x2a3: 0x0812, + 0x2a4: 0x0812, 0x2a5: 0x0812, 0x2a6: 0x0812, 0x2a7: 0x0812, 0x2a8: 0x0813, 0x2a9: 0x0813, + 0x2aa: 0x0813, 0x2ab: 0x0813, 0x2ac: 0x0813, 0x2ad: 0x0813, 0x2ae: 0x0813, 0x2af: 0x0813, + 0x2b0: 0x8b52, 0x2b1: 0x8b52, 0x2b2: 0x8e52, 0x2b3: 0x8e52, 0x2b4: 0x9152, 0x2b5: 0x9152, + 0x2b6: 0x9452, 0x2b7: 0x9452, 0x2b8: 0x9752, 0x2b9: 0x9752, 0x2ba: 0x9a52, 0x2bb: 0x9a52, + 0x2bc: 0x4d52, 0x2bd: 0x4d52, + // Block 0xb, offset 0x2c0 + 0x2c0: 0x283a, 0x2c1: 0x292a, 0x2c2: 0x2a1a, 0x2c3: 0x2b0a, 0x2c4: 0x2bfa, 0x2c5: 0x2cea, + 0x2c6: 0x2dda, 0x2c7: 0x2eca, 0x2c8: 0x2fb9, 0x2c9: 0x30a9, 0x2ca: 0x3199, 0x2cb: 0x3289, + 0x2cc: 0x3379, 0x2cd: 0x3469, 0x2ce: 0x3559, 0x2cf: 0x3649, 0x2d0: 0x373a, 0x2d1: 0x382a, + 0x2d2: 0x391a, 0x2d3: 0x3a0a, 0x2d4: 0x3afa, 0x2d5: 0x3bea, 0x2d6: 0x3cda, 0x2d7: 0x3dca, + 0x2d8: 0x3eb9, 0x2d9: 0x3fa9, 0x2da: 0x4099, 0x2db: 0x4189, 0x2dc: 0x4279, 0x2dd: 0x4369, + 0x2de: 0x4459, 0x2df: 0x4549, 0x2e0: 0x463a, 0x2e1: 0x472a, 0x2e2: 0x481a, 0x2e3: 0x490a, + 0x2e4: 0x49fa, 0x2e5: 0x4aea, 0x2e6: 0x4bda, 0x2e7: 0x4cca, 0x2e8: 0x4db9, 0x2e9: 0x4ea9, + 0x2ea: 0x4f99, 0x2eb: 0x5089, 0x2ec: 0x5179, 0x2ed: 0x5269, 0x2ee: 0x5359, 0x2ef: 0x5449, + 0x2f0: 0x0812, 0x2f1: 0x0812, 0x2f2: 0x553a, 0x2f3: 0x564a, 0x2f4: 0x571a, + 0x2f6: 0x57fa, 0x2f7: 0x58da, 0x2f8: 0x0813, 0x2f9: 0x0813, 0x2fa: 0x8b53, 0x2fb: 0x8b53, + 0x2fc: 0x5a19, 0x2fd: 0x0004, 0x2fe: 0x5aea, 0x2ff: 0x0004, + // Block 0xc, offset 0x300 + 0x300: 0x0004, 0x301: 0x0004, 0x302: 0x5b6a, 0x303: 0x5c7a, 0x304: 0x5d4a, + 0x306: 0x5e2a, 0x307: 0x5f0a, 0x308: 0x8e53, 0x309: 0x8e53, 0x30a: 0x9153, 0x30b: 0x9153, + 0x30c: 0x6049, 0x30d: 0x0004, 0x30e: 0x0004, 0x30f: 0x0004, 0x310: 0x0812, 0x311: 0x0812, + 0x312: 0x611a, 0x313: 0x625a, 0x316: 0x639a, 0x317: 0x647a, + 0x318: 0x0813, 0x319: 0x0813, 0x31a: 0x9453, 0x31b: 0x9453, 0x31d: 0x0004, + 0x31e: 0x0004, 0x31f: 0x0004, 0x320: 0x0812, 0x321: 0x0812, 0x322: 0x65ba, 0x323: 0x66fa, + 0x324: 0x683a, 0x325: 0x0912, 0x326: 0x691a, 0x327: 0x69fa, 0x328: 0x0813, 0x329: 0x0813, + 0x32a: 0x9a53, 0x32b: 0x9a53, 0x32c: 0x0913, 0x32d: 0x0004, 0x32e: 0x0004, 0x32f: 0x0004, + 0x332: 0x6b3a, 0x333: 0x6c4a, 0x334: 0x6d1a, + 0x336: 0x6dfa, 0x337: 0x6eda, 0x338: 0x9753, 0x339: 0x9753, 0x33a: 0x4d53, 0x33b: 0x4d53, + 0x33c: 0x7019, 0x33d: 0x0004, 0x33e: 0x0004, + // Block 0xd, offset 0x340 + 0x342: 0x0013, + 0x347: 0x0013, 0x34a: 0x0012, 0x34b: 0x0013, + 0x34c: 0x0013, 0x34d: 0x0013, 0x34e: 0x0012, 0x34f: 0x0012, 0x350: 0x0013, 0x351: 0x0013, + 0x352: 0x0013, 0x353: 0x0012, 0x355: 0x0013, + 0x359: 0x0013, 0x35a: 0x0013, 0x35b: 0x0013, 0x35c: 0x0013, 0x35d: 0x0013, + 0x364: 0x0013, 0x366: 0x70eb, 0x368: 0x0013, + 0x36a: 0x714b, 0x36b: 0x718b, 0x36c: 0x0013, 0x36d: 0x0013, 0x36f: 0x0012, + 0x370: 0x0013, 0x371: 0x0013, 0x372: 0x9d53, 0x373: 0x0013, 0x374: 0x0012, 0x375: 0x0010, + 0x376: 0x0010, 0x377: 0x0010, 0x378: 0x0010, 0x379: 0x0012, + 0x37c: 0x0012, 0x37d: 0x0012, 0x37e: 0x0013, 0x37f: 0x0013, + // Block 0xe, offset 0x380 + 0x380: 0x1a13, 0x381: 0x1a13, 0x382: 0x1e13, 0x383: 0x1e13, 0x384: 0x1a13, 0x385: 0x1a13, + 0x386: 0x2613, 0x387: 0x2613, 0x388: 0x2a13, 0x389: 0x2a13, 0x38a: 0x2e13, 0x38b: 0x2e13, + 0x38c: 0x2a13, 0x38d: 0x2a13, 0x38e: 0x2613, 0x38f: 0x2613, 0x390: 0xa052, 0x391: 0xa052, + 0x392: 0xa352, 0x393: 0xa352, 0x394: 0xa652, 0x395: 0xa652, 0x396: 0xa352, 0x397: 0xa352, + 0x398: 0xa052, 0x399: 0xa052, 0x39a: 0x1a12, 0x39b: 0x1a12, 0x39c: 0x1e12, 0x39d: 0x1e12, + 0x39e: 0x1a12, 0x39f: 0x1a12, 0x3a0: 0x2612, 0x3a1: 0x2612, 0x3a2: 0x2a12, 0x3a3: 0x2a12, + 0x3a4: 0x2e12, 0x3a5: 0x2e12, 0x3a6: 0x2a12, 0x3a7: 0x2a12, 0x3a8: 0x2612, 0x3a9: 0x2612, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x6552, 0x3c1: 0x6552, 0x3c2: 0x6552, 0x3c3: 0x6552, 0x3c4: 0x6552, 0x3c5: 0x6552, + 0x3c6: 0x6552, 0x3c7: 0x6552, 0x3c8: 0x6552, 0x3c9: 0x6552, 0x3ca: 0x6552, 0x3cb: 0x6552, + 0x3cc: 0x6552, 0x3cd: 0x6552, 0x3ce: 0x6552, 0x3cf: 0x6552, 0x3d0: 0xa952, 0x3d1: 0xa952, + 0x3d2: 0xa952, 0x3d3: 0xa952, 0x3d4: 0xa952, 0x3d5: 0xa952, 0x3d6: 0xa952, 0x3d7: 0xa952, + 0x3d8: 0xa952, 0x3d9: 0xa952, 0x3da: 0xa952, 0x3db: 0xa952, 0x3dc: 0xa952, 0x3dd: 0xa952, + 0x3de: 0xa952, 0x3e0: 0x0113, 0x3e1: 0x0112, 0x3e2: 0x71eb, 0x3e3: 0x8853, + 0x3e4: 0x724b, 0x3e5: 0x72aa, 0x3e6: 0x730a, 0x3e7: 0x0f13, 0x3e8: 0x0f12, 0x3e9: 0x0313, + 0x3ea: 0x0312, 0x3eb: 0x0713, 0x3ec: 0x0712, 0x3ed: 0x736b, 0x3ee: 0x73cb, 0x3ef: 0x742b, + 0x3f0: 0x748b, 0x3f1: 0x0012, 0x3f2: 0x0113, 0x3f3: 0x0112, 0x3f4: 0x0012, 0x3f5: 0x0313, + 0x3f6: 0x0312, 0x3f7: 0x0012, 0x3f8: 0x0012, 0x3f9: 0x0012, 0x3fa: 0x0012, 0x3fb: 0x0012, + 0x3fc: 0x0015, 0x3fd: 0x0015, 0x3fe: 0x74eb, 0x3ff: 0x754b, + // Block 0x10, offset 0x400 + 0x400: 0x0113, 0x401: 0x0112, 0x402: 0x0113, 0x403: 0x0112, 0x404: 0x0113, 0x405: 0x0112, + 0x406: 0x0113, 0x407: 0x0112, 0x408: 0x0014, 0x409: 0x0004, 0x40a: 0x0004, 0x40b: 0x0713, + 0x40c: 0x0712, 0x40d: 0x75ab, 0x40e: 0x0012, 0x40f: 0x0010, 0x410: 0x0113, 0x411: 0x0112, + 0x412: 0x0113, 0x413: 0x0112, 0x414: 0x0012, 0x415: 0x0012, 0x416: 0x0113, 0x417: 0x0112, + 0x418: 0x0113, 0x419: 0x0112, 0x41a: 0x0113, 0x41b: 0x0112, 0x41c: 0x0113, 0x41d: 0x0112, + 0x41e: 0x0113, 0x41f: 0x0112, 0x420: 0x0113, 0x421: 0x0112, 0x422: 0x0113, 0x423: 0x0112, + 0x424: 0x0113, 0x425: 0x0112, 0x426: 0x0113, 0x427: 0x0112, 0x428: 0x0113, 0x429: 0x0112, + 0x42a: 0x760b, 0x42b: 0x766b, 0x42c: 0x76cb, 0x42d: 0x772b, 0x42e: 0x778b, + 0x430: 0x77eb, 0x431: 0x784b, 0x432: 0x78ab, 0x433: 0xac53, 0x434: 0x0113, 0x435: 0x0112, + 0x436: 0x0113, 0x437: 0x0112, + // Block 0x11, offset 0x440 + 0x440: 0x790a, 0x441: 0x798a, 0x442: 0x7a0a, 0x443: 0x7a8a, 0x444: 0x7b3a, 0x445: 0x7bea, + 0x446: 0x7c6a, + 0x453: 0x7cea, 0x454: 0x7dca, 0x455: 0x7eaa, 0x456: 0x7f8a, 0x457: 0x806a, + 0x45d: 0x0010, + 0x45e: 0x0034, 0x45f: 0x0010, 0x460: 0x0010, 0x461: 0x0010, 0x462: 0x0010, 0x463: 0x0010, + 0x464: 0x0010, 0x465: 0x0010, 0x466: 0x0010, 0x467: 0x0010, 0x468: 0x0010, + 0x46a: 0x0010, 0x46b: 0x0010, 0x46c: 0x0010, 0x46d: 0x0010, 0x46e: 0x0010, 0x46f: 0x0010, + 0x470: 0x0010, 0x471: 0x0010, 0x472: 0x0010, 0x473: 0x0010, 0x474: 0x0010, 0x475: 0x0010, + 0x476: 0x0010, 0x478: 0x0010, 0x479: 0x0010, 0x47a: 0x0010, 0x47b: 0x0010, + 0x47c: 0x0010, 0x47e: 0x0010, + // Block 0x12, offset 0x480 + 0x480: 0x2213, 0x481: 0x2213, 0x482: 0x2613, 0x483: 0x2613, 0x484: 0x2213, 0x485: 0x2213, + 0x486: 0x2e13, 0x487: 0x2e13, 0x488: 0x2213, 0x489: 0x2213, 0x48a: 0x2613, 0x48b: 0x2613, + 0x48c: 0x2213, 0x48d: 0x2213, 0x48e: 0x3e13, 0x48f: 0x3e13, 0x490: 0x2213, 0x491: 0x2213, + 0x492: 0x2613, 0x493: 0x2613, 0x494: 0x2213, 0x495: 0x2213, 0x496: 0x2e13, 0x497: 0x2e13, + 0x498: 0x2213, 0x499: 0x2213, 0x49a: 0x2613, 0x49b: 0x2613, 0x49c: 0x2213, 0x49d: 0x2213, + 0x49e: 0xb553, 0x49f: 0xb553, 0x4a0: 0xb853, 0x4a1: 0xb853, 0x4a2: 0x2212, 0x4a3: 0x2212, + 0x4a4: 0x2612, 0x4a5: 0x2612, 0x4a6: 0x2212, 0x4a7: 0x2212, 0x4a8: 0x2e12, 0x4a9: 0x2e12, + 0x4aa: 0x2212, 0x4ab: 0x2212, 0x4ac: 0x2612, 0x4ad: 0x2612, 0x4ae: 0x2212, 0x4af: 0x2212, + 0x4b0: 0x3e12, 0x4b1: 0x3e12, 0x4b2: 0x2212, 0x4b3: 0x2212, 0x4b4: 0x2612, 0x4b5: 0x2612, + 0x4b6: 0x2212, 0x4b7: 0x2212, 0x4b8: 0x2e12, 0x4b9: 0x2e12, 0x4ba: 0x2212, 0x4bb: 0x2212, + 0x4bc: 0x2612, 0x4bd: 0x2612, 0x4be: 0x2212, 0x4bf: 0x2212, + // Block 0x13, offset 0x4c0 + 0x4c2: 0x0010, + 0x4c7: 0x0010, 0x4c9: 0x0010, 0x4cb: 0x0010, + 0x4cd: 0x0010, 0x4ce: 0x0010, 0x4cf: 0x0010, 0x4d1: 0x0010, + 0x4d2: 0x0010, 0x4d4: 0x0010, 0x4d7: 0x0010, + 0x4d9: 0x0010, 0x4db: 0x0010, 0x4dd: 0x0010, + 0x4df: 0x0010, 0x4e1: 0x0010, 0x4e2: 0x0010, + 0x4e4: 0x0010, 0x4e7: 0x0010, 0x4e8: 0x0010, 0x4e9: 0x0010, + 0x4ea: 0x0010, 0x4ec: 0x0010, 0x4ed: 0x0010, 0x4ee: 0x0010, 0x4ef: 0x0010, + 0x4f0: 0x0010, 0x4f1: 0x0010, 0x4f2: 0x0010, 0x4f4: 0x0010, 0x4f5: 0x0010, + 0x4f6: 0x0010, 0x4f7: 0x0010, 0x4f9: 0x0010, 0x4fa: 0x0010, 0x4fb: 0x0010, + 0x4fc: 0x0010, 0x4fe: 0x0010, +} + +// caseIndex: 25 blocks, 1600 entries, 3200 bytes +// Block 0 is the zero block. +var caseIndex = [1600]uint16{ + // Block 0x0, offset 0x0 + // Block 0x1, offset 0x40 + // Block 0x2, offset 0x80 + // Block 0x3, offset 0xc0 + 0xc2: 0x12, 0xc3: 0x13, 0xc4: 0x14, 0xc5: 0x15, 0xc6: 0x01, 0xc7: 0x02, + 0xc8: 0x16, 0xc9: 0x03, 0xca: 0x04, 0xcb: 0x17, 0xcc: 0x18, 0xcd: 0x05, 0xce: 0x06, 0xcf: 0x07, + 0xd0: 0x19, 0xd1: 0x1a, 0xd2: 0x1b, 0xd3: 0x1c, 0xd4: 0x1d, 0xd5: 0x1e, 0xd6: 0x1f, 0xd7: 0x20, + 0xd8: 0x21, 0xd9: 0x22, 0xda: 0x23, 0xdb: 0x24, 0xdc: 0x25, 0xdd: 0x26, 0xde: 0x27, 0xdf: 0x28, + 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, + 0xea: 0x06, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x08, 0xef: 0x09, + 0xf0: 0x14, 0xf3: 0x16, + // Block 0x4, offset 0x100 + 0x120: 0x29, 0x121: 0x2a, 0x122: 0x2b, 0x123: 0x2c, 0x124: 0x2d, 0x125: 0x2e, 0x126: 0x2f, 0x127: 0x30, + 0x128: 0x31, 0x129: 0x32, 0x12a: 0x33, 0x12b: 0x34, 0x12c: 0x35, 0x12d: 0x36, 0x12e: 0x37, 0x12f: 0x38, + 0x130: 0x39, 0x131: 0x3a, 0x132: 0x3b, 0x133: 0x3c, 0x134: 0x3d, 0x135: 0x3e, 0x136: 0x3f, 0x137: 0x40, + 0x138: 0x41, 0x139: 0x42, 0x13a: 0x43, 0x13b: 0x44, 0x13c: 0x45, 0x13d: 0x46, 0x13e: 0x47, 0x13f: 0x48, + // Block 0x5, offset 0x140 + 0x140: 0x49, 0x141: 0x4a, 0x142: 0x4b, 0x143: 0x4c, 0x144: 0x23, 0x145: 0x23, 0x146: 0x23, 0x147: 0x23, + 0x148: 0x23, 0x149: 0x4d, 0x14a: 0x4e, 0x14b: 0x4f, 0x14c: 0x50, 0x14d: 0x51, 0x14e: 0x52, 0x14f: 0x53, + 0x150: 0x54, 0x151: 0x23, 0x152: 0x23, 0x153: 0x23, 0x154: 0x23, 0x155: 0x23, 0x156: 0x23, 0x157: 0x23, + 0x158: 0x23, 0x159: 0x55, 0x15a: 0x56, 0x15b: 0x57, 0x15c: 0x58, 0x15d: 0x59, 0x15e: 0x5a, 0x15f: 0x5b, + 0x160: 0x5c, 0x161: 0x5d, 0x162: 0x5e, 0x163: 0x5f, 0x164: 0x60, 0x165: 0x61, 0x167: 0x62, + 0x168: 0x63, 0x169: 0x64, 0x16a: 0x65, 0x16c: 0x66, 0x16d: 0x67, 0x16e: 0x68, 0x16f: 0x69, + 0x170: 0x6a, 0x171: 0x6b, 0x172: 0x6c, 0x173: 0x6d, 0x174: 0x6e, 0x175: 0x6f, 0x176: 0x70, 0x177: 0x71, + 0x178: 0x72, 0x179: 0x72, 0x17a: 0x73, 0x17b: 0x72, 0x17c: 0x74, 0x17d: 0x08, 0x17e: 0x09, 0x17f: 0x0a, + // Block 0x6, offset 0x180 + 0x180: 0x75, 0x181: 0x76, 0x182: 0x77, 0x183: 0x78, 0x184: 0x0b, 0x185: 0x79, 0x186: 0x7a, + 0x192: 0x7b, 0x193: 0x0c, + 0x1b0: 0x7c, 0x1b1: 0x0d, 0x1b2: 0x72, 0x1b3: 0x7d, 0x1b4: 0x7e, 0x1b5: 0x7f, 0x1b6: 0x80, 0x1b7: 0x81, + 0x1b8: 0x82, + // Block 0x7, offset 0x1c0 + 0x1c0: 0x83, 0x1c2: 0x84, 0x1c3: 0x85, 0x1c4: 0x86, 0x1c5: 0x23, 0x1c6: 0x87, + // Block 0x8, offset 0x200 + 0x200: 0x88, 0x201: 0x23, 0x202: 0x23, 0x203: 0x23, 0x204: 0x23, 0x205: 0x23, 0x206: 0x23, 0x207: 0x23, + 0x208: 0x23, 0x209: 0x23, 0x20a: 0x23, 0x20b: 0x23, 0x20c: 0x23, 0x20d: 0x23, 0x20e: 0x23, 0x20f: 0x23, + 0x210: 0x23, 0x211: 0x23, 0x212: 0x89, 0x213: 0x8a, 0x214: 0x23, 0x215: 0x23, 0x216: 0x23, 0x217: 0x23, + 0x218: 0x8b, 0x219: 0x8c, 0x21a: 0x8d, 0x21b: 0x8e, 0x21c: 0x8f, 0x21d: 0x90, 0x21e: 0x0e, 0x21f: 0x91, + 0x220: 0x92, 0x221: 0x93, 0x222: 0x23, 0x223: 0x94, 0x224: 0x95, 0x225: 0x96, 0x226: 0x97, 0x227: 0x98, + 0x228: 0x99, 0x229: 0x9a, 0x22a: 0x9b, 0x22b: 0x9c, 0x22c: 0x9d, 0x22d: 0x9e, 0x22e: 0x9f, 0x22f: 0xa0, + 0x230: 0x23, 0x231: 0x23, 0x232: 0x23, 0x233: 0x23, 0x234: 0x23, 0x235: 0x23, 0x236: 0x23, 0x237: 0x23, + 0x238: 0x23, 0x239: 0x23, 0x23a: 0x23, 0x23b: 0x23, 0x23c: 0x23, 0x23d: 0x23, 0x23e: 0x23, 0x23f: 0x23, + // Block 0x9, offset 0x240 + 0x240: 0x23, 0x241: 0x23, 0x242: 0x23, 0x243: 0x23, 0x244: 0x23, 0x245: 0x23, 0x246: 0x23, 0x247: 0x23, + 0x248: 0x23, 0x249: 0x23, 0x24a: 0x23, 0x24b: 0x23, 0x24c: 0x23, 0x24d: 0x23, 0x24e: 0x23, 0x24f: 0x23, + 0x250: 0x23, 0x251: 0x23, 0x252: 0x23, 0x253: 0x23, 0x254: 0x23, 0x255: 0x23, 0x256: 0x23, 0x257: 0x23, + 0x258: 0x23, 0x259: 0x23, 0x25a: 0x23, 0x25b: 0x23, 0x25c: 0x23, 0x25d: 0x23, 0x25e: 0x23, 0x25f: 0x23, + 0x260: 0x23, 0x261: 0x23, 0x262: 0x23, 0x263: 0x23, 0x264: 0x23, 0x265: 0x23, 0x266: 0x23, 0x267: 0x23, + 0x268: 0x23, 0x269: 0x23, 0x26a: 0x23, 0x26b: 0x23, 0x26c: 0x23, 0x26d: 0x23, 0x26e: 0x23, 0x26f: 0x23, + 0x270: 0x23, 0x271: 0x23, 0x272: 0x23, 0x273: 0x23, 0x274: 0x23, 0x275: 0x23, 0x276: 0x23, 0x277: 0x23, + 0x278: 0x23, 0x279: 0x23, 0x27a: 0x23, 0x27b: 0x23, 0x27c: 0x23, 0x27d: 0x23, 0x27e: 0x23, 0x27f: 0x23, + // Block 0xa, offset 0x280 + 0x280: 0x23, 0x281: 0x23, 0x282: 0x23, 0x283: 0x23, 0x284: 0x23, 0x285: 0x23, 0x286: 0x23, 0x287: 0x23, + 0x288: 0x23, 0x289: 0x23, 0x28a: 0x23, 0x28b: 0x23, 0x28c: 0x23, 0x28d: 0x23, 0x28e: 0x23, 0x28f: 0x23, + 0x290: 0x23, 0x291: 0x23, 0x292: 0x23, 0x293: 0x23, 0x294: 0x23, 0x295: 0x23, 0x296: 0x23, 0x297: 0x23, + 0x298: 0x23, 0x299: 0x23, 0x29a: 0x23, 0x29b: 0x23, 0x29c: 0x23, 0x29d: 0x23, 0x29e: 0xa1, 0x29f: 0xa2, + // Block 0xb, offset 0x2c0 + 0x2ec: 0x0f, 0x2ed: 0xa3, 0x2ee: 0xa4, 0x2ef: 0xa5, + 0x2f0: 0x23, 0x2f1: 0x23, 0x2f2: 0x23, 0x2f3: 0x23, 0x2f4: 0xa6, 0x2f5: 0xa7, 0x2f6: 0xa8, 0x2f7: 0xa9, + 0x2f8: 0xaa, 0x2f9: 0xab, 0x2fa: 0x23, 0x2fb: 0xac, 0x2fc: 0xad, 0x2fd: 0xae, 0x2fe: 0xaf, 0x2ff: 0xb0, + // Block 0xc, offset 0x300 + 0x300: 0xb1, 0x301: 0xb2, 0x302: 0x23, 0x303: 0xb3, 0x305: 0xb4, 0x307: 0xb5, + 0x30a: 0xb6, 0x30b: 0xb7, 0x30c: 0xb8, 0x30d: 0xb9, 0x30e: 0xba, 0x30f: 0xbb, + 0x310: 0xbc, 0x311: 0xbd, 0x312: 0xbe, 0x313: 0xbf, 0x314: 0xc0, 0x315: 0xc1, + 0x318: 0x23, 0x319: 0x23, 0x31a: 0x23, 0x31b: 0x23, 0x31c: 0xc2, 0x31d: 0xc3, + 0x320: 0xc4, 0x321: 0xc5, 0x322: 0xc6, 0x323: 0xc7, 0x324: 0xc8, 0x326: 0xc9, + 0x328: 0xca, 0x329: 0xcb, 0x32a: 0xcc, 0x32b: 0xcd, 0x32c: 0x5f, 0x32d: 0xce, 0x32e: 0xcf, + 0x330: 0x23, 0x331: 0xd0, 0x332: 0xd1, 0x333: 0xd2, + // Block 0xd, offset 0x340 + 0x340: 0xd3, 0x341: 0xd4, 0x342: 0xd5, 0x343: 0xd6, 0x344: 0xd7, 0x345: 0xd8, 0x346: 0xd9, 0x347: 0xda, + 0x348: 0xdb, 0x34a: 0xdc, 0x34b: 0xdd, 0x34c: 0xde, 0x34d: 0xdf, + 0x350: 0xe0, 0x351: 0xe1, 0x352: 0xe2, 0x353: 0xe3, 0x356: 0xe4, 0x357: 0xe5, + 0x358: 0xe6, 0x359: 0xe7, 0x35a: 0xe8, 0x35b: 0xe9, 0x35c: 0xea, + 0x362: 0xeb, 0x363: 0xec, + 0x36b: 0xed, + 0x370: 0xee, 0x371: 0xef, 0x372: 0xf0, + // Block 0xe, offset 0x380 + 0x380: 0x23, 0x381: 0x23, 0x382: 0x23, 0x383: 0x23, 0x384: 0x23, 0x385: 0x23, 0x386: 0x23, 0x387: 0x23, + 0x388: 0x23, 0x389: 0x23, 0x38a: 0x23, 0x38b: 0x23, 0x38c: 0x23, 0x38d: 0x23, 0x38e: 0xf1, + 0x390: 0x23, 0x391: 0xf2, 0x392: 0x23, 0x393: 0x23, 0x394: 0x23, 0x395: 0xf3, + // Block 0xf, offset 0x3c0 + 0x3c0: 0x23, 0x3c1: 0x23, 0x3c2: 0x23, 0x3c3: 0x23, 0x3c4: 0x23, 0x3c5: 0x23, 0x3c6: 0x23, 0x3c7: 0x23, + 0x3c8: 0x23, 0x3c9: 0x23, 0x3ca: 0x23, 0x3cb: 0x23, 0x3cc: 0x23, 0x3cd: 0x23, 0x3ce: 0x23, 0x3cf: 0x23, + 0x3d0: 0xf2, + // Block 0x10, offset 0x400 + 0x410: 0x23, 0x411: 0x23, 0x412: 0x23, 0x413: 0x23, 0x414: 0x23, 0x415: 0x23, 0x416: 0x23, 0x417: 0x23, + 0x418: 0x23, 0x419: 0xf4, + // Block 0x11, offset 0x440 + 0x460: 0x23, 0x461: 0x23, 0x462: 0x23, 0x463: 0x23, 0x464: 0x23, 0x465: 0x23, 0x466: 0x23, 0x467: 0x23, + 0x468: 0xed, 0x469: 0xf5, 0x46b: 0xf6, 0x46c: 0xf7, 0x46d: 0xf8, 0x46e: 0xf9, + 0x47c: 0x23, 0x47d: 0xfa, 0x47e: 0xfb, 0x47f: 0xfc, + // Block 0x12, offset 0x480 + 0x4b0: 0x23, 0x4b1: 0xfd, 0x4b2: 0xfe, + // Block 0x13, offset 0x4c0 + 0x4c5: 0xff, 0x4c6: 0x100, + 0x4c9: 0x101, + 0x4d0: 0x102, 0x4d1: 0x103, 0x4d2: 0x104, 0x4d3: 0x105, 0x4d4: 0x106, 0x4d5: 0x107, 0x4d6: 0x108, 0x4d7: 0x109, + 0x4d8: 0x10a, 0x4d9: 0x10b, 0x4da: 0x10c, 0x4db: 0x10d, 0x4dc: 0x10e, 0x4dd: 0x10f, 0x4de: 0x110, 0x4df: 0x111, + 0x4e8: 0x112, 0x4e9: 0x113, 0x4ea: 0x114, + // Block 0x14, offset 0x500 + 0x500: 0x115, + 0x520: 0x23, 0x521: 0x23, 0x522: 0x23, 0x523: 0x116, 0x524: 0x10, 0x525: 0x117, + 0x538: 0x118, 0x539: 0x11, 0x53a: 0x119, + // Block 0x15, offset 0x540 + 0x544: 0x11a, 0x545: 0x11b, 0x546: 0x11c, + 0x54f: 0x11d, + // Block 0x16, offset 0x580 + 0x590: 0x0a, 0x591: 0x0b, 0x592: 0x0c, 0x593: 0x0d, 0x594: 0x0e, 0x596: 0x0f, + 0x59b: 0x10, 0x59d: 0x11, 0x59e: 0x12, 0x59f: 0x13, + // Block 0x17, offset 0x5c0 + 0x5c0: 0x11e, 0x5c1: 0x11f, 0x5c4: 0x11f, 0x5c5: 0x11f, 0x5c6: 0x11f, 0x5c7: 0x120, + // Block 0x18, offset 0x600 + 0x620: 0x15, +} + +// sparseOffsets: 272 entries, 544 bytes +var sparseOffsets = []uint16{0x0, 0x9, 0xf, 0x18, 0x24, 0x2e, 0x3a, 0x3d, 0x41, 0x44, 0x48, 0x52, 0x54, 0x59, 0x69, 0x70, 0x75, 0x83, 0x84, 0x92, 0xa1, 0xab, 0xae, 0xb4, 0xbc, 0xbe, 0xc0, 0xce, 0xd4, 0xe2, 0xed, 0xf8, 0x103, 0x10f, 0x119, 0x124, 0x12f, 0x13b, 0x147, 0x14f, 0x157, 0x161, 0x16c, 0x178, 0x17e, 0x189, 0x18e, 0x196, 0x199, 0x19e, 0x1a2, 0x1a6, 0x1ad, 0x1b6, 0x1be, 0x1bf, 0x1c8, 0x1cf, 0x1d7, 0x1dd, 0x1e3, 0x1e8, 0x1ec, 0x1ef, 0x1f1, 0x1f4, 0x1f9, 0x1fa, 0x1fc, 0x1fe, 0x200, 0x207, 0x20c, 0x210, 0x219, 0x21c, 0x21f, 0x225, 0x226, 0x231, 0x232, 0x233, 0x238, 0x245, 0x24d, 0x255, 0x25e, 0x267, 0x270, 0x275, 0x278, 0x281, 0x28e, 0x290, 0x297, 0x299, 0x2a4, 0x2a5, 0x2b0, 0x2b8, 0x2c0, 0x2c6, 0x2c7, 0x2d5, 0x2da, 0x2dd, 0x2e2, 0x2e6, 0x2ec, 0x2f1, 0x2f4, 0x2f9, 0x2fe, 0x2ff, 0x305, 0x307, 0x308, 0x30a, 0x30c, 0x30f, 0x310, 0x312, 0x315, 0x31b, 0x31f, 0x321, 0x327, 0x32e, 0x332, 0x33b, 0x33c, 0x344, 0x348, 0x34d, 0x355, 0x35b, 0x361, 0x36b, 0x370, 0x379, 0x37f, 0x386, 0x38a, 0x392, 0x394, 0x396, 0x399, 0x39b, 0x39d, 0x39e, 0x39f, 0x3a1, 0x3a3, 0x3a9, 0x3ae, 0x3b0, 0x3b6, 0x3b9, 0x3bb, 0x3c1, 0x3c6, 0x3c8, 0x3c9, 0x3ca, 0x3cb, 0x3cd, 0x3cf, 0x3d1, 0x3d4, 0x3d6, 0x3d9, 0x3e1, 0x3e4, 0x3e8, 0x3f0, 0x3f2, 0x3f3, 0x3f4, 0x3f6, 0x3fc, 0x3fe, 0x3ff, 0x401, 0x403, 0x405, 0x412, 0x413, 0x414, 0x418, 0x41a, 0x41b, 0x41c, 0x41d, 0x41e, 0x422, 0x426, 0x42c, 0x42e, 0x435, 0x438, 0x43c, 0x442, 0x44b, 0x451, 0x457, 0x461, 0x46b, 0x46d, 0x474, 0x47a, 0x480, 0x486, 0x489, 0x48f, 0x492, 0x49a, 0x49b, 0x4a2, 0x4a3, 0x4a6, 0x4a7, 0x4ad, 0x4b0, 0x4b8, 0x4b9, 0x4ba, 0x4bb, 0x4bc, 0x4be, 0x4c0, 0x4c2, 0x4c6, 0x4c7, 0x4c9, 0x4ca, 0x4cb, 0x4cd, 0x4d2, 0x4d7, 0x4db, 0x4dc, 0x4df, 0x4e3, 0x4ee, 0x4f2, 0x4fa, 0x4ff, 0x503, 0x506, 0x50a, 0x50d, 0x510, 0x515, 0x519, 0x51d, 0x521, 0x525, 0x527, 0x529, 0x52c, 0x531, 0x533, 0x538, 0x541, 0x546, 0x547, 0x54a, 0x54b, 0x54c, 0x54e, 0x54f, 0x550} + +// sparseValues: 1360 entries, 5440 bytes +var sparseValues = [1360]valueRange{ + // Block 0x0, offset 0x0 + {value: 0x0004, lo: 0xa8, hi: 0xa8}, + {value: 0x0012, lo: 0xaa, hi: 0xaa}, + {value: 0x0014, lo: 0xad, hi: 0xad}, + {value: 0x0004, lo: 0xaf, hi: 0xaf}, + {value: 0x0004, lo: 0xb4, hi: 0xb4}, + {value: 0x001a, lo: 0xb5, hi: 0xb5}, + {value: 0x0054, lo: 0xb7, hi: 0xb7}, + {value: 0x0004, lo: 0xb8, hi: 0xb8}, + {value: 0x0012, lo: 0xba, hi: 0xba}, + // Block 0x1, offset 0x9 + {value: 0x2013, lo: 0x80, hi: 0x96}, + {value: 0x2013, lo: 0x98, hi: 0x9e}, + {value: 0x009a, lo: 0x9f, hi: 0x9f}, + {value: 0x2012, lo: 0xa0, hi: 0xb6}, + {value: 0x2012, lo: 0xb8, hi: 0xbe}, + {value: 0x0252, lo: 0xbf, hi: 0xbf}, + // Block 0x2, offset 0xf + {value: 0x0117, lo: 0x80, hi: 0xaf}, + {value: 0x011b, lo: 0xb0, hi: 0xb0}, + {value: 0x019a, lo: 0xb1, hi: 0xb1}, + {value: 0x0117, lo: 0xb2, hi: 0xb7}, + {value: 0x0012, lo: 0xb8, hi: 0xb8}, + {value: 0x0316, lo: 0xb9, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x0316, lo: 0xbd, hi: 0xbe}, + {value: 0x0553, lo: 0xbf, hi: 0xbf}, + // Block 0x3, offset 0x18 + {value: 0x0552, lo: 0x80, hi: 0x80}, + {value: 0x0316, lo: 0x81, hi: 0x82}, + {value: 0x0716, lo: 0x83, hi: 0x84}, + {value: 0x0316, lo: 0x85, hi: 0x86}, + {value: 0x0f16, lo: 0x87, hi: 0x88}, + {value: 0x01da, lo: 0x89, hi: 0x89}, + {value: 0x0117, lo: 0x8a, hi: 0xb7}, + {value: 0x0253, lo: 0xb8, hi: 0xb8}, + {value: 0x0316, lo: 0xb9, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x0316, lo: 0xbd, hi: 0xbe}, + {value: 0x028a, lo: 0xbf, hi: 0xbf}, + // Block 0x4, offset 0x24 + {value: 0x0117, lo: 0x80, hi: 0x9f}, + {value: 0x2f53, lo: 0xa0, hi: 0xa0}, + {value: 0x0012, lo: 0xa1, hi: 0xa1}, + {value: 0x0117, lo: 0xa2, hi: 0xb3}, + {value: 0x0012, lo: 0xb4, hi: 0xb9}, + {value: 0x090b, lo: 0xba, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x2953, lo: 0xbd, hi: 0xbd}, + {value: 0x098b, lo: 0xbe, hi: 0xbe}, + {value: 0x0a0a, lo: 0xbf, hi: 0xbf}, + // Block 0x5, offset 0x2e + {value: 0x0015, lo: 0x80, hi: 0x81}, + {value: 0x0004, lo: 0x82, hi: 0x85}, + {value: 0x0014, lo: 0x86, hi: 0x91}, + {value: 0x0004, lo: 0x92, hi: 0x96}, + {value: 0x0054, lo: 0x97, hi: 0x97}, + {value: 0x0004, lo: 0x98, hi: 0x9f}, + {value: 0x0015, lo: 0xa0, hi: 0xa4}, + {value: 0x0004, lo: 0xa5, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xac}, + {value: 0x0004, lo: 0xad, hi: 0xad}, + {value: 0x0014, lo: 0xae, hi: 0xae}, + {value: 0x0004, lo: 0xaf, hi: 0xbf}, + // Block 0x6, offset 0x3a + {value: 0x0024, lo: 0x80, hi: 0x94}, + {value: 0x0034, lo: 0x95, hi: 0xbc}, + {value: 0x0024, lo: 0xbd, hi: 0xbf}, + // Block 0x7, offset 0x3d + {value: 0x6553, lo: 0x80, hi: 0x8f}, + {value: 0x2013, lo: 0x90, hi: 0x9f}, + {value: 0x5f53, lo: 0xa0, hi: 0xaf}, + {value: 0x2012, lo: 0xb0, hi: 0xbf}, + // Block 0x8, offset 0x41 + {value: 0x5f52, lo: 0x80, hi: 0x8f}, + {value: 0x6552, lo: 0x90, hi: 0x9f}, + {value: 0x0117, lo: 0xa0, hi: 0xbf}, + // Block 0x9, offset 0x44 + {value: 0x0117, lo: 0x80, hi: 0x81}, + {value: 0x0024, lo: 0x83, hi: 0x87}, + {value: 0x0014, lo: 0x88, hi: 0x89}, + {value: 0x0117, lo: 0x8a, hi: 0xbf}, + // Block 0xa, offset 0x48 + {value: 0x0f13, lo: 0x80, hi: 0x80}, + {value: 0x0316, lo: 0x81, hi: 0x82}, + {value: 0x0716, lo: 0x83, hi: 0x84}, + {value: 0x0316, lo: 0x85, hi: 0x86}, + {value: 0x0f16, lo: 0x87, hi: 0x88}, + {value: 0x0316, lo: 0x89, hi: 0x8a}, + {value: 0x0716, lo: 0x8b, hi: 0x8c}, + {value: 0x0316, lo: 0x8d, hi: 0x8e}, + {value: 0x0f12, lo: 0x8f, hi: 0x8f}, + {value: 0x0117, lo: 0x90, hi: 0xbf}, + // Block 0xb, offset 0x52 + {value: 0x0117, lo: 0x80, hi: 0xaf}, + {value: 0x6553, lo: 0xb1, hi: 0xbf}, + // Block 0xc, offset 0x54 + {value: 0x3013, lo: 0x80, hi: 0x8f}, + {value: 0x6853, lo: 0x90, hi: 0x96}, + {value: 0x0014, lo: 0x99, hi: 0x99}, + {value: 0x6552, lo: 0xa1, hi: 0xaf}, + {value: 0x3012, lo: 0xb0, hi: 0xbf}, + // Block 0xd, offset 0x59 + {value: 0x6852, lo: 0x80, hi: 0x86}, + {value: 0x198a, lo: 0x87, hi: 0x87}, + {value: 0x0034, lo: 0x91, hi: 0x91}, + {value: 0x0024, lo: 0x92, hi: 0x95}, + {value: 0x0034, lo: 0x96, hi: 0x96}, + {value: 0x0024, lo: 0x97, hi: 0x99}, + {value: 0x0034, lo: 0x9a, hi: 0x9b}, + {value: 0x0024, lo: 0x9c, hi: 0xa1}, + {value: 0x0034, lo: 0xa2, hi: 0xa7}, + {value: 0x0024, lo: 0xa8, hi: 0xa9}, + {value: 0x0034, lo: 0xaa, hi: 0xaa}, + {value: 0x0024, lo: 0xab, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xae}, + {value: 0x0024, lo: 0xaf, hi: 0xaf}, + {value: 0x0034, lo: 0xb0, hi: 0xbd}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xe, offset 0x69 + {value: 0x0034, lo: 0x81, hi: 0x82}, + {value: 0x0024, lo: 0x84, hi: 0x84}, + {value: 0x0034, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xb3}, + {value: 0x0054, lo: 0xb4, hi: 0xb4}, + // Block 0xf, offset 0x70 + {value: 0x0014, lo: 0x80, hi: 0x85}, + {value: 0x0024, lo: 0x90, hi: 0x97}, + {value: 0x0034, lo: 0x98, hi: 0x9a}, + {value: 0x0014, lo: 0x9c, hi: 0x9c}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x10, offset 0x75 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x8a}, + {value: 0x0034, lo: 0x8b, hi: 0x92}, + {value: 0x0024, lo: 0x93, hi: 0x94}, + {value: 0x0034, lo: 0x95, hi: 0x96}, + {value: 0x0024, lo: 0x97, hi: 0x9b}, + {value: 0x0034, lo: 0x9c, hi: 0x9c}, + {value: 0x0024, lo: 0x9d, hi: 0x9e}, + {value: 0x0034, lo: 0x9f, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0x0010, lo: 0xab, hi: 0xab}, + {value: 0x0010, lo: 0xae, hi: 0xaf}, + {value: 0x0034, lo: 0xb0, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xbf}, + // Block 0x11, offset 0x83 + {value: 0x0010, lo: 0x80, hi: 0xbf}, + // Block 0x12, offset 0x84 + {value: 0x0010, lo: 0x80, hi: 0x93}, + {value: 0x0010, lo: 0x95, hi: 0x95}, + {value: 0x0024, lo: 0x96, hi: 0x9c}, + {value: 0x0014, lo: 0x9d, hi: 0x9d}, + {value: 0x0024, lo: 0x9f, hi: 0xa2}, + {value: 0x0034, lo: 0xa3, hi: 0xa3}, + {value: 0x0024, lo: 0xa4, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xa6}, + {value: 0x0024, lo: 0xa7, hi: 0xa8}, + {value: 0x0034, lo: 0xaa, hi: 0xaa}, + {value: 0x0024, lo: 0xab, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xbc}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x13, offset 0x92 + {value: 0x0014, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0034, lo: 0x91, hi: 0x91}, + {value: 0x0010, lo: 0x92, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb0}, + {value: 0x0034, lo: 0xb1, hi: 0xb1}, + {value: 0x0024, lo: 0xb2, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0024, lo: 0xb5, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb9}, + {value: 0x0024, lo: 0xba, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbc}, + {value: 0x0024, lo: 0xbd, hi: 0xbd}, + {value: 0x0034, lo: 0xbe, hi: 0xbe}, + {value: 0x0024, lo: 0xbf, hi: 0xbf}, + // Block 0x14, offset 0xa1 + {value: 0x0024, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0024, lo: 0x83, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x84}, + {value: 0x0024, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0024, lo: 0x87, hi: 0x87}, + {value: 0x0034, lo: 0x88, hi: 0x88}, + {value: 0x0024, lo: 0x89, hi: 0x8a}, + {value: 0x0010, lo: 0x8d, hi: 0xbf}, + // Block 0x15, offset 0xab + {value: 0x0010, lo: 0x80, hi: 0xa5}, + {value: 0x0014, lo: 0xa6, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + // Block 0x16, offset 0xae + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0024, lo: 0xab, hi: 0xb1}, + {value: 0x0034, lo: 0xb2, hi: 0xb2}, + {value: 0x0024, lo: 0xb3, hi: 0xb3}, + {value: 0x0014, lo: 0xb4, hi: 0xb5}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + // Block 0x17, offset 0xb4 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0024, lo: 0x96, hi: 0x99}, + {value: 0x0014, lo: 0x9a, hi: 0x9a}, + {value: 0x0024, lo: 0x9b, hi: 0xa3}, + {value: 0x0014, lo: 0xa4, hi: 0xa4}, + {value: 0x0024, lo: 0xa5, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa8}, + {value: 0x0024, lo: 0xa9, hi: 0xad}, + // Block 0x18, offset 0xbc + {value: 0x0010, lo: 0x80, hi: 0x98}, + {value: 0x0034, lo: 0x99, hi: 0x9b}, + // Block 0x19, offset 0xbe + {value: 0x0010, lo: 0xa0, hi: 0xb4}, + {value: 0x0010, lo: 0xb6, hi: 0xbd}, + // Block 0x1a, offset 0xc0 + {value: 0x0024, lo: 0x94, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa2}, + {value: 0x0034, lo: 0xa3, hi: 0xa3}, + {value: 0x0024, lo: 0xa4, hi: 0xa5}, + {value: 0x0034, lo: 0xa6, hi: 0xa6}, + {value: 0x0024, lo: 0xa7, hi: 0xa8}, + {value: 0x0034, lo: 0xa9, hi: 0xa9}, + {value: 0x0024, lo: 0xaa, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xb2}, + {value: 0x0024, lo: 0xb3, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb6}, + {value: 0x0024, lo: 0xb7, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0024, lo: 0xbb, hi: 0xbf}, + // Block 0x1b, offset 0xce + {value: 0x0014, lo: 0x80, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0xb9}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x1c, offset 0xd4 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x88}, + {value: 0x0010, lo: 0x89, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0024, lo: 0x91, hi: 0x91}, + {value: 0x0034, lo: 0x92, hi: 0x92}, + {value: 0x0024, lo: 0x93, hi: 0x94}, + {value: 0x0014, lo: 0x95, hi: 0x97}, + {value: 0x0010, lo: 0x98, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0014, lo: 0xb1, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xbf}, + // Block 0x1d, offset 0xe2 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb2}, + {value: 0x0010, lo: 0xb6, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x1e, offset 0xed + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8e, hi: 0x8e}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x9c, hi: 0x9d}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xb1}, + // Block 0x1f, offset 0xf8 + {value: 0x0014, lo: 0x81, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8a}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb6}, + {value: 0x0010, lo: 0xb8, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x20, offset 0x103 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x82}, + {value: 0x0014, lo: 0x87, hi: 0x88}, + {value: 0x0014, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0014, lo: 0x91, hi: 0x91}, + {value: 0x0010, lo: 0x99, hi: 0x9c}, + {value: 0x0010, lo: 0x9e, hi: 0x9e}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb5}, + // Block 0x21, offset 0x10f + {value: 0x0014, lo: 0x81, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8d}, + {value: 0x0010, lo: 0x8f, hi: 0x91}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x22, offset 0x119 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x85}, + {value: 0x0014, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x89, hi: 0x89}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb9, hi: 0xb9}, + // Block 0x23, offset 0x124 + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x24, offset 0x12f + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0014, lo: 0x96, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x9c, hi: 0x9d}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + // Block 0x25, offset 0x13b + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8a}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0x95}, + {value: 0x0010, lo: 0x99, hi: 0x9a}, + {value: 0x0010, lo: 0x9c, hi: 0x9c}, + {value: 0x0010, lo: 0x9e, hi: 0x9f}, + {value: 0x0010, lo: 0xa3, hi: 0xa4}, + {value: 0x0010, lo: 0xa8, hi: 0xaa}, + {value: 0x0010, lo: 0xae, hi: 0xb9}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x26, offset 0x147 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x82}, + {value: 0x0010, lo: 0x86, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + // Block 0x27, offset 0x14f + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb9}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + {value: 0x0014, lo: 0xbe, hi: 0xbf}, + // Block 0x28, offset 0x157 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x84}, + {value: 0x0014, lo: 0x86, hi: 0x88}, + {value: 0x0014, lo: 0x8a, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0034, lo: 0x95, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x9a}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + // Block 0x29, offset 0x161 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x2a, offset 0x16c + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0014, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x95, hi: 0x96}, + {value: 0x0010, lo: 0x9e, hi: 0x9e}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb1, hi: 0xb2}, + // Block 0x2b, offset 0x178 + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0xba}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x2c, offset 0x17e + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x86, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8e, hi: 0x8e}, + {value: 0x0010, lo: 0x94, hi: 0x97}, + {value: 0x0010, lo: 0x9f, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa3}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xba, hi: 0xbf}, + // Block 0x2d, offset 0x189 + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x96}, + {value: 0x0010, lo: 0x9a, hi: 0xb1}, + {value: 0x0010, lo: 0xb3, hi: 0xbb}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + // Block 0x2e, offset 0x18e + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0010, lo: 0x8f, hi: 0x91}, + {value: 0x0014, lo: 0x92, hi: 0x94}, + {value: 0x0014, lo: 0x96, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x9f}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + // Block 0x2f, offset 0x196 + {value: 0x0014, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb4, hi: 0xb7}, + {value: 0x0034, lo: 0xb8, hi: 0xba}, + // Block 0x30, offset 0x199 + {value: 0x0004, lo: 0x86, hi: 0x86}, + {value: 0x0014, lo: 0x87, hi: 0x87}, + {value: 0x0034, lo: 0x88, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x31, offset 0x19e + {value: 0x0014, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb4, hi: 0xb7}, + {value: 0x0034, lo: 0xb8, hi: 0xb9}, + {value: 0x0014, lo: 0xbb, hi: 0xbc}, + // Block 0x32, offset 0x1a2 + {value: 0x0004, lo: 0x86, hi: 0x86}, + {value: 0x0034, lo: 0x88, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x33, offset 0x1a6 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0034, lo: 0x98, hi: 0x99}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0x0034, lo: 0xb5, hi: 0xb5}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + {value: 0x0034, lo: 0xb9, hi: 0xb9}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x34, offset 0x1ad + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0010, lo: 0x89, hi: 0xac}, + {value: 0x0034, lo: 0xb1, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xba, hi: 0xbd}, + {value: 0x0014, lo: 0xbe, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x35, offset 0x1b6 + {value: 0x0034, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0024, lo: 0x82, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x84}, + {value: 0x0024, lo: 0x86, hi: 0x87}, + {value: 0x0010, lo: 0x88, hi: 0x8c}, + {value: 0x0014, lo: 0x8d, hi: 0x97}, + {value: 0x0014, lo: 0x99, hi: 0xbc}, + // Block 0x36, offset 0x1be + {value: 0x0034, lo: 0x86, hi: 0x86}, + // Block 0x37, offset 0x1bf + {value: 0x0010, lo: 0xab, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + {value: 0x0010, lo: 0xb8, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbc}, + {value: 0x0014, lo: 0xbd, hi: 0xbe}, + // Block 0x38, offset 0x1c8 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x96, hi: 0x97}, + {value: 0x0014, lo: 0x98, hi: 0x99}, + {value: 0x0014, lo: 0x9e, hi: 0xa0}, + {value: 0x0010, lo: 0xa2, hi: 0xa4}, + {value: 0x0010, lo: 0xa7, hi: 0xad}, + {value: 0x0014, lo: 0xb1, hi: 0xb4}, + // Block 0x39, offset 0x1cf + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x84}, + {value: 0x0014, lo: 0x85, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x8f, hi: 0x9c}, + {value: 0x0014, lo: 0x9d, hi: 0x9d}, + {value: 0x6c53, lo: 0xa0, hi: 0xbf}, + // Block 0x3a, offset 0x1d7 + {value: 0x7053, lo: 0x80, hi: 0x85}, + {value: 0x7053, lo: 0x87, hi: 0x87}, + {value: 0x7053, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0xba}, + {value: 0x0014, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x3b, offset 0x1dd + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x98}, + {value: 0x0010, lo: 0x9a, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x3c, offset 0x1e3 + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb5}, + {value: 0x0010, lo: 0xb8, hi: 0xbe}, + // Block 0x3d, offset 0x1e8 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x82, hi: 0x85}, + {value: 0x0010, lo: 0x88, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0xbf}, + // Block 0x3e, offset 0x1ec + {value: 0x0010, lo: 0x80, hi: 0x90}, + {value: 0x0010, lo: 0x92, hi: 0x95}, + {value: 0x0010, lo: 0x98, hi: 0xbf}, + // Block 0x3f, offset 0x1ef + {value: 0x0010, lo: 0x80, hi: 0x9a}, + {value: 0x0024, lo: 0x9d, hi: 0x9f}, + // Block 0x40, offset 0x1f1 + {value: 0x0010, lo: 0x80, hi: 0x8f}, + {value: 0x7453, lo: 0xa0, hi: 0xaf}, + {value: 0x7853, lo: 0xb0, hi: 0xbf}, + // Block 0x41, offset 0x1f4 + {value: 0x7c53, lo: 0x80, hi: 0x8f}, + {value: 0x8053, lo: 0x90, hi: 0x9f}, + {value: 0x7c53, lo: 0xa0, hi: 0xaf}, + {value: 0x0813, lo: 0xb0, hi: 0xb5}, + {value: 0x0892, lo: 0xb8, hi: 0xbd}, + // Block 0x42, offset 0x1f9 + {value: 0x0010, lo: 0x81, hi: 0xbf}, + // Block 0x43, offset 0x1fa + {value: 0x0010, lo: 0x80, hi: 0xac}, + {value: 0x0010, lo: 0xaf, hi: 0xbf}, + // Block 0x44, offset 0x1fc + {value: 0x0010, lo: 0x81, hi: 0x9a}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x45, offset 0x1fe + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0010, lo: 0xae, hi: 0xb8}, + // Block 0x46, offset 0x200 + {value: 0x0010, lo: 0x80, hi: 0x8c}, + {value: 0x0010, lo: 0x8e, hi: 0x91}, + {value: 0x0014, lo: 0x92, hi: 0x93}, + {value: 0x0034, lo: 0x94, hi: 0x94}, + {value: 0x0010, lo: 0xa0, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + // Block 0x47, offset 0x207 + {value: 0x0010, lo: 0x80, hi: 0x91}, + {value: 0x0014, lo: 0x92, hi: 0x93}, + {value: 0x0010, lo: 0xa0, hi: 0xac}, + {value: 0x0010, lo: 0xae, hi: 0xb0}, + {value: 0x0014, lo: 0xb2, hi: 0xb3}, + // Block 0x48, offset 0x20c + {value: 0x0014, lo: 0xb4, hi: 0xb5}, + {value: 0x0010, lo: 0xb6, hi: 0xb6}, + {value: 0x0014, lo: 0xb7, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0x49, offset 0x210 + {value: 0x0010, lo: 0x80, hi: 0x85}, + {value: 0x0014, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0014, lo: 0x89, hi: 0x91}, + {value: 0x0034, lo: 0x92, hi: 0x92}, + {value: 0x0014, lo: 0x93, hi: 0x93}, + {value: 0x0004, lo: 0x97, hi: 0x97}, + {value: 0x0024, lo: 0x9d, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + // Block 0x4a, offset 0x219 + {value: 0x0014, lo: 0x8b, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x4b, offset 0x21c + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0xb7}, + // Block 0x4c, offset 0x21f + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0014, lo: 0x85, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0xa8}, + {value: 0x0034, lo: 0xa9, hi: 0xa9}, + {value: 0x0010, lo: 0xaa, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x4d, offset 0x225 + {value: 0x0010, lo: 0x80, hi: 0xb5}, + // Block 0x4e, offset 0x226 + {value: 0x0010, lo: 0x80, hi: 0x9e}, + {value: 0x0014, lo: 0xa0, hi: 0xa2}, + {value: 0x0010, lo: 0xa3, hi: 0xa6}, + {value: 0x0014, lo: 0xa7, hi: 0xa8}, + {value: 0x0010, lo: 0xa9, hi: 0xab}, + {value: 0x0010, lo: 0xb0, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb2}, + {value: 0x0010, lo: 0xb3, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xb9}, + {value: 0x0024, lo: 0xba, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbb}, + // Block 0x4f, offset 0x231 + {value: 0x0010, lo: 0x86, hi: 0x8f}, + // Block 0x50, offset 0x232 + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x51, offset 0x233 + {value: 0x0010, lo: 0x80, hi: 0x96}, + {value: 0x0024, lo: 0x97, hi: 0x97}, + {value: 0x0034, lo: 0x98, hi: 0x98}, + {value: 0x0010, lo: 0x99, hi: 0x9a}, + {value: 0x0014, lo: 0x9b, hi: 0x9b}, + // Block 0x52, offset 0x238 + {value: 0x0010, lo: 0x95, hi: 0x95}, + {value: 0x0014, lo: 0x96, hi: 0x96}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0014, lo: 0x98, hi: 0x9e}, + {value: 0x0034, lo: 0xa0, hi: 0xa0}, + {value: 0x0010, lo: 0xa1, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa2}, + {value: 0x0010, lo: 0xa3, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xac}, + {value: 0x0010, lo: 0xad, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb4}, + {value: 0x0024, lo: 0xb5, hi: 0xbc}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x53, offset 0x245 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0004, lo: 0xa7, hi: 0xa7}, + {value: 0x0024, lo: 0xb0, hi: 0xb4}, + {value: 0x0034, lo: 0xb5, hi: 0xba}, + {value: 0x0024, lo: 0xbb, hi: 0xbc}, + {value: 0x0034, lo: 0xbd, hi: 0xbd}, + {value: 0x0014, lo: 0xbe, hi: 0xbe}, + // Block 0x54, offset 0x24d + {value: 0x0014, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x55, offset 0x255 + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x83}, + {value: 0x0030, lo: 0x84, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x8b}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0024, lo: 0xab, hi: 0xab}, + {value: 0x0034, lo: 0xac, hi: 0xac}, + {value: 0x0024, lo: 0xad, hi: 0xb3}, + // Block 0x56, offset 0x25e + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa5}, + {value: 0x0010, lo: 0xa6, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa9}, + {value: 0x0030, lo: 0xaa, hi: 0xaa}, + {value: 0x0034, lo: 0xab, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xbf}, + // Block 0x57, offset 0x267 + {value: 0x0010, lo: 0x80, hi: 0xa5}, + {value: 0x0034, lo: 0xa6, hi: 0xa6}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa9}, + {value: 0x0010, lo: 0xaa, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xae}, + {value: 0x0014, lo: 0xaf, hi: 0xb1}, + {value: 0x0030, lo: 0xb2, hi: 0xb3}, + // Block 0x58, offset 0x270 + {value: 0x0010, lo: 0x80, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xb3}, + {value: 0x0010, lo: 0xb4, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + // Block 0x59, offset 0x275 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x8d, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbd}, + // Block 0x5a, offset 0x278 + {value: 0x1a6a, lo: 0x80, hi: 0x80}, + {value: 0x1aea, lo: 0x81, hi: 0x81}, + {value: 0x1b6a, lo: 0x82, hi: 0x82}, + {value: 0x1bea, lo: 0x83, hi: 0x83}, + {value: 0x1c6a, lo: 0x84, hi: 0x84}, + {value: 0x1cea, lo: 0x85, hi: 0x85}, + {value: 0x1d6a, lo: 0x86, hi: 0x86}, + {value: 0x1dea, lo: 0x87, hi: 0x87}, + {value: 0x1e6a, lo: 0x88, hi: 0x88}, + // Block 0x5b, offset 0x281 + {value: 0x0024, lo: 0x90, hi: 0x92}, + {value: 0x0034, lo: 0x94, hi: 0x99}, + {value: 0x0024, lo: 0x9a, hi: 0x9b}, + {value: 0x0034, lo: 0x9c, hi: 0x9f}, + {value: 0x0024, lo: 0xa0, hi: 0xa0}, + {value: 0x0010, lo: 0xa1, hi: 0xa1}, + {value: 0x0034, lo: 0xa2, hi: 0xa8}, + {value: 0x0010, lo: 0xa9, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xb3}, + {value: 0x0024, lo: 0xb4, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb6}, + {value: 0x0024, lo: 0xb8, hi: 0xb9}, + // Block 0x5c, offset 0x28e + {value: 0x0012, lo: 0x80, hi: 0xab}, + {value: 0x0015, lo: 0xac, hi: 0xbf}, + // Block 0x5d, offset 0x290 + {value: 0x0015, lo: 0x80, hi: 0xaa}, + {value: 0x0012, lo: 0xab, hi: 0xb7}, + {value: 0x0015, lo: 0xb8, hi: 0xb8}, + {value: 0x8452, lo: 0xb9, hi: 0xb9}, + {value: 0x0012, lo: 0xba, hi: 0xbc}, + {value: 0x8852, lo: 0xbd, hi: 0xbd}, + {value: 0x0012, lo: 0xbe, hi: 0xbf}, + // Block 0x5e, offset 0x297 + {value: 0x0012, lo: 0x80, hi: 0x9a}, + {value: 0x0015, lo: 0x9b, hi: 0xbf}, + // Block 0x5f, offset 0x299 + {value: 0x0024, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0024, lo: 0x83, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0024, lo: 0x8b, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x90}, + {value: 0x0024, lo: 0x91, hi: 0xb5}, + {value: 0x0024, lo: 0xbb, hi: 0xbb}, + {value: 0x0034, lo: 0xbc, hi: 0xbd}, + {value: 0x0024, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x60, offset 0x2a4 + {value: 0x0117, lo: 0x80, hi: 0xbf}, + // Block 0x61, offset 0x2a5 + {value: 0x0117, lo: 0x80, hi: 0x95}, + {value: 0x1f1a, lo: 0x96, hi: 0x96}, + {value: 0x1fca, lo: 0x97, hi: 0x97}, + {value: 0x207a, lo: 0x98, hi: 0x98}, + {value: 0x212a, lo: 0x99, hi: 0x99}, + {value: 0x21da, lo: 0x9a, hi: 0x9a}, + {value: 0x228a, lo: 0x9b, hi: 0x9b}, + {value: 0x0012, lo: 0x9c, hi: 0x9d}, + {value: 0x233b, lo: 0x9e, hi: 0x9e}, + {value: 0x0012, lo: 0x9f, hi: 0x9f}, + {value: 0x0117, lo: 0xa0, hi: 0xbf}, + // Block 0x62, offset 0x2b0 + {value: 0x0812, lo: 0x80, hi: 0x87}, + {value: 0x0813, lo: 0x88, hi: 0x8f}, + {value: 0x0812, lo: 0x90, hi: 0x95}, + {value: 0x0813, lo: 0x98, hi: 0x9d}, + {value: 0x0812, lo: 0xa0, hi: 0xa7}, + {value: 0x0813, lo: 0xa8, hi: 0xaf}, + {value: 0x0812, lo: 0xb0, hi: 0xb7}, + {value: 0x0813, lo: 0xb8, hi: 0xbf}, + // Block 0x63, offset 0x2b8 + {value: 0x0004, lo: 0x8b, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8f}, + {value: 0x0054, lo: 0x98, hi: 0x99}, + {value: 0x0054, lo: 0xa4, hi: 0xa4}, + {value: 0x0054, lo: 0xa7, hi: 0xa7}, + {value: 0x0014, lo: 0xaa, hi: 0xae}, + {value: 0x0010, lo: 0xaf, hi: 0xaf}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x64, offset 0x2c0 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x94, hi: 0x94}, + {value: 0x0014, lo: 0xa0, hi: 0xa4}, + {value: 0x0014, lo: 0xa6, hi: 0xaf}, + {value: 0x0015, lo: 0xb1, hi: 0xb1}, + {value: 0x0015, lo: 0xbf, hi: 0xbf}, + // Block 0x65, offset 0x2c6 + {value: 0x0015, lo: 0x90, hi: 0x9c}, + // Block 0x66, offset 0x2c7 + {value: 0x0024, lo: 0x90, hi: 0x91}, + {value: 0x0034, lo: 0x92, hi: 0x93}, + {value: 0x0024, lo: 0x94, hi: 0x97}, + {value: 0x0034, lo: 0x98, hi: 0x9a}, + {value: 0x0024, lo: 0x9b, hi: 0x9c}, + {value: 0x0014, lo: 0x9d, hi: 0xa0}, + {value: 0x0024, lo: 0xa1, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa4}, + {value: 0x0034, lo: 0xa5, hi: 0xa6}, + {value: 0x0024, lo: 0xa7, hi: 0xa7}, + {value: 0x0034, lo: 0xa8, hi: 0xa8}, + {value: 0x0024, lo: 0xa9, hi: 0xa9}, + {value: 0x0034, lo: 0xaa, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb0}, + // Block 0x67, offset 0x2d5 + {value: 0x0016, lo: 0x85, hi: 0x86}, + {value: 0x0012, lo: 0x87, hi: 0x89}, + {value: 0x9d52, lo: 0x8e, hi: 0x8e}, + {value: 0x1013, lo: 0xa0, hi: 0xaf}, + {value: 0x1012, lo: 0xb0, hi: 0xbf}, + // Block 0x68, offset 0x2da + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0716, lo: 0x83, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x88}, + // Block 0x69, offset 0x2dd + {value: 0xa053, lo: 0xb6, hi: 0xb7}, + {value: 0xa353, lo: 0xb8, hi: 0xb9}, + {value: 0xa653, lo: 0xba, hi: 0xbb}, + {value: 0xa353, lo: 0xbc, hi: 0xbd}, + {value: 0xa053, lo: 0xbe, hi: 0xbf}, + // Block 0x6a, offset 0x2e2 + {value: 0x3013, lo: 0x80, hi: 0x8f}, + {value: 0x6553, lo: 0x90, hi: 0x9f}, + {value: 0xa953, lo: 0xa0, hi: 0xae}, + {value: 0x3012, lo: 0xb0, hi: 0xbf}, + // Block 0x6b, offset 0x2e6 + {value: 0x0117, lo: 0x80, hi: 0xa3}, + {value: 0x0012, lo: 0xa4, hi: 0xa4}, + {value: 0x0716, lo: 0xab, hi: 0xac}, + {value: 0x0316, lo: 0xad, hi: 0xae}, + {value: 0x0024, lo: 0xaf, hi: 0xb1}, + {value: 0x0117, lo: 0xb2, hi: 0xb3}, + // Block 0x6c, offset 0x2ec + {value: 0x6c52, lo: 0x80, hi: 0x9f}, + {value: 0x7052, lo: 0xa0, hi: 0xa5}, + {value: 0x7052, lo: 0xa7, hi: 0xa7}, + {value: 0x7052, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x6d, offset 0x2f1 + {value: 0x0010, lo: 0x80, hi: 0xa7}, + {value: 0x0014, lo: 0xaf, hi: 0xaf}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0x6e, offset 0x2f4 + {value: 0x0010, lo: 0x80, hi: 0x96}, + {value: 0x0010, lo: 0xa0, hi: 0xa6}, + {value: 0x0010, lo: 0xa8, hi: 0xae}, + {value: 0x0010, lo: 0xb0, hi: 0xb6}, + {value: 0x0010, lo: 0xb8, hi: 0xbe}, + // Block 0x6f, offset 0x2f9 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x88, hi: 0x8e}, + {value: 0x0010, lo: 0x90, hi: 0x96}, + {value: 0x0010, lo: 0x98, hi: 0x9e}, + {value: 0x0024, lo: 0xa0, hi: 0xbf}, + // Block 0x70, offset 0x2fe + {value: 0x0014, lo: 0xaf, hi: 0xaf}, + // Block 0x71, offset 0x2ff + {value: 0x0014, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0xaa, hi: 0xad}, + {value: 0x0030, lo: 0xae, hi: 0xaf}, + {value: 0x0004, lo: 0xb1, hi: 0xb5}, + {value: 0x0014, lo: 0xbb, hi: 0xbb}, + {value: 0x0010, lo: 0xbc, hi: 0xbc}, + // Block 0x72, offset 0x305 + {value: 0x0034, lo: 0x99, hi: 0x9a}, + {value: 0x0004, lo: 0x9b, hi: 0x9e}, + // Block 0x73, offset 0x307 + {value: 0x0004, lo: 0xbc, hi: 0xbe}, + // Block 0x74, offset 0x308 + {value: 0x0010, lo: 0x85, hi: 0xad}, + {value: 0x0010, lo: 0xb1, hi: 0xbf}, + // Block 0x75, offset 0x30a + {value: 0x0010, lo: 0x80, hi: 0x8e}, + {value: 0x0010, lo: 0xa0, hi: 0xba}, + // Block 0x76, offset 0x30c + {value: 0x0010, lo: 0x80, hi: 0x94}, + {value: 0x0014, lo: 0x95, hi: 0x95}, + {value: 0x0010, lo: 0x96, hi: 0xbf}, + // Block 0x77, offset 0x30f + {value: 0x0010, lo: 0x80, hi: 0x8c}, + // Block 0x78, offset 0x310 + {value: 0x0010, lo: 0x90, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbd}, + // Block 0x79, offset 0x312 + {value: 0x0010, lo: 0x80, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0010, lo: 0x90, hi: 0xab}, + // Block 0x7a, offset 0x315 + {value: 0x0117, lo: 0x80, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xae}, + {value: 0x0024, lo: 0xaf, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb2}, + {value: 0x0024, lo: 0xb4, hi: 0xbd}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x7b, offset 0x31b + {value: 0x0117, lo: 0x80, hi: 0x9b}, + {value: 0x0015, lo: 0x9c, hi: 0x9d}, + {value: 0x0024, lo: 0x9e, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0x7c, offset 0x31f + {value: 0x0010, lo: 0x80, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb1}, + // Block 0x7d, offset 0x321 + {value: 0x0004, lo: 0x80, hi: 0x96}, + {value: 0x0014, lo: 0x97, hi: 0x9f}, + {value: 0x0004, lo: 0xa0, hi: 0xa1}, + {value: 0x0117, lo: 0xa2, hi: 0xaf}, + {value: 0x0012, lo: 0xb0, hi: 0xb1}, + {value: 0x0117, lo: 0xb2, hi: 0xbf}, + // Block 0x7e, offset 0x327 + {value: 0x0117, lo: 0x80, hi: 0xaf}, + {value: 0x0015, lo: 0xb0, hi: 0xb0}, + {value: 0x0012, lo: 0xb1, hi: 0xb8}, + {value: 0x0316, lo: 0xb9, hi: 0xba}, + {value: 0x0716, lo: 0xbb, hi: 0xbc}, + {value: 0x8453, lo: 0xbd, hi: 0xbd}, + {value: 0x0117, lo: 0xbe, hi: 0xbf}, + // Block 0x7f, offset 0x32e + {value: 0x0010, lo: 0xb7, hi: 0xb7}, + {value: 0x0015, lo: 0xb8, hi: 0xb9}, + {value: 0x0012, lo: 0xba, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbf}, + // Block 0x80, offset 0x332 + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0014, lo: 0x82, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x8a}, + {value: 0x0014, lo: 0x8b, hi: 0x8b}, + {value: 0x0010, lo: 0x8c, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xa6}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + // Block 0x81, offset 0x33b + {value: 0x0010, lo: 0x80, hi: 0xb3}, + // Block 0x82, offset 0x33c + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0034, lo: 0x84, hi: 0x84}, + {value: 0x0014, lo: 0x85, hi: 0x85}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0024, lo: 0xa0, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xb7}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + // Block 0x83, offset 0x344 + {value: 0x0010, lo: 0x80, hi: 0xa5}, + {value: 0x0014, lo: 0xa6, hi: 0xaa}, + {value: 0x0034, lo: 0xab, hi: 0xad}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x84, offset 0x348 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0014, lo: 0x87, hi: 0x91}, + {value: 0x0010, lo: 0x92, hi: 0x92}, + {value: 0x0030, lo: 0x93, hi: 0x93}, + {value: 0x0010, lo: 0xa0, hi: 0xbc}, + // Block 0x85, offset 0x34d + {value: 0x0014, lo: 0x80, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0xb2}, + {value: 0x0034, lo: 0xb3, hi: 0xb3}, + {value: 0x0010, lo: 0xb4, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xb9}, + {value: 0x0010, lo: 0xba, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0x86, offset 0x355 + {value: 0x0030, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0014, lo: 0xa5, hi: 0xa5}, + {value: 0x0004, lo: 0xa6, hi: 0xa6}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0x87, offset 0x35b + {value: 0x0010, lo: 0x80, hi: 0xa8}, + {value: 0x0014, lo: 0xa9, hi: 0xae}, + {value: 0x0010, lo: 0xaf, hi: 0xb0}, + {value: 0x0014, lo: 0xb1, hi: 0xb2}, + {value: 0x0010, lo: 0xb3, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb6}, + // Block 0x88, offset 0x361 + {value: 0x0010, lo: 0x80, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0x8b}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0010, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0004, lo: 0xb0, hi: 0xb0}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbd}, + // Block 0x89, offset 0x36b + {value: 0x0024, lo: 0xb0, hi: 0xb0}, + {value: 0x0024, lo: 0xb2, hi: 0xb3}, + {value: 0x0034, lo: 0xb4, hi: 0xb4}, + {value: 0x0024, lo: 0xb7, hi: 0xb8}, + {value: 0x0024, lo: 0xbe, hi: 0xbf}, + // Block 0x8a, offset 0x370 + {value: 0x0024, lo: 0x81, hi: 0x81}, + {value: 0x0004, lo: 0x9d, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xab}, + {value: 0x0014, lo: 0xac, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xaf}, + {value: 0x0010, lo: 0xb2, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb4}, + {value: 0x0010, lo: 0xb5, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb6}, + // Block 0x8b, offset 0x379 + {value: 0x0010, lo: 0x81, hi: 0x86}, + {value: 0x0010, lo: 0x89, hi: 0x8e}, + {value: 0x0010, lo: 0x91, hi: 0x96}, + {value: 0x0010, lo: 0xa0, hi: 0xa6}, + {value: 0x0010, lo: 0xa8, hi: 0xae}, + {value: 0x0012, lo: 0xb0, hi: 0xbf}, + // Block 0x8c, offset 0x37f + {value: 0x0012, lo: 0x80, hi: 0x92}, + {value: 0xac52, lo: 0x93, hi: 0x93}, + {value: 0x0012, lo: 0x94, hi: 0x9a}, + {value: 0x0004, lo: 0x9b, hi: 0x9b}, + {value: 0x0015, lo: 0x9c, hi: 0x9f}, + {value: 0x0012, lo: 0xa0, hi: 0xa5}, + {value: 0x74d2, lo: 0xb0, hi: 0xbf}, + // Block 0x8d, offset 0x386 + {value: 0x78d2, lo: 0x80, hi: 0x8f}, + {value: 0x7cd2, lo: 0x90, hi: 0x9f}, + {value: 0x80d2, lo: 0xa0, hi: 0xaf}, + {value: 0x7cd2, lo: 0xb0, hi: 0xbf}, + // Block 0x8e, offset 0x38a + {value: 0x0010, lo: 0x80, hi: 0xa4}, + {value: 0x0014, lo: 0xa5, hi: 0xa5}, + {value: 0x0010, lo: 0xa6, hi: 0xa7}, + {value: 0x0014, lo: 0xa8, hi: 0xa8}, + {value: 0x0010, lo: 0xa9, hi: 0xaa}, + {value: 0x0010, lo: 0xac, hi: 0xac}, + {value: 0x0034, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0x8f, offset 0x392 + {value: 0x0010, lo: 0x80, hi: 0xa3}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0x90, offset 0x394 + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x8b, hi: 0xbb}, + // Block 0x91, offset 0x396 + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x83, hi: 0x84}, + {value: 0x0010, lo: 0x86, hi: 0xbf}, + // Block 0x92, offset 0x399 + {value: 0x0010, lo: 0x80, hi: 0xb1}, + {value: 0x0004, lo: 0xb2, hi: 0xbf}, + // Block 0x93, offset 0x39b + {value: 0x0004, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x93, hi: 0xbf}, + // Block 0x94, offset 0x39d + {value: 0x0010, lo: 0x80, hi: 0xbd}, + // Block 0x95, offset 0x39e + {value: 0x0010, lo: 0x90, hi: 0xbf}, + // Block 0x96, offset 0x39f + {value: 0x0010, lo: 0x80, hi: 0x8f}, + {value: 0x0010, lo: 0x92, hi: 0xbf}, + // Block 0x97, offset 0x3a1 + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0010, lo: 0xb0, hi: 0xbb}, + // Block 0x98, offset 0x3a3 + {value: 0x0014, lo: 0x80, hi: 0x8f}, + {value: 0x0054, lo: 0x93, hi: 0x93}, + {value: 0x0024, lo: 0xa0, hi: 0xa6}, + {value: 0x0034, lo: 0xa7, hi: 0xad}, + {value: 0x0024, lo: 0xae, hi: 0xaf}, + {value: 0x0010, lo: 0xb3, hi: 0xb4}, + // Block 0x99, offset 0x3a9 + {value: 0x0010, lo: 0x8d, hi: 0x8f}, + {value: 0x0054, lo: 0x92, hi: 0x92}, + {value: 0x0054, lo: 0x95, hi: 0x95}, + {value: 0x0010, lo: 0xb0, hi: 0xb4}, + {value: 0x0010, lo: 0xb6, hi: 0xbf}, + // Block 0x9a, offset 0x3ae + {value: 0x0010, lo: 0x80, hi: 0xbc}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0x9b, offset 0x3b0 + {value: 0x0054, lo: 0x87, hi: 0x87}, + {value: 0x0054, lo: 0x8e, hi: 0x8e}, + {value: 0x0054, lo: 0x9a, hi: 0x9a}, + {value: 0x5f53, lo: 0xa1, hi: 0xba}, + {value: 0x0004, lo: 0xbe, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0x9c, offset 0x3b6 + {value: 0x0004, lo: 0x80, hi: 0x80}, + {value: 0x5f52, lo: 0x81, hi: 0x9a}, + {value: 0x0004, lo: 0xb0, hi: 0xb0}, + // Block 0x9d, offset 0x3b9 + {value: 0x0014, lo: 0x9e, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xbe}, + // Block 0x9e, offset 0x3bb + {value: 0x0010, lo: 0x82, hi: 0x87}, + {value: 0x0010, lo: 0x8a, hi: 0x8f}, + {value: 0x0010, lo: 0x92, hi: 0x97}, + {value: 0x0010, lo: 0x9a, hi: 0x9c}, + {value: 0x0004, lo: 0xa3, hi: 0xa3}, + {value: 0x0014, lo: 0xb9, hi: 0xbb}, + // Block 0x9f, offset 0x3c1 + {value: 0x0010, lo: 0x80, hi: 0x8b}, + {value: 0x0010, lo: 0x8d, hi: 0xa6}, + {value: 0x0010, lo: 0xa8, hi: 0xba}, + {value: 0x0010, lo: 0xbc, hi: 0xbd}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xa0, offset 0x3c6 + {value: 0x0010, lo: 0x80, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x9d}, + // Block 0xa1, offset 0x3c8 + {value: 0x0010, lo: 0x80, hi: 0xba}, + // Block 0xa2, offset 0x3c9 + {value: 0x0010, lo: 0x80, hi: 0xb4}, + // Block 0xa3, offset 0x3ca + {value: 0x0034, lo: 0xbd, hi: 0xbd}, + // Block 0xa4, offset 0x3cb + {value: 0x0010, lo: 0x80, hi: 0x9c}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0xa5, offset 0x3cd + {value: 0x0010, lo: 0x80, hi: 0x90}, + {value: 0x0034, lo: 0xa0, hi: 0xa0}, + // Block 0xa6, offset 0x3cf + {value: 0x0010, lo: 0x80, hi: 0x9f}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xa7, offset 0x3d1 + {value: 0x0010, lo: 0x80, hi: 0x8a}, + {value: 0x0010, lo: 0x90, hi: 0xb5}, + {value: 0x0024, lo: 0xb6, hi: 0xba}, + // Block 0xa8, offset 0x3d4 + {value: 0x0010, lo: 0x80, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xbf}, + // Block 0xa9, offset 0x3d6 + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x88, hi: 0x8f}, + {value: 0x0010, lo: 0x91, hi: 0x95}, + // Block 0xaa, offset 0x3d9 + {value: 0x2813, lo: 0x80, hi: 0x87}, + {value: 0x3813, lo: 0x88, hi: 0x8f}, + {value: 0x2813, lo: 0x90, hi: 0x97}, + {value: 0xaf53, lo: 0x98, hi: 0x9f}, + {value: 0xb253, lo: 0xa0, hi: 0xa7}, + {value: 0x2812, lo: 0xa8, hi: 0xaf}, + {value: 0x3812, lo: 0xb0, hi: 0xb7}, + {value: 0x2812, lo: 0xb8, hi: 0xbf}, + // Block 0xab, offset 0x3e1 + {value: 0xaf52, lo: 0x80, hi: 0x87}, + {value: 0xb252, lo: 0x88, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0xbf}, + // Block 0xac, offset 0x3e4 + {value: 0x0010, lo: 0x80, hi: 0x9d}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0xb253, lo: 0xb0, hi: 0xb7}, + {value: 0xaf53, lo: 0xb8, hi: 0xbf}, + // Block 0xad, offset 0x3e8 + {value: 0x2813, lo: 0x80, hi: 0x87}, + {value: 0x3813, lo: 0x88, hi: 0x8f}, + {value: 0x2813, lo: 0x90, hi: 0x93}, + {value: 0xb252, lo: 0x98, hi: 0x9f}, + {value: 0xaf52, lo: 0xa0, hi: 0xa7}, + {value: 0x2812, lo: 0xa8, hi: 0xaf}, + {value: 0x3812, lo: 0xb0, hi: 0xb7}, + {value: 0x2812, lo: 0xb8, hi: 0xbb}, + // Block 0xae, offset 0x3f0 + {value: 0x0010, lo: 0x80, hi: 0xa7}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xaf, offset 0x3f2 + {value: 0x0010, lo: 0x80, hi: 0xa3}, + // Block 0xb0, offset 0x3f3 + {value: 0x0010, lo: 0x80, hi: 0xb6}, + // Block 0xb1, offset 0x3f4 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xa7}, + // Block 0xb2, offset 0x3f6 + {value: 0x0010, lo: 0x80, hi: 0x85}, + {value: 0x0010, lo: 0x88, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0xb5}, + {value: 0x0010, lo: 0xb7, hi: 0xb8}, + {value: 0x0010, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xb3, offset 0x3fc + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xb6}, + // Block 0xb4, offset 0x3fe + {value: 0x0010, lo: 0x80, hi: 0x9e}, + // Block 0xb5, offset 0x3ff + {value: 0x0010, lo: 0xa0, hi: 0xb2}, + {value: 0x0010, lo: 0xb4, hi: 0xb5}, + // Block 0xb6, offset 0x401 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xb9}, + // Block 0xb7, offset 0x403 + {value: 0x0010, lo: 0x80, hi: 0xb7}, + {value: 0x0010, lo: 0xbe, hi: 0xbf}, + // Block 0xb8, offset 0x405 + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x83}, + {value: 0x0014, lo: 0x85, hi: 0x86}, + {value: 0x0014, lo: 0x8c, hi: 0x8c}, + {value: 0x0034, lo: 0x8d, hi: 0x8d}, + {value: 0x0014, lo: 0x8e, hi: 0x8e}, + {value: 0x0024, lo: 0x8f, hi: 0x8f}, + {value: 0x0010, lo: 0x90, hi: 0x93}, + {value: 0x0010, lo: 0x95, hi: 0x97}, + {value: 0x0010, lo: 0x99, hi: 0xb3}, + {value: 0x0024, lo: 0xb8, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xb9, offset 0x412 + {value: 0x0010, lo: 0xa0, hi: 0xbc}, + // Block 0xba, offset 0x413 + {value: 0x0010, lo: 0x80, hi: 0x9c}, + // Block 0xbb, offset 0x414 + {value: 0x0010, lo: 0x80, hi: 0x87}, + {value: 0x0010, lo: 0x89, hi: 0xa4}, + {value: 0x0024, lo: 0xa5, hi: 0xa5}, + {value: 0x0034, lo: 0xa6, hi: 0xa6}, + // Block 0xbc, offset 0x418 + {value: 0x0010, lo: 0x80, hi: 0x95}, + {value: 0x0010, lo: 0xa0, hi: 0xb2}, + // Block 0xbd, offset 0x41a + {value: 0x0010, lo: 0x80, hi: 0x91}, + // Block 0xbe, offset 0x41b + {value: 0x0010, lo: 0x80, hi: 0x88}, + // Block 0xbf, offset 0x41c + {value: 0x5653, lo: 0x80, hi: 0xb2}, + // Block 0xc0, offset 0x41d + {value: 0x5652, lo: 0x80, hi: 0xb2}, + // Block 0xc1, offset 0x41e + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbf}, + // Block 0xc2, offset 0x422 + {value: 0x0014, lo: 0x80, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0xa6, hi: 0xaf}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xc3, offset 0x426 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb6}, + {value: 0x0010, lo: 0xb7, hi: 0xb8}, + {value: 0x0034, lo: 0xb9, hi: 0xba}, + {value: 0x0014, lo: 0xbd, hi: 0xbd}, + // Block 0xc4, offset 0x42c + {value: 0x0010, lo: 0x90, hi: 0xa8}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xc5, offset 0x42e + {value: 0x0024, lo: 0x80, hi: 0x82}, + {value: 0x0010, lo: 0x83, hi: 0xa6}, + {value: 0x0014, lo: 0xa7, hi: 0xab}, + {value: 0x0010, lo: 0xac, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xb2}, + {value: 0x0034, lo: 0xb3, hi: 0xb4}, + {value: 0x0010, lo: 0xb6, hi: 0xbf}, + // Block 0xc6, offset 0x435 + {value: 0x0010, lo: 0x90, hi: 0xb2}, + {value: 0x0034, lo: 0xb3, hi: 0xb3}, + {value: 0x0010, lo: 0xb6, hi: 0xb6}, + // Block 0xc7, offset 0x438 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0xb5}, + {value: 0x0014, lo: 0xb6, hi: 0xbe}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xc8, offset 0x43c + {value: 0x0030, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x84}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0014, lo: 0x8b, hi: 0x8c}, + {value: 0x0010, lo: 0x90, hi: 0x9a}, + {value: 0x0010, lo: 0x9c, hi: 0x9c}, + // Block 0xc9, offset 0x442 + {value: 0x0010, lo: 0x80, hi: 0x91}, + {value: 0x0010, lo: 0x93, hi: 0xae}, + {value: 0x0014, lo: 0xaf, hi: 0xb1}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0014, lo: 0xb4, hi: 0xb4}, + {value: 0x0030, lo: 0xb5, hi: 0xb5}, + {value: 0x0034, lo: 0xb6, hi: 0xb6}, + {value: 0x0014, lo: 0xb7, hi: 0xb7}, + {value: 0x0014, lo: 0xbe, hi: 0xbe}, + // Block 0xca, offset 0x44b + {value: 0x0010, lo: 0x80, hi: 0x86}, + {value: 0x0010, lo: 0x88, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0x8d}, + {value: 0x0010, lo: 0x8f, hi: 0x9d}, + {value: 0x0010, lo: 0x9f, hi: 0xa8}, + {value: 0x0010, lo: 0xb0, hi: 0xbf}, + // Block 0xcb, offset 0x451 + {value: 0x0010, lo: 0x80, hi: 0x9e}, + {value: 0x0014, lo: 0x9f, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa2}, + {value: 0x0014, lo: 0xa3, hi: 0xa8}, + {value: 0x0034, lo: 0xa9, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xcc, offset 0x457 + {value: 0x0014, lo: 0x80, hi: 0x81}, + {value: 0x0010, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x8c}, + {value: 0x0010, lo: 0x8f, hi: 0x90}, + {value: 0x0010, lo: 0x93, hi: 0xa8}, + {value: 0x0010, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb5, hi: 0xb9}, + {value: 0x0034, lo: 0xbc, hi: 0xbc}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0xcd, offset 0x461 + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x84}, + {value: 0x0010, lo: 0x87, hi: 0x88}, + {value: 0x0010, lo: 0x8b, hi: 0x8c}, + {value: 0x0030, lo: 0x8d, hi: 0x8d}, + {value: 0x0010, lo: 0x90, hi: 0x90}, + {value: 0x0010, lo: 0x97, hi: 0x97}, + {value: 0x0010, lo: 0x9d, hi: 0xa3}, + {value: 0x0024, lo: 0xa6, hi: 0xac}, + {value: 0x0024, lo: 0xb0, hi: 0xb4}, + // Block 0xce, offset 0x46b + {value: 0x0010, lo: 0x80, hi: 0xb7}, + {value: 0x0014, lo: 0xb8, hi: 0xbf}, + // Block 0xcf, offset 0x46d + {value: 0x0010, lo: 0x80, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x82}, + {value: 0x0014, lo: 0x83, hi: 0x84}, + {value: 0x0010, lo: 0x85, hi: 0x85}, + {value: 0x0034, lo: 0x86, hi: 0x86}, + {value: 0x0010, lo: 0x87, hi: 0x8a}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0xd0, offset 0x474 + {value: 0x0010, lo: 0x80, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xb8}, + {value: 0x0010, lo: 0xb9, hi: 0xb9}, + {value: 0x0014, lo: 0xba, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbe}, + {value: 0x0014, lo: 0xbf, hi: 0xbf}, + // Block 0xd1, offset 0x47a + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x81, hi: 0x81}, + {value: 0x0034, lo: 0x82, hi: 0x83}, + {value: 0x0010, lo: 0x84, hi: 0x85}, + {value: 0x0010, lo: 0x87, hi: 0x87}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0xd2, offset 0x480 + {value: 0x0010, lo: 0x80, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb5}, + {value: 0x0010, lo: 0xb8, hi: 0xbb}, + {value: 0x0014, lo: 0xbc, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xd3, offset 0x486 + {value: 0x0034, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x98, hi: 0x9b}, + {value: 0x0014, lo: 0x9c, hi: 0x9d}, + // Block 0xd4, offset 0x489 + {value: 0x0010, lo: 0x80, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xba}, + {value: 0x0010, lo: 0xbb, hi: 0xbc}, + {value: 0x0014, lo: 0xbd, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xd5, offset 0x48f + {value: 0x0014, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x84, hi: 0x84}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0xd6, offset 0x492 + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0014, lo: 0xab, hi: 0xab}, + {value: 0x0010, lo: 0xac, hi: 0xac}, + {value: 0x0014, lo: 0xad, hi: 0xad}, + {value: 0x0010, lo: 0xae, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb5}, + {value: 0x0030, lo: 0xb6, hi: 0xb6}, + {value: 0x0034, lo: 0xb7, hi: 0xb7}, + // Block 0xd7, offset 0x49a + {value: 0x0010, lo: 0x80, hi: 0x89}, + // Block 0xd8, offset 0x49b + {value: 0x0014, lo: 0x9d, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa1}, + {value: 0x0014, lo: 0xa2, hi: 0xa5}, + {value: 0x0010, lo: 0xa6, hi: 0xa6}, + {value: 0x0014, lo: 0xa7, hi: 0xaa}, + {value: 0x0034, lo: 0xab, hi: 0xab}, + {value: 0x0010, lo: 0xb0, hi: 0xb9}, + // Block 0xd9, offset 0x4a2 + {value: 0x5f53, lo: 0xa0, hi: 0xbf}, + // Block 0xda, offset 0x4a3 + {value: 0x5f52, lo: 0x80, hi: 0x9f}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + {value: 0x0010, lo: 0xbf, hi: 0xbf}, + // Block 0xdb, offset 0x4a6 + {value: 0x0010, lo: 0x80, hi: 0xb8}, + // Block 0xdc, offset 0x4a7 + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x8a, hi: 0xaf}, + {value: 0x0014, lo: 0xb0, hi: 0xb6}, + {value: 0x0014, lo: 0xb8, hi: 0xbd}, + {value: 0x0010, lo: 0xbe, hi: 0xbe}, + {value: 0x0034, lo: 0xbf, hi: 0xbf}, + // Block 0xdd, offset 0x4ad + {value: 0x0010, lo: 0x80, hi: 0x80}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xb2, hi: 0xbf}, + // Block 0xde, offset 0x4b0 + {value: 0x0010, lo: 0x80, hi: 0x8f}, + {value: 0x0014, lo: 0x92, hi: 0xa7}, + {value: 0x0010, lo: 0xa9, hi: 0xa9}, + {value: 0x0014, lo: 0xaa, hi: 0xb0}, + {value: 0x0010, lo: 0xb1, hi: 0xb1}, + {value: 0x0014, lo: 0xb2, hi: 0xb3}, + {value: 0x0010, lo: 0xb4, hi: 0xb4}, + {value: 0x0014, lo: 0xb5, hi: 0xb6}, + // Block 0xdf, offset 0x4b8 + {value: 0x0010, lo: 0x80, hi: 0x99}, + // Block 0xe0, offset 0x4b9 + {value: 0x0010, lo: 0x80, hi: 0xae}, + // Block 0xe1, offset 0x4ba + {value: 0x0010, lo: 0x80, hi: 0x83}, + // Block 0xe2, offset 0x4bb + {value: 0x0010, lo: 0x80, hi: 0x86}, + // Block 0xe3, offset 0x4bc + {value: 0x0010, lo: 0x80, hi: 0x9e}, + {value: 0x0010, lo: 0xa0, hi: 0xa9}, + // Block 0xe4, offset 0x4be + {value: 0x0010, lo: 0x90, hi: 0xad}, + {value: 0x0034, lo: 0xb0, hi: 0xb4}, + // Block 0xe5, offset 0x4c0 + {value: 0x0010, lo: 0x80, hi: 0xaf}, + {value: 0x0024, lo: 0xb0, hi: 0xb6}, + // Block 0xe6, offset 0x4c2 + {value: 0x0014, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0010, lo: 0xa3, hi: 0xb7}, + {value: 0x0010, lo: 0xbd, hi: 0xbf}, + // Block 0xe7, offset 0x4c6 + {value: 0x0010, lo: 0x80, hi: 0x8f}, + // Block 0xe8, offset 0x4c7 + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0010, lo: 0x90, hi: 0xbe}, + // Block 0xe9, offset 0x4c9 + {value: 0x0014, lo: 0x8f, hi: 0x9f}, + // Block 0xea, offset 0x4ca + {value: 0x0014, lo: 0xa0, hi: 0xa0}, + // Block 0xeb, offset 0x4cb + {value: 0x0010, lo: 0x80, hi: 0xaa}, + {value: 0x0010, lo: 0xb0, hi: 0xbc}, + // Block 0xec, offset 0x4cd + {value: 0x0010, lo: 0x80, hi: 0x88}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + {value: 0x0014, lo: 0x9d, hi: 0x9d}, + {value: 0x0034, lo: 0x9e, hi: 0x9e}, + {value: 0x0014, lo: 0xa0, hi: 0xa3}, + // Block 0xed, offset 0x4d2 + {value: 0x0030, lo: 0xa5, hi: 0xa6}, + {value: 0x0034, lo: 0xa7, hi: 0xa9}, + {value: 0x0030, lo: 0xad, hi: 0xb2}, + {value: 0x0014, lo: 0xb3, hi: 0xba}, + {value: 0x0034, lo: 0xbb, hi: 0xbf}, + // Block 0xee, offset 0x4d7 + {value: 0x0034, lo: 0x80, hi: 0x82}, + {value: 0x0024, lo: 0x85, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8b}, + {value: 0x0024, lo: 0xaa, hi: 0xad}, + // Block 0xef, offset 0x4db + {value: 0x0024, lo: 0x82, hi: 0x84}, + // Block 0xf0, offset 0x4dc + {value: 0x0013, lo: 0x80, hi: 0x99}, + {value: 0x0012, lo: 0x9a, hi: 0xb3}, + {value: 0x0013, lo: 0xb4, hi: 0xbf}, + // Block 0xf1, offset 0x4df + {value: 0x0013, lo: 0x80, hi: 0x8d}, + {value: 0x0012, lo: 0x8e, hi: 0x94}, + {value: 0x0012, lo: 0x96, hi: 0xa7}, + {value: 0x0013, lo: 0xa8, hi: 0xbf}, + // Block 0xf2, offset 0x4e3 + {value: 0x0013, lo: 0x80, hi: 0x81}, + {value: 0x0012, lo: 0x82, hi: 0x9b}, + {value: 0x0013, lo: 0x9c, hi: 0x9c}, + {value: 0x0013, lo: 0x9e, hi: 0x9f}, + {value: 0x0013, lo: 0xa2, hi: 0xa2}, + {value: 0x0013, lo: 0xa5, hi: 0xa6}, + {value: 0x0013, lo: 0xa9, hi: 0xac}, + {value: 0x0013, lo: 0xae, hi: 0xb5}, + {value: 0x0012, lo: 0xb6, hi: 0xb9}, + {value: 0x0012, lo: 0xbb, hi: 0xbb}, + {value: 0x0012, lo: 0xbd, hi: 0xbf}, + // Block 0xf3, offset 0x4ee + {value: 0x0012, lo: 0x80, hi: 0x83}, + {value: 0x0012, lo: 0x85, hi: 0x8f}, + {value: 0x0013, lo: 0x90, hi: 0xa9}, + {value: 0x0012, lo: 0xaa, hi: 0xbf}, + // Block 0xf4, offset 0x4f2 + {value: 0x0012, lo: 0x80, hi: 0x83}, + {value: 0x0013, lo: 0x84, hi: 0x85}, + {value: 0x0013, lo: 0x87, hi: 0x8a}, + {value: 0x0013, lo: 0x8d, hi: 0x94}, + {value: 0x0013, lo: 0x96, hi: 0x9c}, + {value: 0x0012, lo: 0x9e, hi: 0xb7}, + {value: 0x0013, lo: 0xb8, hi: 0xb9}, + {value: 0x0013, lo: 0xbb, hi: 0xbe}, + // Block 0xf5, offset 0x4fa + {value: 0x0013, lo: 0x80, hi: 0x84}, + {value: 0x0013, lo: 0x86, hi: 0x86}, + {value: 0x0013, lo: 0x8a, hi: 0x90}, + {value: 0x0012, lo: 0x92, hi: 0xab}, + {value: 0x0013, lo: 0xac, hi: 0xbf}, + // Block 0xf6, offset 0x4ff + {value: 0x0013, lo: 0x80, hi: 0x85}, + {value: 0x0012, lo: 0x86, hi: 0x9f}, + {value: 0x0013, lo: 0xa0, hi: 0xb9}, + {value: 0x0012, lo: 0xba, hi: 0xbf}, + // Block 0xf7, offset 0x503 + {value: 0x0012, lo: 0x80, hi: 0x93}, + {value: 0x0013, lo: 0x94, hi: 0xad}, + {value: 0x0012, lo: 0xae, hi: 0xbf}, + // Block 0xf8, offset 0x506 + {value: 0x0012, lo: 0x80, hi: 0x87}, + {value: 0x0013, lo: 0x88, hi: 0xa1}, + {value: 0x0012, lo: 0xa2, hi: 0xbb}, + {value: 0x0013, lo: 0xbc, hi: 0xbf}, + // Block 0xf9, offset 0x50a + {value: 0x0013, lo: 0x80, hi: 0x95}, + {value: 0x0012, lo: 0x96, hi: 0xaf}, + {value: 0x0013, lo: 0xb0, hi: 0xbf}, + // Block 0xfa, offset 0x50d + {value: 0x0013, lo: 0x80, hi: 0x89}, + {value: 0x0012, lo: 0x8a, hi: 0xa5}, + {value: 0x0013, lo: 0xa8, hi: 0xbf}, + // Block 0xfb, offset 0x510 + {value: 0x0013, lo: 0x80, hi: 0x80}, + {value: 0x0012, lo: 0x82, hi: 0x9a}, + {value: 0x0012, lo: 0x9c, hi: 0xa1}, + {value: 0x0013, lo: 0xa2, hi: 0xba}, + {value: 0x0012, lo: 0xbc, hi: 0xbf}, + // Block 0xfc, offset 0x515 + {value: 0x0012, lo: 0x80, hi: 0x94}, + {value: 0x0012, lo: 0x96, hi: 0x9b}, + {value: 0x0013, lo: 0x9c, hi: 0xb4}, + {value: 0x0012, lo: 0xb6, hi: 0xbf}, + // Block 0xfd, offset 0x519 + {value: 0x0012, lo: 0x80, hi: 0x8e}, + {value: 0x0012, lo: 0x90, hi: 0x95}, + {value: 0x0013, lo: 0x96, hi: 0xae}, + {value: 0x0012, lo: 0xb0, hi: 0xbf}, + // Block 0xfe, offset 0x51d + {value: 0x0012, lo: 0x80, hi: 0x88}, + {value: 0x0012, lo: 0x8a, hi: 0x8f}, + {value: 0x0013, lo: 0x90, hi: 0xa8}, + {value: 0x0012, lo: 0xaa, hi: 0xbf}, + // Block 0xff, offset 0x521 + {value: 0x0012, lo: 0x80, hi: 0x82}, + {value: 0x0012, lo: 0x84, hi: 0x89}, + {value: 0x0017, lo: 0x8a, hi: 0x8b}, + {value: 0x0010, lo: 0x8e, hi: 0xbf}, + // Block 0x100, offset 0x525 + {value: 0x0014, lo: 0x80, hi: 0xb6}, + {value: 0x0014, lo: 0xbb, hi: 0xbf}, + // Block 0x101, offset 0x527 + {value: 0x0014, lo: 0x80, hi: 0xac}, + {value: 0x0014, lo: 0xb5, hi: 0xb5}, + // Block 0x102, offset 0x529 + {value: 0x0014, lo: 0x84, hi: 0x84}, + {value: 0x0014, lo: 0x9b, hi: 0x9f}, + {value: 0x0014, lo: 0xa1, hi: 0xaf}, + // Block 0x103, offset 0x52c + {value: 0x0024, lo: 0x80, hi: 0x86}, + {value: 0x0024, lo: 0x88, hi: 0x98}, + {value: 0x0024, lo: 0x9b, hi: 0xa1}, + {value: 0x0024, lo: 0xa3, hi: 0xa4}, + {value: 0x0024, lo: 0xa6, hi: 0xaa}, + // Block 0x104, offset 0x531 + {value: 0x0010, lo: 0x80, hi: 0x84}, + {value: 0x0034, lo: 0x90, hi: 0x96}, + // Block 0x105, offset 0x533 + {value: 0xb552, lo: 0x80, hi: 0x81}, + {value: 0xb852, lo: 0x82, hi: 0x83}, + {value: 0x0024, lo: 0x84, hi: 0x89}, + {value: 0x0034, lo: 0x8a, hi: 0x8a}, + {value: 0x0010, lo: 0x90, hi: 0x99}, + // Block 0x106, offset 0x538 + {value: 0x0010, lo: 0x80, hi: 0x83}, + {value: 0x0010, lo: 0x85, hi: 0x9f}, + {value: 0x0010, lo: 0xa1, hi: 0xa2}, + {value: 0x0010, lo: 0xa4, hi: 0xa4}, + {value: 0x0010, lo: 0xa7, hi: 0xa7}, + {value: 0x0010, lo: 0xa9, hi: 0xb2}, + {value: 0x0010, lo: 0xb4, hi: 0xb7}, + {value: 0x0010, lo: 0xb9, hi: 0xb9}, + {value: 0x0010, lo: 0xbb, hi: 0xbb}, + // Block 0x107, offset 0x541 + {value: 0x0010, lo: 0x80, hi: 0x89}, + {value: 0x0010, lo: 0x8b, hi: 0x9b}, + {value: 0x0010, lo: 0xa1, hi: 0xa3}, + {value: 0x0010, lo: 0xa5, hi: 0xa9}, + {value: 0x0010, lo: 0xab, hi: 0xbb}, + // Block 0x108, offset 0x546 + {value: 0x0013, lo: 0xb0, hi: 0xbf}, + // Block 0x109, offset 0x547 + {value: 0x0013, lo: 0x80, hi: 0x89}, + {value: 0x0013, lo: 0x90, hi: 0xa9}, + {value: 0x0013, lo: 0xb0, hi: 0xbf}, + // Block 0x10a, offset 0x54a + {value: 0x0013, lo: 0x80, hi: 0x89}, + // Block 0x10b, offset 0x54b + {value: 0x0004, lo: 0xbb, hi: 0xbf}, + // Block 0x10c, offset 0x54c + {value: 0x0014, lo: 0x81, hi: 0x81}, + {value: 0x0014, lo: 0xa0, hi: 0xbf}, + // Block 0x10d, offset 0x54e + {value: 0x0014, lo: 0x80, hi: 0xbf}, + // Block 0x10e, offset 0x54f + {value: 0x0014, lo: 0x80, hi: 0xaf}, +} + +// Total table size 14027 bytes (13KiB); checksum: F17D40E8 diff --git a/vendor/golang.org/x/text/cases/trieval.go b/vendor/golang.org/x/text/cases/trieval.go new file mode 100644 index 000000000..4e4d13fe5 --- /dev/null +++ b/vendor/golang.org/x/text/cases/trieval.go @@ -0,0 +1,217 @@ +// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +package cases + +// This file contains definitions for interpreting the trie value of the case +// trie generated by "go run gen*.go". It is shared by both the generator +// program and the resultant package. Sharing is achieved by the generator +// copying gen_trieval.go to trieval.go and changing what's above this comment. + +// info holds case information for a single rune. It is the value returned +// by a trie lookup. Most mapping information can be stored in a single 16-bit +// value. If not, for example when a rune is mapped to multiple runes, the value +// stores some basic case data and an index into an array with additional data. +// +// The per-rune values have the following format: +// +// if (exception) { +// 15..4 unsigned exception index +// } else { +// 15..8 XOR pattern or index to XOR pattern for case mapping +// Only 13..8 are used for XOR patterns. +// 7 inverseFold (fold to upper, not to lower) +// 6 index: interpret the XOR pattern as an index +// or isMid if case mode is cIgnorableUncased. +// 5..4 CCC: zero (normal or break), above or other +// } +// 3 exception: interpret this value as an exception index +// (TODO: is this bit necessary? Probably implied from case mode.) +// 2..0 case mode +// +// For the non-exceptional cases, a rune must be either uncased, lowercase or +// uppercase. If the rune is cased, the XOR pattern maps either a lowercase +// rune to uppercase or an uppercase rune to lowercase (applied to the 10 +// least-significant bits of the rune). +// +// See the definitions below for a more detailed description of the various +// bits. +type info uint16 + +const ( + casedMask = 0x0003 + fullCasedMask = 0x0007 + ignorableMask = 0x0006 + ignorableValue = 0x0004 + + inverseFoldBit = 1 << 7 + isMidBit = 1 << 6 + + exceptionBit = 1 << 3 + exceptionShift = 4 + numExceptionBits = 12 + + xorIndexBit = 1 << 6 + xorShift = 8 + + // There is no mapping if all xor bits and the exception bit are zero. + hasMappingMask = 0xff80 | exceptionBit +) + +// The case mode bits encodes the case type of a rune. This includes uncased, +// title, upper and lower case and case ignorable. (For a definition of these +// terms see Chapter 3 of The Unicode Standard Core Specification.) In some rare +// cases, a rune can be both cased and case-ignorable. This is encoded by +// cIgnorableCased. A rune of this type is always lower case. Some runes are +// cased while not having a mapping. +// +// A common pattern for scripts in the Unicode standard is for upper and lower +// case runes to alternate for increasing rune values (e.g. the accented Latin +// ranges starting from U+0100 and U+1E00 among others and some Cyrillic +// characters). We use this property by defining a cXORCase mode, where the case +// mode (always upper or lower case) is derived from the rune value. As the XOR +// pattern for case mappings is often identical for successive runes, using +// cXORCase can result in large series of identical trie values. This, in turn, +// allows us to better compress the trie blocks. +const ( + cUncased info = iota // 000 + cTitle // 001 + cLower // 010 + cUpper // 011 + cIgnorableUncased // 100 + cIgnorableCased // 101 // lower case if mappings exist + cXORCase // 11x // case is cLower | ((rune&1) ^ x) + + maxCaseMode = cUpper +) + +func (c info) isCased() bool { + return c&casedMask != 0 +} + +func (c info) isCaseIgnorable() bool { + return c&ignorableMask == ignorableValue +} + +func (c info) isNotCasedAndNotCaseIgnorable() bool { + return c&fullCasedMask == 0 +} + +func (c info) isCaseIgnorableAndNotCased() bool { + return c&fullCasedMask == cIgnorableUncased +} + +func (c info) isMid() bool { + return c&(fullCasedMask|isMidBit) == isMidBit|cIgnorableUncased +} + +// The case mapping implementation will need to know about various Canonical +// Combining Class (CCC) values. We encode two of these in the trie value: +// cccZero (0) and cccAbove (230). If the value is cccOther, it means that +// CCC(r) > 0, but not 230. A value of cccBreak means that CCC(r) == 0 and that +// the rune also has the break category Break (see below). +const ( + cccBreak info = iota << 4 + cccZero + cccAbove + cccOther + + cccMask = cccBreak | cccZero | cccAbove | cccOther +) + +const ( + starter = 0 + above = 230 + iotaSubscript = 240 +) + +// The exceptions slice holds data that does not fit in a normal info entry. +// The entry is pointed to by the exception index in an entry. It has the +// following format: +// +// Header: +// +// byte 0: +// 7..6 unused +// 5..4 CCC type (same bits as entry) +// 3 unused +// 2..0 length of fold +// +// byte 1: +// 7..6 unused +// 5..3 length of 1st mapping of case type +// 2..0 length of 2nd mapping of case type +// +// case 1st 2nd +// lower -> upper, title +// upper -> lower, title +// title -> lower, upper +// +// Lengths with the value 0x7 indicate no value and implies no change. +// A length of 0 indicates a mapping to zero-length string. +// +// Body bytes: +// +// case folding bytes +// lowercase mapping bytes +// uppercase mapping bytes +// titlecase mapping bytes +// closure mapping bytes (for NFKC_Casefold). (TODO) +// +// Fallbacks: +// +// missing fold -> lower +// missing title -> upper +// all missing -> original rune +// +// exceptions starts with a dummy byte to enforce that there is no zero index +// value. +const ( + lengthMask = 0x07 + lengthBits = 3 + noChange = 0 +) + +// References to generated trie. + +var trie = newCaseTrie(0) + +var sparse = sparseBlocks{ + values: sparseValues[:], + offsets: sparseOffsets[:], +} + +// Sparse block lookup code. + +// valueRange is an entry in a sparse block. +type valueRange struct { + value uint16 + lo, hi byte +} + +type sparseBlocks struct { + values []valueRange + offsets []uint16 +} + +// lookup returns the value from values block n for byte b using binary search. +func (s *sparseBlocks) lookup(n uint32, b byte) uint16 { + lo := s.offsets[n] + hi := s.offsets[n+1] + for lo < hi { + m := lo + (hi-lo)/2 + r := s.values[m] + if r.lo <= b && b <= r.hi { + return r.value + } + if b < r.lo { + hi = m + } else { + lo = m + 1 + } + } + return 0 +} + +// lastRuneForTesting is the last rune used for testing. Everything after this +// is boring. +const lastRuneForTesting = rune(0x1FFFF) diff --git a/vendor/golang.org/x/text/internal/internal.go b/vendor/golang.org/x/text/internal/internal.go new file mode 100644 index 000000000..3cddbbdda --- /dev/null +++ b/vendor/golang.org/x/text/internal/internal.go @@ -0,0 +1,49 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package internal contains non-exported functionality that are used by +// packages in the text repository. +package internal // import "golang.org/x/text/internal" + +import ( + "sort" + + "golang.org/x/text/language" +) + +// SortTags sorts tags in place. +func SortTags(tags []language.Tag) { + sort.Sort(sorter(tags)) +} + +type sorter []language.Tag + +func (s sorter) Len() int { + return len(s) +} + +func (s sorter) Swap(i, j int) { + s[i], s[j] = s[j], s[i] +} + +func (s sorter) Less(i, j int) bool { + return s[i].String() < s[j].String() +} + +// UniqueTags sorts and filters duplicate tags in place and returns a slice with +// only unique tags. +func UniqueTags(tags []language.Tag) []language.Tag { + if len(tags) <= 1 { + return tags + } + SortTags(tags) + k := 0 + for i := 1; i < len(tags); i++ { + if tags[k].String() < tags[i].String() { + k++ + tags[k] = tags[i] + } + } + return tags[:k+1] +} diff --git a/vendor/golang.org/x/text/internal/match.go b/vendor/golang.org/x/text/internal/match.go new file mode 100644 index 000000000..1cc004a6d --- /dev/null +++ b/vendor/golang.org/x/text/internal/match.go @@ -0,0 +1,67 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package internal + +// This file contains matchers that implement CLDR inheritance. +// +// See https://unicode.org/reports/tr35/#Locale_Inheritance. +// +// Some of the inheritance described in this document is already handled by +// the cldr package. + +import ( + "golang.org/x/text/language" +) + +// TODO: consider if (some of the) matching algorithm needs to be public after +// getting some feel about what is generic and what is specific. + +// NewInheritanceMatcher returns a matcher that matches based on the inheritance +// chain. +// +// The matcher uses canonicalization and the parent relationship to find a +// match. The resulting match will always be either Und or a language with the +// same language and script as the requested language. It will not match +// languages for which there is understood to be mutual or one-directional +// intelligibility. +// +// A Match will indicate an Exact match if the language matches after +// canonicalization and High if the matched tag is a parent. +func NewInheritanceMatcher(t []language.Tag) *InheritanceMatcher { + tags := &InheritanceMatcher{make(map[language.Tag]int)} + for i, tag := range t { + ct, err := language.All.Canonicalize(tag) + if err != nil { + ct = tag + } + tags.index[ct] = i + } + return tags +} + +type InheritanceMatcher struct { + index map[language.Tag]int +} + +func (m InheritanceMatcher) Match(want ...language.Tag) (language.Tag, int, language.Confidence) { + for _, t := range want { + ct, err := language.All.Canonicalize(t) + if err != nil { + ct = t + } + conf := language.Exact + for { + if index, ok := m.index[ct]; ok { + return ct, index, conf + } + if ct == language.Und { + break + } + ct = ct.Parent() + conf = language.High + } + } + return language.Und, 0, language.No +} diff --git a/vendor/kmodules.xyz/client-go/api/v1/cluster.go b/vendor/kmodules.xyz/client-go/api/v1/cluster.go index 1de796faf..5977959e5 100644 --- a/vendor/kmodules.xyz/client-go/api/v1/cluster.go +++ b/vendor/kmodules.xyz/client-go/api/v1/cluster.go @@ -153,7 +153,27 @@ func (cm ClusterManager) String() string { } type CAPIClusterInfo struct { - Provider string `json:"provider,omitempty"` - Namespace string `json:"namespace,omitempty"` - ClusterName string `json:"clusterName,omitempty"` + Provider CAPIProvider `json:"provider"` + Namespace string `json:"namespace"` + ClusterName string `json:"clusterName"` } + +// ClusterInfo used in ace-installer +type ClusterInfo struct { + UID string `json:"uid"` + Name string `json:"name"` + ClusterManagers []string `json:"clusterManagers"` + // +optional + CAPI CAPIClusterInfo `json:"capi"` +} + +// +kubebuilder:validation:Enum=capa;capg;capz +type CAPIProvider string + +const ( + CAPIProviderUnknown CAPIProvider = "" + CAPIProviderCAPA CAPIProvider = "capa" + CAPIProviderCAPG CAPIProvider = "capg" + CAPIProviderCAPZ CAPIProvider = "capz" + CAPIProviderCAPH CAPIProvider = "caph" +) diff --git a/vendor/kmodules.xyz/client-go/api/v1/zz_generated.deepcopy.go b/vendor/kmodules.xyz/client-go/api/v1/zz_generated.deepcopy.go index fd286ac41..9e3330952 100644 --- a/vendor/kmodules.xyz/client-go/api/v1/zz_generated.deepcopy.go +++ b/vendor/kmodules.xyz/client-go/api/v1/zz_generated.deepcopy.go @@ -119,6 +119,28 @@ func (in *CertificateSpec) DeepCopy() *CertificateSpec { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterInfo) DeepCopyInto(out *ClusterInfo) { + *out = *in + if in.ClusterManagers != nil { + in, out := &in.ClusterManagers, &out.ClusterManagers + *out = make([]string, len(*in)) + copy(*out, *in) + } + out.CAPI = in.CAPI + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterInfo. +func (in *ClusterInfo) DeepCopy() *ClusterInfo { + if in == nil { + return nil + } + out := new(ClusterInfo) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClusterMetadata) DeepCopyInto(out *ClusterMetadata) { *out = *in diff --git a/vendor/kmodules.xyz/client-go/cluster/lib.go b/vendor/kmodules.xyz/client-go/cluster/lib.go index c1a9cedd1..1069ab033 100644 --- a/vendor/kmodules.xyz/client-go/cluster/lib.go +++ b/vendor/kmodules.xyz/client-go/cluster/lib.go @@ -211,14 +211,14 @@ func getCAPIValues(values map[string]any) (string, string, string, error) { return capiProvider, clusterName, ns, nil } -func getProviderName(kind string) string { +func getProviderName(kind string) kmapi.CAPIProvider { switch kind { case "AWSManagedCluster", "AWSManagedControlPlane": - return "capa" + return kmapi.CAPIProviderCAPA case "AzureManagedCluster": - return "capz" + return kmapi.CAPIProviderCAPZ case "GCPManagedCluster": - return "capg" + return kmapi.CAPIProviderCAPG } return "" } diff --git a/vendor/kmodules.xyz/client-go/cluster/rancher.go b/vendor/kmodules.xyz/client-go/cluster/rancher.go index df2a7e69d..40a135556 100644 --- a/vendor/kmodules.xyz/client-go/cluster/rancher.go +++ b/vendor/kmodules.xyz/client-go/cluster/rancher.go @@ -18,12 +18,19 @@ package cluster import ( "context" + "net/url" "sort" + "github.com/rancher/norman/clientbase" + rancher "github.com/rancher/rancher/pkg/client/generated/management/v3" core "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/client-go/discovery/cached/memory" + "k8s.io/client-go/kubernetes" + "k8s.io/client-go/rest" + "k8s.io/client-go/restmapper" "sigs.k8s.io/controller-runtime/pkg/client" ) @@ -32,8 +39,11 @@ const ( LabelKeyRancherHelmProjectId = "helm.cattle.io/projectId" LabelKeyRancherHelmProjectOperated = "helm.cattle.io/helm-project-operated" - NamespaceRancherMonitoring = "cattle-monitoring-system" - PrometheusRancherMonitoring = "rancher-monitoring-prometheus" + FakeRancherProjectId = "p-fake" + + RancherMonitoringNamespace = "cattle-monitoring-system" + RancherMonitoringPrometheus = "rancher-monitoring-prometheus" + RancherMonitoringAlertmanager = "rancher-monitoring-alertmanager" ) func IsRancherManaged(mapper meta.RESTMapper) bool { @@ -46,6 +56,37 @@ func IsRancherManaged(mapper meta.RESTMapper) bool { return false } +func DetectRancherProxy(cfg *rest.Config) (*clientbase.ClientOpts, bool, error) { + err := rest.LoadTLSFiles(cfg) + if err != nil { + return nil, false, err + } + + kc, err := kubernetes.NewForConfig(cfg) + if err != nil { + return nil, false, err + } + + mapper := restmapper.NewDeferredDiscoveryRESTMapper(memory.NewMemCacheClient(kc)) + if IsRancherManaged(mapper) { + u, err := url.Parse(cfg.Host) + if err != nil { + return nil, false, err + } + u.Path = "/v3" + + opts := clientbase.ClientOpts{ + URL: u.String(), + TokenKey: cfg.BearerToken, + CACerts: string(cfg.CAData), + // Insecure: true, + } + _, err = rancher.NewClient(&opts) + return &opts, err == nil, err + } + return nil, false, nil +} + func IsInDefaultProject(kc client.Client, nsName string) (bool, error) { return isInProject(kc, nsName, metav1.NamespaceDefault) } diff --git a/vendor/kmodules.xyz/offshoot-api/api/v1/gateway_types.go b/vendor/kmodules.xyz/offshoot-api/api/v1/gateway_types.go new file mode 100644 index 000000000..4ade7f6c4 --- /dev/null +++ b/vendor/kmodules.xyz/offshoot-api/api/v1/gateway_types.go @@ -0,0 +1,78 @@ +/* +Copyright AppsCode Inc. and Contributors + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package v1 + +import ( + core "k8s.io/api/core/v1" +) + +type Gateway struct { + Name string `json:"name"` + Namespace string `json:"namespace"` + // +optional + IP string `json:"ip,omitempty"` + // +optional + Hostname string `json:"hostname,omitempty"` + // Services is an optional configuration for services used to expose database + // +optional + Services []NamedServiceStatus `json:"services,omitempty"` + // UI is an optional list of database web uis + // +optional + UI []NamedURL `json:"ui,omitempty"` +} + +type NamedServiceStatus struct { + // Alias represents the identifier of the service. + Alias string `json:"alias"` + + Ports []GatewayPort `json:"ports"` +} + +type NamedURL struct { + // Alias represents the identifier of the service. + // This should match the db ui chart name + Alias string `json:"alias"` + + // URL of the database ui + URL string `json:"url"` + + Port GatewayPort `json:"port"` + + // HelmRelease is the name of the helm release used to deploy this ui + // The name format is typically - + // +optional + HelmRelease *core.LocalObjectReference `json:"helmRelease,omitempty"` +} + +// GatewayPort contains information on Gateway service's port. +type GatewayPort struct { + // The name of this port within the gateway service. + // +optional + Name string `json:"name,omitempty"` + + // The port that will be exposed by the gateway service. + Port int32 `json:"port"` + + // Number of the port to access the backend service. + // +optional + BackendServicePort int32 `json:"backendServicePort,omitempty"` + + // The port on each node on which this gateway service is exposed when type is + // NodePort or LoadBalancer. + // +optional + NodePort int32 `json:"nodePort,omitempty"` +} diff --git a/vendor/kmodules.xyz/offshoot-api/api/v1/openapi_generated.go b/vendor/kmodules.xyz/offshoot-api/api/v1/openapi_generated.go index d69c46efd..522a3a64f 100644 --- a/vendor/kmodules.xyz/offshoot-api/api/v1/openapi_generated.go +++ b/vendor/kmodules.xyz/offshoot-api/api/v1/openapi_generated.go @@ -32,8 +32,11 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA return map[string]common.OpenAPIDefinition{ "kmodules.xyz/offshoot-api/api/v1.ContainerRuntimeSettings": schema_kmodulesxyz_offshoot_api_api_v1_ContainerRuntimeSettings(ref), "kmodules.xyz/offshoot-api/api/v1.EphemeralVolumeSource": schema_kmodulesxyz_offshoot_api_api_v1_EphemeralVolumeSource(ref), + "kmodules.xyz/offshoot-api/api/v1.Gateway": schema_kmodulesxyz_offshoot_api_api_v1_Gateway(ref), "kmodules.xyz/offshoot-api/api/v1.GatewayPort": schema_kmodulesxyz_offshoot_api_api_v1_GatewayPort(ref), "kmodules.xyz/offshoot-api/api/v1.IONiceSettings": schema_kmodulesxyz_offshoot_api_api_v1_IONiceSettings(ref), + "kmodules.xyz/offshoot-api/api/v1.NamedServiceStatus": schema_kmodulesxyz_offshoot_api_api_v1_NamedServiceStatus(ref), + "kmodules.xyz/offshoot-api/api/v1.NamedURL": schema_kmodulesxyz_offshoot_api_api_v1_NamedURL(ref), "kmodules.xyz/offshoot-api/api/v1.NiceSettings": schema_kmodulesxyz_offshoot_api_api_v1_NiceSettings(ref), "kmodules.xyz/offshoot-api/api/v1.ObjectMeta": schema_kmodulesxyz_offshoot_api_api_v1_ObjectMeta(ref), "kmodules.xyz/offshoot-api/api/v1.PartialObjectMeta": schema_kmodulesxyz_offshoot_api_api_v1_PartialObjectMeta(ref), @@ -163,6 +166,75 @@ func schema_kmodulesxyz_offshoot_api_api_v1_EphemeralVolumeSource(ref common.Ref } } +func schema_kmodulesxyz_offshoot_api_api_v1_Gateway(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "namespace": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "ip": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "hostname": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "services": { + SchemaProps: spec.SchemaProps{ + Description: "Services is an optional configuration for services used to expose database", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.NamedServiceStatus"), + }, + }, + }, + }, + }, + "ui": { + SchemaProps: spec.SchemaProps{ + Description: "UI is an optional list of database web uis", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.NamedURL"), + }, + }, + }, + }, + }, + }, + Required: []string{"name", "namespace"}, + }, + }, + Dependencies: []string{ + "kmodules.xyz/offshoot-api/api/v1.NamedServiceStatus", "kmodules.xyz/offshoot-api/api/v1.NamedURL"}, + } +} + func schema_kmodulesxyz_offshoot_api_api_v1_GatewayPort(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -231,6 +303,85 @@ func schema_kmodulesxyz_offshoot_api_api_v1_IONiceSettings(ref common.ReferenceC } } +func schema_kmodulesxyz_offshoot_api_api_v1_NamedServiceStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "alias": { + SchemaProps: spec.SchemaProps{ + Description: "Alias represents the identifier of the service.", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "ports": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.GatewayPort"), + }, + }, + }, + }, + }, + }, + Required: []string{"alias", "ports"}, + }, + }, + Dependencies: []string{ + "kmodules.xyz/offshoot-api/api/v1.GatewayPort"}, + } +} + +func schema_kmodulesxyz_offshoot_api_api_v1_NamedURL(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "alias": { + SchemaProps: spec.SchemaProps{ + Description: "Alias represents the identifier of the service. This should match the db ui chart name", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "url": { + SchemaProps: spec.SchemaProps{ + Description: "URL of the database ui", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "port": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.GatewayPort"), + }, + }, + "helmRelease": { + SchemaProps: spec.SchemaProps{ + Description: "HelmRelease is the name of the helm release used to deploy this ui The name format is typically -", + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, + }, + Required: []string{"alias", "url", "port"}, + }, + }, + Dependencies: []string{ + "k8s.io/api/core/v1.LocalObjectReference", "kmodules.xyz/offshoot-api/api/v1.GatewayPort"}, + } +} + func schema_kmodulesxyz_offshoot_api_api_v1_NiceSettings(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ diff --git a/vendor/kmodules.xyz/offshoot-api/api/v1/types.go b/vendor/kmodules.xyz/offshoot-api/api/v1/types.go index 979f8510b..6e52f939b 100644 --- a/vendor/kmodules.xyz/offshoot-api/api/v1/types.go +++ b/vendor/kmodules.xyz/offshoot-api/api/v1/types.go @@ -392,25 +392,6 @@ type ServicePort struct { NodePort int32 `json:"nodePort,omitempty"` } -// GatewayPort contains information on Gateway service's port. -type GatewayPort struct { - // The name of this port within the gateway service. - // +optional - Name string `json:"name,omitempty"` - - // The port that will be exposed by the gateway service. - Port int32 `json:"port"` - - // Number of the port to access the backend service. - // +optional - BackendServicePort int32 `json:"backendServicePort,omitempty"` - - // The port on each node on which this gateway service is exposed when type is - // NodePort or LoadBalancer. - // +optional - NodePort int32 `json:"nodePort,omitempty"` -} - // Beware of MergeServicePorts // ref: https://github.com/kmodules/client-go/blob/03dac1aea5084354127990a10d0b0e7529460dd5/core/v1/service.go#L103-L136 func PatchServicePorts(cur []core.ServicePort, desired []ServicePort) []core.ServicePort { diff --git a/vendor/kmodules.xyz/offshoot-api/api/v1/zz_generated.deepcopy.go b/vendor/kmodules.xyz/offshoot-api/api/v1/zz_generated.deepcopy.go index 3889daa8d..747da2f62 100644 --- a/vendor/kmodules.xyz/offshoot-api/api/v1/zz_generated.deepcopy.go +++ b/vendor/kmodules.xyz/offshoot-api/api/v1/zz_generated.deepcopy.go @@ -108,6 +108,36 @@ func (in *EphemeralVolumeSource) DeepCopy() *EphemeralVolumeSource { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Gateway) DeepCopyInto(out *Gateway) { + *out = *in + if in.Services != nil { + in, out := &in.Services, &out.Services + *out = make([]NamedServiceStatus, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.UI != nil { + in, out := &in.UI, &out.UI + *out = make([]NamedURL, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Gateway. +func (in *Gateway) DeepCopy() *Gateway { + if in == nil { + return nil + } + out := new(Gateway) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *GatewayPort) DeepCopyInto(out *GatewayPort) { *out = *in @@ -150,6 +180,49 @@ func (in *IONiceSettings) DeepCopy() *IONiceSettings { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NamedServiceStatus) DeepCopyInto(out *NamedServiceStatus) { + *out = *in + if in.Ports != nil { + in, out := &in.Ports, &out.Ports + *out = make([]GatewayPort, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedServiceStatus. +func (in *NamedServiceStatus) DeepCopy() *NamedServiceStatus { + if in == nil { + return nil + } + out := new(NamedServiceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NamedURL) DeepCopyInto(out *NamedURL) { + *out = *in + out.Port = in.Port + if in.HelmRelease != nil { + in, out := &in.HelmRelease, &out.HelmRelease + *out = new(corev1.LocalObjectReference) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedURL. +func (in *NamedURL) DeepCopy() *NamedURL { + if in == nil { + return nil + } + out := new(NamedURL) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NiceSettings) DeepCopyInto(out *NiceSettings) { *out = *in diff --git a/vendor/modules.txt b/vendor/modules.txt index 47ff46403..da406347f 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -2,8 +2,8 @@ ## explicit; go 1.20 filippo.io/edwards25519 filippo.io/edwards25519/field -# github.com/Masterminds/semver/v3 v3.2.1 -## explicit; go 1.18 +# github.com/Masterminds/semver/v3 v3.3.0 +## explicit; go 1.21 github.com/Masterminds/semver/v3 # github.com/PuerkitoBio/purell v1.2.1 ## explicit; go 1.21 @@ -40,6 +40,9 @@ github.com/fatih/structs # github.com/fsnotify/fsnotify v1.7.0 ## explicit; go 1.17 github.com/fsnotify/fsnotify +# github.com/ghodss/yaml v1.0.0 +## explicit +github.com/ghodss/yaml # github.com/go-logr/logr v1.4.2 ## explicit; go 1.18 github.com/go-logr/logr @@ -94,6 +97,9 @@ github.com/google/gofuzz/bytesource # github.com/google/uuid v1.6.0 ## explicit github.com/google/uuid +# github.com/gorilla/websocket v1.5.1 +## explicit; go 1.20 +github.com/gorilla/websocket # github.com/imdario/mergo v0.3.16 => github.com/imdario/mergo v0.3.6 ## explicit github.com/imdario/mergo @@ -163,12 +169,30 @@ github.com/prometheus/common/model github.com/prometheus/procfs github.com/prometheus/procfs/internal/fs github.com/prometheus/procfs/internal/util +# github.com/rancher/norman v0.0.0-20240708202514-a0127673d1b9 +## explicit; go 1.22.0 +github.com/rancher/norman/clientbase +github.com/rancher/norman/httperror +github.com/rancher/norman/types +github.com/rancher/norman/types/convert +github.com/rancher/norman/types/definition +github.com/rancher/norman/types/slice +github.com/rancher/norman/types/values +# github.com/rancher/rancher/pkg/client v0.0.0-20240710123941-93e332156bbe +## explicit; go 1.22.0 +github.com/rancher/rancher/pkg/client/generated/management/v3 +# github.com/rancher/wrangler/v3 v3.0.0 +## explicit; go 1.22.0 +github.com/rancher/wrangler/v3/pkg/name # github.com/rogpeppe/go-internal v1.12.0 ## explicit; go 1.20 # github.com/sergi/go-diff v1.2.0 ## explicit; go 1.12 github.com/sergi/go-diff/diffmatchpatch -# github.com/spf13/cobra v1.8.0 +# github.com/sirupsen/logrus v1.9.3 +## explicit; go 1.13 +github.com/sirupsen/logrus +# github.com/spf13/cobra v1.8.1 ## explicit; go 1.15 github.com/spf13/cobra # github.com/spf13/pflag v1.0.5 @@ -191,7 +215,7 @@ go.bytebuilders.dev/license-proxyserver/apis/proxyserver/v1alpha1 go.bytebuilders.dev/license-proxyserver/client/clientset/versioned go.bytebuilders.dev/license-proxyserver/client/clientset/versioned/scheme go.bytebuilders.dev/license-proxyserver/client/clientset/versioned/typed/proxyserver/v1alpha1 -# go.bytebuilders.dev/license-verifier v0.14.1 +# go.bytebuilders.dev/license-verifier v0.14.2 ## explicit; go 1.21 go.bytebuilders.dev/license-verifier go.bytebuilders.dev/license-verifier/apis/licenses @@ -200,10 +224,12 @@ go.bytebuilders.dev/license-verifier/info # go.bytebuilders.dev/license-verifier/kubernetes v0.14.1 ## explicit; go 1.21.5 go.bytebuilders.dev/license-verifier/kubernetes +# go.uber.org/zap v1.27.0 +## explicit; go 1.19 # golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 ## explicit; go 1.20 golang.org/x/exp/maps -# golang.org/x/net v0.27.0 +# golang.org/x/net v0.29.0 ## explicit; go 1.18 golang.org/x/net/html golang.org/x/net/html/atom @@ -212,20 +238,23 @@ golang.org/x/net/http/httpguts golang.org/x/net/http2 golang.org/x/net/http2/hpack golang.org/x/net/idna -# golang.org/x/oauth2 v0.21.0 +golang.org/x/net/internal/socks +golang.org/x/net/proxy +# golang.org/x/oauth2 v0.22.0 ## explicit; go 1.18 golang.org/x/oauth2 golang.org/x/oauth2/internal -# golang.org/x/sys v0.22.0 +# golang.org/x/sys v0.25.0 ## explicit; go 1.18 golang.org/x/sys/plan9 golang.org/x/sys/unix golang.org/x/sys/windows -# golang.org/x/term v0.22.0 +# golang.org/x/term v0.24.0 ## explicit; go 1.18 golang.org/x/term -# golang.org/x/text v0.16.0 +# golang.org/x/text v0.18.0 ## explicit; go 1.18 +golang.org/x/text/cases golang.org/x/text/encoding golang.org/x/text/encoding/charmap golang.org/x/text/encoding/htmlindex @@ -236,6 +265,7 @@ golang.org/x/text/encoding/korean golang.org/x/text/encoding/simplifiedchinese golang.org/x/text/encoding/traditionalchinese golang.org/x/text/encoding/unicode +golang.org/x/text/internal golang.org/x/text/internal/language golang.org/x/text/internal/language/compact golang.org/x/text/internal/tag @@ -698,7 +728,7 @@ k8s.io/utils/trace # kmodules.xyz/apiversion v0.2.0 ## explicit; go 1.14 kmodules.xyz/apiversion -# kmodules.xyz/client-go v0.30.13 +# kmodules.xyz/client-go v0.30.17 ## explicit; go 1.22.0 kmodules.xyz/client-go kmodules.xyz/client-go/api/v1 @@ -727,7 +757,7 @@ kmodules.xyz/custom-resources/crds # kmodules.xyz/objectstore-api v0.29.1 ## explicit; go 1.21 kmodules.xyz/objectstore-api/api/v1 -# kmodules.xyz/offshoot-api v0.30.0 +# kmodules.xyz/offshoot-api v0.30.1 ## explicit; go 1.22.0 kmodules.xyz/offshoot-api/api/v1 # kmodules.xyz/prober v0.29.0 @@ -791,7 +821,7 @@ sigs.k8s.io/structured-merge-diff/v4/value ## explicit; go 1.12 sigs.k8s.io/yaml sigs.k8s.io/yaml/goyaml.v2 -# stash.appscode.dev/apimachinery v0.35.0 +# stash.appscode.dev/apimachinery v0.36.1-0.20241121051155-50822965c5af ## explicit; go 1.22.0 stash.appscode.dev/apimachinery/apis stash.appscode.dev/apimachinery/apis/repositories diff --git a/vendor/stash.appscode.dev/apimachinery/apis/repositories/v1alpha1/openapi_generated.go b/vendor/stash.appscode.dev/apimachinery/apis/repositories/v1alpha1/openapi_generated.go index 7ff38cb16..8e1d8182d 100644 --- a/vendor/stash.appscode.dev/apimachinery/apis/repositories/v1alpha1/openapi_generated.go +++ b/vendor/stash.appscode.dev/apimachinery/apis/repositories/v1alpha1/openapi_generated.go @@ -358,6 +358,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kmodules.xyz/client-go/api/v1.CAPIClusterInfo": schema_kmodulesxyz_client_go_api_v1_CAPIClusterInfo(ref), "kmodules.xyz/client-go/api/v1.CertificatePrivateKey": schema_kmodulesxyz_client_go_api_v1_CertificatePrivateKey(ref), "kmodules.xyz/client-go/api/v1.CertificateSpec": schema_kmodulesxyz_client_go_api_v1_CertificateSpec(ref), + "kmodules.xyz/client-go/api/v1.ClusterInfo": schema_kmodulesxyz_client_go_api_v1_ClusterInfo(ref), "kmodules.xyz/client-go/api/v1.ClusterMetadata": schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref), "kmodules.xyz/client-go/api/v1.Condition": schema_kmodulesxyz_client_go_api_v1_Condition(ref), "kmodules.xyz/client-go/api/v1.HealthCheckSpec": schema_kmodulesxyz_client_go_api_v1_HealthCheckSpec(ref), @@ -401,7 +402,11 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kmodules.xyz/objectstore-api/api/v1.SwiftSpec": schema_kmodulesxyz_objectstore_api_api_v1_SwiftSpec(ref), "kmodules.xyz/offshoot-api/api/v1.ContainerRuntimeSettings": schema_kmodulesxyz_offshoot_api_api_v1_ContainerRuntimeSettings(ref), "kmodules.xyz/offshoot-api/api/v1.EphemeralVolumeSource": schema_kmodulesxyz_offshoot_api_api_v1_EphemeralVolumeSource(ref), + "kmodules.xyz/offshoot-api/api/v1.Gateway": schema_kmodulesxyz_offshoot_api_api_v1_Gateway(ref), + "kmodules.xyz/offshoot-api/api/v1.GatewayPort": schema_kmodulesxyz_offshoot_api_api_v1_GatewayPort(ref), "kmodules.xyz/offshoot-api/api/v1.IONiceSettings": schema_kmodulesxyz_offshoot_api_api_v1_IONiceSettings(ref), + "kmodules.xyz/offshoot-api/api/v1.NamedServiceStatus": schema_kmodulesxyz_offshoot_api_api_v1_NamedServiceStatus(ref), + "kmodules.xyz/offshoot-api/api/v1.NamedURL": schema_kmodulesxyz_offshoot_api_api_v1_NamedURL(ref), "kmodules.xyz/offshoot-api/api/v1.NiceSettings": schema_kmodulesxyz_offshoot_api_api_v1_NiceSettings(ref), "kmodules.xyz/offshoot-api/api/v1.ObjectMeta": schema_kmodulesxyz_offshoot_api_api_v1_ObjectMeta(ref), "kmodules.xyz/offshoot-api/api/v1.PartialObjectMeta": schema_kmodulesxyz_offshoot_api_api_v1_PartialObjectMeta(ref), @@ -18441,23 +18446,27 @@ func schema_kmodulesxyz_client_go_api_v1_CAPIClusterInfo(ref common.ReferenceCal Properties: map[string]spec.Schema{ "provider": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Default: "", + Type: []string{"string"}, + Format: "", }, }, "namespace": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Default: "", + Type: []string{"string"}, + Format: "", }, }, "clusterName": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Default: "", + Type: []string{"string"}, + Format: "", }, }, }, + Required: []string{"provider", "namespace", "clusterName"}, }, }, } @@ -18603,6 +18612,56 @@ func schema_kmodulesxyz_client_go_api_v1_CertificateSpec(ref common.ReferenceCal } } +func schema_kmodulesxyz_client_go_api_v1_ClusterInfo(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "ClusterInfo used in ace-installer", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "uid": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "name": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "clusterManagers": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "capi": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/client-go/api/v1.CAPIClusterInfo"), + }, + }, + }, + Required: []string{"uid", "name", "clusterManagers"}, + }, + }, + Dependencies: []string{ + "kmodules.xyz/client-go/api/v1.CAPIClusterInfo"}, + } +} + func schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -20476,6 +20535,118 @@ func schema_kmodulesxyz_offshoot_api_api_v1_EphemeralVolumeSource(ref common.Ref } } +func schema_kmodulesxyz_offshoot_api_api_v1_Gateway(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "namespace": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "ip": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "hostname": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "services": { + SchemaProps: spec.SchemaProps{ + Description: "Services is an optional configuration for services used to expose database", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.NamedServiceStatus"), + }, + }, + }, + }, + }, + "ui": { + SchemaProps: spec.SchemaProps{ + Description: "UI is an optional list of database web uis", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.NamedURL"), + }, + }, + }, + }, + }, + }, + Required: []string{"name", "namespace"}, + }, + }, + Dependencies: []string{ + "kmodules.xyz/offshoot-api/api/v1.NamedServiceStatus", "kmodules.xyz/offshoot-api/api/v1.NamedURL"}, + } +} + +func schema_kmodulesxyz_offshoot_api_api_v1_GatewayPort(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "GatewayPort contains information on Gateway service's port.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Description: "The name of this port within the gateway service.", + Type: []string{"string"}, + Format: "", + }, + }, + "port": { + SchemaProps: spec.SchemaProps{ + Description: "The port that will be exposed by the gateway service.", + Default: 0, + Type: []string{"integer"}, + Format: "int32", + }, + }, + "backendServicePort": { + SchemaProps: spec.SchemaProps{ + Description: "Number of the port to access the backend service.", + Type: []string{"integer"}, + Format: "int32", + }, + }, + "nodePort": { + SchemaProps: spec.SchemaProps{ + Description: "The port on each node on which this gateway service is exposed when type is NodePort or LoadBalancer.", + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"port"}, + }, + }, + } +} + func schema_kmodulesxyz_offshoot_api_api_v1_IONiceSettings(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -20501,6 +20672,85 @@ func schema_kmodulesxyz_offshoot_api_api_v1_IONiceSettings(ref common.ReferenceC } } +func schema_kmodulesxyz_offshoot_api_api_v1_NamedServiceStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "alias": { + SchemaProps: spec.SchemaProps{ + Description: "Alias represents the identifier of the service.", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "ports": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.GatewayPort"), + }, + }, + }, + }, + }, + }, + Required: []string{"alias", "ports"}, + }, + }, + Dependencies: []string{ + "kmodules.xyz/offshoot-api/api/v1.GatewayPort"}, + } +} + +func schema_kmodulesxyz_offshoot_api_api_v1_NamedURL(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "alias": { + SchemaProps: spec.SchemaProps{ + Description: "Alias represents the identifier of the service. This should match the db ui chart name", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "url": { + SchemaProps: spec.SchemaProps{ + Description: "URL of the database ui", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "port": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.GatewayPort"), + }, + }, + "helmRelease": { + SchemaProps: spec.SchemaProps{ + Description: "HelmRelease is the name of the helm release used to deploy this ui The name format is typically -", + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, + }, + Required: []string{"alias", "url", "port"}, + }, + }, + Dependencies: []string{ + "k8s.io/api/core/v1.LocalObjectReference", "kmodules.xyz/offshoot-api/api/v1.GatewayPort"}, + } +} + func schema_kmodulesxyz_offshoot_api_api_v1_NiceSettings(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -21255,6 +21505,12 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback }, }, }, + "podPlacementPolicy": { + SchemaProps: spec.SchemaProps{ + Description: "PodPlacementPolicy is the reference of the podPlacementPolicy", + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, }, }, }, diff --git a/vendor/stash.appscode.dev/apimachinery/apis/stash/v1alpha1/openapi_generated.go b/vendor/stash.appscode.dev/apimachinery/apis/stash/v1alpha1/openapi_generated.go index 7975afdf0..a130db7ad 100644 --- a/vendor/stash.appscode.dev/apimachinery/apis/stash/v1alpha1/openapi_generated.go +++ b/vendor/stash.appscode.dev/apimachinery/apis/stash/v1alpha1/openapi_generated.go @@ -358,6 +358,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kmodules.xyz/client-go/api/v1.CAPIClusterInfo": schema_kmodulesxyz_client_go_api_v1_CAPIClusterInfo(ref), "kmodules.xyz/client-go/api/v1.CertificatePrivateKey": schema_kmodulesxyz_client_go_api_v1_CertificatePrivateKey(ref), "kmodules.xyz/client-go/api/v1.CertificateSpec": schema_kmodulesxyz_client_go_api_v1_CertificateSpec(ref), + "kmodules.xyz/client-go/api/v1.ClusterInfo": schema_kmodulesxyz_client_go_api_v1_ClusterInfo(ref), "kmodules.xyz/client-go/api/v1.ClusterMetadata": schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref), "kmodules.xyz/client-go/api/v1.Condition": schema_kmodulesxyz_client_go_api_v1_Condition(ref), "kmodules.xyz/client-go/api/v1.HealthCheckSpec": schema_kmodulesxyz_client_go_api_v1_HealthCheckSpec(ref), @@ -401,7 +402,11 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kmodules.xyz/objectstore-api/api/v1.SwiftSpec": schema_kmodulesxyz_objectstore_api_api_v1_SwiftSpec(ref), "kmodules.xyz/offshoot-api/api/v1.ContainerRuntimeSettings": schema_kmodulesxyz_offshoot_api_api_v1_ContainerRuntimeSettings(ref), "kmodules.xyz/offshoot-api/api/v1.EphemeralVolumeSource": schema_kmodulesxyz_offshoot_api_api_v1_EphemeralVolumeSource(ref), + "kmodules.xyz/offshoot-api/api/v1.Gateway": schema_kmodulesxyz_offshoot_api_api_v1_Gateway(ref), + "kmodules.xyz/offshoot-api/api/v1.GatewayPort": schema_kmodulesxyz_offshoot_api_api_v1_GatewayPort(ref), "kmodules.xyz/offshoot-api/api/v1.IONiceSettings": schema_kmodulesxyz_offshoot_api_api_v1_IONiceSettings(ref), + "kmodules.xyz/offshoot-api/api/v1.NamedServiceStatus": schema_kmodulesxyz_offshoot_api_api_v1_NamedServiceStatus(ref), + "kmodules.xyz/offshoot-api/api/v1.NamedURL": schema_kmodulesxyz_offshoot_api_api_v1_NamedURL(ref), "kmodules.xyz/offshoot-api/api/v1.NiceSettings": schema_kmodulesxyz_offshoot_api_api_v1_NiceSettings(ref), "kmodules.xyz/offshoot-api/api/v1.ObjectMeta": schema_kmodulesxyz_offshoot_api_api_v1_ObjectMeta(ref), "kmodules.xyz/offshoot-api/api/v1.PartialObjectMeta": schema_kmodulesxyz_offshoot_api_api_v1_PartialObjectMeta(ref), @@ -18446,23 +18451,27 @@ func schema_kmodulesxyz_client_go_api_v1_CAPIClusterInfo(ref common.ReferenceCal Properties: map[string]spec.Schema{ "provider": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Default: "", + Type: []string{"string"}, + Format: "", }, }, "namespace": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Default: "", + Type: []string{"string"}, + Format: "", }, }, "clusterName": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Default: "", + Type: []string{"string"}, + Format: "", }, }, }, + Required: []string{"provider", "namespace", "clusterName"}, }, }, } @@ -18608,6 +18617,56 @@ func schema_kmodulesxyz_client_go_api_v1_CertificateSpec(ref common.ReferenceCal } } +func schema_kmodulesxyz_client_go_api_v1_ClusterInfo(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "ClusterInfo used in ace-installer", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "uid": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "name": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "clusterManagers": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "capi": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/client-go/api/v1.CAPIClusterInfo"), + }, + }, + }, + Required: []string{"uid", "name", "clusterManagers"}, + }, + }, + Dependencies: []string{ + "kmodules.xyz/client-go/api/v1.CAPIClusterInfo"}, + } +} + func schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -20481,6 +20540,118 @@ func schema_kmodulesxyz_offshoot_api_api_v1_EphemeralVolumeSource(ref common.Ref } } +func schema_kmodulesxyz_offshoot_api_api_v1_Gateway(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "namespace": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "ip": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "hostname": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "services": { + SchemaProps: spec.SchemaProps{ + Description: "Services is an optional configuration for services used to expose database", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.NamedServiceStatus"), + }, + }, + }, + }, + }, + "ui": { + SchemaProps: spec.SchemaProps{ + Description: "UI is an optional list of database web uis", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.NamedURL"), + }, + }, + }, + }, + }, + }, + Required: []string{"name", "namespace"}, + }, + }, + Dependencies: []string{ + "kmodules.xyz/offshoot-api/api/v1.NamedServiceStatus", "kmodules.xyz/offshoot-api/api/v1.NamedURL"}, + } +} + +func schema_kmodulesxyz_offshoot_api_api_v1_GatewayPort(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "GatewayPort contains information on Gateway service's port.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Description: "The name of this port within the gateway service.", + Type: []string{"string"}, + Format: "", + }, + }, + "port": { + SchemaProps: spec.SchemaProps{ + Description: "The port that will be exposed by the gateway service.", + Default: 0, + Type: []string{"integer"}, + Format: "int32", + }, + }, + "backendServicePort": { + SchemaProps: spec.SchemaProps{ + Description: "Number of the port to access the backend service.", + Type: []string{"integer"}, + Format: "int32", + }, + }, + "nodePort": { + SchemaProps: spec.SchemaProps{ + Description: "The port on each node on which this gateway service is exposed when type is NodePort or LoadBalancer.", + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"port"}, + }, + }, + } +} + func schema_kmodulesxyz_offshoot_api_api_v1_IONiceSettings(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -20506,6 +20677,85 @@ func schema_kmodulesxyz_offshoot_api_api_v1_IONiceSettings(ref common.ReferenceC } } +func schema_kmodulesxyz_offshoot_api_api_v1_NamedServiceStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "alias": { + SchemaProps: spec.SchemaProps{ + Description: "Alias represents the identifier of the service.", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "ports": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.GatewayPort"), + }, + }, + }, + }, + }, + }, + Required: []string{"alias", "ports"}, + }, + }, + Dependencies: []string{ + "kmodules.xyz/offshoot-api/api/v1.GatewayPort"}, + } +} + +func schema_kmodulesxyz_offshoot_api_api_v1_NamedURL(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "alias": { + SchemaProps: spec.SchemaProps{ + Description: "Alias represents the identifier of the service. This should match the db ui chart name", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "url": { + SchemaProps: spec.SchemaProps{ + Description: "URL of the database ui", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "port": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.GatewayPort"), + }, + }, + "helmRelease": { + SchemaProps: spec.SchemaProps{ + Description: "HelmRelease is the name of the helm release used to deploy this ui The name format is typically -", + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, + }, + Required: []string{"alias", "url", "port"}, + }, + }, + Dependencies: []string{ + "k8s.io/api/core/v1.LocalObjectReference", "kmodules.xyz/offshoot-api/api/v1.GatewayPort"}, + } +} + func schema_kmodulesxyz_offshoot_api_api_v1_NiceSettings(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -21260,6 +21510,12 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback }, }, }, + "podPlacementPolicy": { + SchemaProps: spec.SchemaProps{ + Description: "PodPlacementPolicy is the reference of the podPlacementPolicy", + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, }, }, }, diff --git a/vendor/stash.appscode.dev/apimachinery/apis/stash/v1beta1/openapi_generated.go b/vendor/stash.appscode.dev/apimachinery/apis/stash/v1beta1/openapi_generated.go index 703d69f44..d23654b25 100644 --- a/vendor/stash.appscode.dev/apimachinery/apis/stash/v1beta1/openapi_generated.go +++ b/vendor/stash.appscode.dev/apimachinery/apis/stash/v1beta1/openapi_generated.go @@ -358,6 +358,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kmodules.xyz/client-go/api/v1.CAPIClusterInfo": schema_kmodulesxyz_client_go_api_v1_CAPIClusterInfo(ref), "kmodules.xyz/client-go/api/v1.CertificatePrivateKey": schema_kmodulesxyz_client_go_api_v1_CertificatePrivateKey(ref), "kmodules.xyz/client-go/api/v1.CertificateSpec": schema_kmodulesxyz_client_go_api_v1_CertificateSpec(ref), + "kmodules.xyz/client-go/api/v1.ClusterInfo": schema_kmodulesxyz_client_go_api_v1_ClusterInfo(ref), "kmodules.xyz/client-go/api/v1.ClusterMetadata": schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref), "kmodules.xyz/client-go/api/v1.Condition": schema_kmodulesxyz_client_go_api_v1_Condition(ref), "kmodules.xyz/client-go/api/v1.HealthCheckSpec": schema_kmodulesxyz_client_go_api_v1_HealthCheckSpec(ref), @@ -401,7 +402,11 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kmodules.xyz/objectstore-api/api/v1.SwiftSpec": schema_kmodulesxyz_objectstore_api_api_v1_SwiftSpec(ref), "kmodules.xyz/offshoot-api/api/v1.ContainerRuntimeSettings": schema_kmodulesxyz_offshoot_api_api_v1_ContainerRuntimeSettings(ref), "kmodules.xyz/offshoot-api/api/v1.EphemeralVolumeSource": schema_kmodulesxyz_offshoot_api_api_v1_EphemeralVolumeSource(ref), + "kmodules.xyz/offshoot-api/api/v1.Gateway": schema_kmodulesxyz_offshoot_api_api_v1_Gateway(ref), + "kmodules.xyz/offshoot-api/api/v1.GatewayPort": schema_kmodulesxyz_offshoot_api_api_v1_GatewayPort(ref), "kmodules.xyz/offshoot-api/api/v1.IONiceSettings": schema_kmodulesxyz_offshoot_api_api_v1_IONiceSettings(ref), + "kmodules.xyz/offshoot-api/api/v1.NamedServiceStatus": schema_kmodulesxyz_offshoot_api_api_v1_NamedServiceStatus(ref), + "kmodules.xyz/offshoot-api/api/v1.NamedURL": schema_kmodulesxyz_offshoot_api_api_v1_NamedURL(ref), "kmodules.xyz/offshoot-api/api/v1.NiceSettings": schema_kmodulesxyz_offshoot_api_api_v1_NiceSettings(ref), "kmodules.xyz/offshoot-api/api/v1.ObjectMeta": schema_kmodulesxyz_offshoot_api_api_v1_ObjectMeta(ref), "kmodules.xyz/offshoot-api/api/v1.PartialObjectMeta": schema_kmodulesxyz_offshoot_api_api_v1_PartialObjectMeta(ref), @@ -18492,23 +18497,27 @@ func schema_kmodulesxyz_client_go_api_v1_CAPIClusterInfo(ref common.ReferenceCal Properties: map[string]spec.Schema{ "provider": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Default: "", + Type: []string{"string"}, + Format: "", }, }, "namespace": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Default: "", + Type: []string{"string"}, + Format: "", }, }, "clusterName": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Default: "", + Type: []string{"string"}, + Format: "", }, }, }, + Required: []string{"provider", "namespace", "clusterName"}, }, }, } @@ -18654,6 +18663,56 @@ func schema_kmodulesxyz_client_go_api_v1_CertificateSpec(ref common.ReferenceCal } } +func schema_kmodulesxyz_client_go_api_v1_ClusterInfo(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "ClusterInfo used in ace-installer", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "uid": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "name": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "clusterManagers": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "capi": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/client-go/api/v1.CAPIClusterInfo"), + }, + }, + }, + Required: []string{"uid", "name", "clusterManagers"}, + }, + }, + Dependencies: []string{ + "kmodules.xyz/client-go/api/v1.CAPIClusterInfo"}, + } +} + func schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -20527,6 +20586,118 @@ func schema_kmodulesxyz_offshoot_api_api_v1_EphemeralVolumeSource(ref common.Ref } } +func schema_kmodulesxyz_offshoot_api_api_v1_Gateway(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "namespace": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "ip": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "hostname": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "services": { + SchemaProps: spec.SchemaProps{ + Description: "Services is an optional configuration for services used to expose database", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.NamedServiceStatus"), + }, + }, + }, + }, + }, + "ui": { + SchemaProps: spec.SchemaProps{ + Description: "UI is an optional list of database web uis", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.NamedURL"), + }, + }, + }, + }, + }, + }, + Required: []string{"name", "namespace"}, + }, + }, + Dependencies: []string{ + "kmodules.xyz/offshoot-api/api/v1.NamedServiceStatus", "kmodules.xyz/offshoot-api/api/v1.NamedURL"}, + } +} + +func schema_kmodulesxyz_offshoot_api_api_v1_GatewayPort(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "GatewayPort contains information on Gateway service's port.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Description: "The name of this port within the gateway service.", + Type: []string{"string"}, + Format: "", + }, + }, + "port": { + SchemaProps: spec.SchemaProps{ + Description: "The port that will be exposed by the gateway service.", + Default: 0, + Type: []string{"integer"}, + Format: "int32", + }, + }, + "backendServicePort": { + SchemaProps: spec.SchemaProps{ + Description: "Number of the port to access the backend service.", + Type: []string{"integer"}, + Format: "int32", + }, + }, + "nodePort": { + SchemaProps: spec.SchemaProps{ + Description: "The port on each node on which this gateway service is exposed when type is NodePort or LoadBalancer.", + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"port"}, + }, + }, + } +} + func schema_kmodulesxyz_offshoot_api_api_v1_IONiceSettings(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -20552,6 +20723,85 @@ func schema_kmodulesxyz_offshoot_api_api_v1_IONiceSettings(ref common.ReferenceC } } +func schema_kmodulesxyz_offshoot_api_api_v1_NamedServiceStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "alias": { + SchemaProps: spec.SchemaProps{ + Description: "Alias represents the identifier of the service.", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "ports": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.GatewayPort"), + }, + }, + }, + }, + }, + }, + Required: []string{"alias", "ports"}, + }, + }, + Dependencies: []string{ + "kmodules.xyz/offshoot-api/api/v1.GatewayPort"}, + } +} + +func schema_kmodulesxyz_offshoot_api_api_v1_NamedURL(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "alias": { + SchemaProps: spec.SchemaProps{ + Description: "Alias represents the identifier of the service. This should match the db ui chart name", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "url": { + SchemaProps: spec.SchemaProps{ + Description: "URL of the database ui", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "port": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.GatewayPort"), + }, + }, + "helmRelease": { + SchemaProps: spec.SchemaProps{ + Description: "HelmRelease is the name of the helm release used to deploy this ui The name format is typically -", + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, + }, + Required: []string{"alias", "url", "port"}, + }, + }, + Dependencies: []string{ + "k8s.io/api/core/v1.LocalObjectReference", "kmodules.xyz/offshoot-api/api/v1.GatewayPort"}, + } +} + func schema_kmodulesxyz_offshoot_api_api_v1_NiceSettings(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -21306,6 +21556,12 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback }, }, }, + "podPlacementPolicy": { + SchemaProps: spec.SchemaProps{ + Description: "PodPlacementPolicy is the reference of the podPlacementPolicy", + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, }, }, }, diff --git a/vendor/stash.appscode.dev/apimachinery/apis/ui/v1alpha1/openapi_generated.go b/vendor/stash.appscode.dev/apimachinery/apis/ui/v1alpha1/openapi_generated.go index 46c8d08ac..0939e4511 100644 --- a/vendor/stash.appscode.dev/apimachinery/apis/ui/v1alpha1/openapi_generated.go +++ b/vendor/stash.appscode.dev/apimachinery/apis/ui/v1alpha1/openapi_generated.go @@ -358,6 +358,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kmodules.xyz/client-go/api/v1.CAPIClusterInfo": schema_kmodulesxyz_client_go_api_v1_CAPIClusterInfo(ref), "kmodules.xyz/client-go/api/v1.CertificatePrivateKey": schema_kmodulesxyz_client_go_api_v1_CertificatePrivateKey(ref), "kmodules.xyz/client-go/api/v1.CertificateSpec": schema_kmodulesxyz_client_go_api_v1_CertificateSpec(ref), + "kmodules.xyz/client-go/api/v1.ClusterInfo": schema_kmodulesxyz_client_go_api_v1_ClusterInfo(ref), "kmodules.xyz/client-go/api/v1.ClusterMetadata": schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref), "kmodules.xyz/client-go/api/v1.Condition": schema_kmodulesxyz_client_go_api_v1_Condition(ref), "kmodules.xyz/client-go/api/v1.HealthCheckSpec": schema_kmodulesxyz_client_go_api_v1_HealthCheckSpec(ref), @@ -401,7 +402,11 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kmodules.xyz/objectstore-api/api/v1.SwiftSpec": schema_kmodulesxyz_objectstore_api_api_v1_SwiftSpec(ref), "kmodules.xyz/offshoot-api/api/v1.ContainerRuntimeSettings": schema_kmodulesxyz_offshoot_api_api_v1_ContainerRuntimeSettings(ref), "kmodules.xyz/offshoot-api/api/v1.EphemeralVolumeSource": schema_kmodulesxyz_offshoot_api_api_v1_EphemeralVolumeSource(ref), + "kmodules.xyz/offshoot-api/api/v1.Gateway": schema_kmodulesxyz_offshoot_api_api_v1_Gateway(ref), + "kmodules.xyz/offshoot-api/api/v1.GatewayPort": schema_kmodulesxyz_offshoot_api_api_v1_GatewayPort(ref), "kmodules.xyz/offshoot-api/api/v1.IONiceSettings": schema_kmodulesxyz_offshoot_api_api_v1_IONiceSettings(ref), + "kmodules.xyz/offshoot-api/api/v1.NamedServiceStatus": schema_kmodulesxyz_offshoot_api_api_v1_NamedServiceStatus(ref), + "kmodules.xyz/offshoot-api/api/v1.NamedURL": schema_kmodulesxyz_offshoot_api_api_v1_NamedURL(ref), "kmodules.xyz/offshoot-api/api/v1.NiceSettings": schema_kmodulesxyz_offshoot_api_api_v1_NiceSettings(ref), "kmodules.xyz/offshoot-api/api/v1.ObjectMeta": schema_kmodulesxyz_offshoot_api_api_v1_ObjectMeta(ref), "kmodules.xyz/offshoot-api/api/v1.PartialObjectMeta": schema_kmodulesxyz_offshoot_api_api_v1_PartialObjectMeta(ref), @@ -18441,23 +18446,27 @@ func schema_kmodulesxyz_client_go_api_v1_CAPIClusterInfo(ref common.ReferenceCal Properties: map[string]spec.Schema{ "provider": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Default: "", + Type: []string{"string"}, + Format: "", }, }, "namespace": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Default: "", + Type: []string{"string"}, + Format: "", }, }, "clusterName": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Default: "", + Type: []string{"string"}, + Format: "", }, }, }, + Required: []string{"provider", "namespace", "clusterName"}, }, }, } @@ -18603,6 +18612,56 @@ func schema_kmodulesxyz_client_go_api_v1_CertificateSpec(ref common.ReferenceCal } } +func schema_kmodulesxyz_client_go_api_v1_ClusterInfo(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "ClusterInfo used in ace-installer", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "uid": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "name": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "clusterManagers": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "capi": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/client-go/api/v1.CAPIClusterInfo"), + }, + }, + }, + Required: []string{"uid", "name", "clusterManagers"}, + }, + }, + Dependencies: []string{ + "kmodules.xyz/client-go/api/v1.CAPIClusterInfo"}, + } +} + func schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -20476,6 +20535,118 @@ func schema_kmodulesxyz_offshoot_api_api_v1_EphemeralVolumeSource(ref common.Ref } } +func schema_kmodulesxyz_offshoot_api_api_v1_Gateway(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "namespace": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "ip": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "hostname": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "services": { + SchemaProps: spec.SchemaProps{ + Description: "Services is an optional configuration for services used to expose database", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.NamedServiceStatus"), + }, + }, + }, + }, + }, + "ui": { + SchemaProps: spec.SchemaProps{ + Description: "UI is an optional list of database web uis", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.NamedURL"), + }, + }, + }, + }, + }, + }, + Required: []string{"name", "namespace"}, + }, + }, + Dependencies: []string{ + "kmodules.xyz/offshoot-api/api/v1.NamedServiceStatus", "kmodules.xyz/offshoot-api/api/v1.NamedURL"}, + } +} + +func schema_kmodulesxyz_offshoot_api_api_v1_GatewayPort(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "GatewayPort contains information on Gateway service's port.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Description: "The name of this port within the gateway service.", + Type: []string{"string"}, + Format: "", + }, + }, + "port": { + SchemaProps: spec.SchemaProps{ + Description: "The port that will be exposed by the gateway service.", + Default: 0, + Type: []string{"integer"}, + Format: "int32", + }, + }, + "backendServicePort": { + SchemaProps: spec.SchemaProps{ + Description: "Number of the port to access the backend service.", + Type: []string{"integer"}, + Format: "int32", + }, + }, + "nodePort": { + SchemaProps: spec.SchemaProps{ + Description: "The port on each node on which this gateway service is exposed when type is NodePort or LoadBalancer.", + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"port"}, + }, + }, + } +} + func schema_kmodulesxyz_offshoot_api_api_v1_IONiceSettings(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -20501,6 +20672,85 @@ func schema_kmodulesxyz_offshoot_api_api_v1_IONiceSettings(ref common.ReferenceC } } +func schema_kmodulesxyz_offshoot_api_api_v1_NamedServiceStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "alias": { + SchemaProps: spec.SchemaProps{ + Description: "Alias represents the identifier of the service.", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "ports": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.GatewayPort"), + }, + }, + }, + }, + }, + }, + Required: []string{"alias", "ports"}, + }, + }, + Dependencies: []string{ + "kmodules.xyz/offshoot-api/api/v1.GatewayPort"}, + } +} + +func schema_kmodulesxyz_offshoot_api_api_v1_NamedURL(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "alias": { + SchemaProps: spec.SchemaProps{ + Description: "Alias represents the identifier of the service. This should match the db ui chart name", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "url": { + SchemaProps: spec.SchemaProps{ + Description: "URL of the database ui", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "port": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/offshoot-api/api/v1.GatewayPort"), + }, + }, + "helmRelease": { + SchemaProps: spec.SchemaProps{ + Description: "HelmRelease is the name of the helm release used to deploy this ui The name format is typically -", + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, + }, + Required: []string{"alias", "url", "port"}, + }, + }, + Dependencies: []string{ + "k8s.io/api/core/v1.LocalObjectReference", "kmodules.xyz/offshoot-api/api/v1.GatewayPort"}, + } +} + func schema_kmodulesxyz_offshoot_api_api_v1_NiceSettings(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -21255,6 +21505,12 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback }, }, }, + "podPlacementPolicy": { + SchemaProps: spec.SchemaProps{ + Description: "PodPlacementPolicy is the reference of the podPlacementPolicy", + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, }, }, }, diff --git a/vendor/stash.appscode.dev/apimachinery/pkg/restic/commands.go b/vendor/stash.appscode.dev/apimachinery/pkg/restic/commands.go index fd4a83774..7f39f8f73 100644 --- a/vendor/stash.appscode.dev/apimachinery/pkg/restic/commands.go +++ b/vendor/stash.appscode.dev/apimachinery/pkg/restic/commands.go @@ -37,6 +37,7 @@ import ( const ( ResticCMD = "/bin/restic" + BashCMD = "/bin/bash" ) type Snapshot struct { @@ -438,7 +439,13 @@ func (w *ResticWrapper) run(commands ...Command) ([]byte, error) { return nil, err } } - w.sh.Command(cmd.Name, cmd.Args...) + + // Executes Bash commands with "-c" for multiple dump args. + if cmd.Name == BashCMD { + w.sh.Command(cmd.Name, "-c", cmd.getCommandArgsAsString()) + } else { + w.sh.Command(cmd.Name, cmd.Args...) + } } out, err := w.sh.Output() if err != nil { @@ -581,3 +588,11 @@ func (w *ResticWrapper) appendInsecureTLSFlag(args []interface{}) []interface{} } return args } + +func (c *Command) getCommandArgsAsString() string { + var cmdParts []string + for _, arg := range c.Args { + cmdParts = append(cmdParts, fmt.Sprintf("%v", arg)) + } + return strings.Join(cmdParts, " ") +}